Publicado: 8 de abril de 2024
Colaboradores: Annie Badman, Amber Forrest

¿Qué es DAST?

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, últimamente, 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 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.

¿Por qué es importante DAST?

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 funciones, 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 violaciones 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 e implementación 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 los comentarios continuos para que los desarrolladores y los equipos de seguridad puedan seguir siendo ágiles y productivos sin comprometer la seguridad.

¿Cómo funciona DAST? 

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:

Escaneo

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. 

Análisis

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.

Simulación de ataque

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.

Informes

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 soluciones a los equipos de desarrollo.

Abordar los falsos positivos

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.

Tipos de herramientas DAST

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. 

DAST heredadas 

Las herramientas DAST heredadas no suelen contar con funciones 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. 

DAST modernas

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 sin problemas 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.

Pros y contras de DAST

DAST suele considerarse una parte crucial de las pruebas de seguridad de las aplicaciones web. Algunas de sus ventajas únicas incluyen:

  • Versatilidad. Los usuarios pueden implementar DAST en varias etapas del ciclo de vida del desarrollo de software: DAST puede probar aplicaciones web en su estado de ejecución y aplicaciones que ya se han implementado sin modificaciones, lo que facilita la evaluación de los sistemas heredados.
  • Automatización. Las herramientas DAST se integran con facilidad en los pipelines DevOps y CI/CD, lo que permite ejecutar pruebas de seguridad automatizadas en las primeras fases del proceso de desarrollo y reducir significativamente el coste de la corrección. 
  • Agnóstico lingüístico. Como DAST funciona desde fuera hacia dentro, no depende del lenguaje de programación utilizado en la aplicación y puede funcionar en muchos marcos diferentes. DAST prueba eficazmente tanto las interfaces web como las API, emulando la forma en que los atacantes encuentran las vulnerabilidades. 
  • Menos falsos positivos. Por lo general, DAST produce menos falsos positivos y negativos al simular acciones del usuario que otros métodos, como SAST.
  • Pruebas realistas y repetibles. Como emula el comportamiento de los atacantes en el mundo real, DAST es una solución práctica para identificar las vulnerabilidades que los actores malintencionados pueden explotar. El DAST también ofrece la ventaja de realizar pruebas repetibles, lo que permite evaluar las vulnerabilidades de forma continua a medida que las aplicaciones evolucionan.
  • Descubrimiento integral de vulnerabilidades. DAST puede descubrir una amplia gama de vulnerabilidades, incluidas las inyecciones SQL, XSS y configuraciones incorrectas.
  • Alineación de estándares de la industria. Las empresas a menudo usan DAST para cumplir con los estándares de la industria y ayudar con los informes regulatorios, como el cumplimiento de PCI. Muchas empresas utilizan la lista Top 10 de OWASP como referencia de cumplimiento para los riesgos de seguridad de las aplicaciones.

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:

  • Centrarse en el código ejecutable. Dado que DAST comprueba principalmente partes de aplicaciones web que ya se han implementado (es decir, código que ya se puede ejecutar), puede pasar por alto secciones que aún están en desarrollo.
  • Retos de autenticación. DAST puede ser menos eficaz con la autenticación no estándar y la lógica empresarial compleja, pero las herramientas DAST profesionales incluyen módulos de orientación para estas situaciones.
  • Impacto operacional. Sin un ajuste adecuado, las pruebas DAST pueden afectar el funcionamiento normal de la aplicación y posiblemente introducir datos de muestra o ralentizar la aplicación. Como resultado, muchos ejecutan DAST en entornos de clonación de ensayo o producción en lugar de en producción en vivo.
DAST vs. SAST

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.

Soluciones relacionadas
IBM security MaaS360

Gestione y proteja a su personal móvil con una solución unificada de gestión de endpoints basada en la IA (UEM).

Explore IBM Security MaaS360

Soluciones de seguridad de datos

Proteja los datos en nubes híbridas y simplifique los requisitos de cumplimiento. 

Explore las soluciones de seguridad de IBM

Soluciones de seguridad de aplicaciones

Cree, implemente e itere aplicaciones de forma segura en cualquier parte transformando DevOps en DevSecOps, incluidas personas, procesos y herramientas

Explore los servicios de seguridad de aplicaciones
Dé el siguiente paso

A medida que los modelos de trabajo flexibles se convierten en la nueva norma, los empleados deben seguir siendo productivos al trabajar desde cualquier lugar y cualquier dispositivo de forma protegida. Desde la gestión de endpoints hasta la seguridad nativa, IBM Security MaaS360 proporciona una solución UEM de extremo a extremo. 

Explore MaaS360 Solicite una demostración en directo