Análisis de seguridad en aplicaciones: ¿Cuál es la mejor herramienta?
Ponencia de Juan Ramón Bermejo perteneciente al módulo Bases de datos y desarrollo de software seguro de C1b3rWall Academy 22/23
Tiempo de lectura estimado: 8 minutos
El objetivo de la ponencia es explicar los distintos tipos de herramientas que existen para analizar aplicaciones, generalmente aplicaciones web. A su vez, otro de los objetivos es averiguar cuál es la mejor herramienta mediante la comparación a través de un método específico y un banco de pruebas.
¿Qué problemas tienen las herramientas?
Los principales problemas que presentan son los falsos positivos, es decir, alertas por vulnerabilidades que no existen. Peor todavía es tener falsos negativos, es decir, la ausencia de alertas pese a existir vulnerabilidades. Por lo tanto, las métricas más óptimas esperadas que proporcione la herramienta son los verdaderos positivos y negativos.
Herramientas SAST o de análisis estático
Estas herramientas realizan un análisis léxico, sintáctico y semántico como cualquier compilador. A continuación, crean un modelo del código fuente de la aplicación para realizar un análisis intraprocedural o local, así como un análisis global o interprocedural de llamadas entre funciones y flujos de datos. Finalmente, se realiza una auditoría para establecer los verdaderos positivos, falsos positivos y falsos negativos. Algunas herramientas de análisis estático son Fortify, Coverity o Klocwork.
Herramientas DAST o de análisis dinámico
Estas herramientas atacan a la aplicación de forma externa. Es fundamental, si es posible, que la misma persona realice todos los tipos de análisis. Las herramientas DAST realizan reconocimiento, un crawling manual en modo proxy y automático, análisis pasivo, scan activo y una auditoría posterior en búsqueda de lo ya mencionado anteriormente: verdaderos positivos, falsos positivos y falsos negativos. Algunas herramientas de análisis dinámico son BurpSuite, OWASP Zap o Acunetix.
Herramientas IAST o de análisis interactivo
Para obtener un informe de vulnerabilidades, estas herramientas necesitan interactuar con la aplicación. Una herramienta IAST consta de un agente o sensor instalado en el servidor de aplicaciones, examina contenido de variables de la aplicación en la pila del servidor de aplicaciones, examina peticiones y respuestas y puede acceder al código fuente y configuraciones del servidor. Algunas herramientas de análisis interactivo son Contrast Security, Veracode o HCL AppScan.
Herramientas HAST o híbridas
Las herramientas híbridas consisten en la combinación de distintos tipos de análisis en una solución, lo que supone una ventaja, aunque requiere de correlación de resultados. Existen combinaciones SAST-DAST-IAST.
Herramientas Software Composite Analysis (SCA)
Estas herramientas son importantes porque comprueban las vulnerabilidades públicas CVE de las dependencias (software de terceros). Ejemplos de este tipo de herramientas son Snyk, OWASP Dependency-Check o Nessus.
¿Cómo comparar las distintas herramientas?
Para la comparación se aplica una metodología comparativa cuyo principal objetivo es medir la eficacia y detección de falsos positivos y verdaderos positivos. La metodología sigue las siguientes fases:
- Selección del banco de pruebas.
- Selección de herramientas.
- Selección de métricas para análisis de resultados.
- Ejecución de herramientas contra el banco de pruebas.
- Establecer ranking de herramientas.
La realización de cada fase se muestra de forma práctica en la ponencia en vídeo, por lo que se recomienda su visualización para una mayor comprensión del método.
Conclusiones
- Hay que adoptar un proceso SSDLC (Ciclo de Vida de Desarrollo Seguro de Sistemas de Información) para diseñar e implementar la seguridad.
- Es difícil cubrir toda la superficie de ataque.
- Las herramientas no son perfectas: presentan falsos positivos y negativos; es necesaria una auditoría final de resultados.
- Las herramientas de caja blanca (interactivas y estáticas) obtienen mejores resultados que las dinámicas.
- Todas las herramientas proporcionan una buena realimentación.
- Es fundamental analizar la eficacia en función del ratio de verdaderos y falsos positivos para saber cuál es la mejor herramienta.
¿Todavía no formas parte de C1b3rWall Academy? El contenido es gratuito, únete a otras miles de personas desde este enlace.
Si te interesa este tema, puedes consultar la información y cursar el Máster en Ciberseguridad o ver la oferta de másteres desde aquí.
Ponente: Juan Ramón Bermejo Higuera
Juan Ramón es doctor en Ingeniería Eléctrica, Electrónica y Control Industrial por la UNED. Es profesor del Máster de Ciberseguridad en la UNIR, así como en el Máster en Ingeniería del Software y Sistemas Informáticos y en el Grado en Ingeniería Informática en la misma universidad.
- Contacto: juanramon.bermejo@unir.net
¿Cuál es tu reacción?