Vector 5 (2010) 69 - 77 ISSN 1909 - 7891 Modelo híbrido de neuroclasificación y clustering en el problema de detección de intrusiones Gustavo A. Isaza Echeverria, Luis Fernando Castillo O.b, Marcelo López Trujilloc, Carlos Eduardo Marulandad Ph.D en Ingeniería de Software. Ingeniero de Sistemas y Computación. Docente Departamento de Sistemas e Informática, Grupo de Investigación GITIR, Universidad de Caldas, Manizales, Colombia. b Ph.D en Ingeniería Informática y Automática. Ingeniero de Sistemas y Computación. Docente Departamento de Sistemas e Informática, Grupo de Investigación GITIR, Universidad de Caldas, Manizales, Colombia. c Ph.D en Ingeniería Informática – Sociedad de la Información y el Conocimiento. Ingeniero de Sistemas y Computación. Docente Departamento de Sistemas e Informática, Grupo de Investigación GITIR, Universidad de Caldas, Manizales, Colombia. d M.Sc en Gestión. Ingeniero Industrial. Docente Departamento de Sistemas e Informática, Grupo de Investigación GITIR, Universidad de Caldas, Manizales, Colombia. a Recibido: 17 de mayo de 2011, Aprobado: 30 de noviembre de 2011 Resumen Los sistemas de detección de intrusiones evalúan tráfico utilizando un conjunto de firmas para detectar actividades malignas, reportar incidentes o tomar acciones correctivas. Pero, cualquier cambio insertado en el patrón de un ataque, puede comprometer el sistema y evitar que la tecnología subyacente de detección o prevención sea insuficiente. En este artículo se propone un modelo de detección de intrusiones basado en técnicas de inteligencia computacional híbrida, usando Redes Neuronales y técnicas de clustering que permiten mejorar, a partir de la reducción de tiempos de entrenamiento y optimización de las tasas de detección, el reconocimiento de nuevos patrones, refinamiento de clasificación de ataques por grupos e identificación de elementos de correlación entre atributos de tráfico anómalo. Palabras clave: Inteligencia computacional en seguridad informática, sistemas de neuroclasificación, detección de intrusiones. Neuro-Classification and clustering hybrid model for intrusion detection problem Abstract The intrusion detection systems evaluate traffic using a set of signatures to detect malicious activity, reporting incidents and taking corrective actions. But any change inserted into the pattern of an attack can compromise the system and prevent the underlying detection or prevention technology from beign sufficient. In this article we propose an intrusion detection model based on hybrid computer intelligence techniques using Neural Networks and clustering techniques that, from reduced training times and optimization of detection rates, allows the improvement in the recognition of new patterns, the refinement of classification of attacks by groups and the identification of correlation elements between attributes of anomaluous traffic. Key words: Computational intelligence in computer security, neural classification systems, intrusion detection. 1. Introducción La ‘detección de intrusiones’ puede definirse como el problema de identificar posibles ataques por parte de entidades que no tienen autorización o que tienen acceso pero que abusan de sus privilegios. Los estudios hechos en este campo iniciaron con análisis del flujo de información, y con base en un conocimiento de expertos se estructuraron firmas y patrones que podían ser posibles incidentes de ‘seguridad’ (Desai, 2003). Estas reglas (firmas) deben ser actualizadas constantemente debido al creciente número de ataques. Las modificaciones y alteraciones a los patrones hacen que el incidente de inseguridad sea indetectable por los IDS (Sistemas de Detección de Intrusiones). * Autor de correspondencia. E-mail: gustavo.isaza@ucaldas.edu.co (G. Isaza) Algunos mecanismos de aprendizaje supervisado y no supervisado han sido combinados con otras técnicas para resolver problemas de detección de intrusiones. Sistemas basados en técnicas híbridas han demostrado la eficiencia que puede lograrse en la definición de nuevos patrones y el aprendizaje autónomo de firmas, así como la cooperación en un ambiente distribuido, adaptativo e inteligente. Conforme se ha hecho una revisión exhaustiva del uso extendido de técnicas derivadas de la inteligencia computacional y de la inteligencia artificial distribuida en el problema de detección de intrusiones, desde nuestra perspectiva, existe un vacío en los esfuerzos de integración entre los diferentes elementos que pueden mejorar el desempeño, comportamiento y capacidades de los IDS. Gustavo A. Isaza Echeverri et al. / Vector 5 (2010) 69-77 En este artículo se hace especial énfasis en métodos de inteligencia computacional híbridos, que serán integrados en el “Sistema Multiagente de Detección y Prevención de Intrusiones con Representaciones Ontosemánticas” desarrollado y publicado en Isaza et al. (2010a). Con este nuevo desarrollo se pretende mejorar las capacidades de inteligencia del Sistema Multiagente y la integración entre diferentes estrategias que permitan optimizar la gestión de la seguridad desde el plano de la detección y prevención de intrusiones, diseñando un modelo y arquitectura que fusione sistemas multiagente, inteligencia computacional, ontologías y semánticas, que proporcionen un marco unificado de cooperación, inteligencia, reactividad, proactividad, representación homogénea de conocimiento y de razonamiento. El artículo describe el contexto y algunos trabajos relevantes en la sección 2. En el apartado 3 el Modelo de Sistema Inteligente Híbrido en detección de intrusiones, su arquitectura, la solución híbrida. En la sección 4 se evidencian algunos resultados. Por último, se presentan conclusiones y reflexiones del caso planteado. 2. Contexto y literatura reciente El número de incidentes de seguridad se ha ido incrementando constantemente. Los últimos reportes de ataques evidencian una naturaleza de evolución y cada vez se tornan más sofisticados, demandando nuevos retos para los desarrolladores de software, por supuesto esto hace que la complejidad en la programación de sistemas seguros alcance niveles de dificultad importantes. Un Sistema de Detección de Intrusiones es una herramienta para detectar comportamiento anormal. Un patrón anómalo cubre muchas definiciones pero en general se describe como ‘no deseado’, malicioso o actividad indebida que ocurre en ambientes informáticos. Los IDS (Sistemas de Detección de Intrusiones) también son vulnerables a alteraciones de los ataques ya conocidos (variaciones de comportamiento) y requieren ser supervisados constantemente por personal cualificado, además de mantener un proceso constante de refinamiento. La detección de intrusiones basada en anomalías (anomaly detection) crea una definición de ‘normalidad’ y reporta cualquier actividad, que constituya un evento irregular diferente a estos patrones, como posiblemente intrusa. Esta técnica crea un perfil de comportamientos observando actividades normales de los usuarios y aplicaciones. Una vez se construyen estos perfiles a través de entrenamientos, cualquier suceso que sea divergente será considerado una posible intrusión. [ 70 ] La detección de usos indebidos del sistema (Misuse Detection) propone un modelo donde se puedan establecer patrones de ataques reconocidos y posibles variaciones. Se conoce como de ‘conocimiento negativo’. Estos patrones se pueden estructurar a partir de firmas de ataques que capturan la esencia de una intrusión, y que pueda ser usada para identificar futuros intentos de vulnerar el sistema. El uso de técnicas de inteligencia artificial, inteligencia computacional y minería de datos también ha sido un gran aporte en la evolución de los IDS. En el IDP (Problema de Detección de Intrusiones) se han usado múltiples técnicas como: Aprendizaje no supervisado y supervisado a partir de Redes Neuronales (Bivens et al., 2002; Zhong y Ghorbani, 2004; Laskov et al., 2005; Fernández, 2007; Herrero et al., 2007; Oksuz, 2007; Beghdad, 2008). Árboles de Decisión (Nong et al., 2000; Stein et al., 2005). Redes Bayesianas (Liu et al., 2006; Rezaul et al., 2006). Soluciones Híbridas (Dasgupta y González, 2002; Aickelin et al., 2004; Abadeh et al., 2007; Haag et al., 2007). Minería de Datos (Wuu et al., 2007; Zurutuza et al., 2007). Técnicas de clustering en investigaciones (Leung y Leckie, 2005; Spinosa et al., 2008; Lieto et al., 2009). Lógica Difusa o borrosa (Yingbing, 2005; Tsang et al., 2007). Máquinas de Vectores Soporte (SVM) (Mukkamala et al., 2002; Mukkamala et al., 2004). Una cantidad considerable de los referentes en el uso de RNAs (Redes Neuronales Artificiales) en IDS, han propuesto como alternativa de análisis estadístico de anomalías la comparación de eventos corrientes sobre un conjunto de criterios de referencia predeterminados. En resumen, se analizan las desviaciones del comportamiento y la determinación de similitud de eventos, en tal caso, las RNA son usadas para identificar características del comportamiento de un sistema e identificar estadísticamente variaciones significativas de un usuario de un comportamiento establecido. 3. Modelo de sistema inteligente híbrido para detección y prevención de intrusiones El modelo de neuroclasificación que se desarrolló en esta investigación, opera sobre un ambiente supervisado híbrido en una arquitectura basada en anomalías y de uso indebido. Los IDS basados en anomalías tienen la capacidad de detectar nuevas formas de ataques sin poseer un conocimiento específico de los detalles de éstos, dando un enfoque adaptable al sistema subyacente, en tal sentido, estas técnicas proveen a los IDS la capacidad de generalizar a partir de su conocimiento. Modelo híbrido de neuroclasificación y clustering en el problema de detección de intrusiones Por otra parte, la principal ventaja de un modelo basado en RNA para detección de uso indebido es la habilidad que tiene la RNA para aprender las características de los ataques de uso erróneo y determinar los casos diferenciales de otros observados en la red (anteriores), esta característica otorga a las RNA una gran capacidad de reconocer eventos sospechosos conocidos con un alto grado de acierto. La ventaja de usar redes neuronales en este tipo de problemas, radica en el hecho de que es posible separar el problema (regiones no lineales de decisión) en función de capas y neuronas, esta característica permite a las redes neuronales artificiales resolver problemas de clasificación de alta complejidad. La obtención de los datos se puede lograr con una captura de paquetes de la red, y a partir de un motor de detección se pueden obtener los datos anómalos. En la Figura 1 se puede apreciar la representación del datagrama IP y del segmento TCP, los campos marcados en ‘negro’ evidencian los atributos seleccionados para ser procesados y convertidos como parámetros de entrada en la red neuronal. Figura 1. Datagrama IP y Segmento TCP. Cada valor se divide entre su número mayor posible, de esta forma, se obtiene un valor entre {0,+1} proporcionando una representación homogénea y acertada para la RNA. Se determinó que la capa de entradas de la red neuronal estará compuesta por dichos campos de las cabeceras IP y TCP de los paquetes, y por 393 caracteres de contenido que es el número máximo de datos contenido en los paquetes detectados por el IDS como peligrosos. De esta manera, se consideran 9 campos principales de las cabeceras de los paquetes y 393 caracteres de contenido (payload), quedando determinado el número de neuronas de la capa de entrada de la red neuronal que equivale a 402. En la capa de salida de la red neuronal se encuentra solamente una neurona que indica si un paquete es normal o peligroso. Dicha neurona contiene valores reales entre 0 y 1, de manera que los valores más cercanos a 0 indicarán que el paquete es normal, y los valores más cercanos a 1 indicarán que el paquete es anómalo. La tolerancia se ha predefinido en un 30%, finalmente esta aproximación cumplió con las expectativas, generando así la estructura de 402 entradas, (450 ocultas) y 1 salida. 3.1. Implementación y entrenamiento de la red neuronal Como se ha mencionado, el procesamiento de la información se ha hecho con tráfico real, obtenido a partir de generadores de tráfico y de herramientas de captura de paquetes. Para la aplicación del Modelo de Inteligencia Computacional a partir de Redes Neuronales Artificiales, se ha usado tráfico normal obtenido vía TCPDump y tráfico anómalo a partir de generadores de paquetes de ataques como Mucus, IDSWakeUP y Metasploit y aplicando el motor de detección de reglas de Snort. El aprendizaje de la red neuronal se concentra en encontrar un conjunto de pesos w que permite minimizar la función de coste, indicando lo distante o cercano, cuantitativamente, que se encuentra la salida de la red respecto a la salida deseada. En la gran mayoría de problemas se elige del tipo cuadrática con el error (SSE: error cuadrático medio acumulado para todos los patrones, MSE: SSE medio sobre el número de patrones) [ 71 ] Gustavo A. Isaza Echeverri et al. / Vector 5 (2010) 69-77 n J ( w) = N 1 p L ∑∑ (d j ( p) − y j ( p) 2 p =1 j =1 2 (1) donde: np = Número de patrones a entrenar dj(p) = Salida deseada j correspondiente al patrón p yj(p) = Salida de la red j correspondiente al patrón p NL = Número de salidas de la red. Durante el proceso de entrenamiento, se probaron diferentes configuraciones. Es importante recordar que no hay una secuencia exacta y determinística que permita asegurar unos resultados óptimos para todos los casos, por esta razón se hace necesario ensayar con diferentes algoritmos hasta lograr los valores esperados en función de su margen de error (SSE y MSE) y de tiempo de ejecución. Los entrenamientos probados que han tenido más éxito se lograron a partir de las funciones de Trainrp: Función de entrenamiento que actualiza los pesos y los Bias de acuerdo con el algoritmo de ‘resilient backpropagation’ (RPROP). De acuerdo a las métricas de desempeño de paquetes entrenados con éxito, clasificados como normales y anormales, luego de probar diferentes algoritmos, funciones y configuraciones, se concluye que los resultados más óptimos y eficientes se alcanzaron con los algoritmos que se presentan en la Tabla 1. Tabla 1 Comparación algoritmos de entrenamiento Algoritmo utilizado traincgb traincgp trainrp traincfg Tolerancia % éxito entrenados % éxito paquetes peligrosos 0,01 98,09 89,78 94,11 0,001 99,94 90,09 85,29 0,01 97,84 87,98 97,05 0,001 100 91,89 91,17 0,01 99,20 96,09 94,11 0,001 99,54 97,89 97,05 0,01 98,09 87,68 82,35 3.2. Modelo de clasificación y de clustering Como se ha descrito en el apartado anterior, la fase de preprocesamiento permite capturar paquetes (normales y anómalos) desde la interfaz de red o desde archivos con formatos binarios para posteriormente ser procesados y estandarizados. En este punto se considera oportuno sacar provecho de las técnicas complementarias derivadas de la Inteligencia Computacional, aplicando procesos de clasificación que permitan detectar y evidenciar similitudes, relaciones, extracción de nuevo conocimiento a partir de información implícita y que pueda ser conducente a un análisis en profundidad para descubrir nuevos conocimientos. [ 72 ] % éxito paquetes normales En concordancia, es de vital importancia evaluar cómo algunas técnicas de clasificación proveen un elemento complementario de gran ayuda para la toma de decisiones en el reto de la supervisión de ataques, y que de manera complementaria sirven de soporte para clasificar y agrupar comportamientos anómalos para normalizar los datos que pueden ser susceptibles de entrenamiento en las fases de detección de patrones. En tal sentido, se pueden generar importantes aportes buscando soluciones híbridas que integren diferentes técnicas derivadas de la inteligencia computacional. En la Figura 2 se presenta la secuencia de captura conducente a la aplicación de técnicas de clasificación, de agrupamiento, que supone a una normalización más eficiente para las subsiguientes etapas de entrenamiento. Modelo híbrido de neuroclasificación y clustering en el problema de detección de intrusiones Figura 2. Proceso de captura, clasificación y normalización. 4. Resultados En esta investigación, el papel de los algoritmos de Cluster y de clasificación apuntan a: reducir los tiempos de entrenamiento de la red neuronal y a mejorar las tasas de detección, disminuyendo el conjunto de muestras para la entrada en el momento de aprendizaje. A través de técnicas de agrupamiento se logra obtener un conjunto de muestras que cubren una cantidad de datos suficiente para describir cada clase de ataque. Las clases de entrada se agrupan de tal manera que se generen nuevos grupos tomando como referencia el centroide definido en los algoritmos de clustering. Estas técnicas mejoran significativamente los resultados de aprendizaje, reduciendo los tiempos de entrenamiento sin perder información relevante del conjunto resultado. Inicialmente se realizó una captura de datos de tráfico normal e indebido usando la librería libpcap y jpcap (implementación de libpcap para Java), obteniendo un conjunto mezclado de paquetes normales y anormales (detectados con el motor de reglas de Snort). Los paquetes anormales fueron etiquetados siguiendo el estándar del Dataset KDD’99. El Dataset KDD’99 es un subconjunto de datos derivado del 1998 DARPA Intrusion Detection Evaluation, que fue preparado por los Laboratorios del MIT Lincoln para estudiar y evaluar investigaciones en detección de intrusiones. Es importante resaltar que si bien los datos son del año 1999, la estructura de grupos allí definida sigue siendo la utilizada y aceptada por la comunidad científica para evaluar algoritmos de clasificación y minería de datos en el Problema de Detección de Intrusiones. Sobre los datos reales capturados de la red y valorados como ataques por el motor de detección, se seleccionan los atributos relevantes para ser convertidos al formato del Dataset. En el conjunto de datos del KDD’99 los ataques son divididos en 4 categorías: DoS (Denegación de Servicio), R2L (Acceso sin autorización desde una máquina remota), U2R (Escalada de privilegios como usuario administrador) y Probing (Escaneo y Prueba). En la Tabla 2 se describen los algoritmos que generaron resultados más óptimos en términos de porcentaje de clasificación correcta y tiempo de respuesta. [ 73 ] Gustavo A. Isaza Echeverri et al. / Vector 5 (2010) 69-77 Tabla 2 Desempeño de algoritmos de clasificación Algoritmo ZeroR OneR J48 SMO SVM % Clasificación correcta 56,03 96,30 98,15 97,43 99,50 Los mejores resultados en clasificación fueron alcanzados con los algoritmos derivados de SVM (Máquinas de Vectores de Soporte) que transforma un conjunto de datos en un espacio característico F de alta dimensionalidad, su generalización depende de las características geométricas de los datos de l Minimizar : W (α ) = −∑ α i + i =1 % Clasificación incorrecta 43,96 3,69 1,85 2,56 0,49 entrenamiento, no solamente de los espacios de entrada. El entrenamiento en SVM conduce a un problema de optimización cuadrático con restricciones de igualdad lineal. El entrenamiento usando SVM para el reconocimiento de patrones obedece al siguiente problema de optimización cuadrática: 1 l l ∑∑ yi y jα iα j k ( xi , x j ) 2 i =1 j =1 donde l es el número de muestras de entrenamiento, α es un vector de l variables y cada componente α corresponde a los ejemplos de entrenamiento (xi, yi). Las pruebas iniciales de clasificación permitieron identificar comportamientos especiales en las secuencias de ataques, facilitando la identificación de relaciones y fenómenos implícitos que no eran evidentes en los procesos de detección. Como se evidencia en la Figura 3, en función del atributo ‘protocolo’ (protocol), se puede concluir que los ataques de tipo smurf, ataque de denegación de Tiempo de ejecución (seg) 0,01 0,21 1,8 23,42 27,12 (2) servicio con spoofing para inundar objetivos (área central del eje X), presentan un mayor número de secuencias de paquetes icmp. Los ataques de clase snmp de tipo udp (área superior derecha eje Y) y los ataques de clase http (área inferior eje Y) son de tipo tcp. No obstante, esta primera aproximación facilita la agrupación de atributos para detectar clusters, permitiendo la clasificación de un conjunto de elementos de muestra sobre grupos basados en similitudes y diferencias de los componentes del conjunto de elementos. Figura 3. Visualización de clasificación para atributos Count vs. Tag. [ 74 ] Modelo híbrido de neuroclasificación y clustering en el problema de detección de intrusiones Para este caso se ha usado el algoritmo K-Means considerado como un algoritmo de aprendizaje no supervisado que tiende a minimizar la función objetivo, es decir la distancia interna (cercanía hacia los vectores de características comunes), y que se define matemáticamente como la sumatoria de las distancias de los patrones asignados a un cluster al centroide de dicho cluster o agrupamiento. Esta función objetivo se representa como: 2 K n j J = ∑ ∑ xi − c j . j =1 i =1 j (3) 2 donde xi − c j equivale a la distancia entre los datos representados en xij , el cluster centroide c j indica la distancia de los n puntos de datos desde sus propios centroides. Como se evidencia en los resultados de la Tabla 3, esta técnica permitió identificar los 4 grupos principales de ataques según el formato seleccionado, estandarizando y categorizando los nuevos registros capturados. Tabla 3 Técnica de agrupamiento (clustering) para la clasificación de ataques Cluster Tipo Instancias Cluster 0 R2L 428 Porcentaje 3 Cluster 1 DoS 8331 54 Cluster 2 Probe 5541 36 Cluster 3 U2R 1077 7 Un umbral (¥*) del modelo se puede ajustar disminuyendo el número de FP (Falsos Positivos) y FN (Falsos Negativos). De acuerdo a estas métricas, la aplicación de algoritmos de árboles de decisión y de máquinas de aprendizaje generó resultados así: Tabla 4 Comportamiento del Dataset con algoritmos de clasificación más eficientes J48 (Árboles) Tipo Porcentaje detección Falsos positivos Precisión SVM (Función) Porcentaje Tiempo detección Falsos positivos DoS 96,8 1 98,2 1 Probe 88,3 0,1 92,4 0,5 U2R 16,8 0,1 32,3 0,1 R2L 0,4 0,3 0,3 0,1 Total 94,2% En la Figura 4 se puede observar la visualización basada en Curvas ROC de la tasa de Falsos Positivos y Verdaderos Positivos (Tasa de Detección), para los algoritmos probados. Como puede verificarse, las técnicas basadas en SVM presentaron mejores resultados de detección de Verdaderos Positivos y de minimización de Falsos Positivos. Los puntos de interés en el espacio son: el punto (0,0) donde se considera el umbral o el parámetro variable del modelo es 6,4 seg Precisión Tiempo 96,41% 134 seg muy grande o infinito, el punto (1,1) donde la tasa de VP y la tasa de FP es muy alta y se presenta el peor funcionamiento. En Isaza et al. (2010a, 2010b) presentamos la integración de la Ontología y el Sistema Multiagente Inteligente detallando la secuencia de invocación del comportamiento basado en inteligencia computacional híbrido, en tiempo real, para el SMA (Sistema Multiagente) implementado en JADE, con JENA, JavaNNS y JESS. [ 75 ] Gustavo A. Isaza Echeverri et al. / Vector 5 (2010) 69-77 Figura 4. Curva ROC para SVM y J.48. Como se mencionó en parágrafos anteriores, las fases previas de clasificación y clustering para definir grupos de ataques, permiten optimizar los subsiguientes procesos de entrenamiento neuronal, demostrando la optimización del proceso al incorporar estas clasificaciones preliminares. En principio, con el algoritmo backpropagation, se alcanzó un porcentaje de entrenamiento satisfactorio de 99,54%, de tráfico normal de 97,89% y anómalo de 97,05%. En la Tabla 5 se presentan los resultados alcanzados aplicando estas técnicas iniciales. Tabla 5 Optimización de resultados de entrenamiento posterior a clasificación y clustering Algoritmo % Entrenamiento satisfactorio % Tráfico normal % Tráfico anómalo Backpropagation 99,97 99,2 98,41 4. Conclusiones Se diseñó y desarrolló un nuevo modelo de IDS Neuronal añadiendo en las etapas previas una técnica de clasificación y clustering. Se aplicaron fases de normalización de paquetes, integrando capturas de datos en tiempo real y un subconjunto de entrenamiento derivado del KDD Intrusion Detection Dataset clasificando los campos más relevantes. Se procedió al entrenamiento utilizando diferentes algoritmos y se demostró la optimización que se logra en la detección de nuevos patrones sobre un [ 76 ] modelo supervisado. De igual forma, se evidencian los resultados de clasificación utilizando otros métodos como SVM y algoritmos derivados de los Árboles de Decisión, entre otros. Finalmente, se describe el modelo de clustering usando K-Means, evidenciando los resultados que pueden alcanzarse en la creación de grupos de ataques, a partir de los criterios de similitud de atributos que faciliten los procesos de entrenamiento y aprendizaje que en las siguientes etapas utiliza la Red Neuronal. Es importante aclarar que la integración de esta solución híbrida con el SMA (Sistema Multiagente) implementado, se Modelo híbrido de neuroclasificación y clustering en el problema de detección de intrusiones encuentra en proceso. Existen dificultades de tiempo de respuesta en el re-entrenamiento de la RNA cuando los patrones aprendidos en el modelo supervisado difieren significativamente de las firmas predefinidas. La solución a este problema, puede ser resulta a partir de paralelismo y distribución del aprendizaje neuronal. Referencias Abadeh M., Habibi J., Barzegar Z., Sergi M. (2007). A parallel genetic local search algorithm for intrusion detection in computer networks. Journal Engineering Applications of Artificial Intelligence, 20:1058-1069. Aickelin U., Greensmith J., Twycross J. (2004). Immune System Approaches to Intrusion Detection. School of Computer Science, University of Nottingham, UK, School of Computer Science, University of Nottingham, UK. Beghdad R. (2008). Critical study of neural networks in detecting intrusions. Science Direct. Computers & Security, 27:168-175. Bivens A., Palagiri C., Smith R., Szymanski B., et al. (2002). Networkbased Intrusion Detection using Neural Networks. Proc. of ANNIE-2002 Intelligent Engineering Systems through Artificial Neural Networks, New York. pp. 579-584. DARPA. (1999). DARPA Intrusion Detection Evaluation. “The 1999 DARPA off-line intrusion detection evaluation”. LINCOLN LABORATORY Massachusetts Institute of Technology. Disponible en: http://www.ll.mit.edu/IST/ideval/data/1999/1999_data_index. html. [Visitada en 2008]. Dasgupta D., González F. (2002). An Immunity-Based Technique to Characterize Intrusions in Computer Networks. IEEE Transactions on Evolutionary Computation, 6(3):1081-1088. Desai N. (2003). Intrusion Prevention Systems: the Next Step in the Evolution of IDS. Disponible en: http://www.securityfocus.com/ infocus/1670. [Visitada en febrero de 2008]. Fernández F. (2007). Sistemas Híbridos de Inteligencia Artificial. XII Conferencia de la Asociación Española para la Inteligencia Artificial (CAEPIA), Salamanca CAEPIA. Haag R., Lamont G., Williams P., Peterson G. (2007). An artificial immune system-inspired multiobjective evolutionary algorithm with application to the detection of distributed computer network intrusions. Proceedings of the 2007 GECCO conference companion on Genetic and evolutionary computation. London, United Kingdom, ACM. Herrero A., Corchado E., Gastaldo P., Zunino R. (2007). A Comparison of Neural Projection Techniques Applied to Intrusion Detection Systems, E. S. B. Heidelberg. Lecture Notes in Computer Science - Springer. 978-3-540-73006-4. 1138-1146. Isaza G., Castillo A, López M., Castillo L. (2010a). Intrusion Correlation Using Ontologies and Multiagent systems. ISA 2010, CCIS 76. Springer-Verlag Berlin Heidelberg 2010. The 4th International Conference on Information Security and Assurance (ISA 2010). In Miyazaki, Japan. pp. 51-63. Isaza G., Castillo A, López M., Castillo L. (2010b). Towards OntologyBased Intelligent Model for Intrusion Detection and Prevention. Journal of Information Assurance and Security (JIAS), 5(4):376-383. Auburn, Washington, USA. ISSN 1554-1010. Laskov P., Dussel P., Schafer C., Rieck K. (2005). Learning intrusion detection: Supervised or unsupervised? In Image Analysis and Processing - ICIAP, 13th International Conference Cagliari, Italy. pp. 50-57. Leung K., Leckie C. (2005). Unsupervised anomaly detection in network intrusion detection using clusters. Proceedings of the Twenty-eighth Australasian conference on Computer Science, 38. Newcastle, Australia, Australian Computer Society. Lieto G., Orsini F., Pagano G. (2009). Cluster Analysis for Anomaly Detection. Springer CISIS 2008. Verlag Berlin Heidelberg, E. Corchado. pp. 163-169. Liu Y., Comaniciu C., Man H. (2006). A Bayesian game approach for intrusion detection in wireless ad hoc networks. Proceeding from the 2006 workshop on Game theory for communications and networks. Pisa, Italy, ACM. Mukkamala S., Janoski G., Sung A. (2002). Intrusion Detection Using Neural Networks and Support Vector Machines. Proceedings of IEEE International Joint Conference on Neural Networks. pp 1702-1707. Mukkamala S., Sung A., Abraham S. (2004). Intrusion Detection Using Ensemble of Soft Computing and Hard Computing Paradigms. Journal of Network and Computer Applications of Data Mining in Computer Security. Nong Y., Xiangyang L., Syed Masum E. (2000). Decision Tree for Signature Recognition and State Classification. IEEE Systems, Man, and Cybernetics Information Assurance and Security Workshop, West Point, New York. pp. 194-199. Oksuz A. (2007). Unsupervised Intrusion Detection System. Phd Thesis. Informatics and Mathematical Modelling, Technical University of Denmark. 118 p. Rezaul Karim A., Rajatheva R. M., Ahmed K. (2006). An efficient collaborative intrusion detection system for MANET using Bayesian Approach. Proceedings of the 9th ACM international symposium on Modeling analysis and simulation of wireless and mobile systems. Terromolinos, Spain, ACM. Spinosa E., Carvalho A., Gama J. (2008). Cluster-based novel concept detection in data streams applied to intrusion detection in computer networks. Proceedings of the 2008 ACM symposium on Applied computing. Fortaleza, Ceara, Brazil, ACM. Stein G., Chen B., Wu A., Hua K. (2005). Decision tree classifier for network intrusion detection with GA-based feature selection. Proceedings of the 43rd annual Southeast regional conference. Kennesaw, Georgia, ACM. Tsang C., Kwong S., Wang H. (2007). Genetic-fuzzy rule mining approach and evaluation of feature selection techniques for anomaly intrusion detection. Elsevier Science Inc, 40:2373-2391. Wuu L., Hung C., Chen S. (2007). Building intrusion pattern miner for Snort network intrusion detection system. Elsevier Science Inc, 80:1699-1715. Yingbing, Y. (2005). Anomaly intrusion detection and threat evaluation using artificial immunity model and fuzzy logic. Journal of University of Louisville, 6:134. Zhong Lei J., Ghorbani A. (2004). Network intrusion detection using an improved competitive learning neural network. I EEE Computer Society: In 2nd Annual Conference on Communication Networks and Services Research (CNSR 2004), Fredericton, N.B., Canada. pp. 190-197. Zurutuza U., Uribeetxeberria R., Azketa E., Gil G., et al. (2007). Combined Data Mining Approach for Intrusion Detection. International Conference on Security and Criptography, Barcelona (Spain). [ 77 ]