¿Qué son las pruebas dinámicas de seguridad de aplicaciones (DAST)?

DAST, o pruebas dinámicas de seguridad de aplicaciones, es un enfoque de prueba que implica probar una aplicación para detectar diferentes vulnerabilidades en tiempo de ejecución que surgen solo cuando la aplicación es completamente funcional. Estos problemas pueden estar relacionados con el tiempo de ejecución, el código, las dependencias, etc.

Como un tipo de prueba de caja negra (lo que significa que no es consciente de lo que se está ejecutando dentro de la aplicación cuando intenta explotarla), DAST adopta un enfoque de afuera hacia adentro y simula escenarios de ataque del mundo real como inyecciones SQL, secuencias de comandos entre sitios y problemas de autenticación.

Get the Application Security Best Practices [Cheat Sheet]

This 6-page guide goes beyond basics — it’s a deep dive into advanced, practical AppSec strategies for developers, security engineers, and DevOps teams.

¿Cómo funciona realmente DAST?

DAST se adapta mejor a la fase de prueba de su aplicación. Por lo general, DAST se produce después de otros exámenes de seguridad y calidad del código en las canalizaciones, como SAST

DAST implica varios pasos: 

1. Descubrimiento

En esta fase, se escanea una aplicación para encontrar los puntos de entrada o las interfaces que permiten al usuario interactuar con la aplicación. Piense en API, formularios, interfaz de usuario o URL. Todos estos puntos de entrada se probarán en el siguiente paso.

2. Simulación

Una vez que se identifican las interfaces de la aplicación en la fase de descubrimiento, la aplicación se expone a diferentes tipos de ataques como inyecciones SQL, secuencias de comandos entre sitios (XSS), fugas de memoria en tiempo de ejecución, Falsificación de solicitudes entre sitios (CSRF), Escalada de privilegios, configuraciones de servidor y problemas de TLS. Las herramientas DAST intentan ejecutar estos ataques y se esfuerzan por obtener acceso a partes críticas de la aplicación.

3. Análisis

Una vez que se realizan las simulaciones, se analizan los resultados de estas simulaciones de ataque para determinar si hay vulnerabilidades presentes o no.

4. Informes

En la fase de informes, las herramientas DAST presentan las vulnerabilidades identificadas y sugieren herramientas y posibles soluciones. Los informes se pueden integrar con los canales de comunicación de su organización para alertar a los equipos tan pronto como se encuentre una vulnerabilidad. 

Todos estos pasos juntos hacen que un análisis DAST sea completo, y los informes son un punto de partida para investigaciones y correcciones, lo que permite a sus equipos fortalecer la posición de seguridad de su sistema. 

SAST vs. DAST

En resumen, las pruebas dinámicas de seguridad de aplicaciones (DAST) son una técnica de prueba de penetración que evalúa una aplicación'sin analizar su código subyacente. En lugar de inspeccionar el código base, DAST se centra en ejecutar e interactuar con el software utilizando vectores de ataque conocidos. 

Por ejemplo, DAST prueba un servidor HTTP mediante el envío de solicitudes incrustadas con posibles vulnerabilidades para comprobar si la aplicación es vulnerable. Dado que DAST no'De esta manera, la mayoría de las personas que se encuentran en el centro de la información no son capaces de's es independiente del lenguaje y es efectivo sin importar el lenguaje de programación o las tecnologías utilizadas, lo que lo hace versátil en diferentes plataformas.

Figure 1: SAST compared with DAST

Aunque DAST tiende a ser más lento que las pruebas estáticas de seguridad de aplicaciones (SAST), puede detectar una gama más amplia de vulnerabilidades que no son evidentes para SAST, como las vulnerabilidades en tiempo de ejecución que se producen en entornos de producción. (Vulnerabilidades como la susceptibilidad a la denegación de servicio distribuida, la exposición de datos internos confidenciales o las configuraciones incorrectas en servicios de terceros).

Por otro lado SAST llega antes que DAST durante el desarrollo y las canalizaciones de CI/CD. SAST analiza el código fuente en sí mismo y se puede ejecutar muy temprano en sus canalizaciones de DevSecOps. Con SAST, el código se analiza para encontrar patrones que pueden ser problemas potenciales. SAST también se puede combinar con fuzzing para obtener resultados más completos.

DAST vs. IAST

IAST, o pruebas de seguridad de aplicaciones interactivas, es una combinación de metodologías SAST y DAST que pueden agregar más valor a sus pruebas de seguridad. IAST analiza el código fuente en busca de vulnerabilidades y también ejecuta parte del código para identificar problemas y monitorear su comportamiento en tiempo real. IAST analiza el tiempo de ejecución mediante la adición de instrumentación para medir métricas importantes en diferentes puntos del código, lo que ayuda a identificar problemas de seguridad e indicar la gravedad del problema.

Beneficios de DAST

Las pruebas dinámicas de seguridad de aplicaciones están muy cerca de las situaciones de ataque en tiempo real, por lo que pueden ayudarlo a detectar vulnerabilidades que realmente se encuentran en la naturaleza. A continuación, se muestra un resumen de los otros beneficios que DAST aporta: 

  • Vulnerabilidad en tiempo de ejecución y detección de vulnerabilidades amplias: Aparte del código, se pueden encontrar problemas graves en el tiempo de ejecución (y solo en el tiempo de ejecución). Esto hace que DAST sea realmente útil porque el análisis de vulnerabilidades en tiempo de ejecución es la especialidad de DAST. DAST también mira más allá del código desde una perspectiva externa y puede probar problemas como la mala gestión de sesiones, la falsificación de solicitudes entre sitios, los redireccionamientos abiertos, Log4Shelly mucho más.

  • Pruebas independientes del idioma: Las herramientas DAST no tienen que entender el lenguaje de codificación que utilizó para crear su aplicación, ya que pueden identificar y explotar cualquier vulnerabilidad, pase lo que pase. Esto facilita la implementación de DAST, lo que agiliza los flujos de trabajo de pruebas.

  • Pruebas de terceros: Puede probar las dependencias para detectar cualquier problema a través de las herramientas DAST. (Dado que no tiene que comprender el funcionamiento interno y solo necesita interfaces para iniciar la evaluación, ¡es fácil usar DAST en sus herramientas de terceros!) 

  • Comportamiento de ataque real: La mayor fortaleza de DAST es la naturaleza de sus "ataques". Las simulaciones que realizan las herramientas DAST son muy cercanas al comportamiento real de los atacantes. 

Catch code risks before you deploy

Learn how Wiz Code scans IaC, containers, and pipelines to stop misconfigurations and vulnerabilities before they hit your cloud.

Para obtener información sobre cómo Wiz maneja sus datos personales, consulte nuestra Política de privacidad.

Limitaciones de DAST

Aunque DAST es una excelente opción para las pruebas, tiene algunas desventajas:

  • Falsos positivos en las pruebas de seguridad: DAST puede desencadenar una gran cantidad de falsos positivos, lo que genera mucho trabajo para los equipos, que tienen que examinarlos todos y decidir a qué alertas prestar atención.

  • Detección lenta: DAST es muy lento en comparación con su homólogo, SAST, y puede tardar mucho tiempo en detectar problemas, lo que hace que los ciclos de implementación sean más largos. 

  • Opuesto a desplazar a la izquierda: El enfoque de desplazamiento a la izquierda de SAST ahorra mucho tiempo, pero DAST es básicamente lo contrario. Solo puede iniciar el análisis DAST después El código de la aplicación se ha completado, compilado e implementado. Dado que se produce después de la implementación, la identificación y el enrutamiento de la corrección de problemas a los propietarios de desarrollo relevantes es un proceso largo. 

  • Sin información de código: Dado que DAST no tiene visibilidad del código en sí, puede haber problemas que DAST pase por alto. Es por eso que SAST también es muy importante, y es una buena idea usar ambos y no solo confiar en uno. 

Herramientas DAST de código abierto populares 

Hay muchas herramientas populares de código abierto que puede aprovechar para el análisis DAST. Estos son algunos de los que están en continuo desarrollo: 

ToolDescription
OWASP ZAPZAP, or Zed Attack Proxy, is one of the most popular DAST tools. It can be easily integrated into your CI/CD security pipeline to analyze the behavior of your application. ZAP has a major community backing it, can perform other security testing like SAST, and can carry out code reviews as well.
Wapiti

Wapiti is another very popular open-source tool for scanning web applications. It covers a wide array of attacks, including some advanced attacks like TLS misconfigurations and Shellshock. (Note that Wapiti doesn’t have a GUI and is more suited to scheduled scans than real-time testing.)

Vega

Vega is also a free, open-source tool for dynamic application testing. Vega has APIs and GUI, which makes it user friendly. The downsides? Vega has limited support for modem JavaScript applications and can struggle with CI/CD integration.

w3af

w3af is billed as a complete ecosystem for auditing web applications. It comes with a lot of helpful features—from notification channels to reporting and alerting. w3af’s drawbacks are a lack of a GUI and limited support for C/CD.

Burp SuiteBurp Suite is used widely for security scanning and testing. Burp Suite is available as a community offering as well as a paid version. (With the paid version, you can get some extra automated scanning features.) For better control and ease of use, Burp Suite offers a GUI. Burp Suite boasts a vast number of features and attacks that it can analyze and perform.

Fortalezca la seguridad de sus aplicaciones y SDLC con Wiz Code

Si bien los análisis de DAST pueden llevar mucho tiempo, agregan mucho valor para fortalecer la posición de seguridad de las aplicaciones contra las amenazas de los atacantes. Para mantener la velocidad y la productividad de los ciclos de implementación ágiles, los análisis de DAST se pueden ejecutar directamente después de la implementación y, a continuación, repetirse de forma continua y asincrónica para informar de cualquier vulnerabilidad en tiempo de ejecución que pueda surgir. 

No hay duda de que DAST puede ayudarlo a fortalecer su posición de seguridad después de que se hayan implementado sus aplicaciones, pero DAST por sí solo no es suficiente. Se recomienda implementar un enfoque proactivo de la seguridad y realizar un conjunto completo de análisis durante el tiempo de compilación (código propio, código de terceros, infraestructura y configuración de seguridad de canalización) para asegurarse de que no está dejando sus sistemas expuestos a actores de amenazas, y ahí es donde Código Wiz entra.

Wiz Code ofrece comentarios de seguridad en tiempo real a los desarrolladores, enriquecidos con información sobre la nube, directamente en el IDE y las solicitudes de extracción. Esto ayuda a los desarrolladores a anticipar el impacto de las vulnerabilidades y los secretos expuestos una vez que se ha implementado su código y a remediar de forma proactiva sus problemas de seguridad de aplicaciones más impactantes en el código. 

Wiz Code también se conecta a repositorios de código y canalizaciones de CI/CD, escaneando toda la pila de aplicaciones y la postura de seguridad del SDLC, desde las dependencias de código de terceros y los problemas de cumplimiento de licencias hasta las imágenes de contenedores, las plantillas de IaC y la configuración de las propias canalizaciones de VCS y CI/CD para que pueda detectar vulnerabilidades, configuraciones incorrectas, problemas de cumplimiento, datos confidenciales, secretos expuestos, y malware. 

Usando el código Wiz en combinación con uno de los Socios de integración de SASTcomo Checkmarx, Cycode, o Jit, proporciona a los equipos de seguridad una visibilidad y un control completos sobre la postura de seguridad de sus aplicaciones desde el tiempo de creación hasta el tiempo de ejecución, sin herramientas aisladas ni brechas en la cobertura.

¿Quieres ver por ti mismo cómo Wiz Code puede proteger todo lo que construyes y ejecutas desde el código hasta la nube? Programe una demostración hoy mismo

Secure your cloud from code to production

Learn why CISOs at the fastest growing companies trust Wiz to accelerate secure cloud development.

Para obtener información sobre cómo Wiz maneja sus datos personales, consulte nuestra Política de privacidad.