Fecha de publicación: 8 de abril de 2024
Colaboradores: Annie Badman, Amber Forrest
Las pruebas dinámicas de seguridad de aplicaciones (DAST) son un método de prueba de ciberseguridad que se utiliza para identificar vulnerabilidades y configuraciones erróneas en aplicaciones web, API y, más recientemente, aplicaciones móviles.
En comparación con otros tipos de pruebas de seguridad de aplicaciones (AppSec), DAST destaca por su enfoque de afuera hacia adentro. Mientras que otras herramientas requieren código fuente y acceso interno a la aplicación para evaluar las vulnerabilidades de seguridad, DAST prueba las aplicaciones en su entorno de tiempo de ejecución desde el exterior, utilizando ataques simulados para imitar a actores maliciosos. Por este motivo, a DAST a veces se le denomina "prueba desde fuera" o "prueba de caja negra", un método de prueba en el que los sistemas se examinan sin que la persona que realiza la prueba acceda a su funcionamiento interno, lo investigue o incluso lo conozca.
Hoy en día, los desarrolladores trabajan rápidamente, a menudo actualizando áreas específicas del código varias veces al día sin una visión completa de todo el código base. Dependen en gran medida de componentes de terceros y de código abierto, y suelen tener dificultades para colaborar eficazmente con los equipos de seguridad. La mayoría también trabaja en aplicaciones cada vez más complejas, con numerosas características, bibliotecas y dependencias, todo ello mientras gestiona las amenazas de ciberseguridad en constante evolución.
El resultado es una superficie cada vez mayor para las vulnerabilidades de seguridad que intensifica la dificultad de escribir código seguro y proteger la información confidencial de las filtraciones de datos. Los desarrolladores necesitan formas de probar posibles vulnerabilidades mientras trabajan, sin comprometer su productividad.
DAST ayuda a que esto sea posible mediante la automatización del proceso de pruebas de seguridad. Funciona imitando las acciones de los hackers del mundo real, trabajando desde el exterior para descubrir posibles vulnerabilidades en las aplicaciones en ejecución. DAST permite a los desarrolladores probar su código y ver cómo afecta a la seguridad general de la aplicación antes de que salga al mercado, y destaca a la hora de detectar problemas de seguridad, como errores de autenticación y vulnerabilidades del código, que a menudo pasan desapercibidos para otros métodos de prueba, como el análisis de composición del software (SCA).
Las herramientas DAST modernas (ver a continuación) también se integran perfectamente en DevOps y canalizaciones de CI/CD para ofrecer interfaces para todas las etapas del desarrollo, incluso al principio del flujo de trabajo de desarrollo de aplicaciones.
Las integraciones de compilación y despliegue son una de las razones por las que los equipos de DevOps suelen adoptar DAST en entornos de DevOps/DevSecOps como parte de un enfoque de "cambio a la izquierda" en el que las pruebas se realizan al principio del ciclo de vida de desarrollo de software (SDLC) para una corrección más rentable y menos lenta. Otros principios de DevOps que mejoran las herramientas DAST incluyen priorizar la automatización, la colaboración y la retroalimentación continuas para que los desarrolladores y los equipos de seguridad puedan seguir siendo ágiles y productivos sin comprometer la seguridad.
Dado que DAST adopta un enfoque de caja negra, emula las acciones que podría realizar un actor de amenazas malintencionado al intentar violar una aplicación web.
Por lo general, DAST incluye los cinco pasos siguientes:
Como primer paso, los escáneres DAST simulan las interacciones del usuario con la aplicación en tiempo de ejecución enviando varias peticiones HTTP. Este mapeo identifica todas las páginas, enlaces, funciones (para aplicaciones web de una sola página) y puntos de entrada definidos en las pruebas de la API mediante un documento de definición de la API.
A medida que se envían las peticiones, la herramienta DAST comienza a analizar las respuestas de la aplicación, buscando anomalías, mensajes de error y comportamientos inesperados que puedan indicar una vulnerabilidad de la aplicación web. Cuando el escaneo DAST detecta cualquier posible vulnerabilidad, graba su ubicación y respuesta para consultarla en el futuro, lo que permite realizar las pruebas manuales si es necesario.
Las herramientas DAST también comienzan a imitar ataques comunes como la inyección SQL, Cross-Site Scripting (XSS) y Cross-Site Request Forgery (CSRF) para localizar vulnerabilidades de seguridad, como configuraciones incorrectas, exposiciones de datos y problemas de autenticación, que los actores de amenazas podrían explotar.
Tras el análisis y los ataques simulados, las herramientas DAST producen informes en los que se describen las vulnerabilidades identificadas, su gravedad y los posibles escenarios de ataque para guiar a los desarrolladores y a los equipos de seguridad. Tenga en cuenta que las soluciones DAST se centran únicamente en identificar problemas de seguridad y dejan las correcciones a los equipos de desarrollo.
Las herramientas DAST pueden arrojar falsos positivos de vez en cuando y marcan algo por error como una vulnerabilidad. Cuando esto ocurre, suele ser necesario obtener la validación y priorización humanas.
Aunque las herramientas de prueba DAST no tienen ningún subtipo oficial, los expertos en seguridad a menudo las clasifican en dos grupos informales: herramientas DAST modernas y herramientas DAST heredadas, con las principales diferencias en la automatización/integración y la validación de vulnerabilidades.
Las herramientas DAST heredadas no suelen contar con características de automatización, aunque su proceso de escaneo está automatizado. Por lo general, se centran en pruebas básicas (envío de solicitudes, recepción de respuestas y realización de evaluaciones preliminares) y no ofrecen una validación completa de vulnerabilidades, solo listas de posibles problemas de seguridad.
Las herramientas DAST modernas tienen un mayor grado de automatización y ofrecen una revisión más exhaustiva de la vulnerabilidad de las aplicaciones web.
Las soluciones DAST modernas pueden integrarse perfectamente en el SDLC y funcionar de forma transparente en segundo plano. Además, los servidores de automatización pueden activar las modernas herramientas DAST y presentar los resultados del análisis como incidencias en el gestor de incidencias de un desarrollador. Algunas herramientas DAST modernas incluso proporcionan pruebas de explotación, lo que elimina la tediosa necesidad de verificación manual por parte de evaluadores de penetración o expertos en seguridad.
DAST suele considerarse una parte crítica de las pruebas de seguridad de las aplicaciones web. Algunas de sus ventajas únicas incluyen:
A pesar de estos muchos beneficios, el DAST puede tener limitaciones. Aunque DAST es experto en identificar los defectos de seguridad en las aplicaciones en ejecución, puede que no descubra todas las vulnerabilidades, especialmente las que requieren secuencias de acciones específicas. Combinar DAST con otros métodos, como las pruebas de seguridad de las aplicaciones estáticas (SAST, consulte a continuación), las pruebas interactivas de seguridad de las aplicaciones (IAST), el análisis de la composición del software (SCA) y las pruebas de penetración manuales, puede ayudar a complementar el DAST y ofrecer un programa de seguridad más completo.
Otras limitaciones de DAST pueden incluir:
DAST y SAST, o pruebas de seguridad de aplicaciones estáticas, son dos métodos de prueba que se utilizan para identificar vulnerabilidades de seguridad en aplicaciones web. Pero, mientras que DAST evalúa las aplicaciones en su entorno de producción mediante la imitación de ataques de usuarios malintencionados y la identificación de problemas de seguridad, SAST profundiza en su código fuente, buscando vulnerabilidades dentro de la aplicación web.
Los expertos en ciberseguridad generalmente sugieren utilizar tanto SAST como DAST al abordar riesgos de seguridad para tener una visión completa de las posibles vulnerabilidades. Por ejemplo, al examinar el código fuente de un programa, las herramientas SAST pueden descubrir una amplia gama de vulnerabilidades de seguridad que DAST podría pasar por alto, incluyendo inyección SQL, desbordamientos de búfer, ataques XXE y otros riesgos Top 10 de OWASP.
El uso de una metodología SAST también fomenta la realización de pruebas tempranas durante el desarrollo, lo que reduce la probabilidad de que se produzcan fallos de seguridad en el código fuente de la aplicación durante las fases posteriores, acortando así los plazos de desarrollo y mejorando la seguridad general.
Gestione y proteja a su fuerza laboral móvil con una gestión unificada endpoint impulsada por IA (UEM).
Proteja mejor los datos en las nubes híbridas y simplifique los requisitos de cumplimiento.
Cree, despliegue e itere aplicaciones de forma segura en cualquier parte transformando DevOps en DevSecOps, incluidas personas, procesos y herramientas.