SISTEMA INTELIGENTE DE DETECCIÓN DE ANOMALÍAS DE RED BASADO EN REDES NEURONALES Autor: Sánchez Ramos, Pablo Directores: Sanz Bobi, Miguel Ángel. Castro Ponce, Mario. Entidad Colaboradora: ICAI - Universidad Pontificia Comillas RESUMEN DEL PROYECTO El proyecto IDSRN (IDS, Sistema de Detección de Intrusos, basado en redes neuronales) aborda el tema de la detección de intrusiones en redes de ordenadores, y en particular, los Sistemas de Detección de Intrusos como solución a esta problemática. IDSRN es un sistema distribuido multiagente inteligente basado en el paradigma de los agentes Java JADE que propone una arquitectura en múltiples capas de la popular sonda Ntop. De esta manera se extiende la funcionalidad de este IDS proporcionando un modo de avisar al administrador de las posibles anomalías que se produzcan en el tráfico de la red a través de diversos agentes estratégicamente distribuidos. Este proyecto tiene como objetivo resolver los grandes inconvenientes de los Sistemas de Detección de Intrusos, que se tornan inevitables en el uso de este tipo de software: • Facilidad de uso e interpretación de resultados: Un IDS es un sistema de disparo de alertas en situaciones anómalas de tráfico de red, y el administrador de la red encargado de comprobar dichas alertas es el que toma la decisión final y reacciona en consecuencia. Esta filosofía no cambia en el sistema IDSRN, ya que las conclusiones de una máquina no tienen por qué ser acertadas en una determinada situación real. No obstante, se facilita al usuario la lectura de la información, presentándole la situación de la red de una forma general, cómoda y funcional, que le permite comprobar de un vistazo el estado de la red. • Fiabilidad: El gran problema actual de los Sistemas de Detección de Intrusos es la escasa confianza que los usuarios tienen en ellos debido a la falsa sensación de seguridad o de alerta constante que ofrecen a su supervisor, fundamentalmente por problemas de configuración inapropiada. El carácter distribuido del sistema IDSRN permite la instalación de múltiples sensores en diferentes puntos estratégicos de la red y la integración de sus resultados de forma consensuada entre los agentes de las capas intermedias. De esta manera se ofrece al usuario una única conclusión final más fiable. • Rendimiento: Un Sistema de Detección de Intrusos es una aplicación muy pesada sobre la que difícilmente se pueden montar capas de análisis de resultados y de presentación visual en la misma máquina sobre la que se está ejecutando. La distribución de estas responsabilidades entre los agentes inteligentes de la arquitectura JADE, permite incrementar considerablemente el rendimiento del conjunto, ya que cada una de las partes puede ejecutarse en diferentes hosts de una manera más eficaz y sin interferir sobre las otras. El análisis especializado de las alertas a través de redes neuronales propias de la inteligencia artificial, permitirá al mismo tiempo la obtención de una información más exhaustiva y de mejor calidad. El Sistema IDSRN aborda estos objetivos con una arquitectura IDS en 3 capas: • Capa Sonda: es la encargada de capturar el tráfico de red y almacenarlo en los ficheros con formado rrd, que son bases de datos del tipo Round-Robin. Esta capa la compone exclusivamente la sonda. Es recomendable instalar una sonda en cada segmento de la red, especialmente en aquellos que sean críticos, tales como los que tengan conectados servidores o máquinas importantes de la organización. • Capa Sensor: el cometido de esta capa es determinar si el valor que monitoriza Ntop en los ficheros rrd es válido o no, creando una alerta en este último caso. Esta capa también se encarga de preprocesar las bases de datos Round-Robin de la capa sonda y dejarlos en el formato adecuado para que el sensor lo lea. Concretamente, el valor ya transformado pasa a alimentar a los perceptrones que formen la red neuronal del sensor. Esta red neuronal ha sido previamente entrenada con datos de entrenamiento y posteriormente validada con más datos capturados a tal efecto. Una vez el dato ha sido procesado por la red del sensor en el que haya entrado, se decidirá si el resultado corresponde a un tráfico normal o a uno anómalo en base a una comparación con el dato que había a la entrada de las neuronas. Una acumulación de cierta cantidad de resultados correspondientes a tráfico anómalo generará un mensaje de anomalía que la capa sensor transmitirá a la capa intérprete, que es la siguiente. • Capa Intérprete: Es la última capa, y simplemente se encarga de recibir los mensajes de anomalía de la capa sensor y mostrarlos por pantalla para que el administrador los vea y actúe según crea conveniente. En el caso de llegar más de un mensaje de anomalía de sensores distintos, entrará en acción un sencillo algoritmo de prioridades, que nos mostrará primero la anomalía del sensor más crítico. Como resultado de este proyecto, el sistema IDSRN es un aplicativo ampliable y mejorable, en el que es fácil incluir nuevas funcionalidades y adaptar las ya existentes a las necesidades de cualquier infraestructura de red. La arquitectura de agentes autónomos inteligentes, permite que el sistema sea escalable y que la misma distribución en capas sea aplicable tanto a pequeños segmentos de red como a infraestructuras completas de sistemas informáticos. Todo esto es posible gracias a que el proyecto se ha realizado por completo sobre tecnologías de libre distribución, que permiten la reutilización, extensión de funcionalidades y uso del software resultante de forma gratuita. INTELIGENT ANOMALY DETECTION SYSTEM BASED ON NEURONAL NETWORKS Project IDSRN (Intrusion Detection System based on Neuronal Networks) tackles the problem of the detection of intrusion attacks into computer networks, and in special, the Intrusion Detection Systems as a solution for this trouble. IDSRN is an intelligent multi-agent distributed system based on the intelligent agents paradigm of Java JADE, which proposes a multiple layer architecture of the popular net probe Ntop. As this way, it extends the functionality of this IDS providing a way of alerting the administrator about the possible existence of anomalies in the network aided by several intelligent agents strategically distributed. This project aims to solve the great disadvantages of the Intrusion Detection Systems, which become unavoidable in the use of this type of software: • Interpretation and ease of use of results: An IDS is a system of triggering alerts in anomalous situations of network traffic, and the administrator of the network in charge to check these alerts is the one that has to take the final decision and has to react consequently. This philosophy does not change in system IDSRN, since the conclusions guessed from a machine do not have to be right in a certain real situation. However, the reading of the information is facilitated to the user, displaying to him the situation of the network of a general form by means of a comfortable and functional interface, that allows him from verifying of a look the state of the network to investigating the causes of the anomaly at the lowest level. • Reliability: Nowadays, the great problem of the Intrusion Detection Systems is the little confidence that the users have in them due to the false sensation of security or constant alert that they offer to his supervisor, fundamentally by problems of unsuitable configuration. The distributed character of system IDSRN allows the installation of multiple sensors in different strategic points of the network and the global integration of its results between the agents of the intermediate layers. This way offers to the user a final more trustworthy final conclusion. • Performance: An Intrusion Detection System is a very heavy application on whom layers of analysis of results can hardly be mounted and displayed in the same machine on which it is being executed. The distribution of these responsibilities between the intelligent agents of the architecture JADE, allows considerably increasing the performance of the set, since each one of the parts can be executed in different hosts as a more effective way and without interfering with the others. The specialized analysis of the alert through neuronal networks, knowledge of the artificial intelligence, will at the same time allow the obtaining of a more exhaustive information of better quality. System IDSAI approaches these objectives with a three-layer-architecture IDS: • Probe layer: it is in charge of capturing the network traffic and store it in the rrd files, which are Round-Robin databases. This layer is only made up of the probe. It is advisable to install a probe in every segment of the network, especially in the more critic ones, like the ones containing servers or important equipment for the company. • Sensor layer: this layer is committed to determine whether the value that Ntop monitors is valid or invalid, creating an alert in this last case. This layer also preprocess the Round-Robin databases from the Probe layer and prepare them in the adequate format so that the sensor understands it. Specifically, the already transformed value feeds the perceptrons that are part of the neuronal network of the sensor. This neuronal network has been previously trained with training data and then validated with more data captured to that purpose. Once the datum has been processed by the neuronal network, the sensor will decide if the result belongs to a normal traffic or if it belongs to abnormal traffic after comparing this result with the very datum that entered the neuronal network. A certain accumulation of results belonging to abnormal traffic will generate an anomaly message which the sensor layer will give to the interpreter layer, which is the next one. • Interpreter layer: this is the last layer and its job is receiving the anomaly messages from the sensor layer and displaying them so that the administrator can see them and act consequently. If this layer receives more than one anomaly message from more than one sensor, a simple priority algorithm will do its work and will display on first place the message for the more critic sensor. As resulting from this project, system IDSRN is an expandable and improvable software, in which it is easy to include new functionalities and to adapt the already existing ones to the necessities of any network infrastructure. The architecture of intelligent independent agents, allows that the system is scalable and that the same distribution in layers is applicable as much to small segments of network like to complete infrastructures of computer systems. All this is possible thanks to that the project has been made completely of free distribution technologies, that allow the reusability, extension of functionalities and use of software result by no cost.