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

Autores

Annie Badman

Staff Writer

IBM Think

Amber Forrest

Staff Editor | Senior Inbound, Social & Digital Content Strategist

IBM Think

¿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, 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.

¿Su equipo captaría a tiempo el próximo día cero?

Únase a los líderes de seguridad que confían en el boletín Think para obtener noticias seleccionadas sobre IA, ciberseguridad, datos y automatización. Aprende rápido con tutoriales de expertos y documentos explicativos, que se envían directamente a su bandeja de entrada. Consulte la Declaración de privacidad de IBM.

Su subscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

https://www.ibm.com/mx-es/privacy

Por qué es importante DAST

Los desarrolladores de hoy trabajan rápidamente, a menudo actualizando áreas de código específicas 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, a menudo, tienen 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 mientras gestiona amenazas de ciberseguridad en constante evolución.

El resultado es un área superficial en constante aumento 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 creación y despliegue son una de las razones por las que los equipos de DevOps suelen adoptar DAST en entornos DevOps/DevSecOps como parte de un enfoque de "desplazamiento a la izquierda" en el que las pruebas se realizan al principio del ciclo de vida del desarrollo de software (SDLC) para una corrección más rentable y que requiera menos tiempo. . Otros principios de DevOps que mejoran las herramientas DAST incluyen priorizar la automatización, la colaboración y la retroalimentación continua 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 mediante el envío de varias solicitudes HTTP. Esta asignación identifica todas las páginas, enlaces, funciones (para aplicaciones web de una sola página) y puntos de entrada tal como se definen en las pruebas de API a través de un documento de definición de 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 inyección SQL, secuencias de comandos entre sitios (XSS) y falsificación de solicitudes entre sitios (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.

Presentación de 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 correcciones 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 heredado

Las herramientas DAST existentes a menudo carecen de características de Automatización, aunque su proceso de escaneo está automatizado. Por lo general, se centran en pruebas básicas (enviar solicitudes, recibir respuestas y realizar 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 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.

Pros y contras de DAST

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

  • Versatilidad. Los usuarios pueden desplegar 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 costo de la corrección.
  • Agnóstico lingüístico. Dado que DAST funciona de afuera hacia adentro, no depende del lenguaje de programación utilizado en la aplicación y puede funcionar en muchas infraestructuras diferentes. DAST prueba eficazmente tanto las interfaces web como las API, emulando cómo los atacantes encuentran 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 con los estándares de la industria. Las empresas suelen utilizar 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 OWASP Top 10 como punto de referencia de cumplimiento para los riesgos de seguridad de las aplicaciones.

A pesar de estos muchos beneficios, DAST puede tener limitaciones. Aunque DAST es hábil para identificar fallas de seguridad en aplicaciones en ejecución, es posible que no descubra todas las vulnerabilidades, especialmente aquellas que requieren secuencias específicas de acciones. La combinación de DAST con otros métodos, como las pruebas de seguridad de aplicaciones estáticas (SAST, consulte a continuación), las pruebas de seguridad de aplicaciones interactivas (IAST), el análisis de composición de software (SCA)y las pruebas de penetración manuales, puede ayudar a complementar DAST y ofrecer un programa de seguridad más completo. .

Otras limitaciones de DAST pueden incluir:

  • Céntrese en el código ejecutable. Dado que DAST comprueba principalmente partes de aplicaciones web que ya se han desplegado (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 operativo. Sin el ajuste adecuado, las pruebas DAST pueden afectar la operación 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 producción o ensayo en lugar de 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
Soluciones de seguridad empresarial

Transforme su programa de seguridad con las soluciones del mayor proveedor de seguridad empresarial.

Explore las soluciones de ciberseguridad
Servicios de Ciberseguridad

Transforme su negocio y gestione el riesgo con servicios de consultoría de ciberseguridad, nube y seguridad gestionada.

    Explore los servicios de ciberseguridad
    Ciberseguridad de la inteligencia artificial (IA)

    Aumente la velocidad, precisión y productividad de los equipos de seguridad con soluciones cibernéticas potenciadas por IA.

    Explorar la ciberseguridad de IA
    Dé el siguiente paso

    Ya sea que necesite una solución de seguridad de datos, gestión de endpoints o gestión de identidad y acceso (IAM), nuestros expertos están listos para trabajar con usted para lograr una postura de seguridad sólida. Transforme su negocio y gestione el riesgo con un líder global del sector en servicios de consultoría de ciberseguridad, en la nube y de seguridad gestionada.

    Explore las soluciones de ciberseguridad Descubrir los servicios de ciberseguridad