REMAS/REMAYS
Sistemas de Detección de Intrusos

Por : Oscar Medina Duarte

Ultima Modificación : 19/11/2002



Índice :







Mi página Personal

Página generada para el seminario de tópicos selectos (is316).

Introducción

Remote Event Monitor and Analisys System, es una propuesta para una arquitectura de monitoreo multiproposito, distribuida, que permitirá hacer configuraciones muy versátiles, tan sencillas o complejas como se crea necesario, su diseño orientado a componentes, permitirá su modificación de una forma muy sencilla que no requerirá recompilar el software.
Esto también permite que sea más depurable y administrable, de tal forma que al detectar una falla en algún componente, lo único que se necesitara hacer es reemplazar el componente defectuoso con una versión más reciente que arregle el problema.

En un ambiente en el que se necesita tener control de una cantidad de datos muy grande y que se necesita extraer información de los mismos de manera eficiente y cercana al tiempo real, y que ademas exista la posibilidad de delegar el uso de esta información a un dispositivo o pieza de software, es conveniente la aplicación de un sistema que de manera distribuida, o centralizada, analice el progreso de un suceso, y que basado en los eventos que genere el ámbito en que se desenvuelva tenga la capacidad de dar un diagnostico de alto nivel que pueda ser usado para tomar cartas en el asunto. Ya sea por un ser humano o por un dispositivo, sistema o software.

Existen varios ambientes donde se podría desenvolver de manera apropiada un sistema similar como pueden ser Lineas de producción, experimentos científicos, estados bursátiles o financieros, y de mi especial interés, sistemas de computo "seguros" es decir, su uso para detectar (y en un mundo feliz predecir) intentos de intrusión, intrusiones o fallas que puedan poner en riesgo la seguridad, de un sistema de computo, y ademas, la capacidad para proponer o llevar a cabo una medida o plan de contingencia que puede incluir la notificación del suceso a una persona a través de correo electrónico, una impresora e incluso un beeper.
Su aplicación como SDI tiene varias consideraciones importantes, que pueden ubicarse en tres niveles Ambiente de implementación, Carácter de la Implementación, Ambiente de red.

Ambiente de implementación :

  • Sistema Operativo.

  • Lugares donde se generaran los eventos.

  • Eventos relevantes e irrelevantes

  • Si la implementación del sistema requiere modificar o no codigo fuente del software.

Ambiente de red :

  • Tipo de red en que se va a ocupar

  • ¿Es esta una red publica o privada ?

  • ¿Es confiable?

  • ¿De hecho se va a ocupar una red ?

Carácter de la Implementación :

  • ¿Experimental o Practico?

  • Nivel de seguridad y monitoreo requerido

  • Forma de abstracción de los datos
    ¿Como se va a representar la información?

Los primeros dos niveles pueden ser fáciles de responder, ya que el sistema operativo y las necesidades de red, pueden ser fáciles de definir por lo que tendremos una respuesta casi intuitiva a estas preguntas. Las que resultan un poco mas dificil de responder son las del carácter, y para contestarlas vamos a definirlas un poco mejor.

Carácter Experimental o Practico?
Esta pregunta se refiere a que tipo de algoritmos se van a ocupar para poder generar información útil, si estos serán simples inferencias, o serán algoritmos "inteligentes" o expertos, si estos tendrán la capacidad de modificarse a si mismos o su manera de funcionar, en base a un patrón de modelado estadístico o simples reglas.
Lo cual puede generar otra pregunta importante para decidir el carácter de la implementación :
¿que tan propenso será el sistema a dar falsos positivos y falsos negativos?
Estos puntos son candidatos a generar bastante trabajo de investigación.

Nivel de seguridad y monitoreo requerido
Con esto quiero referirme a que tanta atención se va a poner en la seguridad y que tan depurado va a estar el sistema operativo, por ejemplo, en un sistema que sirve en el mundo real como servidor web, no es de gran interés revisar el tipo de documentos que sus usuarios usan, ya que la cantidad de usuarios que hay son pocos y por defecto, en la mayoría de los casos, se asume que son usuarios confiables (p.e. las cuentas de los administradores).
Por lo contrario, en un ambiente militar, se requerirá saber a que tipo de información accesa cada usuario, con que frecuencia, y también con que frecuencia trata de accesar a información clasificada, incluso podría ser de interés modelar el comportamiento de los usuarios para detectar anomalías y reportarlas al encargado de dar mantenimiento a la seguridad.

¿Como se va a representar la información?
Este es probablemente el problema mas interesante de la implementación, ya que dar un formato a los datos que se generan y su relación con el análisis que llevan a cabo es muy delicado, una buena aproximación a este problema en mi propuesta actual, es la de tener eventos que contengan varios campos requeridos como fecha, hora, origen, nombre, etcétera. y un campo de propiedades que almacena una cantidad variable de datos, en forma de un arreglo, el problema con este campo, es que su estandarización no es del todo intuitiva, ya que el significado de cada elemento es asignado de acuerdo a su posición a la hora de analizarlo.