En desarrollo de software, esto es lo que debes saber de pruebas tipo SAST y DAST

 A menudo, los desarrolladores de software discuten acerca de que tipos de pruebas ejecutar y cuando ejecutarlas, y es que existen varias clases de pruebas dentro de las cuales, dos de las mas comunes son: DAST y SAST.

  • SAST: Static application security testing. Pruebas de seguridad de aplicaciones estáticas.
  • DAST: Dynamic application security testing. Pruebas de seguridad de aplicaciones dinámicas.

Las pruebas SAST son pruebas que buscan vulnerabilidades en el código desarrollado y estan inmersas desde el inicio del desarrollo del codigo funte de las aplicaciones.

Por otro lado, las pruebas tipo DAST, evaluan las vulnerabilidades en el aplicativo en operación.

Las dos clases de pruebas son necesarias y cubren aspectos diferentes de la seguridad. A continuación un cuadro comparativo de lo que se puede detectar en cada una de las clases de pruebas: 

SAST DAST
Se trata de una prueba de caja blanca en la que se tiene acceso al código fuente, al marco de la aplicación, al diseño y a la implementación. Se trata de una prueba de caja negra en la que no se tiene acceso al marco interno que compone la aplicación, el código fuente y el diseño.
La aplicación completa se prueba de dentro a fuera. Este tipo de prueba se conoce a menudo como el enfoque del desarrollador. La prueba de la aplicación se realiza desde fuera hacia dentro. Este tipo de prueba se conoce a menudo como el enfoque hacker.
No se requiere instalar la aplicación, solo se requiere eacceso al código fuente. Se requiere desplegar la aplicacion y no necesita tener acceso al código fuente.
Suele analizar directamente el código fuente sin ejecutar ninguna aplicación. Es sólo una herramienta que necesita ser ejecutada para escanear la aplicación.
Es una herramienta que se utiliza para encontrar vulnerabilidades de forma templana  durante el ciclo de vida del desarrollo del software. Sólo se utiliza después de correr el código y escanea la aplicación completa en busca de vulnerabilidades.
Se implementa inmediatamente después de escribir el código. Señala la vulnerabilidad en el entorno de desarrollo integrado.  
Decubre vulnerabilidades tempranamente durante la fase de desarrollo lo que facilita la remediación antes de que el código se ponga en operación.  La solución de una vulnerabilidad puede ser costosa debido a que suelen descubrirse hacia el final cilco de vida del desarrollo del software y puede llegar amodificar todo el proyecto. 
  La corrección no suele hacerse en tiempo real, salvo en casos de emergencia.
Esta herramienta sólo escanea código estático, lo que dificulta el descubrimiento de vulnerabilidades en tiempo de ejecución. Esta herramienta escanea una aplicación utilizando análisis dinámicos para encontrar vulnerabilidades en tiempo de ejecución.

 

No hay comentarios:

Publicar un comentario