Enhancing web application attack detection using machine learning

November 26, 2019

Estudiantes: Rodrigo Martinez

Tutores: <a href=https://www.fing.edu.uy/inco/grupos/gsi/team/gustavo-betarte/>Gustavo Betarte</a>, Alvaro Pardo


A pesar de todos los esfuerzos de la comunidad de seguridad, por ejemplo, ini- ciativas como el OWASP Top 10, es un hecho conocido que las aplicaciones web están permanentemente expuestas a ataques que explotan sus vulnerabilidades. Algunas de estas vulnerabilidades solo se pueden descubrir como resultado de un proceso de ensayo y error realizado por un atacante. La identificación y determinación del com- portamiento de un usuario utilizando técnicas de detección de ataques se vuelven cruciales. Estas técnicas ayudan en aspectos tales como evitar que los atacantes iden- tifiquen/verifiquen con éxito la existencia de vulnerabilidades en las aplicaciones, así como minimizar el número de falsos positivos (actividad no maliciosa identi- ficada como tal). Una alternativa tecnológica para realizar análisis de ataques en tiempo real es el uso de un firewall de aplicaciones web (WAF por su siglas en in- glés). Estos sistemas interceptan e inspeccionan el tráfico entre el servidor web y sus clientes, buscando ataques en el contenido de la comunicación. La mayoría de los WAF funcionan mediante el uso de un conjunto de reglas estáticas definidas para identificar ataques.

En esta tesis, analizamos el uso de téqcnicas de aprendizaje automático para mejo- rar la detección de ataques de aplicaciones web en MODSECURITY, un WAF de código abierto que se ha convertido en un estándar de facto.

Primero, proponemos una caracterización del problema definiendo diferentes escenarios dependiendo de si contamos para el entrenamiento con datos específicos o genéricos de la aplicación, así como también tráfico válido o ataques. También analizamos los conjuntos de datos públicos existentes para usar en este contexto y hemos creado nuestro propio conjunto de datos capturando tráfico real sobre una aplicación en producción.

Finalmente, presentamos dos soluciones de aprendizaje automático supervisado. La primera es un enfoque clásico de discriminación entre dos clases (tráfico válido y ataques). La segunda es una solución de clasificación de una clase (one-class) para un escenario más factible cuando solo hay datos válidos disponibles. En la clasificación de una clase se asume que una de las clases puede ser correctamente modelada a partir de datos del conjunto de entrenamiento (en nuestro caso el trá- fico válido) mientras que la otra clase (en nuestro problema los ataques) no puede ser modelada por falta total o parcial de muestras de entrenamiento. Presen- tamos los resultados utilizando ambos enfoques y los comparamos con MODSECU- RITY configurado con el OWASP Core Rule Set por defecto, que es el conjunto de reglas más ampliamente utilizado.

Artefactos disponibles

Download PDF