Aprendizaje automático contra el SQLi

SQLi científicos buscan alternativas con Aprendizaje automático
SQLi científicos buscan alternativas con Aprendizaje automático

Surge una alternativa para atacar el SQLi desde el aprendizaje automático, elevando la barrera de dificultad para los cibercriminales.

Investigadores de la Universidad de Oslo están trabajando en un nuevo método, basado en el aprendizaje automático para encontrar vulnerabilidades que permite la inyección de SQL en aplicaciones web que utilizan tecnologías de aprendizaje automático.

Más específicamente, el método consiste en utilizar el aprendizaje por refuerzo para automatizar la explotación de vulnerabilidades conocidas de inyección SQL (SQLi).

El aprendizaje por refuerzo es una forma de aprendizaje automático que expone un modelo de inteligencia artificial (IA) a las posibles acciones y recompensas de un entorno y tiene la tarea de encontrar los mejores usos para esas acciones para maximizar las recompensas.

Aunque el método propuesto por los investigadores para encontrar vulnerabilidades SQLi mediante el aprendizaje por refuerzo no es ideal y tiene algunos inconvenientes, allana el camino para el desarrollo de modelos de aprendizaje automático para pruebas de penetración y evaluación de seguridad.

Para demostrar su método en acción, los investigadores ejecutaron algo similar al juego Capture the Flag. 

El agente entrenado con refuerzo tenía que obtener información del sitio atacado explotando una vulnerabilidad SQLi. 

Las solicitudes enviadas al sistema eran las posibles acciones del agente, y el token de bandera que se suponía que debía recibir era la recompensa.

Al principio, los investigadores enviaron muchas solicitudes al azar y analizaron las recompensas. 

Poco a poco, crearon un modelo para llevar a cabo con éxito el ataque, enviando un promedio de 4-5 solicitudes.

Las herramientas de inyección de SQL automatizadas existentes se basan en reglas estáticas predefinidas, lo que hace que su uso sea muy limitado. 

La ventaja del aprendizaje por refuerzo es que la lógica de ataque no está predefinida y es estática. 

El agente solo tiene un conjunto de acciones y aprende la estrategia óptima con ejemplos. 

Al principio, el agente debe aprender las cosas más simples, pero a medida que aprende, puede aprender las características no triviales u ocultas de la explotación de la inyección SQL o tener en cuenta características adicionales para la explotación, como manipular el contenido del sitio.

Aunque la investigación presentada por la Universidad de Oslo es realmente impresionante, aún se encuentra en sus primeras etapas, y para que el agente de aprendizaje reforzado resuelva el problema, los investigadores tuvieron que simplificarlo. 

Por ejemplo, la tarea asumió un entorno estático que se mantuvo sin cambios cuando un atacante envió solicitudes. 

El agente también conocía de antemano la vulnerabilidad SQL y el esquema de la base de datos atacada, y todo lo que tenía que hacer era encontrar la consulta correcta para aprovechar la vulnerabilidad.

Laszlo Erdodi, Åvald Åslaugson Sommervoll y Fabio Massimo Zennaro autores de la investigación universitaria, sostienen que:

“En este artículo proponemos una primera formalización del proceso de explotación de vulnerabilidades de inyección SQL.

Consideramos una simplificación de la dinámica de los ataques de inyección de SQL al presentar este problema como un desafío de captura de la bandera de seguridad. 

IT CONNECT LATAM

Información de valor para ejecutivos que tienen que tomar decisiones de negocios y ciberseguridad

Lo modelamos como un proceso de decisión de Markov y lo implementamos como un problema de aprendizaje por refuerzo. 

Luego, implementamos diferentes agentes de aprendizaje por refuerzo encargados de aprender una política eficaz para realizar la inyección SQL.

Aprendizaje automático

Diseñamos nuestro entrenamiento de tal manera que el agente aprenda no solo una estrategia específica para resolver un desafío individual, sino una política más genérica que se puede aplicar para realizar ataques de inyección SQL contra cualquier sistema instanciado aleatoriamente por nuestro generador de problemas. 

Analizamos los resultados en términos de la calidad de la política aprendida y en términos de tiempo de convergencia en función de la complejidad del desafío y la complejidad del agente de aprendizaje. 

Nuestro trabajo encaja en la investigación más amplia sobre el desarrollo de agentes inteligentes para pruebas de penetración autónomas y piratería de sombrero blanco, y nuestros resultados tienen como objetivo contribuir a comprender el potencial y los límites del aprendizaje por refuerzo en un entorno de seguridad.”

 

Por Marcelo Lozano – General Publusher IT Connect Latam

89 / 100