Título
SINDI: SIstema multiageNte de Detección de Intrusos.
Alumno
Celestino Gómez Cid.
Tutor
Carlos Ángel Iglesias Fernández.
Introducción
Dentro de las labores de la gestión de red destacan cada vez más
aquellas encaminadas a la protección de la integridad, privacidad y
disponibilidad de los datos y los recursos dentro de un sistema de ordenadores[Nat94].
A este conjunto de tareas se le conoce como gestión de seguridad. Dada esta
definición, podemos prever que la seguridad abarca multitud de campos: desde
la seguridad física de nuestro sistema, a sistemas automáticos de supervisión
y protección.
Las medidas de seguridad pueden dividirse en dos grandes grupos, las de prevención, destinadas a evitar accesos
no autorizados a cualquier parte del sistema y aquellas encaminadas a la supervisión, y localización de posibles ataques.
Los sistemas que llevan a cabo esta segunda labor se conocen como sistemas de detección de
intrusos y lo que tratan es[HLMS90]:
Descubrir, si es posible, en tiempo real posibles acciones que intenten
comprometer la integridad, confidencialidad o disponibilidad de una información
o de un recurso.
El llevar a cabo esta detección con éxito conlleva una serie de dificultades:
- Es necesario tratar gran cantidad de datos provenientes de distintas
fuentes al mismo tiempo.
- Es preciso tener conocimiento en cada momento de los distintos modelos
y escenarios de intrusión.
- Queremos que estos sistemas respondan en tiempo real, para que el da no
sea el menor posible.
Debido a estos requisitos, es muy difíl para un operador humano controlar
la existencia de posibles actividades intrusivas, por tanto, se han utilizado sistemas
automáticos para llevarla a cabo.
Las técnicas que más se han desarrollado para dise no de estos sistemas han
sido aquellas basadas en Inteligencia Artificial. El presente proyecto se
centra en el desarrollo de un sistema de detección de intrusos empleando
para ello un sistema multiagente.
Objetivos
Los objetivos de este proyecto se dirigen hacia el desarrollo de una aplicación
de detección de intrusos. Para ello el primer paso es un estudio de seguridad
del sistema donde se va a implementar, el sistema operativo UNIX. A partir de
este análisis de seguridad y de los datos recogidos con distintas
herramientas de supervisión, se tratarán de construir modelos de posibles
ataques y escenarios de intrusión. Estos modelos y datos serán analizados
por el sistema de detección que usará para tratar de aislar posibles tipos de comportamiento intrusivo.
Posteriormente procederemos al estudio de un sistema válido de detección de intrusos[Kum95],
Figure: Estructura de un sistema de detección genérico
La forma de proceder de este sistema es la siguiente: las distintas herramientas y programas de supervisión generan
una serie de datos correspondientes a actividades que llevan a cabo los usuarios. Estos datos constituyen eventos que
que se conforman como la base para detectar comportamiento intrusivo o normal. El modelo de actividad es el estado global
del detector. Contiene variables del comportamiento del sistema. Cada variable está asociada a un determinado
modelo de tal forma que sirva para filtrar los eventos de la actividad de los usuarios. Este sistema puede además
crear nuevos modelos dinámicamente si cambian las características del sistema. Puede, a su vez,
generar registros de comportamiento anómalo cuando detecta valores inusuales en una determinada variable. El conjunto de reglas recibe información del generador de eventos, registros de comportamiento anómalo así como tiempos de
expiración, para controlar el estado del resto de las componentes.
Los requisitos que debe cumplir este sistema son[CS95a]:
- Debe estar ejecutándose sin interrupción ni supervisión.
- Debe ser tolerante a fallos.
- Debe ser robusto frente a intentos de alteración del sistema.
- La carga que a nada al sistema debe ser mínima.
- Debe ser capaz de observar desviaciones del comportamiento ``normal''.
- Debe poder adaptarse a las necesidades de cualquier sistema.
- Debe poder supervisar modelos de comportamiento cambiantes.
- Debe ser difícil de confundir.
Una vez planteadas las necesidades del sistema propuesto trataremos de ver las
ventajas de un sistema multiagente frente a una aproximación monolítica.
Dentro de las características que hacen que esta solución sea la apropiada se encuentran las siguientes[CS95b]:
- Fácilmente adaptable. A partir de un conjunto de peque nos agentes,
es fácil adaptarse a las necesidades simplemente a nadiendo y quitando agentes
de forma dinámica.
- Posibilidad de entrenamiento. Esto permite que el operador entrene a los agentes para detectar intrusiones
que conoce. Una vez entrenados con este tipo de intrusiones, se pueden destinar a monitorizar otro tipo de intrusiones
que no son obvias.
- Eficiencia. Optimizando los distintos agentes se puede conseguir que
la carga que a naden al sistema sea mínima.
- Independencia. Si un agente es atacado, las defensas del sistema
no desaparecen completamente.
- Robusto frente a alteraciones. Debido a las distintas características
de los agentes va a ser difícil alterar el sistema de forma seria.
- Fácilmente extensible. Los agentes pueden modificarse fácilmente para operar en red y moverse hacia cualquier sistema que
sea útil.
- Escalable. Los sistemas multiagente se pueden escalar fácilmente a sistemas mayores, a nadiendo simplemente nuevos
agentes y aumentando su diversidad.
La clave para que un sistema multiagente sea efectivo en detección de intrusos, es la simplicidad de los agentes y la
cooperación entre ellos.
Simplicidad puesto que cada agente debe construirse de tal manera que supervise una peque na parte del sistema, como accesos,
red, tiempo de CPU... de forma que la carga a nadida sea mínima.
Cooperación debido que cada agente dispondrá de su propia base de conocimiento de tal forma que cada uno individualmente pueda detectar comportamientos sospechosos. Pero sólo mediante la colaboración de todos
se puede concluir que un conjunto de actividades sea intrusiva o normal. La cooperación es crucial en los sistemas
de detección de intrusos, puesto que se puede tratar de enmascarar una intrusión diversificando el ataque, de tal
forma que actividades aisladas consideradas normales, puedan, en conjunto, ocultar un comportamiento intrusivo.
Nuestro objetivo será adaptar el sistema general de IDS(Intrusion Detection System) de la figura 1 para permitir la detección distribuida,
así como llevar a cabo peque nos ajustes en el modelo.
La base de la integración al modelo propuesto es
la diversificación de los modelos de comportamiento entre los distintos agentes, dirigir cada conjunto de datos de
supervisión
al agente adecuado y dotar a cada uno del conjunto de reglas apropiado. A nadiendo mecanismos de comunicación y
colaboración entre ellos.
En este proyecto se adaptará la arquitectura multiagente MIX[IGV96] a las necesidades de nuestro sistema, definiendo los agentes, dotándoles de la base de conocimiento adecuada y creando las interacciones entre ellos.
Finalmente, centrándonos en algún modelo de intrusión, se construirá una
aplicación que implementará el sistema propuesto.
Plan de trabajo
- Estudiar la seguridad del sistema operativo UNIX. Conocer las barreras de entrada y posibles agujeros de seguridad.
- Conocer distintas herramientas de supervisión de seguridad para recoger información sobre la actividad de los usuarios.
- Recoger datos de comportamiento normal e intrusivo. Construir modelos y escenarios de intrusión.
- Estudio de la arquitectura multiagente MIX.
- Adaptar la arquitectura multiagente al modelo de genérico de detección de intrusos.
- Definición de los agentes, base de conocimiento de los mismos e interacciones entre ellos.
- Elaboración de una aplicación basada en el modelo y la arquitectura propuestos.
- Llevar a cabo pruebas a partir de simulaciones.
Celestino Gomez Cid (adm)
Mon Mar 4 16:06:03 MET 1996