Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Aprendizaje automático# Criptografía y seguridad

Avances en la detección de ataques de inyección SQL

Las investigaciones muestran que el aprendizaje automático mejora significativamente las tasas de detección de inyecciones SQL.

― 6 minilectura


Detección de inyecciónDetección de inyecciónSQL mejoradaSQL.defensa contra ataques de inyecciónEl aprendizaje automático refuerza la
Tabla de contenidos

En esta sección, hablamos de tres experimentos que realizamos para evaluar la efectividad de nuestro enfoque para detectar ataques de Inyección SQL. Primero analizamos qué tan bien funcionó un modelo básico para detectar estos ataques. El modelo básico utilizó un método simple de combinar reglas basadas en pesos fijos que no consideraban el tráfico normal. Como resultado, tuvo una baja tasa de Detección para los ataques de inyección SQL. La tasa de detección solo estaba en un cierto nivel incluso cuando las condiciones eran las mejores.

Luego, demostramos a través de pruebas que usar técnicas de Aprendizaje automático para ajustar los pesos de estas reglas mejoró significativamente la tasa de detección, logrando un aumento de hasta el 21%. Nuestro tercer experimento involucró un nuevo método que entrenó el modelo específicamente para manejar mejor los ataques, lo que mejoró su robustez en un 42%. Este método resultó ser más fuerte que el modelo básico en un 25%.

La configuración general de nuestros experimentos se llevó a cabo en un servidor Ubuntu con un potente procesador Intel y mucha memoria. Utilizamos un conjunto de datos que incluía muchos ejemplos tanto de Consultas SQL maliciosas como benignas. Este conjunto de datos fue elegido porque es uno de los recursos más completos disponibles para entrenar modelos para detectar ataques de inyección SQL.

Para crear nuestro conjunto de datos de entrenamiento, seleccionamos aleatoriamente 20,000 muestras del conjunto de datos original. Este conjunto de entrenamiento contenía un número igual de consultas SQL benignas y maliciosas. Para probar, creamos un conjunto de datos separado que incluía 4,000 muestras elegidas al azar. Este conjunto de pruebas fue diseñado para evaluar el rendimiento de nuestros modelos de detección sin superponerse con los datos de entrenamiento.

También desarrollamos un conjunto de entrenamiento especial específicamente para el entrenamiento Adversarial. Esto implicó crear 5,000 consultas SQL maliciosas a partir de nuestro conjunto de entrenamiento principal y modificarlas utilizando herramientas avanzadas. Estas consultas modificadas fueron luego añadidas nuevamente al conjunto principal de entrenamiento. Para las pruebas, creamos un conjunto de pruebas adversarial separado optimizando consultas maliciosas seleccionadas anteriormente, manteniendo sin cambios las consultas benignas. Esta configuración nos permitió evaluar qué tan bien nuestros métodos podrían resistir ataques sofisticados.

En nuestros experimentos, implementamos un extractor de características que utilizó una biblioteca específica para trabajar con las reglas de detección enfocadas en inyecciones SQL. Las reglas que usamos para entrenar el modelo fueron diseñadas específicamente para atrapar intentos de inyección SQL. Ajustamos el sistema de detección para minimizar los falsos positivos mientras permitíamos un número máximo de consultas que proporcionaran los datos necesarios para el entrenamiento.

También utilizamos modelos de aprendizaje automático basados en máquinas de soporte vectorial (SVM) y bosques aleatorios (RF). Estos tipos de modelos son conocidos por su efectividad en tareas de clasificación. Ajustamos cuidadosamente estos modelos para mejorar su rendimiento ajustando sus parámetros y validándolos a través de un enfoque sistemático. Este método aseguró que obtuviéramos las mejores versiones posibles de estos modelos para nuestra tarea.

Nuestro primer objetivo fue evaluar el rendimiento del modelo básico. Exploramos su capacidad para diferenciar entre consultas SQL benignas y maliciosas en varias configuraciones. Nos enfocamos en qué tan bien podía detectar ataques en tasas específicas de falsos positivos. Los resultados mostraron que el modelo básico tenía dificultades significativas, a menudo clasificando erróneamente consultas benignas como maliciosas.

A medida que avanzamos a los modelos de aprendizaje automático, los resultados mejoraron notablemente. Tanto los modelos SVM como RF mostraron una mayor capacidad para detectar intentos de inyección SQL en diferentes configuraciones en comparación con el modelo básico. En particular, ambos modelos demostraron aumentos sustanciales en las tasas de detección, superando a menudo el enfoque básico.

Cuando probamos los modelos de aprendizaje automático contra ataques adversariales, lograron superar aún al modelo básico. Aunque enfrentaron desafíos bajo condiciones de ataque, demostraron ser más efectivos, mostrando mejores resultados en la identificación de consultas maliciosas. En términos de robustez general, ambos modelos SVM y RF mantuvieron tasas de detección más altas en comparación con la versión básica.

Reconociendo que los modelos entrenados en condiciones desafiantes podrían seguir siendo beneficiosos, decidimos volver a entrenar los modelos de aprendizaje automático con un enfoque en la robustez adversarial. Este nuevo entrenamiento brindó la oportunidad de evaluar cómo se desempeñaban estos modelos tanto en condiciones normales como de ataque. Los resultados revelaron que estos modelos entrenados de manera adversarial no solo resistieron los ataques, sino que también mantuvieron niveles de rendimiento similares a sus predecesores sin tal entrenamiento.

Cuando observamos de cerca las características que los modelos utilizaron para la detección, descubrimos que el entrenamiento adversarial ayudó a distribuir la importancia de varias reglas, dificultando que los atacantes evadieran la detección. Al observar qué reglas se activaban durante los ataques, obtuvimos información sobre cómo tanto el modelo básico como el mejorado manejaban diferentes tipos de ataque.

En general, nuestros hallazgos destacaron la importancia de utilizar técnicas de aprendizaje automático para mejorar las capacidades de detección contra ataques de inyección SQL. El modelo básico, aunque simple, demostró ser inadecuado en escenarios del mundo real. En contraste, los modelos que incorporaron aprendizaje automático mostraron mejoras significativas, especialmente al enfrentar tácticas adversariales sofisticadas.

En resumen, a través de una experimentación cuidadosa y una consideración detallada de muestras benignas y maliciosas, ilustramos cómo las técnicas avanzadas pueden mejorar en gran medida la capacidad para detectar ataques de inyección SQL. Los resultados de nuestros experimentos indican que entrenar modelos específicamente para condiciones adversariales puede generar defensas más fuertes y un mejor manejo de varios tipos de ataque.

Los desarrollos en esta investigación enfatizan la necesidad de una mejora continua en los sistemas de detección y muestran el potencial de los enfoques de aprendizaje automático para lograr medidas de seguridad más confiables contra amenazas de inyección SQL. A medida que los métodos de ataque siguen evolucionando, también deben hacerlo nuestras estrategias defensivas, haciendo que la investigación en esta área sea fundamental para las soluciones de seguridad del futuro.

Estos resultados sirven como una base sólida para estudios futuros centrados en mejorar la detección de inyección SQL y pueden utilizarse para guiar el diseño e implementación de medidas de seguridad más efectivas en aplicaciones del mundo real. La importancia de adaptarse a los patrones de ataque cambiantes a través de un refinamiento continuo de los sistemas de detección no puede ser sobrestimada, considerando el paisaje en constante crecimiento de las amenazas cibernéticas que enfrentan hoy las organizaciones.

Fuente original

Título: ModSec-AdvLearn: Countering Adversarial SQL Injections with Robust Machine Learning

Resumen: Many Web Application Firewalls (WAFs) leverage the OWASP Core Rule Set (CRS) to block incoming malicious requests. The CRS consists of different sets of rules designed by domain experts to detect well-known web attack patterns. Both the set of rules to be used and the weights used to combine them are manually defined, yielding four different default configurations of the CRS. In this work, we focus on the detection of SQL injection (SQLi) attacks, and show that the manual configurations of the CRS typically yield a suboptimal trade-off between detection and false alarm rates. Furthermore, we show that these configurations are not robust to adversarial SQLi attacks, i.e., carefully-crafted attacks that iteratively refine the malicious SQLi payload by querying the target WAF to bypass detection. To overcome these limitations, we propose (i) using machine learning to automate the selection of the set of rules to be combined along with their weights, i.e., customizing the CRS configuration based on the monitored web services; and (ii) leveraging adversarial training to significantly improve its robustness to adversarial SQLi manipulations. Our experiments, conducted using the well-known open-source ModSecurity WAF equipped with the CRS rules, show that our approach, named ModSec-AdvLearn, can (i) increase the detection rate up to 30%, while retaining negligible false alarm rates and discarding up to 50% of the CRS rules; and (ii) improve robustness against adversarial SQLi attacks up to 85%, marking a significant stride toward designing more effective and robust WAFs. We release our open-source code at https://github.com/pralab/modsec-advlearn.

Autores: Biagio Montaruli, Giuseppe Floris, Christian Scano, Luca Demetrio, Andrea Valenza, Luca Compagna, Davide Ariu, Luca Piras, Davide Balzarotti, Battista Biggio

Última actualización: 2024-11-29 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2308.04964

Fuente PDF: https://arxiv.org/pdf/2308.04964

Licencia: https://creativecommons.org/licenses/by-sa/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares