In this article
Los 5 mejores consejos para elegir la herramienta DAST adecuada
Proteger tus aplicaciones web y API frente a las amenazas es fundamental, y una herramienta de pruebas dinámicas de seguridad de aplicaciones (DAST) desempeña un papel central en este proceso. En este artículo exploramos las características clave que debe incluir una herramienta DAST moderna, sobre todo ahora que los equipos de desarrollo recurren cada vez más a asistentes de programación con IA. También abordaremos los desafíos que podrías enfrentar durante la implementación y cómo garantizar que tus pruebas de seguridad sigan el ritmo de la innovación.
Con las funciones avanzadas y optimizadas de Snyk API & Web, exploraremos los aspectos fundamentales de una implementación DAST exitosa, como identificar activos, realizar pruebas de seguridad eficaces, gestionar los resultados de manera eficiente e integrar funciones en tu pipeline de desarrollo.
1. Descubrimiento de activos
Las organizaciones son vulnerables a ciberataques maliciosos a través de los activos que exponen en su superficie de ataque. Por eso, comprender esa superficie y tomar medidas eficaces para protegerla es fundamental. Esto es aún más importante ahora que las herramientas de IA pueden acelerar la creación de nuevos microservicios y API, a veces más rápido de lo que los equipos de seguridad pueden seguirles el ritmo.
Conocer la superficie de ataque
Una herramienta DAST con descubrimiento de activos es fundamental para obtener un inventario de los activos de tu organización y comprender su superficie de ataque. Como las amenazas de seguridad evolucionan constantemente, la herramienta DAST también debe poder mantener actualizado ese inventario mediante descubrimientos de activos periódicos.
Analizar la superficie de ataque
La herramienta DAST debe contar con todas las funciones necesarias para facilitar el análisis de los activos descubiertos e identificar y priorizar los más críticos. Por ejemplo, podría proporcionar una puntuación de riesgo preliminar para determinar la criticidad de un activo, capturas de pantalla para facilitar su identificación o direcciones IP para saber dónde se puede acceder a él.
Integración fluida con las pruebas de seguridad
Una vez que determines qué activos son más críticos en tu superficie de ataque, querrás probarlos para identificar vulnerabilidades de seguridad en detalle y protegerlos de manera eficaz. Por eso, al elegir una herramienta DAST, debes buscar una integración fluida entre el descubrimiento de activos y las pruebas de seguridad.
2. Objetivos para las pruebas de seguridad
Un objetivo es aquello que quieres analizar para identificar vulnerabilidades de seguridad. Ya sea que uses como objetivos los activos descubiertos o que crees objetivos independientes, la herramienta DAST debe admitir distintos tipos de objetivos y ofrecer todas las opciones necesarias para configurarlos y obtener los mejores resultados de las pruebas de seguridad. Estos son los aspectos que debes tener en cuenta al elegir tu herramienta DAST.
Tipos de objetivos
En esencia, una herramienta DAST debe admitir los siguientes tipos de objetivos:
Objetivos web
Una herramienta DAST debe admitir los tipos más comunes de aplicaciones web que se ejecutan en navegadores:
Modernas aplicaciones de página única (SPA): Estas aplicaciones ofrecen una gran experiencia de usuario y suelen depender mucho del renderizado del lado del cliente, con el respaldo de una API. La herramienta DAST debe poder analizar tanto la aplicación del lado del cliente como la API que la respalda, aunque estén alojadas en hosts distintos.
Aplicaciones web tradicionales: Estas aplicaciones realizan la mayor parte de su lógica en el servidor. Esto significa que cada página es el resultado de una respuesta a una solicitud HTTP al servidor, que tarda un poco más en reaccionar a las interacciones de los usuarios. Este es el tipo de objetivo básico que cualquier herramienta DAST debe poder analizar.
Objetivos de API
Busca una herramienta DAST que admita API con los formatos de especificación más comunes:
OpenAPI: Es una especificación estándar de API que las herramientas pueden usar para generar código, documentación, casos de prueba y mucho más. La herramienta DAST debe poder usar este formato estándar para determinar qué endpoints de la API analizar. Si quieres asegurarte de que tus especificaciones de OpenAPI sean válidas, prueba el Swagger Editor.
Colección de Postman: Es una forma de acceder a una API mediante una colección predefinida de solicitudes a sus endpoints con Postman. Además, permite aprovechar las solicitudes previas y las pruebas para establecer variables de entorno y manipular datos. La herramienta DAST debe poder importar estas colecciones y ejecutar sus solicitudes para analizar los endpoints de la API. Es fundamental que la colección de Postman contenga una secuencia de solicitudes funcional a los endpoints de la API, que se pueda ejecutar varias veces.
Objetivos con autenticación
Si un objetivo tiene autenticación, significa que incluye áreas a las que solo pueden acceder usuarios autenticados. La herramienta DAST debe permitir configurar la autenticación para iniciar sesión y acceder a esas áreas restringidas. Ten en cuenta las siguientes funciones de autenticación:
Formulario de inicio de sesión: Si el objetivo tiene un formulario de inicio de sesión, la herramienta DAST debe ofrecer una forma de identificar la página e ingresar las credenciales necesarias para iniciar sesión correctamente.
Inicios de sesión complejos: Si el objetivo tiene flujos de inicio de sesión complejos (por ejemplo, inicios de sesión de varios pasos), la herramienta DAST debe permitir configurar la secuencia de pasos y los valores de entrada para iniciar sesión correctamente.
Encabezados y cookies de autenticación personalizados: Esta es otra función de autenticación interesante en una herramienta DAST, ya que permite admitir incluso más escenarios de autenticación, como los flujos basados en un correo electrónico con un enlace de inicio de sesión enviado al usuario.
Inicio de sesión con autenticación de dos factores: Si el objetivo requiere autenticación de dos factores (2FA) para iniciar sesión, la herramienta DAST debe permitir configurarla, además de las dos funciones de autenticación mencionadas anteriormente.
Detección de cierre de sesión: Algunos objetivos pueden cerrar tu sesión automáticamente (por ejemplo, cuando la sesión vence después de un tiempo). La herramienta DAST debe permitir configurar y detectar estas situaciones para volver a iniciar sesión y mantener el acceso a las áreas reservadas para usuarios autenticados durante las pruebas.
Ajustar la cobertura del objetivo
Los objetivos pueden ser complejos y requerir configuraciones específicas para ajustar la cobertura y analizar eficazmente lo que necesitas. Por eso, la herramienta DAST debe incluir funciones para adaptar las pruebas y llegar a las áreas esperadas dentro del alcance del objetivo:
Agregar acceso a áreas «ocultas»: A veces, no es posible llegar a ciertas áreas dentro del alcance del objetivo con solo rastrearlo. Por ejemplo, imagina que un objetivo como https://example.com tiene un área a la que solo se puede acceder mediante un enlace directo, como https://example.com/back-office. En estos casos, la herramienta DAST debe permitir agregar estas áreas «ocultas» al alcance del objetivo.
Restringir el acceso a áreas críticas: Si el objetivo tiene áreas sensibles que no deben incluirse en las pruebas de seguridad (como páginas con formularios que envían correos electrónicos a los usuarios), la herramienta DAST debe permitir configurarlas y excluirlas del alcance del objetivo.
Agregar acceso a hosts adicionales: Algunos objetivos utilizan funciones de servicios alojados en otros hosts. Por ejemplo, imagina que el objetivo https://example.com realiza solicitudes a una API en otro host, como https://api.example.com. La herramienta DAST debe permitir ampliar el alcance del objetivo para incluir otros hosts.
Navegaciones personalizadas para objetivos complejos
Si el objetivo tiene flujos complejos o flujos que requieren valores específicos (como formularios con combinaciones de valores de entrada que dependen unos de otros), la herramienta DAST debe permitir crear y ejecutar secuencias de navegación personalizadas para recorrer esos flujos según lo previsto y llegar a más áreas del objetivo.
Encabezados y cookies personalizados para comportamientos específicos
Una herramienta DAST que permita definir información específica en encabezados o cookies puede ser fundamental para identificar las solicitudes DAST. Esto puede servir para varios casos, como:
Un firewall bloquea las solicitudes DAST al objetivo debido al agente de usuario. Puedes desbloquearlas configurando un «User-Agent» personalizado en el encabezado y ajustando el firewall en consecuencia.
El objetivo tiene una «verificación humana» (como un CAPTCHA) que bloquea las solicitudes DAST. Al enviar información personalizada en una cookie, el objetivo puede aplicar una lógica para desactivar la «verificación humana» y permitir que continúe la prueba de seguridad.
Acceso a objetivos bloqueados por WAF
Si usas un firewall de aplicaciones web (WAF) delante de tu objetivo, puede interpretar como ataques maliciosos las solicitudes que la herramienta DAST le envía. Esto puede hacer que se bloqueen las solicitudes y que el análisis del objetivo quede incompleto. Para evitarlo, la herramienta DAST debe proporcionarte sus direcciones IP para que puedas agregarlas a la lista de permitidas del WAF y desbloquear las pruebas.
Objetivos en redes privadas inaccesibles
A veces, los objetivos no son públicos y se encuentran en redes privadas, por lo que no se puede acceder a ellos desde el exterior. La herramienta DAST debe ofrecer funciones que permitan configurar el acceso a esos objetivos privados.
Libro electrónico
7 hábitos de quienes más aprovechan DAST
¿Estás aprovechando al máximo tu herramienta DAST? Descubre 7 hábitos que transformarán tu enfoque de DAST, potenciarán tu impacto y fortalecerán tu postura de seguridad.
3. Analizar objetivos
Una vez que hayas definido un objetivo, la herramienta DAST debe rastrearlo para explorar todas las áreas a las que pueda acceder y cubrir la mayor parte posible de su alcance. Luego, debe realizar pruebas de seguridad exhaustivas en esas áreas para identificar la mayor cantidad posible de vulnerabilidades.
Cobertura del análisis
Un informe completo de cobertura es imprescindible en una herramienta DAST, para que puedas confirmar que se está cubriendo todo el objetivo. Un buen informe debe permitirte detectar fácilmente si el análisis llega a las áreas que esperas. Por supuesto, esto también implica conocer a fondo el objetivo y todas las áreas que quieres incluir, para obtener información valiosa y aprovechar al máximo el informe de cobertura.
Vulnerabilidades evaluadas
Es fundamental que la herramienta DAST cuente con una excelente lista de vulnerabilidades que pueda evaluar y que esta se actualice con regularidad para detectar las más recientes. La herramienta DAST debe darte acceso a la lista y a la frecuencia con que se actualiza, para que puedas evaluar si cumple con tus requisitos de seguridad. Esto incluye tanto las vulnerabilidades tradicionales como los nuevos tipos de fallas lógicas que puede introducir el código generado por IA.
Análisis de tecnologías específicas
Una herramienta DAST que detecta las tecnologías de los objetivos (por ejemplo, PHP, React o Linux) proporciona información valiosa para las pruebas de seguridad. Esto permite ajustar las pruebas a esas tecnologías y obtener mejores resultados. Algunas herramientas DAST incluso permiten configurar previamente las tecnologías de los objetivos para asegurarse de que se tengan en cuenta.
Análisis programados
Ejecutar análisis periódicamente es importante para mantener siempre actualizada la lista de vulnerabilidades identificadas en tus objetivos. En este sentido, los análisis programados son una excelente función de una herramienta DAST, ya que permiten automatizar estos aspectos sin que tengas que intervenir manualmente.
Pausar y reanudar análisis
Pausar y reanudar análisis es una función DAST que debes tener en cuenta, ya que te permite gestionar situaciones críticas. Por ejemplo, si detectas que un análisis afecta el funcionamiento normal de una aplicación, puedes pausarlo y reanudarlo en un momento más conveniente.
Si la herramienta DAST admite períodos de inactividad, mejor aún. Así, podrás asegurarte de que pause automáticamente los análisis durante períodos definidos (por ejemplo, durante el horario laboral) y los reanude más tarde, en períodos «seguros» (por ejemplo, por la noche).
Análisis parciales
Por lo general, los análisis abarcan todo el alcance del objetivo, por lo que pueden tardar un tiempo en completarse y en mostrarte los resultados. En algunas situaciones, después del primer análisis completo, quizá no necesites volver a analizar todo el objetivo. Por eso, puede ser útil reducir el alcance de los análisis a las áreas del objetivo que te interesan. Estos se conocen como análisis parciales y, si la herramienta DAST los permite, deberías poder configurarlos de las siguientes maneras:
Alcance reducido: Los análisis solo abarcan un conjunto determinado de áreas que configuras como importantes para volver a analizar en un objetivo.
Incremental: Los análisis solo abarcan lo nuevo o lo que se actualizó en un objetivo.
Perfiles de análisis personalizados
Contar con perfiles de análisis personalizados en una herramienta DAST es importante para ajustar comportamientos específicos del análisis. Estos son algunos ejemplos de usos habituales de los perfiles personalizados:
Enfocarse en vulnerabilidades críticas: Defines un perfil de análisis personalizado que se enfoca únicamente en identificar las vulnerabilidades más críticas, es decir, las que urge corregir.
Enfocarse en la velocidad: Si tienes objetivos que pueden manejar muchas solicitudes, puedes crear un perfil personalizado para ejecutar análisis que envíen más solicitudes en paralelo. Así, reducirás el tiempo que tardas en obtener resultados.
Análisis no intrusivos: En los objetivos en los que quieres asegurarte de no realizar operaciones destructivas, puedes usar un perfil personalizado para analizarlos sin probar solicitudes destructivas, como una solicitud DELETE.
4. Resultados de los análisis
A medida que analizas los objetivos, las vulnerabilidades identificadas deben recopilarse en resultados que incluyan toda la información necesaria para saber qué protección necesitan tus objetivos y cómo aplicarla. La herramienta DAST debe proporcionarte esta información valiosa y todas las funciones necesarias para facilitar la gestión de los resultados y abordarlos de manera eficiente.
Precisión de los resultados
Este es uno de los factores más importantes relacionados con los resultados, porque si las vulnerabilidades identificadas no son confiables, puede generar desconfianza y desacreditar la herramienta DAST. Debes asegurarte de que la herramienta proporcione resultados precisos, en particular:
Una tasa baja de falsos positivos: Si la herramienta DAST identifica por error una actividad normal o inofensiva como una vulnerabilidad, generará un falso positivo. Una tasa alta de falsos positivos puede hacer que tú y tu organización pierdan mucho tiempo investigando y atendiendo “problemas” que no son amenazas reales, además de generar desconfianza.
Un número bajo de falsos negativos: Esto ocurre cuando la herramienta DAST no detecta vulnerabilidades reales que sabes que existen. Compara los resultados obtenidos con un objetivo real que conozcas y cuyas vulnerabilidades reales tengas identificadas. Evita usar objetivos de prueba comunes o con vulnerabilidades falsas (por ejemplo, con fines educativos), ya que los resultados podrían no ser confiables.
Detección consistente: La herramienta DAST debe ser consistente y mantener los resultados actualizados en análisis posteriores mientras las vulnerabilidades no se hayan corregido. Por otro lado, debe dejar de reportar los resultados una vez corregida la vulnerabilidad identificada.
DOCUMENTO TÉCNICO
Cómo Snyk API & Web alcanza una tasa líder en la industria de solo un 0,08 % de falsos positivos
Descubre cómo Snyk alcanza una tasa de falsos positivos del 0,08 %, con lo que garantiza precisión, eficiencia y detección integral de vulnerabilidades para proteger las aplicaciones.
Información valiosa y útil en los resultados
Al analizar los resultados, la herramienta DAST debe proporcionarte tanta información valiosa y útil como sea posible. Solo así podrás tomar decisiones fundamentadas sobre cada resultado y aplicar medidas eficaces y eficientes para proteger tus objetivos.
Esta es información útil que deberías considerar incluir en tus resultados:
La descripción de la vulnerabilidad.
Dónde se encontró en el objetivo.
El punto de inyección vulnerable.
El riesgo y la puntuación CVSS del hallazgo.
La evidencia que demuestra la vulnerabilidad.
Los detalles de las solicitudes ejecutadas y las respuestas recibidas.
Información sobre cómo corregir la vulnerabilidad.
Compartir resultados
Es importante que la herramienta DAST genere informes sobre los resultados y las condiciones del análisis para compartirlos con otros equipos, dentro o fuera de la organización. Estos informes deben incluir la información necesaria para que quienes los reciban puedan analizarlos y tomar decisiones de forma autónoma, con poca o ninguna ayuda de tu parte. Por ejemplo, si compartes un informe con el equipo ejecutivo, quizá solo necesites un resumen general; en cambio, si lo compartes con un equipo de seguridad, tal vez quieras incluir muchos más detalles.
Según los requisitos de tu organización, también es útil que los informes incluyan información sobre el cumplimiento de algunos de los estándares más importantes, como PCI DSS, OWASP Top 10, ISO 27001 y HIPAA.
Gestión de resultados
Al analizar los resultados y decidir qué hacer con ellos, la herramienta DAST debe ofrecer las funciones necesarias para actuar según las decisiones que tomes. Por ejemplo, algunas acciones útiles pueden ser:
Volver a probar: En lugar de ejecutar un análisis completo, puedes volver a probar un resultado específico y comprobar fácilmente si la vulnerabilidad identificada se corrigió de manera efectiva.
Aceptar el riesgo: En algunos contextos específicos, la vulnerabilidad no representa ningún riesgo para la organización o ya se conoce y se considera aceptable. Por eso, deberías poder marcar el resultado como de riesgo aceptable.
Marcar como no válido: Si concluyes que la vulnerabilidad identificada en un resultado no se puede explotar, deberías poder marcar el resultado como no válido e informarlo como falso positivo.
Agregar notas: Agregar notas a los resultados puede ser una forma eficaz de compartir y conservar un registro de información importante dentro de tu organización.
5. Integración y automatización
Si quieres mejorar la eficiencia de tu organización, la herramienta DAST debe ofrecer formas de integrar las pruebas de seguridad desde etapas tempranas. Esto significa incorporar pruebas de seguridad antes en el ciclo de vida del desarrollo de software (SDLC) mediante la integración y la automatización.
Integración con soluciones de gestión o sistemas de seguimiento de incidencias
Si tu organización usa un sistema de seguimiento de incidencias para gestionar tareas (o una herramienta de gestión de vulnerabilidades para centralizarlas), la herramienta DAST que elijas debe permitir la sincronización bidireccional. De esta manera:
La herramienta DAST puede crear incidencias automáticamente en el sistema de seguimiento cuando encuentra nuevas vulnerabilidades.
Cuando tu equipo corrige la nueva vulnerabilidad, la herramienta DAST vuelve a probarla.
Si la vulnerabilidad persiste después de volver a probarla, la herramienta DAST vuelve a abrir la incidencia.
Empieza por enfocarte en las aplicaciones web o API de alto riesgo y trabaja primero con esos equipos. Cuando todo funcione correctamente, amplía el proceso a otros equipos. Así, puedes mejorar el proceso de corrección de problemas de seguridad e integrarlo en el ciclo de desarrollo de tus equipos.
Automatización de pipelines de CI/CD
Como alternativa, puedes automatizar la herramienta DAST dentro de tus pipelines de CI/CD. Si la herramienta DAST admite este tipo de automatización, puedes activar automáticamente las pruebas de seguridad en distintos entornos, desde desarrollo hasta producción.
Aunque esto te permitirá integrar las pruebas de seguridad en el ciclo de vida del software sin intervención manual, agregará más pasos a los procesos de CI/CD y puede cambiar el flujo de trabajo de tus equipos. Por eso es tan importante evaluar el impacto de la automatización con cada equipo e incluir al equipo de DevOps en la conversación para entender los cambios necesarios y planificarlos.
Simplifica la implementación de DAST con Snyk API & Web
Implementar de manera eficaz una solución DAST con tecnología de IA es esencial para proteger tus aplicaciones web y API frente a posibles amenazas. Todo comienza con un descubrimiento exhaustivo de los activos, que te ayuda a comprender y gestionar tu superficie de ataque. Si sabes exactamente qué activos debes proteger, puedes configurar tus objetivos con mayor precisión, asegurarte de que los análisis sean exhaustivos y, una vez que tengas resultados, comprobar que sean precisos y gestionarlos eficazmente. Todo esto, mientras integras la herramienta DAST con tus flujos de trabajo existentes.
Al asegurarte de que tu herramienta DAST incluya todos los factores clave que se describen en este artículo, puedes mejorar la postura de seguridad de tu organización y garantizar que tus activos estén bien protegidos frente a las ciberamenazas en evolución, incluidas las que provienen de código generado por IA.
Snyk API & Web, una parte clave de Snyk AI Trust Platform, agiliza todo este proceso y facilita la identificación de vulnerabilidades y la protección de tus activos. Al integrar nuestras capacidades DAST diseñadas para desarrolladores en tus flujos de trabajo existentes, puedes proteger tus aplicaciones y ayudar a tus equipos a innovar de forma segura con IA.
¿Por qué no lo pruebas? Regístrate hoy y descubre lo que Snyk API & Web puede hacer por ti.
Regístrate en Snyk API & Web
Empieza a usar hoy nuestro motor DAST diseñado para desarrolladores
Encuentra y expón vulnerabilidades automáticamente y a escala con el motor DAST de Snyk impulsado por IA. Adelanta la seguridad con automatización y orientación para corregir problemas, integradas sin fricciones en tu ciclo de vida de desarrollo de software.