DOI:
https://doi.org/10.14483/2322939X.4705Publicado:
2013-10-15Número:
Vol. 10 Núm. 1 (2013)Sección:
Investigación y DesarrolloPROTOTIPO DE UN SISTEMA MULTI-AGENTE PARA LA DETECCIÓN DE ATAQUES POR INYECCIÓN SQL
Palabras clave:
Sistemas multiagente, inyecciones SQL. (es).Descargas
Referencias
C. Pinzón, J. F. De Paz, J. Bajo, A. Herrero y E. Corchado, “AIIDA-SQL: An adaptive Intelligent Intrution Detector Agent for Detecting SQL Injection Atacks”, Hybrid Intelligent Systems (HIS) 2010 10th International Conference on , pp.73-78, 23-25 Aug. 2010
T. M, Ahmed, “Using SMAC Agent Securely in Heterogonous Database Systems”, Information, Communications and Signal Processing, 2005 Fifth International Conference on , pp.1264-1268.
Hong Yu; Shao-Zhong Zhang; Nan-Hai Yang; Hua Ding; Xiu-kun Wang, “Intelligent agent-based distributed heterogeneous database system”, Machine Learning and Cybernetics, 2003 International Conference on , vol.3, no., pp. 1932- 1935 Vol.3, 2-5 Nov. 2003
Hongbin Zhang; Guixia Yang; Gang Li; Baorui Chen; Xin Xiaoping, “An intelligent inter database retrieval system based on Multi-agent”, World Automation Congress (WAC), 2010 , vol., no., pp.101-105, 19-23 Sept. 2010
I. Rudowsky, O. Kulyba, M. Kunin, D. Ogarodnikov, T. Raphan, “Managing a relational database with intelligent agents”, Information Technology: Coding and Computing, 2005. ITCC 2005. International Conference on , vol.1, no., pp. 238-242. April 2005
S. Ramanujam, S.; Capretz, M.A.M.; “Design of a multi-agent system for autonomous database administration,” Electrical and Computer Engineering, 2004. Canadian Conference on , vol.2, no., pp. 1167- 1170 Vol.2, 2-5 May 2004
Tian-Lei Hu; Gang Chen; Yin-Jie Hong; Xiao-Long Zhang; Jin-xiang Dong; , “Collaborative Agents Supported Automatic Physical Database Design Based on Description Logics Reasoning,” Computer Supported Cooperative Work in Design, 2006. CSCWD ‘06. 10th International Conference on , vol., no., pp.1-6, 3-5 May 2006
Experimental Design and Analysis. Howard J. Seltman. January 30, 2012
E. González, C. Bustacara and Ávila, J. (2003). BESA: Behavior-oriented, Event-driven and Social-based Agent ramework TA ’03
González E., Torres M., Rodríguez J. La Metodología AOPOA. . Grupo SIDRe, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería, Pontificia Universidad Javeriana
Gonzalez E., Torres M., AOPOA Organizational Approach for Agent Oriented Programming, in Proceedings of the 8th International Conference on Enterprise Information Systems, May 2006 Paphos– Cyprus
González E., Bustacara C. ,Desarrollo de Aplicaciones Basadas en Sistemas MultiAgentes. Libro Producto de Investigación – Grupo SIDRe, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería, Pontificia Universidad Javeriana.
D. Ahogado, A. M. Reinemer. Gonzalez “AO OA: Aproximación Organizacional para Programación Orientada a Agentes” L I2003 La Paz, Bolivia. Septiembre de 2003.
E. González y C. Bustacara. Metodologías OA y AO OA Desarrollo de aplicaciones basadas en sistemas MultiAgentes ” (pp. 49-95), (pp.97- 167). Pontificia Universidad Javeriana, Bogotá, Colombia. Editorial Pontificia Universidad Javeriana.
Cómo citar
IEEE
ACM
ACS
APA
ABNT
Chicago
Harvard
MLA
Turabian
Vancouver
Descargar cita
Visitas
Descargas
PROTOTIPO DE UN SISTEMA MULTI-AGENTE PARA LA DETECCIÓN DE ATAQUES POR INYECCIÓN SQL
PROTOTYPE OF A MULTI-AGENT SYSTEM FOR THE DETECTION OF INJECTION ATTACKS SQL
Fecha de recepción: marzo 17 de 2013
Fecha de aprobación: Abril 30 de 2013
Luis Felipe Wanumen Silva
Docente, Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas. lwanumen@udistrital.edu.co
Gloria Andrea Cavanzo Nisso
Docente, Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas. gacavanzon@udistrital.edu.co
DJuan Carlos Guevara Bolaños
Docente, Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas. jcguevarab@udistrital.edu.co
Resumen
La seguridad en las bases de datos es uno de los elementos neurálgicos dentro de las organizaciones, ya que requieren diferentes estrategias de protección para salvaguardar puntos vulnerables, y de la coordinación y distribución de esfuerzos para cercar todas las posibles formas de ataques informáticos, en el caso del presente documento se hace referencia a los ataques por inyección SQL que son una de las más graves amenazas en la seguridad de las bases de datos, ya que permiten que cualquier persona pueda tener control sobre esta poniendo en peligro la confidencialidad y la integridad de la información.
En este documento se propone un sistema multiagente para la detección de ataques por inyección SQL desarrollado bajo las tecnologías Java, plataforma multiagente BESA y el manejo de bases de datos SQL Server 2008.
El sistema propuesto está conformado por un grupo de agentes reactivos con características particulares que observan el entorno en el que se encuentran y extraen información del mismo.
Palabras clave
Sistemas multiagente, inyecciones SQL.
Abstract
Security in databases is one of the nerve within organizations because they require different protection strategies to safeguard vulnerable points, and the coordination and distribution of efforts to encircle all possible forms of cyber attacks in the if this document makes reference to SQL injection attacks are one of the most serious threats to the security of databases, allowing anyone to have control over is endangering the confidentiality and integrity of information.
This paper proposes a multi-agent system for detecting SQL injection attacks developed under Java technologies, BESA multiagent platform and database management SQL Server 2008.
The proposed system consists of a set of particular characteristics reactive agents that observe the environment in which they find and extract information from it.
Keywords
Multi-agent systems, SQL injections
[Security]: La seguridad se define en este artículo como la capacidad de un sistema de bases de datos de no permitir que usuarios no autorizados hagan operaciones no autorizadas de ejecución de instrucciones SQL que vulneren el acceso no permitido a los datos o que alteren en forma anormal la integridad de la información.
1. Introducción
Los ataques por inyección SQL, han sido uno de los ataques que han cobrado atención, debido a que no son fáciles de percibir fácilmente por los sistemas tradicionales de detección [1]. La prevención de ataques a servidores de bases de datos es apropiada hacerla con una aproximación de agentes [2], no solo porque permitirían una escalabilidad del sistema en entornos de bases de datos distribuidas [3], sino también a sistemas de bases de datos donde se haga necesario consultar los datos modificados en las bases de datos [4]. Este enfoque de agentes no sólo ha sido usado y probado en ambientes de bases de datos relacionales [5], sino en administración de bases de datos [6]. En todos los casos se ha tenido un fuerte grado de ventaja el uso de agentes gracias a la capacidad de colaboración que ofrece ésta tecnología, la cual la hace susceptible de mejorar, incluso hacia sistemas automáticos de decisión [7]. Para el análisis de datos, se usa el diseño experimental [8], y se comprueba que efectivamente el SMA desarrollado es capaz de detectar intrusos de forma más acertada que con otras arquitecturas. Sin embargo, cuando el SMA se ejecuta durante mucho tiempo, se presentan degradaciones en el funcionamiento del SMA, que deben ser tenidas en trabajos futuros.
2. Metodología AOPOA (aproximación organizacional para programación orientada a agentes)
Esta metodología fue creada por el grupo de Investigación SIDRe de la Pontificia Universidad Javeriana de Bogotá y existe como una metodología global para desarrollo orientado a agentes, además cuenta con un “framework” de desarrollo de agentes llamado BESA [9] que se convierte en la herramienta de la fase de implementación. El enfoque de AOPOA [10] es similar al propuesto por GAIA, donde los SMA son vistos como organizaciones compuestas por niveles jerárquicos determinados por los esquemas de dependencia y comunicación entre las entidades que componen dichos niveles. Estas entidades son Agentes con arquitecturas internas definidas, cada Agente es un ente social el cual tiene asociadas un conjunto de habilidades, recursos y tareas que le permiten cumplir sus objetivos específicos, los cuales contribuyen al cumplimiento de los objetivos generales del sistema. Estas habilidades son el conjunto de facultades que tiene asociado un rol para cumplir sus objetivos, los recursos son entidades que permiten a los roles ejecutar sus tareas, y las tareas son actividades acordes con las habilidades del rol brindando consistencia en la arquitectura interna de él mismo. Para este fin los agentes exhiben comportamientos cooperativos que deben ser establecidos en algún punto dentro de la metodología [11].
La construcción de estos sistemas es iterativa y desde el punto de vista de AOPOA [12] se centra en dos procesos principales: i) la descomposición organizacional y ii) el establecimiento de los vínculos cooperativos (dependencia o interacción entre varios roles, según AOPOA puede ser Colaboración Simple, Coordinada, Independencia, Obstrucción o Competencia). A continuación se describe brevemente el proceso metodológico definido en AOPOA.
- Fase de análisis: esta es la primera fase contemplada por AOPOA y para iniciarla se exigen dos prerrequisitos: la definición previa de los requerimientos del Sistema y el estudio de factibilidad del SMA. En esta parte de análisis se define la estructura organizacional que se tuvo en cuenta a la hora de implementar el sistema multiagente, mostrando la actividad y las metas de cada organización.
- Fase de Diseño: dentro de esta fase, AOPOA contempla tres pilares básicos que son: La definición y detalle de los Vínculos Cooperativos entre los roles, La definición completa de la Estrategia de Cooperación que se seguirá en el SMA y el Diseño de los Meta-Agentes de los cuales se “instanciaran” los Agentes finales del SMA.
- Fase de despliegue: esta es la fase final de la metodología AOPOA, dentro de esta se busca mapear de forma real la arquitectura del SMA que se ha definido en las etapas previamente descritas. Para este fin dentro de esta fase se contemplan actividades como la definición de los sitios de despliegue, definidos como contenedores o entornos lógicos en los cuales se situaran las diversas instancias que se creen de cada meta-agente definido en el diseño, respecto a estos sitios se define la asignación de recursos y procesamiento asociados para finalmente definir y crear las instancias de Agentes que poblaran estos contenedores.
3. Fase de análisis
Un aspecto inicial en la metodología AOPOA es la descomposición organizacional [13]
3.1 Comunidades
Al analizar el entorno organizacional tenemos una situación interesante con respecto a los usuarios que acceden a servidores de bases de datos. Se han identificado dos tipos de comunidades: Comunidades que realizan ataques y comunidades que no realizan ataques (figura 1).
3.2 Descomposición organizacional
En la siguiente figura se muestran los mnemotécnicos de cada uno de los roles, al interior de las dos comunidades, tanto de ataques como de detecciones. En la tabla de roles por agente se detallan las descripciones de las siglas de la figura 2.
Como no todos los ataques prosperan en la base de datos, es que se puede asegurar que existen muchas consultas que son tomadas como consultas de selección, inserción y eliminación son normales. Este es precisamente el aspecto interesante, que no se hace necesario crear una comunidad para la ejecución normal de consultas, ya que de hecho cuando se planean ataques, son más las consultas que no hacen daño, que las consultas que hacen daño.
Las responsabilidades de cada uno de los agentes de la organización en relación con los roles que pueden tomar, se muestra en la tabla 1
4. Fase de diseño
En el diseño basado en AOPOA, definir los recursos y las habilidades es pieza fundamental para implementar un SMA con esta aproximación [14].
4.1 Diagrama de habilidades
5. Fase de implantación y despliegue
En el módulo de ataque se pueden seleccionar el número de agentes que van a realizar ataques de selección, de inserción y de eliminación.
Teniendo en cuenta los elementos por utilizar se establece la funcionalidad de cada uno, cuales son:
- Agentes de selección: en esta parte se selecciona el número de agentes que van a detectar ataques de tipo selección.
- Agentes de eliminación: en esta parte se selecciona el número de agentes que van a detectar ataques de tipo eliminación.
En este modulo se determina el tiempo que durara la simulación y luego con el botón “Iniciar” se da paso a la visualización dinámica de los datos que está arrojando el sistema.
Se espera que en todo momento el número de ataques detectados sea inferior o igual al número de ataques realizados.
Teniendo en cuenta las siguientes variables:
- NAAS = número de agentes de ataques de selección
- NAAI = número de agentes de ataques de inserción
- NAAD = número de agentes de ataques de eliminación
- NADS = número de agentes de detección de selección
- NADI = número de agentes de detección de inserción
- NADD = número de agentes de detección de eliminación T = tiempo que dura la simulación
- ARAS = ataques realizados por agentes de ataques de selección
- ARAI = ataques realizados por agentes de ataques de inserción
- ARAD = ataques realizados por agentes de ataques de eliminación
- ADDS = ataques detectados por agentes de detección de selección
- ADDI = ataques detectados agentes de detección de inserción
- ADDD = ataques detectados agentes de detección de eliminación
- E = Efectividad del sistema
Se calculan unas matrices de confusión para observar el comportamiento del sistema para 2 escenarios
Matriz de confusión para el escenario 1: para la elaboración de ésta matriz se parte de las condiciones del escenario, descritas en la tabla 7
Matriz de confusión obtenida:(tabla 8)
La anterior matriz muestra que de 8 ataques de selección, se detectaron 8, es decir el 100 % de los ataques fueron detectados por el sistema. De 8 ataques de inserción, 7 fueron detectados como ataques de inserción, es decir el 87 % de los ataques de inserción fueron detectados. Finalmente de 6 ataques de eliminación 5 fueron detectados, es decir el 83% de los ataques de eliminación fueron detectados
Matriz de confusión para el escenario 2
Condiciones de entrada del escenario:
Matriz de confusión obtenida:
La anterior matriz muestra que de 9 ataques de selección, se detectaron 9, es decir el 100 % de los ataques fueron detectados por el sistema. De 10 ataques de inserción, 9 fueron detectados como ataques de inserción, es decir el 90 % de los ataques de inserción fueron detectados. Finalmente de 7 ataques de eliminación 5 fueron detectados, es decir el 71 % de los ataques de eliminación fueron detectados.
6. Agradecimientos
Agradecimientos a la Universidad Distrital por su apoyo en la realización de este artículo y a la organización de CCOM por su convocatoria, que ha inspirado la elaboración del presente artículo.
7. Referencias
[1] C. Pinzón, J. F. De Paz, J. Bajo, A. Herrero y E. Corchado, “AIIDA-SQL: An adaptive Intelligent Intrution Detector Agent for Detecting SQL Injection Atacks”, Hybrid Intelligent Systems (HIS) 2010 10th International Conference on, pp.73-78, 23-25 Aug. 2010
[2] T. M, Ahmed, “Using SMAC Agent Securely in Heterogonous Database Systems”, Information, Communications and Signal Processing, 2005 Fifth International Conference on , pp.1264-1268.
[3] Hong Yu; Shao-Zhong Zhang; Nan-Hai Yang; Hua Ding; Xiu-kun Wang , “Intelligent agent-based distributed heterogeneous database system”, Machine Learning and Cybernetics, 2003 International Conference on , vol.3, no., pp. 1932- 1935 Vol.3, 2-5 Nov. 2003
[4] Hongbin Zhang; Guixia Yang; Gang Li; Baorui Chen; Xin Xiaoping, “An intelligent inter database retrieval system based on Multi-agent”, World Automation Congress (WAC), 2010 , vol., no., pp.101-105, 19-23 Sept. 2010
[5] I. Rudowsky, O. Kulyba, M. Kunin, D. Ogarodnikov, T. Raphan, “Managing a relational database with intelligent agents”, Information Technology: Coding and Computing, 2005. ITCC 2005. International Conference on , vol.1, no., pp. 238-242. April 2005
[6] S. Ramanujam, S.; Capretz, M.A.M.; , “Design of a multi-agent system for autonomous database administration,” Electrical and Computer Engineering, 2004. Canadian Conference on , vol.2, no., pp. 1167- 1170 Vol.2, 2-5 May 2004
[7] Tian-Lei Hu; Gang Chen; Yin-Jie Hong; Xiao-Long Zhang; Jin-xiang Dong; , “Collaborative Agents Supported Automatic Physical Database Design Based on Description Logics Reasoning,” Computer Supported Cooperative Work in Design, 2006. CSCWD ‘06. 10th International Conference on , vol., no., pp.1-6, 3-5 May 2006
[8] Experimental Design and Analysis. Howard J. Seltman. January 30, 2012
[9] E. González, C. Bustacara and Ávila, J. (2003). BESA: Behavior-oriented, Event-driven and Social-based Agent ramework TA ’03
[10] González E., Torres M., Rodríguez J. La Metodología AOPOA. . Grupo SIDRe, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería, Pontificia Universidad Javeriana
[11] Gonzalez E., Torres M., AOPOA Organizational Approach for Agent Oriented Programming, in Proceedings of the 8th International Conference on Enterprise Information Systems, May 2006 Paphos– Cyprus
[12] González E., Bustacara C. ,Desarrollo de Aplicaciones Basadas en Sistemas MultiAgentes. Libro Producto de Investigación – Grupo SIDRe, Departamento de Ingeniería de Sistemas, Facultad de Ingeniería, Pontificia Universidad Javeriana.
[13] D. Ahogado, A. M. Reinemer. Gonzalez “AO OA: Aproximación Organizacional para Programación Orientada a Agentes” L I2003 La Paz, Bolivia. Septiembre de 2003.
[14] E. González y C. Bustacara. Metodologías OA y AO OA Desarrollo de aplicaciones basadas en sistemas MultiAgentes ” (pp. 49-95), (pp.97- 167). Pontificia Universidad Javeriana, Bogotá, Colombia. Editorial Pontificia Universidad Javeriana.