Assessment methodology of web applications automatic security analysis tools for adaptation in the development life cycle

Bermejo Higuera, Juan Ramón · 2014

Como tecnicas de analisis de seguridad de una aplicacion, las pruebas de caja blanca y de caja negra realizadas manualmente (revision de codigo, test de penetracion), sufren de falta de cobertura de la superficie de ataque que tienen las aplicaciones y lo mas probable es que con estas pruebas de penetracion manuales se tenga una gran perdida de deteccion de vulnerabilidades de seguridad. La dificultad de realizar estos test manualmente conduce al desarrollo de tecnicas automaticas de analisis de la seguridad. Este trabajo de tesis trata de fijar el “estado del arte” en cuanto a las ultimas tendencias de herramientas de analisis automaticas: analisis estatico de caja blanca (SAST), dinamico de caja negra (DAST) y analisis dinamico de caja blanca (RAST / IAST) en tiempo real. Tambien hay disponibles desarrollos de herramientas hibridas combinando varias de los tipos anteriores, con el objetivo de reducir los falsos positivos y negativos que tienen las herramientas de analisis estatico y dinamico. Todas estos tipos de herramientas son evaluadas de acuerdo a una metodologia desde una perspectiva global para establecer el grado de eficacia de las herramientas en cuanto detecciones correctas (verdaderos positivos), falsas alarmas (falsos positivos), grado de cobertura de vulnerabilidades, etc. La metodologia de evaluacion de las herramientas consiste en ejecutar cada herramienta contra aplicaciones benchmark que contienen vulnerabilidades de seguridad conocidas. Las aplicaciones benchmark utilizadas han de tener la capacidad de comprobar falsos positivos, es decir, porciones de codigo seguras controladas donde las herramientas no deberian informar de la existencia de una vulnerabilidad concreta. Al resultado de las ejecuciones se les aplican posteriormente metricas seleccionadas y ampliamente aceptadas para establecer un ranking en cuanto a la efectividad de analisis de seguridad de cada herramienta. El objetivo final del resultado de la evaluacion de los diferentes tipos de herramientas mencionados, es la derivacion de un modelo de ciclo de vida de desarrollo seguro de 8 software (SSDLC), aplicando en cada fase los tipos de herramientas mas adecuados para conseguir un resultado de conjunto lo mas optimizado posible. La diferente naturaleza de cada tipo de herramienta, e incluso entre distintas herramientas del mismo tipo, hace necesario estudiar la sinergia existente entre ellas cuando se combinan para reducir el porcentaje de falsos positivos y aumentar el porcentaje de verdaderos positivos. El modelo de ciclo de vida de desarrollo seguro de software resultante siempre estara en funcion de los tipos de herramientas disponibles, del personal disponible para realizar las tareas de analisis, del tiempo y otros factores como los cambios de tendencias de la frecuencia y peligrosidad de las vulnerabilidades con el tiempo, de la evolucion de las propias herramientas y de la aparicion de otras nuevas. Estos factores de cambio implican analizar esta evolucion para adaptar continuamente el modelo de SSDLC.

Read the paper · More papers on PaperTik