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

¿Su equipo detectarí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. Aprenda rápidamente de tutoriales de expertos y artículos explicativos, directamente en su bandeja de entrada. Consulte la Declaración de privacidad de IBM.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. 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/es-es/privacy

¿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 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 vulneraciones 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 de manera fluida en DevOps y pipelines 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 vulnerar 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 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.

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 con los estándares del sector. Las empresas a menudo usan DAST para cumplir con los estándares del sector 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.
  • Desafíos 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 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
Soluciones de seguridad para la empresa

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)

    Mejore la velocidad, la precisión y la productividad de los equipos de seguridad con soluciones de ciberseguridad basadas en IA.

    Explore la ciberseguridad de la IA
    Dé el siguiente paso

    Tanto si necesita soluciones de seguridad de datos, de gestión de endpoints o de gestión de identidades y accesos (IAM), nuestros expertos están dispuestos a trabajar con usted para lograr una posición de seguridad sólida. Transforme su empresa y gestione los riesgos con un líder de la industria mundial mundial en consultoría de ciberseguridad, cloud y servicios de seguridad gestionados.

    Explore las soluciones de ciberseguridad Descubra los servicios de ciberseguridad