(Dynamic Application Security Testing) DAST, a veces llamado escáner de vulnerabilidades de aplicaciones web, es un tipo de prueba de seguridad de black-box. Estas pruebas buscan vulnerabilidades de seguridad simulando ataques externos a una aplicación mientras la aplicación se está ejecutando. Intentan penetrar una aplicación desde el exterior comprobando sus interfaces expuestas en busca de vulnerabilidades y fallas.
La parte dinámica de DAST proviene de la prueba que se realiza en un entorno dinámico. A diferencia de SAST, que escanea el código de una aplicación línea por línea cuando la aplicación está en reposo, las pruebas DAST se realizan mientras la aplicación se está ejecutando. Esto no quiere decir que las pruebas se realicen mientras la aplicación está en producción. Si bien DAST se puede realizar en producción, las pruebas generalmente se llevan a cabo en un entorno QA. DAST es extremadamente bueno para encontrar problemas y vulnerabilidades visibles externamente. Esto incluye una serie de riesgos de seguridad como el OWASP Top Ten , cross-site scripting, errores de inyección como inyección de SQL o inyección de comandos, path traversal y configuración de servidor insegura.
Las ventajas de DAST:
El análisis permite a los desarrolladores detectar los problemas durante la ejecución del código.
Pueden ser fallas de autenticación y configuración de red o problemas que surgen después del inicio de sesión.
Hay menor número de falsos positivos.
Admite lenguajes y marcos de programación personalizados y disponibles en el mercado.
Presenta una alternativa menos costosa y compleja a SAST.
Los inconvenientes de DAST:
Las herramientas DAST no proporcionan información sobre las causas subyacentes de las vulnerabilidades.
Tienen dificultades para mantener los estándares de codificación.
El análisis no es adecuado para etapas iniciales del desarrollo.
Solo se puede realizar en una aplicación en ejecución.
No simulará a la perfección ataques potenciales.
Los exploit son ejecutados por una parte, con una base de conocimiento interna sobre la aplicación.
Las limitaciones de DAST
Si bien las herramientas de prueba de seguridad de aplicaciones dinámicas son útiles para prevenir problemas de seguridad, existen algunas desventajas que vale la pena conocer. Un inconveniente es que DAST puede confiar en los expertos en seguridad para crear los procedimientos de prueba correctos; es difícil crear pruebas completas para cada aplicación. Junto con eso, las herramientas DAST pueden crear resultados de pruebas falsos positivos, reconociendo un elemento válido de una aplicación como una amenaza. Los falsos positivos generan más trabajo para que un analista determine si los resultados de DAST son sólidos o no. Y a medida que aumentan los resultados positivos falsos, la fiabilidad de la prueba disminuye.
Otra limitación de las herramientas DAST es que solo señalan que existe un problema, pero no pueden identificar problemas dentro del código en sí. Con DAST por sí solo, es posible que los desarrolladores no sepan fácilmente dónde empezar a buscar para solucionar el problema. Además, las herramientas DAST se centran en solicitudes y respuestas que pueden pasar por alto algunos defectos ocultos en el diseño arquitectónico.
DAST generalmente se ejecuta a un ritmo bastante lento, y demora días o semanas en completar las pruebas. Y debido a que ocurre tarde en el SDLC, los problemas identificados pueden crear muchas tareas para los equipos de desarrollo, lo que extiende los plazos y aumenta los costos. Además, dado que puede llevar días o semanas completar las pruebas, cuando se identifican problemas, más miembros dentro de los equipos del ciclo de vida del proyecto se ven afectados. En algunos casos prolongados, es posible que los desarrolladores deban retroceder un poco y volver a familiarizarse con el código anterior antes de poder realizar las reparaciones necesarias.
Como utilizar DAST y SAST juntos
Una combinación de herramientas DAST y SAST le ofrece lo mejor de ambos mundos al brindarle una vista de 360 grados sobre la seguridad y protección del software.
SAST garantiza que su código cumpla con el estándar o los estándares de codificación que adopte y emplee. Esta es la primera línea de defensa para escribir código seguro. Luego, DAST ayuda a encontrar esas vulnerabilidades de comportamiento en tiempo de ejecución que no puede descubrir con SAST. Además, con DAST se utilizan múltiples métodos de prueba, como unidad, integración, sistema, API y otros métodos de prueba que garantizan aún más una aplicación segura.
Comments