Análisis de sistemas de detección de intrusiones Proyecto Fin de Carrera Vanessa Viñes Sanjuan Tutor: Robert Rallo Moya Ingeniería Técnica en Informática de Sistemas 2004 - 2005 Sistemas de detección de intrusos 0. Índice 0. Índice .......................................................................................................................................................2 1. Objetivos del Proyecto ...........................................................................................................................1 2. Definiciones .............................................................................................................................................5 2.1.Definiciones sobre los IDS .............................................................¡Error! Marcador no definido.5 2.1.1. Definición de intrusión ........................................................¡Error! Marcador no definido. 2.1.2. Historia de los IDS ..............................................................................................................5 2.1.3. Por que son necesarios los sistemas de detección de intrusiones........................................7 2.1.4. Que es un IDS o sistema de detección de intrusos...............................................................8 2.1.5. Definición de firmas y filtros ...............................................................................................8 2.1.6. Definición de eventos de interés (EOI) ................................................................................9 2.1.7. Tipos de ataques que puede detectar un IDS .......................................................................9 2.2. Que es un Honeypot?......................................................................................................................11 2.3. Que es un firewall?.........................................................................................................................13 2.4. Tipos de sistemas de detección de instrusiones ..............................................................................15 2.4.1. HIDS o IDS Host Based.....................................................................................................16 2.4.2. NIDS o IDS Network Based ...............................................................................................17 2.4.3. Híbridos .............................................................................................................................18 2.4.4. Pasivos...............................................................................................................................18 2.4.5. Activos ...............................................................................................................................18 2.4.6. Detección del mal uso........................................................................................................19 2.4.7. Detección del uso anómalo................................................................................................19 2.5. Tipos de errores..............................................................................................................................20 2.6. Elementos básicos de un IDS..........................................................................................................21 2.7. Protocolos de comunicación entre Sensor-Consola .......................................................................22 3. Arquitectura de los IDS .......................................................................................................................24 3.1. Arquitectura general de un IDS......................................................................................................24 3.2. Arquitecturas específicas de un IDS ...............................................................................................24 3.2.1. CIDF (Common Intrusion Detection Framework) ............................................................24 3.2.2. DIDS (Distributed Intrusion Detection System) ................................................................26 3.2.3. Arquitectura de los NIDS...................................................................................................27 4.Caracterísitcas de los IDS .....................................................................................................................28 4.1. Análisis de los datos obtenidos por un IDS ....................................................................................28 4.2. Capacidades de los IDS..................................................................................................................29 4.3. Limitaciones de los IDS ..................................................................................................................30 4.4. El ataque mitnick ............................................................................................................................33 Vanessa Viñes Sanjuan 2 Sistemas de detección de intrusos 4.5. Dónde colocar el IDS? ...................................................................................................................35 5.Análisis de productos ............................................................................................................................37 5.1. Productos comerciales....................................................................................................................37 5.2. Productos de libre distribución ......................................................................................................42 6. Actualidad en los IDS...........................................................................................................................46 6.1. Proyectos de investigación .............................................................................................................46 7. Guía de diseño.......................................................................................................................................49 7.1. Aspectos genéricos..........................................................................................................................49 7.2. Casos de estudio .............................................................................................................................54 7.3. Implementación ..............................................................................................................................57 7.4. Análisis de una red del tipo I ..........................................................................................................58 7.5. Análisis de una red del tipo II.........................................................................................................83 7.6. Análisis de una red del tipo III .......................................................................................................89 7.7. Análisis de una red del tipo IV........................................................................................................95 8. Conclusiones..........................................................................................................................................99 9. Recursos utilizados .............................................................................................................................100 9.1. Programas ....................................................................................................................................100 9.2. Información en Internet ................................................................................................................100 9.3. Bibliografía...................................................................................................................................100 Vanessa Viñes Sanjuan 3 Sistemas de detección de intrusos 1. O b j e t i v o s d e l P r o y e c t o El proyecto trata de determinar, sobre una serie de casos, cual sería la mejor opción a seguir para poder conseguir que el sistema sea seguro y esté protegido contra intrusiones externas. Podemos diferenciar los puntos más importantes en: Determinar los componentes de un sistema de detección de intrusos. Diferenciar los tipos de sistemas de detección de intrusos conocidos. Determinar la arquitectura de un sistema de detección de intrusos. Análisis de los productos de mercado (de libre distribución y comerciales). Guía de diseño Aspectos genéricos Casos de estudio. Análisis económico de hardware y software. Vanessa Viñes Sanjuan 4 Sistemas de detección de intrusos 2. D e f i n i c i o n e s 2.1. Definiciones sobre los IDS 2.1.1. Definición de intrusión Una intrusión es un conjunto de acciones que intentan comprometer la integridad, confidencialidad o disponibilidad de algún recurso de nuestro equipo. 2.1.2. Historia de los IDS Los primeros sistemas de detección de intrusiones fueron emergiendo a medida que el número de ordenadores crecía. Cuantos más ordenadores había mas aumentaba el número de eventos d sistema a analizar, era tal esta tarea que se volvió humanamente imposible de realizarla. Las autoridades militares de Norteamérica se dieron cuenta de que el uso cada vez más masivo de ordenadores en sus instalaciones requería algún mecanismo que facilitara la labor de sus auditores. James P. Anderson fue la primera persona capaz de documentar la necesidad de un mecanismo que automatizara la revisión de los eventos de seguridad. Describió el concepto de “Monitor de referencias” en un estudio encargado por las Fuerzas Aéreas de EEUU, y redactó un informe en 1980 que sería el primero de los futuros trabajos sobre la detección de intrusiones. Uno de los objetivos de este informe era la eliminación de información redundante o irrelevante en los registros de sucesos. Anderson propuso un sistema de clasificación que diferenciaba entre ataques internos y ataques externos, basado en si los usuarios tenían permiso de acceso o no al ordenador. Estos eran los principales objetivos de los mecanismos de auditoria de seguridad: - Debían proporcionar suficiente información para que los encargados de seguridad localizaran el problema, pero no para efectuar un ataque. - Debía ser capaz de obtener datos de distintos recursos del sistema. - Para evitar ataques internos, debía detectar usos indebidos o fuera de lo normal por parte de los usuarios. - El diseño del mecanismo de auditoria debía ser capaz de obtener la estrategia usada por el atacante para entrar en las cuentas. Ideó un sistema para dar solución al problema de los intrusos que se habían apoderado de cuentas basándose en patrones de uso, creados a partir de análisis de estadísticas de comportamiento de usuario. Los sistemas posteriores trabajarían con esa idea. El IDES o “Intrusión Detection Expert System”, desarrollado entre 1984 y 1986 por Dorothy Denning y Peter Neumann, fue un modelo que definía un sistema de detección de intrusiones en tiempo Vanessa Viñes Sanjuan 5 Sistemas de detección de intrusos real. Este proyecto, fundado entre otros por la marina estadounidense, proponía una correspondencia entre actividad anómala y abuso, o uno indebido. Entendiendo por anómala, aquella actividad rara o inusual en un contexto estadístico. Usaba perfiles para describir a los sujetos del sistema, y reglas de actividad para definir las acciones que tenían lugar. Estos elementos permitían establecer mediante métodos estadísticos las pautas de comportamiento necesarias para detectar posibles anomalías. IDES era un sistema híbrido porque añadía un nivel de seguridad adicional, que minimizaba los efectos de un intruso que intentara eludir el detector de anomalías. En los años ochenta aparecieron numerosos sistemas de detección de intrusiones. Desde 1984 hasta 1985 un grupo de desarrollo en Sytek dirigió un proyecto denominado "Automated Audit Analysis". Utilizaba información recogida a nivel de interfaz de comandos ("shell") de un sistema UNIX, para posteriormente compararlos con una base de datos. Estos datos se analizaban estadísticamente para demostrar que se podían detectar comportamientos fuera de lo normal. Algunos investigadores del proyecto trabajaron más tarde en "SRI International". Discovery fue un sistema creado para detectar e impedir problemas en la base de datos de TRW. La novedad de Discovery radicaba en que monitorizaba una aplicación, no un sistema operativo. Utilizaba métodos estadísticos escritos en COBOL para detectar los posibles abusos. Su creador fue William Tener. El proyecto Haystack, del Centro de Soporte Criptológico las Fuerzas Aéreas de EEUU fue usado para ayudar a los oficiales a encontrar signos de ataques internos en los ordenadores principales de sus bases. Estas máquinas eran principalmente "mainframes" (servidores corporativos) que manejaban información no clasificada pero confidencial. El sistema estaba escrito en C ANSI y SQL. Examinaba los datos de forma periódica, recogiendo colas de eventos de forma periódica. Utilizaba dos fases de análisis para detectar las posibles anomalías. El principal responsable del proyecto fue Steve Smaha. Otro proyecto importante fue el "Multics Intrusion Detection and Alerting System" (MIDAS), creado por el National Computer Security Center (NCSC). Se utilizó para monitorizar el sistema NCSC's Dockmaster, un Honeywall DPS 8/70 en el que corría uno de los sistemas operativos más seguros de entonces, un Multics. Al igual que IDES, MIDAS utilizaba un sistema híbrido en el que combinaba tanto la estadística de anomalías como reglas de seguridad de un sistema experto. MIDAS usaba un proceso de análisis progresivo compuesto por cuatro niveles de reglas. Además de estas reglas, también contaba con una base de datos que usaba para determinar signos de comportamiento atípico. Fue uno de los primeros sistemas de detección de intrusiones conectados a Internet. Fue publicado en la red en 1989 y monitorizó el Mainframe Dockmaster en 1990. Contribuyó a fortalecer los mecanismos de autenticación de usuarios. Además, no sólo había contribuido a mejorar la seguridad contra ataques externos, sino que también seguía bloqueando intrusiones internas. "Network Audit Director and Intrusion Reporter" (NADIR) fue desarrollado en Laboratorio Nacional de Los Alamos, para monitorizar el "Integrated Computing Network" (ICN). Esta red estaba inicialmente compuesta por unos 9.000 usuarios. NADIR usaba técnicas de detección similares a los sistemas de su tiempo como el IDES o MIDAS. Fue uno de los sistemas con más éxito de los años ochenta. La principal responsable de NADIR fue Kathleen Jackson. El "Network System Monitor" (NSM) fue desarrollado en la Universidad de California para trabajar en una estación UNIX de Sun. Fue el primer sistema de detección de intrusiones que monitorizaba el Vanessa Viñes Sanjuan 6 Sistemas de detección de intrusos tráfico de red, utilizando los datos del propio tráfico como principal fuente de datos. Los anteriores sistemas utilizaban los eventos de sistema o registraban las pulsaciones de teclado. El funcionamiento del NSM, que muchos sistemas de detección de intrusiones de red utilizan hoy en día, se puede describir en estos pasos: - Ponía el dispositivo de red en modo promiscuo ("promiscuous mode"), de forma que monitorizara todo el tráfico que recibiera, incluido el que no iba dirigido al sistema. - Capturaba los paquetes de red. - Identificaba el protocolo utilizado para poder extraer los datos necesarios (IP, ICMP, etc.). - Utilizaba un enfoque basado en matrices para archivar y analizar las características de los datos, en busca tanto de variaciones estadísticas que revelaran un comportamiento anómalo como de violaciones de reglas ya preestablecidas. Una de las pruebas que se hicieron con el NSM duró dos meses. Monitorizó más de 111.000 conexiones, y detectó correctamente más de 300 posibles intrusiones. Como dato significativo, y para enfatizar la necesidad del uso de este tipo de sistemas, hay que señalar que los administradores no llegaron a percibir ni el 1% de dichas intrusiones. Los principales responsables del NSM fueron Karl Levitt, Todd Heberlein, y Biswanath Mukherjee de la Universidad de California. El sistema "Wisdom and Sense" fue un detector de anomalías creado en el Laboratorio Nacional de Los Álamos en cooperación con el Laboratorio Nacional de Oak Ridge. Utilizaba técnicas no paramétricas ("nonparametric techniques"), que eran técnicas estadísticas que no hacían suposiciones sobre la distribución de los datos. Usaban este método para crear su propio conjunto de reglas. Luego analizaba los "logs" de las auditorias en busca de excepciones de esas reglas, las cuales estaban organizadas en "arrays" con forma de árbol. Definían lo que era el comportamiento normal desde un punto de vista cronológico de los datos de auditoria. 2.1.3. Por que son necesarios los sistemas de detección de intrusiones? Hoy en día las organizaciones tienen salida a las redes mundiales de información, por lo tanto tienen que asegurarse que no puedan “robar” los datos que son confidenciales. Algunas de las razones de usar un sistema de detección de intrusiones son: - Prevenir ataques que las otras medidas de seguridad no son capaces de detectar. - En caso de ataque poder saber por que se ha producido, y así evitar futuros ataques del mismo tipo. Vanessa Viñes Sanjuan Detectar y tratar las acciones previas a un ataque. 7 Sistemas de detección de intrusos - Recolectar información sobre los ataques, para después poder compartirla con el resto de gente. Así en el futuro será más complicado poder perpetrar las defensas de las organizaciones mundiales. 2.1.4. Que es un IDS o sistema de detección de intrusos? Es una herramienta de seguridad que nos proporciona un sistema para poder detectar o monitorizar eventos que ocurren en un sistema informático con conexión de red que comprometen la seguridad de dicho sistema. Los IDS buscan en nuestro equipo patrones que ye han estado previamente definidos y que impliquen cualquier tipo de actividad sospechosa sobre nuestra red. Un IDS es un sistema de prevención y de alerta anticipada, ya que realmente no son capaces de detener el ataque en si, lo único que nos puede proporcionar son una serie de respuestas ante diferentes eventos maliciosos. Básicamente lo que hacen estos sistemas es vigilar el tráfico de nuestra red, examinan los paquetes que entran, pueden detectar las primeras fases de un ataque y también pueden realizar barridos de puertos (de ahí que algunos también se puedan considerar como “sniffers”). Los objetivos que ha de tener un buen sistema de detección de intrusos son los siguientes: Vigilar y analizar la actividad de los usuarios del sistema. Revisar las configuraciones del sistema y de las vulnerabilidades. Evaluar la integridad de los archivos críticos del sistema y de los datos. Reconocimiento de los modelos de la actividad que reflejan ataques conocidos. Análisis estadístico para los modelos anormales de la actividad. Gerencia del rastro de intervención del sistema operativo, con el reconocimiento de las violaciones de la actividad del usuario respecto a la política establecida. Vigilar el cumplimiento de políticas y procedimientos establecidos dentro de la organización. 2.1.5. Definición de firmas y filtros Definiremos una firma como, aquello que define o describe un patrón de interés en el tráfico de nuestra red. Definiremos un filtro como, la trascripción de una firma a un lenguaje comprensible por los sensores que monitorizan nuestra red. Las firmas nos permiten diferenciar entre todo el tráfico generado por las redes y obtener un subconjunto de éste lo suficientemente pequeño como para que sea tratable computacionalmente y lo suficientemente amplio como para poder detectar comportamientos anómalos en tiempo real. Vanessa Viñes Sanjuan 8 Sistemas de detección de intrusos Las firmas utilizadas por los IDS, usualmente, son patrones que permiten detectar ataques ya conocidos. Su funcionamiento es el mismo que el de los antivirus, se basan en encontrar coincidencias de ataques ya conocidos en el tráfico actual de la red. 2.1.6. Definición de eventos de interés (EOI) Definiremos los eventos de interés como, el subconjunto mínimo de muestras que debemos analizar para considerar nuestra red como segura. Los aspectos a tener en cuenta son: - Criticidad: No todos los ordenadores tienen la misma función, o sea, no es lo mismo que ataquen a un servidor de DNS, o a un firewall, o a un PC de usuario. - Letalidad: Los diferentes ataques (exploits) no tienen siempre el mismo objetivo. Dependiendo de si simplemente tiene posibilidades de funcionar en algún sistema no parcheado a si se permite bloquear la máquina o ganar acceso como usuario simple o root, evaluaremos el ataque. - Contramedidas: Una vez detectado un ataque, o un inicio de ataque, nuestra capacidad de respuesta es otro factor a tener en cuenta. 2.1.7. Tipos de ataques que puede detectar un IDS La seguridad de un sistema informático se basa en que no se violen estos 3 principios básicos: - Confidencialidad: Que la información privada del propietario no pueda ser vista por nadie que no deba tener acceso a ella. - Integridad: Un atacante no puede alterar la información del sistema, ni provocar cambios de estado. - Disponibilidad: Un ataque no puede provocar la continuidad de la ejecución de algún proceso del sistema. A continuación se muestran algunos de los ataques que un sistema de detección de intrusos es capaz de detectar: - Escáneres: Podemos decir que un ataque de este tipo ha tenido lugar cuando, un atacante envía a una red o a un sistema distintos tipos de paquetes. Usando la respuesta a cada uno de estos paquetes enviados, el atacante puede llegar a Vanessa Viñes Sanjuan 9 Sistemas de detección de intrusos conocer el sistema al que quiere atacar. A partir de aquí el atacante ya conoce las vulnerabilidades del sistema y puede entrar con mayor grado de éxito. Algunas herramientas que se pueden usar para realizar escáneres en los hosts pueden ser: network mappers, port mappers, network scanners, vulnerability scaners,… - DoS (Ataque de denegación de servicio): El objetivo de este ataque es parar o entorpecer sistemas o servicios. Tenemos dos tipos de ataques DoS: el primero es el flau explotation (explotación de defectos) y el segundo es el flooding (inundación). La explotación de defectos consiste en aprovechar los defectos de la máquina a la que se quiere atacar, provocando una violación de disponibilidad, también se puede conseguir que, el servicio al que se le hace el ataque, acabe agotando los recursos de la máquina hasta que caiga o el servicio se quede bloqueado. El ataque por inundación consiste en, enviar más información de la que puede llegar a gestionar el sistema, con lo que conseguimos que el sistema atacado se quede sin recursos intentando gestionar todas las peticiones, hasta que se quede bloqueado. - Ataques de penetración: Estos intentan conseguir o alterar unos privilegios no autorizados dentro de un sistema. También se refieren a conseguir recursos o información de un sistema al que el atacante no esta autorizado para acceder. Vanessa Viñes Sanjuan 10 Sistemas de detección de intrusos 2.2. Que es un Honeypot? Son sistemas de información cuyo objetivo es simular vulnerabilidades en nuestro sistema por medio de algunas herramientas (p.e DTK, Specter), para atraer a los atacantes. Sin embargo el objetivo principal de estos sistemas poder conocer vulnerabilidades aún desconocidas. Existen dos tipos de Honeypots: Honeypots de producción: Utilizados para proteger una organización. Honeypots de investigación: Utilizados para aprender. Los Honeypots de producción son utilizados para ayudar a asegurar una organización mediante la detección de ataques, agregando un valor significativo a la infraestructura de seguridad y ayudando a mitigar riesgos. Los Honeypots de producción son más simples de implantar en comparación con los Honeypots de investigación, debido a que requieren menor funcionalidad. La cantidad de información que podemos obtener a partir de ellos es reducida, limitándose a los requerimientos de la organización. Los Honeypots de investigación tienen cómo objetivo, reunir información sobre la actividad maliciosa en la red, con la que podremos conocer las amenazas que las organizaciones podrán enfrentar, la manera de trabajar de los intrusos, qué tipo de herramientas utilizan y la manera de obtener dichas herramientas. Los Honeypots de investigación son más difíciles de implantar, por lo tanto requieren de más tiempo y esfuerzo en la administración. La diferencia entre un Honeypot de producción y uno de investigación consiste en cómo es utilizado y cual es el propósito de este; una organización podría estar interesada sólo en conocer las amenazas que existen en sus redes de producción y bloquear a todo atacante que pueda sacar provecho de las vulnerabilidades de la organización, sin embargo si utiliza un Honeypot de investigación, la organización podrá conocer mas sobre la actividad del atacante: qué herramientas se utiliza, de dónde se generó la intrusión y qué tipo de actividad había antes del incidente. Cuando son necesarios? Estos sistemas, generalmente, representan un coste adicional innecesario. Por esto no suelen ser un elemento común en redes convencionales. No obstante, a cierto tipo de organizaciones, este elemento se les presenta como indispensable, ya que el gran número de ataques que reciben a diario les hacen vulnerables. Los Honeypots, solo son útiles cuando la seguridad de le empresa es un elemento muy importante, como en empresas de seguridad, multinacionales, aseguradoras, …. Vanessa Viñes Sanjuan 11 Sistemas de detección de intrusos Ventajas: - Son fáciles de implementar. - La información que proporcionan es muy fiable. - No tienen coste de ejecución. - Permiten recoger la información necesaria del intruso, para poderle seguir a posteriori. - Permite saber el nivel de conocimientos que tiene el intruso. - Da tiempo a los administradores para poder actuar ante la intrusión, y que así esta no llegue a producirse nunca. Desventajas: - Asume que el atacante es un poco ignorante. - Muy raramente, un intruso experimentado, caerá en la trampa. - En muchas redes, es un coste innecesario. - Sólo es útil en una red grande que requiera de grandes medidas de seguridad. Vanessa Viñes Sanjuan 12 Sistemas de detección de intrusos 2.3. Que es un Firewall? Un cortafuegos o firewall (en inglés), es un mecanismo utilizado para prevenir algunos tipos de comunicaciones que se prohíben según las políticas de cada red. Estas políticas se fundamentan en las necesidades de los usuarios. Estos mecanismos funcionan usando unas técnicas de filtrado, con las cuales se puede evitar que algunos paquetes no deseados entren en nuestra red. Hay distintos tipos de firewall, como a continuación se indica: - Firewall de capa de red.- Funciona en el nivel de capa conocida como (TCP/IP), haciendo un filtrado de paquetes IP. Las acciones que realiza el cortafuegos evitan que los paquetes que no cumplan unas reglas predefinidas por el administrador del sistema (o aplicadas por defecto), puedan atravesar el muro y entrar en nuestro sistema. Otra posible configuración más permisiva podría permitir que cualquier paquete pase el filtro mientras que no cumpla con ninguna regla negativa de rechazo. - Firewall de capa de aplicación.- Este trabaja en el nivel de aplicación. Todo el tráfico de HTTP, (u otro protocolo), puede interceptar todos los paquetes que llegan o salen de una aplicación. En principio, los cortafuegos de aplicación pueden evitar que todo el tráfico externo indeseado alcance las máquinas protegidas. Ventajas: Optimización de acceso.- Identifica los elementos de la red internos y optimiza que la comunicación entre ellos sea más directa si así se desea. Esto ayuda a reconfigurar rápida y fácilmente los parámetros de seguridad. Protección de información privada.- Permite el acceso solamente a quien tenga privilegios a la información de cierta área o sector de la red. Protección contra virus.- Evita que la red se vea infestada por nuevos virus que sean liberados. Podemos diferenciar entre dos políticas básicas de configuración de firewalls: - Permisividad máxima (allow everything): Esta configuración carece casi por completo de filtros. Esta política se usa en Intranets/LAN de universidades y organizaciones dónde la libertad del uso de aplicaciones es necesario para el funcionamiento ordinario del sistema. - Permisividad mínima (Deny everything): En este caso de niega el acceso a todos los servicios de red y se van permitiendo accesos a medida que se van necesitando. Cabe notar que este tipo de política requiere un gran esfuerzo ya que es poco flexible y en organizaciones con gran cantidad de usuarios con diferentes requerimientos puede llevar a tener que permitir tantos accesos cruzados que el sistema deje de ser práctico. Vanessa Viñes Sanjuan 13 Sistemas de detección de intrusos Los cortafuegos tienen a menudo funcionalidad de traducción de direcciones de red (NAT) y es común utilizar el así llamado espacio de direcciones privado en las máquinas detrás de ella. Este espacio de direcciones privado se realiza como un intento (de eficacia discutible) de disfrazar las direcciones internas o red. Cabe notar que el simple uso de un firewall no nos garantiza que el sistema sea seguro, los cortafuegos no sirven de nada si no están correctamente configurados y se mantienen al día con sus actualizaciones de seguridad. Por otro lado estos sistemas son incapaces de detectar ataques más sofisticados (ataques DoS, por ejemplo), lo que hace necesario acompañarlos de otros sistemas de seguridad para poder aumentar el nivel de seguridad de nuestra red. La configuración correcta de cortafuegos se basa en conocimientos considerables de los protocolos de red y de la seguridad de la computadora. Errores pequeños pueden dejar a un cortafuego sin valor como herramienta de seguridad. Vanessa Viñes Sanjuan 14 Sistemas de detección de intrusos 2.4. Tipos de Sistemas de detección de intrusos Podemos clasificar los sistemas de detección de intrusos según: HIDS Fuentes de información NIDS Híbridos Sistemas de Detección de Intrusiones Detección del mal uso Análisis Detección del uso anómalo Activos Respuesta Pasivos Vanessa Viñes Sanjuan 15 Sistemas de detección de intrusos 2.4.1. HIDS o IDS Host-Based Este tipo protege contra un único servidor o host. Monitorizan gran cantidad de eventos, analizando actividades con una gran precisión, determinando también qué procesos o usuarios realizan determinada acción. Realizan un gran trabajo con los logs para su posterior investigación. Los sistemas Host-Based dependen generalmente de los registros del sistema operativo para detectar acontecimientos, y no pueden considerar ataques a la capa de red mientras ocurren. En comparación con los NIDS, estos sistemas obligan a definir lo que se considera como actividades ilícitas y, a traducir la política de seguridad a reglas del IDS. Los sistemas relacionados al host se despliegan de la misma manera que los antivirus o las soluciones de administración de red: se instala algún tipo de agente en todos los servidores y se usa una consola de gestión para generar informes. Los HIDS fueron los primeros sistemas que se desarrollaron en la comunidad informática. Estos sistemas no tienen ningún tipo de problema con el ancho de banda, no obstante solo pueden reconocer ataques contra máquinas que están ejecutando sus agentes. Si la compañía tiene servidores que usan sistemas operativos no reconocidos, el administrador no habrá ganado nada. Sin embargo, las soluciones que operan en host ofrecen algunos servicios adicionales, más allá de los que ofrecen los NIDS, como verificación de integridad binaria, análisis sintáctico de logs y terminación de procesos no válidos. Ventajas Al trabajar sobre eventos locales, son capaces de detectar ataques que no pueden ser vistos por los NIDS. Pueden trabajar en entornos cifrados. No tiene dependencia de protocolos. Permite hacer un seguimiento de un usuario concreto. La calidad de información que proporcionan, es muy alta. Puede trabajar en entornos conmutados. Son más costosos de administrar, que deben ser gestionados y configurados en cada Desventajas host. Si la estación de análisis se encuentra dentro del host monitorizado, el IDS puede ser deshabilitado si un ataque logra tener éxito sobre la máquina. No son buenos para detectar ataques a toda una red, como los escaneos de puertos, ya que sólo ve los paquetes que le envían a él. Pueden ser deshabilitados por algunos ataques DoS. Usan una cantidad mayor de recursos que los IDS basados en red. Vanessa Viñes Sanjuan 16 Sistemas de detección de intrusos 2.4.2. NIDS o IDS Network-Based Estos, a diferencia de sus compañeros HIDS, se encargan de proteger a un sistema basado en red. Normalmente están formados por un conjunto de sensores localizados en varios puntos de la red. Muchos de estos sensores están diseñados para correr en modo oculto, de esta manera es mas difícil para los atacantes determinar la presencia y localización del sensor. Actúan sobre una red capturando y analizando los paquetes que circulan la capa TCP-IP. Posteriormente analizan todos los paquetes que han capturado buscando los modelos conocidos de ataque, como los que generalmente realizan los hackers o los ataques al Web Server. Si se les ubica correctamente son capaces de analizar redes grandes. Su gran ventaja es que su impacto en el tráfico de la red suele ser pequeño. Actúan mediante la utilización de un dispositivo de red configurado en modo promiscuo. Analizan el tráfico de la red, normalmente, en tiempo real. No solo trabajan a nivel TCP/IP sino que también pueden hacerlo a nivel de aplicación. Los sistemas network-based son propensos a los positivos falsos (Explicado mas adelante en el punto de “Tipos de errores en los IDS”). Por ejemplo, si el Web Server tiene sobrecarga de trabajo y no puede manejar todas las peticiones de conexión, los IDS quizá pueden detectar que el equipo esta bajo un ataque, aunque en realidad, no lo sea. Estos sistemas son los más comunes y son un poco diferentes: se diseñan empleando una arquitectura de consola-sensor y suelen ser totalmente pasivos. También cabe decir que este tipo de sistemas casi no se hacen notar y son independientes de la plataforma, se pueden desplegar con poco o ningún impacto sobre las redes de producción. Ventajas Estos IDS tienen un impacto mínimo en la red, normalmente son dispositivos pasivos que no interfieren en las operaciones habituales de la red. Son muy configurables, hasta el punto de hacerlos invisibles para el resto de la red. De este modo pueden ejecutar mejor tu trabajo. Tenemos un solo IDS que controla varios equipos de la red. Es independiente del sistema operativo de la red. Envían la información a un sistema de recolección de logs. (Bases de datos, etc.) Es capaz de predecir un ataque antes de que este se produzca, ya que intercepta los paquetes antes de que estos sean leídos por el equipo al que iban destinados. Desventajas Cuando el sistema es conmutado, es en extremo dificultoso la instalación de estos sistemas. Sería necesario instalar espejos de puerto. En redes de grandes velocidades y con un gran tráfico, un IDS de este tipo no sería capaz de proteger el sistema contra intrusiones. No analizan la información que se encuentra cifrada. Estos IDS no saben si el ataque producido tuvo, o no, éxito. Lo único que pueden saber es que se ha producido un ataque. Esto se traduce a que, después que el IDS detecte el Vanessa Viñes Sanjuan 17 Sistemas de detección de intrusos ataque, debe ser el administrador el que se encargue de investigar si el intento de penetración tuvo realmente éxito. No puede controlar ciertos comportamientos de los usuarios dentro de los hosts. Requiere de hardware adicional, por ejemplo, una máquina que haga de IDS. 2.4.3. Híbridos Es una combinación de ambos sistemas con el objetivo de mejorar sus capacidades. Estos sistemas híbridos combinan las mejores características de ambos en una configuración del sensor del IDS, no obstante, sus características son inferiores a la suma de cada IDS por separado. Estos sistemas pueden ser más útiles en redes pequeñas en las que interesan sistemas más económicos y menos distribuidos. Real Secure de Internet Security Sistems (ISS), CyberCop de Network associates (NAI), son algunos ejemplos de soluciones que han adoptado un comportamiento híbrido. Ventajas Son más económicos que los HIDS o los NIDS. Aumenta el nivel de seguridad del Host. Tenemos más centralizado el sistema de seguridad. Pocos problemas de compatibilidad con el registro del sistema. Si la seguridad del Host ha sido comprometida, los registros también son Desventajas comprometidos. Compartimos la potencia del sistema entre los servicios del sistema y el IDS. 2.4.4. Pasivos Son aquellos que notifican al administrador del sistema mediante alertas, etc. Pero no actúan directamente sobre el ataque o atacante. 2.4.5. Activos Este tipo de respuestas son acciones automáticas que se toman cuando cierto tipo de intrusiones son detectados. Podemos diferenciarlos en dos categorías: Recogida de información adicional: consiste en incrementar el nivel de sensibilidad de los sensores para obtener más pistas del posible ataque. Vanessa Viñes Sanjuan 18 Sistemas de detección de intrusos Cambio de entorno: Parar el ataque, por ejemplo: cerrar una sesión TCP activa o filtrar en el router de acceso o en el firewall la dirección del atacante, para evitar intrusiones futuras. 2.4.6. Detección del mal uso Este tipo de detección puede incluir los intentos de un usuario por ejecutar programas sin permiso, como por ejemplo los “sniffers”. Estos modelos se implementan observando como se pueden explotar los puntos débiles de los sistemas, describiéndolos mediante unos patrones o una secuencia de eventos o datos que serán interpretados por el IDS. 2.4.7. Detección del uso anómalo La detección de actividades anómalas se apoya en estadísticas tras comprender cual es el tráfico “normal” en la red del que no lo es. Un claro ejemplo de actividad anómala sería la detección de tráfico fuera de horario de oficina o el acceso repetitivo desde una máquina remota (rastreo de puertos). Este modelo de detección se realiza detectando cambios en los patrones de utilización o comportamiento del sistema. Esto se consigue realizando un modelo estadístico que contenga una métrica definida y compararlo con los datos reales analizados en busca de desviaciones estadísticas significantes. Vanessa Viñes Sanjuan 19 Sistemas de detección de intrusos 2.5. Tipos de errores Tenemos básicamente dos tipos de errores que puedan ocurrir en un sistema de detección de intrusos, se pueden categorizar como: - Falsos positivos: Es un término aplicado a un fallo de detección en un sistema de alertas. Sucede cuando se detecta la presencia de una intrusión en el sistema que realmente no existe. - Falsos negativos: es un término que hace referencia a un fallo en el sistema de alertas. Sucede cuando un intruso intenta acceder a nuestro sistema y se le es permitida la entrada por el sistema de alertas. La familia de los falsos positivos la podemos agrupar en cinco tipos, dependiendo de la naturaleza de su origen: - Reactionary traffic alarms: Se detecta un comportamiento sospechoso como consecuencia de tráfico generado anteriormente. Por ejemplo, la detección de muchas respuestas procedentes de un router porque el equipo destino no se encuentra operativo en esos momentos. - Equipment-related alarms: Las alarmas del NIDS detectan paquetes dentro del tráfico de la red que identifica como “no usuales”. - Protocol Violations: Estos avisos se producen por software mal programado o que implementan de forma incorrecta algunas partes de los protocolos de Internet. - True False Positives: Todos aquellos falsos positivos que no se encuadren en ninguna de las categorías anteriores. - Non Malicious Alarms: Alarmas producidas al detectar rastros de comportamientos maliciosos pero que en ese contexto determinado no lo son. Los ejemplos de falsos negativos son más difíciles de detectar, generalmente suelen producirse por: - Configuración deficiente de los recursos de la red: Por muchos elementos de seguridad que posea la red, esto no implica que sea segura. Si estos elementos están mal configurados, no podemos asegurar la red. - Ataques desde dentro: Para intentar evitar eso se tendrían que tener controles internos para poder detectar a este tipo de atacantes. - Equipos no parcheados y víctimas de los últimos “exploits”: Se tiene que intentar tener el equipo totalmente actualizado, de lo contrario el sistema será propenso a ser atacada. Vanessa Viñes Sanjuan 20 Sistemas de detección de intrusos 2.6. Elementos básicos de un IDS Dentro de los sistemas de detección de intrusos nos encontramos con dos elementos básicos, estos son, los sensores y la consola, que se definen a continuación: Los sensores: Estos elementos de los IDS actúan de manera pasiva y cuya función es examinar todo el tráfico, de su segmento de red, buscando eventos que puedan tener interés. Dependiendo del paradigma que usen los sensores para comunicarse entre ellos, pueden clasificarse en dos grupos: - Push: Cuando se detecta un evento de interés el sensor crea un paquete de datos que envía a la consola, para su posterior estudio. Un protocolo muy utilizado con este tipo de sensores es el SNMP que permite la definición de traps para el envío de información a un receptor, que en este caso sería la consola. Este tipo de sensores tienen un inconveniente, y es que, pueden ser observados por el atacante, de este modo pueden descubrir como han estado configurados y así saber ante que tipo de patrones reaccionan. Una vez el atacante ha obtenido esa información el sensor deja de ser de utilidad, ya que lo único que debe hacer el atacante para poder entrar al sistema es establecer unos patrones que el sensor ignore y de este modo saltarse la seguridad del equipo. - Pull: Estos sensores almacenan los eventos de interés hasta que la consola les pregunta al respecto. Se puede establecer un protocolo de intercambio de mensajes cifrado y preguntar regularmente al los sensores sobre su estado, de este modo se puede llegar a conseguir un mecanismo eficaz de comunicación con la consola. Para evitar susceptibilidades, en caso de que el sensor no detecte eventos incluirá una cadena de caracteres aleatoria para evitar enviar siempre el mismo paquete de cuando no se han detectado eventos anómalos. La consola: La consola de un sistema de detección de intrusos se encarga de recibir toda la información que los sensores le proporcionan (ya sea mediante push o pull) y presentarla de manera legible y entendedora al operador del sistema. Desde la consola se pueden configurar los distintos sensores, así como emprender acciones en respuesta de los informes recibidos por los sensores. Vanessa Viñes Sanjuan 21 Sistemas de detección de intrusos 2.7. Protocolos de comunicación entre Sensor-Consola Siempre que se desarrolla un nuevo producto informático, el fabricante suele acompañarlo con un protocolo encargado de las comunicaciones entre las diferentes partes del sistema. Esto obligaba al usuario a depender de un único fabricante. Conforme la demanda de productos iba creciendo, los clientes buscaban un lenguaje/protocolo común para no tener que depender únicamente de un solo producto, y para que la comunicación pudiera establecerse entre distintos productos. Poder compartir los datos obtenidos de nuestro IDS con el de otras organizaciones puede evitar problemas en el futuro, ya que los atacantes suelen usar técnicas parecidas, y si en una empresa ya ha sido detectado, esa información le servirá a otras empresas para poder evitar futuros ataques del mismo tipo. Si los diferentes productos de detección que se encuentran en el mercado usan un protocolo común de comunicación, la publicación de cómo detectar ataques será más rápida, de forma que el primero que lo detecta podrá compartir esa información con el resto. Para poder llevar a cabo esta comunicación se han establecido distintos protocolos, a continuación se nombran los más importantes: - CISL (Common Intrusion Specification Language): Junto con la especificación de CIDF, DARPA e IETF, propusieron un Standard de representación de la información asociada a sistemas de detección de intrusos basados en un lenguaje de expresiones regulares de tipo S dónde se insertan marcas (tags) y datos (Ver ejemplo 2: tau.uab.es pagina 91). Estas expresiones están delimitadas por paréntesis y permiten expresar tres tipos de información: - Raw event information: Hace referencia a información básica obtenida directamente sin ningún tipo de post-proceso. Principalmente tráfico de red y resultados de auditorias. - Analysis results: Son las descripciones de las anomalías o de los ataques que han sido detectados. - Response prescriptions: Son el conjunto de acciones de respuesta predefinidas para algunos de los comportamientos observados. - OPSEC (Open Platform for Secure Enterprise Connectivity): Esta propuesta fue realizada por la empresa privada de seguridad Checkpoint Software, que debido a su liderazgo en el sector intentó imponer su Standard mediante una gran cuota de mercado. El paradigma propuesto a finales del ’97 permite agrupar en un único modelo las distintas necesidades y capacidades de un modelo de seguridad. Este protocolo se fundamenta en el uso de interfaces de aplicaciones (API) que permiten la interconexión de los distintos módulos, protocolos standards y un pseudo-lenguaje de alto nivel del tipo “shell-script” que permite gobernar todas las funciones y los elementos. OPSEC es el Standard “de facto” para la industria en la comunicación entre sistemas de detección de intrusos y firewalls. - CCI (Common Content Inspection): Este Standard fue propuesto por las diferentes compañías lideradas por Checkpoint, para el análisis de la información contenida en los Vanessa Viñes Sanjuan 22 Sistemas de detección de intrusos paquetes que recorren la red. Este protocolo pretende sustituir las boxes de la arquitectura CIDF por: - Content redirector: Es un servicio que se encarga de redireccionar el contenido a los motores de inspección y análisis. - Content inspector: Este servicio se encarga de realizar la inspección y el análisis de los contenidos. El API propuesto está muy relacionado con OPSEC (ya que pertenecen a la misma empresa de seguridad) y ambos se modifican teniendo en cuenta esta dependencia. - ANSA (Adaptive Network Security Alliance): Este Standard fue propuesto por la empresa ISS, para la interoperatividad de distintos sistemas de seguridad. Sus principales características son: - Automated response: Permite reconfigurar dinámicamente a los distintos equipos de red para responder a las amenazas detectadas en tiempo real. - Lockdown: Esta hace referencia a encerrar las distintas direcciones IP de los atacantes para evitar que puedan acceder o reconfigurar servicios críticos de la red, como los DNS, los servidores de correo, etc. - Decisión Support: La funcionalidad de asistencia para la toma de decisiones permite la utilización de técnicas de correlación y consultas históricas a bases de datos para sugerir acciones ante las posibles amenazas detectadas. - Security Management: El control/supervisión centralizado nos permite mantener una coherencia en nuestras actuaciones. Cada uno de estos elementos en lugar de tomar decisiones aisladas, se comunican con el resto del sistema para obtener respuestas conjuntas. Vanessa Viñes Sanjuan 23 Sistemas de detección de intrusos 3. A r q u i t e c t u r a d e l o s I D S 3.1. Arquitectura general de un IDS En este punto se van a detallar los tipos de arquitecturas que podemos encontrar en los sistemas de detección de intrusos actuales. A continuación se muestra un esquema genérico de los puntos principales que ha de tener la arquitectura de un IDS: La fuente de recogida de datos. Estas fuentes pueden ser un log, dispositivo de red, o como en el caso de los HIDS, el propio host. Reglas que contienen los datos y patrones necesarios para poder detectar anomalías en la seguridad de nuestro sistema. Filtros que comparan los datos obtenidos de la red o de logs con los patrones. Detectores de eventos anormales en la red. Dispositivos generadores de informes y alarmas. En algunos casos hasta se pueden enviar alertas a vía mail o vía SMS. 3.2. Arquitecturas específicas de un IDS 3.2.1. CIDF (Common intrusion detection Framework) El CIDF es un proyecto iniciado a finales de la década de los noventa por la oficina de información y tecnología del DARPA (Information technology Office). Inicialmente se enmarcó como parte de un programa de vigilancia de la información de redes de ordenadores, pero conforme los sistemas de detección de intrusos han ido ganando importancia, se convirtió en una rama independiente apoyada por otros organismos internacionales, como el Intrusión Detection Working Group (IDWG). Su objetivo es el de crear interfaces de aplicaciones (API) y protocolos que permitan la comunicación entre los diferentes IDS, con el objetivo de reaprovecharlos para otros sistemas. El CIDF nos propone una serie de estructuras, que denomina cajas (boxes), que encarnan cada una de las distintas funciones que deberían realizar los sistemas de detección de intrusos. De esta forma, simplemente define las funcionalidades genéricas deseadas y sus interconexiones, dejando abierto a cada fabricante la implementación final de éstas. Los componentes principales que componen este sistema son: Event generador (E boxes): Estas cajas describen la función de los sensores de los sistemas de detección de intrusos. Su función, al igual que la de los sensores, es recoger información de la red y generar informes/alertas para la consola de monitorización. Vanessa Viñes Sanjuan 24 Sistemas de detección de intrusos Análisis (A boxes): Son las encargadas de procesar la información obtenida de los sensores y realizar su análisis posterior. Database (D boxes): Simboliza la base de datos, o base del conocimiento. Aquí es donde se almacenan los informes, firmas y patrones detectados en la red por el sistema de detección de intrusiones. El objetivo de mantener esta información nos sirve para obtener la posibilidad de generar informes históricos para poder obtener de nuevos conocimientos, y para mantener la proactividad del sistema, o sea para conseguir una respuesta rápida del IDS ante un ataque nuevo consultando otros patrones similares ya registrados anteriormente. Response (R boxes): Este elemento es el encargado de proporcionar una respuesta ante los eventos obtenidos de las otras cajas o sugerir acciones al operador de la consola. E-Box E-Box A-Box D-Box R-Box NOTA: Muchas veces se tiende a economizar esfuerzos y recursos instalando el sensor y la consola en la misma máquina. Esto es totalmente desaconsejable, ya que los sensores deben filtrar el tráfico, y si le añadimos la consola u otros programas, lo que se consigue es cargar el sistema y restarle efectividad al sensor. Vanessa Viñes Sanjuan 25 Sistemas de detección de intrusos 3.2.2. DIDS (Distributed Intrusion detection System) Este tipo de arquitectura es útil cuando tenemos grandes redes con muchas subredes, es decir, redes de grandes empresas. En este caso un IDS común no nos proporciona una total inmunidad ante los posibles ataques, por esto se necesita un IDS con arquitectura DIDS. Este sistema nos proporciona la flexibilidad necesaria para la heterogeneidad de los distintos elementos que componen la red, para así poder asegurar la seguridad de las grandes redes. El análisis de los DIDS es bastante complejo, la diferencia con los sistemas de detección de intrusos de red, es la presencia de elementos nuevos en la arquitectura: Central Analysis Server: Es el cerebre del sistema distribuido, y es el encargado de recibir toda la información procedente de los agentes o de los transceptores (en entornos complejos) y analizarla. Puede llegar a detectar ataques que los agentes/transceptores no hayan interceptado. Se encarga del control de agentes y transceptores, también realiza funciones de control y sincronización de los diferentes nodos que forman parte del sistema. Co-operative Agent Network: Es un sistema autónomo encargado de la monitorización de la red. Detecta posibles incidentes e informa al servidor central para que comunique a todos los nodos el ataque detectado así como las contra-medidas a realizar. Un agente no se comunica con los demás agentes, y puede haber de 0 a N agentes por máquina. Se encuentran en el nivel más bajo de la jerarquía. Transceiver: Un transceptor es básicamente un transmisor + receptor. Estos elementos se usan con redes de mayor complejidad y se colocan en cada máquina donde exista algún agente. Se encargan de la interfaz de comunicación entre los agentes y los maestros, o sea que transmite información a uno o varios maestros, a la vez que también recibe órdenes de ellos. Consola de eventos: Este elemento es común con otras arquitecturas, es la interfaz del DIDS con la parte humana. Es el elemento superior de la jerarquía y proporciona ayuda a la hora de tomar decisiones. Vanessa Viñes Sanjuan 26 Sistemas de detección de intrusos Veamos con un poco más de detalle como es una arquitectura típica de un sistema de detección de intrusos basado en red. 3.2.3. Arquitectura de los NIDS Según la aproximación utilizada para la monitorización del tráfico de la red, podemos agrupar los sistemas de detección de intrusos basados en red, según estas tres arquitecturas: Signatura based NIDS: Al igual que muchos antivirus, estos IDS se basan en la búsqueda de patrones conocidos dentro del tráfico de la red. Anomaly based NIDS: Estos se basan en analizar el tráfico de la red creando estadísticas y asignándoles importancias. Cuando el sistema detecta tráfico sospechoso, verifica con las estadísticas anteriores y en función de la importancia asignada y de la cantidad de ocurrencias del evento en cuestión, el IDS provoca que salte una alarma o de lo contrario, no hace nada. Protocol modeling NIDS: Estos sistemas de detección de intrusos buscan paquetes en la red, que contengan anomalías o configuraciones poco comunes de los protocolos de red. Vanessa Viñes Sanjuan 27 Sistemas de detección de intrusos 4. Características de los IDS 4.1. Análisis de los datos obtenidos por un IDS Hay que tener en cuenta que el tráfico capturado durante el transcurso de un día puede llegar a ser muy grande, por eso se le aplican filtros y de ese modo se reduce sustancialmente la cantidad de información. No obstante, no solamente nos interesa guardar el tráfico diario, sino que se quieren guardar ficheros históricos de meses o incluso años. No es necesario decir que es mucha información, con lo que se debe almacenar de la mejor manera para que luego su posterior consulta se realice fácilmente. Como este es un tema importante, muchos IDS actuales ya llevan incorporados un soporte para bases de datos relacionales como elementos importantes de soporte para sus sistemas de información (Oracle, SQL Server, MySQL, etc.). Sea cual sea el formato usado para el almacenamiento de la información debe cumplir las siguientes características: - Debe realizar una reducción importante de datos, pero conservando la información que sea importante. - Debe poseer un formato compacto, fácil de consultar, escribir y actualizar. - Debe permitir la interrelación de todos los datos entre sí. El objetivo de almacenar históricos de tráfico de red es doble, por un lado poder realizar informes y estadísticas sobre incidentes en nuestra red (ya sea con el exterior o interna). Por otro lado nos debe permitir conocer cuando un ataque presenta características similares o iguales a otro ataque ya producido anteriormente, para poder reaccionar ante él en tiempo real. Vanessa Viñes Sanjuan 28 Sistemas de detección de intrusos 4.2. Capacidades de los IDS A continuación se nombran algunas de las ventajas que nos proporcionan los sistemas de detección de intrusiones actuales: - Monitorización: Cuentan con métodos para monitorizar y analizar tanto los eventos de sistema, como el comportamiento de los usuarios. - Claridad: Extraen los datos más relevantes de entre grandes cantidades de datos de eventos de auditoria, lo que facilita el trabajo del auditor de seguridad. Para ello suelen utilizar diversos métodos, como la resolución de auditoria, o técnicas de filtrado estadísticas. - Registro: La mayoría de los IDSs proporciona no sólo métodos para registrar su propia actividad, sino que permiten emitir informes sobre los eventos más importantes ocurridos en un determinado período de tiempo. - Comprobación continua: Crean un modelo sobre el estado del sistema, y comparar los cambios posteriores con respecto a ese modelo. En este aspecto se incluyen los casos que se utilizan algoritmos de cifrado para determinar si ha habido cambios en el sistema de ficheros. - Correlación: Aunque de forma limitada, pueden estableces patrones de relación entre ataques o comportamientos similares, mostrados desde distintas máquinas para sí determinar por ejemplo, si el atacante es la misma persona, o si se trata de un ataque coordinado. - Ataques conocidos: Los IDSs basados en la detección de usos indebidos, pueden reconocer ataques que coincidan con los patrones que almacenan en su base de conocimiento. - Ataques no conocidos: Normalmente utilizan técnicas estadísticas para elaborar patrones de actividad y contrastarlos con la actividad normal, detectando posibles anomalías. Aunque poco desarrollado en la práctica, este enfoque tiene ilimitadas posibilidades. Los métodos basados en redes neuronales, algoritmos genéticos, minería de datos o los relacionados con el sistema inmune biológico, son tan sólo algunos de los utilizados en la detección de anomalías. Todos ellos han dado resultados satisfactorios. - Fallos de seguridad: Los analizadores de vulnerabilidades, considerados como un caso especial de IDS (enfoque estático), permiten comprobar la seguridad de la configuración de un sistema. En ocasiones esto se hace lanzando ataques conocidos contra el objetivo, para evaluar sus reacciones. Otra de las formas de descubrir vulnerabilidades consiste en repasar automáticamente la configuración del sistema, en busca de debilidades en las políticas de seguridad. Vanessa Viñes Sanjuan 29 Sistemas de detección de intrusos - Tiempo real: La mayoría de los productos de detección de intrusiones actuales utilizan mecanismos de análisis y registro en tiempo real. - Alarmas: Comunican alarmas a los responsables cuando se produce una situación anormal, como una intrusión. Las opciones para hacer esto son bastante variadas, pudiéndose por ejemplo, registrar un evento de sistema, o enviar una notificación vía correo electrónico o mensajes SMS ("Short Message Service"). - Sencillez de uso: Las características de detección automática así como contar con una interfaz fácil de usar, hace que muchos IDSs permitan incluso a usuarios no expertos en seguridad, mejorar de forma sensible la seguridad de sus sistemas. - Seguridad básica: Proporcionan información sobre las políticas de seguridad por defecto, así como métodos para corregir los posibles errores de configuración de forma automática. - Actualización: La mayoría de los productos de detección de intrusiones basados en patrones de ataques contemplan la posibilidad de actualizar con frecuencia sus bases de conocimiento. Muchos de ellos permiten programar este proceso, que suele realizarse periódicamente mediante comunicación cifrada. 4.3. Limitaciones de los IDS Los IDS actuales basan su funcionamiento en un esquema estático lo cual los convierte en sistemas muy ineficientes en el momento en el que un atacante codifica los datos de entrada. Adicionalmente, la base de datos de las firmas de ataque sufren los mismos inconvenientes que los antivirus, si la base de datos no es actualizada regularmente, es muy probable que el sistema sea atacado sin ser detectado. Además, el tiempo entre el descubrimiento de un nuevo ataque y su inclusión es bastante alto, teniendo en cuenta que el tiempo entre la publicación de dicho ataque y la realización del mismo sucede en un plazo de tiempo muy corto. A continuación se nombran algunas de las limitaciones de los sistemas de detección de intrusos actuales: - Solución definitiva: Los problemas de seguridad pueden originarse por múltiples motivos. No existe ninguna solución única que los resuelva todos. Los sistemas de detección de intrusiones no son una excepción. No obstante, aportan una serie de características únicas que los convierten en herramientas de gran ayuda en muchos entornos. - Recursos: El proceso de registro de datos y análisis (especialmente en tiempo real) hace que los sistemas de detección tengan importantes requerimientos de recursos de sistema, como tiempo de proceso o espacio de almacenamiento en bases de datos. Esto se hace especialmente necesario durante la monitorización de redes de alta velocidad. Vanessa Viñes Sanjuan 30 Sistemas de detección de intrusos - Autosuficiencia: No pueden compensar las debilidades o ausencia de otros sistemas de seguridad de la infraestructura, como contraseñas de baja calidad, cortafuegos, antivirus, etc. - Sobrecarga: No pueden detectar, analizar y enviar alarmas frente a ataques de forma instantánea cuando hay demasiada carga de trabajo (excesivo tráfico de red, actividad de sistema) [2]. Estos sistemas llegan a descartar paquetes de red o segmentos de información de actividad de sistema, cuando la situación de sobrecarga es crítica. - Defensa ante nuevos ataques: En la mayoría de los casos, no pueden detectar ataques de reciente aparición, o variantes de ataques existentes. Esto ocurre con mayoría de productos comerciales, que suelen utilizar detección de usos indebidos, basada en reglas o patrones de ataques. La detección de anomalías, dada la naturaleza de este tipo de análisis, permite ampliar el rango de detección de este tipo de ataques, pero no los reconoce todos. - Defensa ante ataques sofisticados: Como ya se ha comentado, estos sistemas son de gran ayuda a la hora de simplificar las tareas de auditoria de seguridad. Pueden detectar con cierta eficacia ataques comunes, o de relativa simplicidad. Filtran grandes cantidades de información, destacando datos que pueden estar relacionados con posibles intrusiones. Sin embargo, no deben ser sobrevalorados. Aún no están preparados para identificar ataques demasiado sofisticados, realizados por atacantes expertos, que en algunas ocasiones utilizan técnicas de fragmentación de paquetes o incluso protocolos propios. En ese aspecto, sigue siendo necesaria la intervención humana. - Defensa ante ataques directos: Al igual que ocurre con otros productos, como antivirus, o cortafuegos, no son capaces de bloquear ataques diseñados para evitar o inutilizar específicamente estos sistemas. Estas acciones son siempre realizadas por atacantes con amplios conocimientos sobre este tipo de sistemas. - Investigación automática: Realizan tareas de análisis, y envían alarmas en caso de reconocer intrusiones o acciones hostiles. No obstante, la labor de investigación de cada ataque realizado la debe realizar un humano. Esto tipo de acciones conlleva ciertas responsabilidades y habilidades de las que carecen estos sistemas. - Conocimiento de cada situación: Estos sistemas no conocen de antemano las particularidades de cada entorno en que son implementados. Es el responsable de seguridad quien debe configurarlos, y adaptarlos a cada situación progresivamente. - Calidad de los datos: No pueden compensar errores producidos por el uso de datos de mala calidad. Hay ataques que consisten en saturar a los IDSs con información redundante, o simplemente ruido. Cada fuente de datos adicional incrementa las posibilidades de obtener información contaminada por un atacante. Trabajar con datos carentes de utilidad, incapacitada los resultados obtenidos. - Calidad de los protocolos: No compensan las debilidades asociadas al diseño de un protocolo. Por ejemplo, TCP/IP y muchos otros protocolos no fueron creados para Vanessa Viñes Sanjuan 31 Sistemas de detección de intrusos realizar mecanismos robustos de autenticación. Cuando alguien realiza un ataque, la dirección origen de los paquetes involucrados no tiene por qué ser necesariamente la del atacante. Esto dificulta la identificación y persecución de los culpables mediante procesos legales y judiciales. - Encriptación: El uso de comunicaciones cifradas (como SSH, SSL, IPSec, etc.) puede inhabilitar la utilidad de un detector de intrusiones basado en red, ya que no puede interpretar lo que está monitorizando. Aún en el caso de que pudiera interpretar lo que percibe, tener que descifrar los datos supondría una carga adicional de proceso. Esto no sólo incrementaría sus requerimientos de recursos, sino que podría hacer esta labor casi imposible en entornos con grandes cargas de tráfico. Para evitar este problema, los detectores se suelen instalar en los puntos extremos de la comunicación, para examinar los datos descifrados por las máquinas ("hosts"). - IPv6: Muchos detectores de intrusiones comerciales son incapaces de interpretar el protocolo IPv6, sucesor del ampliamente utilizado en Internet: IPv4. El protocolo IPv6 no está siendo adoptado por igual en todo el mundo, teniendo mayor acogida en los países asiáticos. Sin embargo, incluso en entornos en los que se trabaja únicamente con IPv4, el protocolo IPv6 permite crear túneles sobre IPv4. Esto impide a los detectores de intrusiones reconocer aquellos ataques que lo utilizan. Esta situación se puede corregir añadiendo capacidades de análisis de este protocolo a los motores de detección. Con respecto a los sistemas de detección de intrusos basados en red, existen inconvenientes adicionales. Al basar su observación sólo en la observación del tráfico que circula por la red. Esta única fuente de información le confiere una serie de limitaciones: - Entornos conmutados: Los detectores de intrusiones basados en red no trabajan bien en entornos de red que utilicen conmutadores ("switched enviroments"). Estos dispositivos sólo les envían el tráfico de red que va destinado a ellos mismos, dificultando las tareas de monitorización de tráfico de red global. - Si alguien crea una BackDoor o crea una red paralela en la Intranet, probablemente el IDS no lo detectará, puesto que están diseñados para el rango IP señalado. - Si los sensores del IDS no funcionan por que el OS no se encuentre operativo, no se verá nada. Por eso es importante tener controlados los sensores haciéndoles, por ejemplo, un ping periódicamente. - Muchos IDS no soportan protocolos minoritarios como el IPX/SPX o SNA. - Cuando hay mucha actividad en la red suele descartar los paquetes que no puede procesar, esto provoca que haya mucho tráfico potencialmente malicioso que no ha sido analizado. Vanessa Viñes Sanjuan 32 Sistemas de detección de intrusos 4.4. El ataque mitnick Este tipo de ataque es considerado como el umbral mínimo que ha de pasar un sistema de detección de intrusos para poder considerarse útil. Kevin Mitnick es el hacker más famoso de todos los tiempos, fue capturado por Tsutomu Shimomura y entregado al FBI. Fue condenado a 68 meses de prisión de los que sólo cumplió 60. Actualmente se encuentra en libertad. Este ataque se basa en el conocimiento de los protocolos de Internet, como TCP, IP, UCMP, OC, etc. y la combinación de dos técnicas de hacking: - SYN Flooding: Esta técnica consiste en realizar miles de peticiones de conexión a un ordenador sin finalizar completamente ninguna de ellas. De esta forma intenta bloquear la máquina que recibe las peticiones, consumiendo todos sus recursos. - TCP Hijacking: Esta técnica consiste en conseguir apropiarse de una conexión ya iniciada, desviándola hacia el ordenador del atacante. El objetivo del ataque es conseguir acceso a una máquina a la que legalmente no podemos entrar. Primero se detectaran las conexiones existentes y posteriormente seleccionar a una víctima a la que se le robara la conexión. De esta forma se consigue entrar en el sistema sin necesidad de validarnos con login y password. El modo de actuar de Mitnick fue: instaló un sniffer (TCP-Dump) para examinar el tráfico de la red donde se encontraba el ordenador víctima. Observando el tráfico podemos deducir que cada vez que se inicia una petición de conexión a “x-terminal” la respuesta del servidor contiene un número de secuencia que es, la mayor parte de las veces, mayor que el enviado por la petición. Si el número de secuencia que se encuentra es erróneo, automáticamente el servidor genera un reset y cierra la conexión. Si hemos obtenido un número de secuencia correcto, ya podremos obtener la conexión de un usuario que ya esté registrado en el sistema. Esto es posible debido a que una vez se ha autenticado la conexión ya no se vuelve a comprobar hasta que la conexión se cierra y se vuelve a establecer. De esta forma, una vez iniciada la conexión desde un cliente autorizado (paso 1 de la figura), Mitnick "silencia" al cliente mediante un ataque SYN FLOOD. Simultáneamente el servidor completa el segundo paso de la conexión (paso 2 de la figura) que nunca llegará a su destino, puesto que el cliente ya ha sido silenciado. A continuación, Mitnick "crea" manualmente un paquete IP que contiene el número de secuencia del servidor + 1 (ACK predecible) falseando la dirección de origen por la del cliente autorizado. En este punto la respuesta del servidor (paso 3 de la figura) no es vista por Mitnick, ya que al falsear la dirección de origen nunca le llegará la respuesta. Se "confía" en que este paquete del servidor se ha enviado y que el ataque de SYN FLOOD sea exitoso y silencie al cliente autorizado, ya que si no respondería a esta petición con un RESET. Vanessa Viñes Sanjuan 33 Sistemas de detección de intrusos Una vez conocidos y validados los números de secuencia de la conexión TCP, el atacante ejecuta el siguiente comando: rsh x-terminal "echo + + >>/.rhosts Que permite a cualquier usuario iniciar una conexión X-terminal como root desde cualquier máquina. Una vez llegado a este extremo, el atacante tiene acceso total a la máquina. Vanessa Viñes Sanjuan 34 Sistemas de detección de intrusos 4.5. Dónde colocar el IDS? En la mayoría de casos no será necesario (a no ser que sea una GRAN red) instalar un IDS en cada host, lo mas normal sería usar una máquina como consola para monitorizar los eventos y un sensor (pull o push, según convenga) para que capture todo el tráfico de la red y pueda enviar a la consola el que le parezca sospechoso. Ahora hay que decidir donde colocar los sensores, tenemos distintas posibilidades: - Delante del firewall: Lo que conseguiremos será capturar todo el tráfico que circule por la red, con lo que seguramente obtendremos muchas falsas alarmas. De este modo también podremos detectar ataques cuyo objetivo sea el cortafuegos principal. No obstante la colocación del IDS delante del firewall, nos aporta una serie de inconvenientes: - En esta localización suele haber gran cantidad de tráfico, un detector mal configurado puede saturarse, descartando parte de la información. - Una situación como esta no nos ofrece ninguna protección. El IDS puede convertirse en un blanco fácil si algún atacante logra identificarlo. Vanessa Viñes Sanjuan 35 Sistemas de detección de intrusos - Detrás del firewall externo: A esta zona, situada entre Internet y la red interna, se la denomina DMZ, o zona desmilitarizada. Se utiliza para proporcionas servicios públicos sin tener que permitir acceso a la red privada de la organización. Si de lo contrario, instalamos el IDS detrás del firewall, nos monitoreará todo el tráfico que el firewall haya dejado pasar, con lo que reduciremos notablemente los falsos positivos y así aumentaremos la seguridad de nuestro equipo. - Algunos administradores van más allá y colocan un IDS delante y otro detrás del firewall, así tiene un mejor control de los tipos de ataques que recibe nuestra red y así también pueden ver si realmente el cortafuegos funciona correctamente. Vanessa Viñes Sanjuan 36 Sistemas de detección de intrusos - Otra opción es, según dice la experiencia, ponerle un poco de imaginación. De esta manera lo que podemos conseguir es, reducir los costes y maximizar la optimización del rendimiento de nuestro sistema de detección de intrusos. La experiencia nos dice que si colocamos un ordenador lo bastante potente, con tres interfaces de red conectadas a cada rama del firewall, es más fácil contrastar la información que se ha de analizar. También reducimos costes ya que, de otras maneras, se colocaban tres IDS, uno por cada rama. El IDS para una cuarta interfaz de red se conectara a la consola central de análisis. Vanessa Viñes Sanjuan 37 Sistemas de detección de intrusos 5. A n á l i s i s d e p r o d u c t o s 5.1. Productos comerciales Net Ranger ® - Cisco Systems (http://www.cisco.com) Este es el sistema de detección de intrusos propuesto por Cisco Systems. Conocido por Cisco Net Ranger, es una solución para detectar, prevenir y reaccionar contra actividades no autorizadas a través de la red. Cisco Secure IDS está compuesto por un sensor y un director. Las herramientas de alta velocidad de Cisco son capaces de analizar todos los paquetes individuales de la red, y determinar si se les da acceso o si se les niega el acceso. Si se produce alguna intrusión, los sensores de cisco lo detectan en tiempo real, y envían las alarmas que correspondan al director. El Cisco Secure IDS Director, una vez recibida alguna alarma, se encarga de estimar la localización desde dónde se ha producido el ataque, así como sacar al atacante de la red. Este sistema de Cisco también incorpora funciones de respuesta pro-activas en el sensor, mediante la modificación de las listas de control de acceso de los routers Cisco de los usuarios se pueden configurar para rechazar o aceptar conexiones automáticamente. Esta característica puede ser temporal o permanente. Cisco Secure IDS Sensors Dentro de los sensores que nos proporciona la compañía Cisco Systems, podemos dividirlos en cuatro categorías, según las necesidades de los clientes: Modulo IDS Catalyst® 6000: Para redes conmutadas. Es capaz de monitorizar 100Mbps de tráfico, y aproximadamente 47.000 paquetes por segundo. IDS-4250: Soporta hasta 500Mb/s sin paralelizar. Es capaz de monitorear tráfico en una red Gigabit. IDS-4235: Está optimizado para monitorizar 200 Mb/s y para monitorizar puertos SPAN (Switched Port Analyzer). También es adecuado para múltiples entornos T3. IDS-4210: Optimizado para redes de 45 Mb/s aunque también es adecuado para T1/E1, T3 y entornos Ethernet. Vanessa Viñes Sanjuan 38 Sistemas de detección de intrusos RealSecure® - Internet Security Systems (http://www.iss.net) RealSecure ® Network Sensor Este sistema, de Internet Security Sistems, nos proporciona: detección, prevención y respuestas a ataques originados desde cualquier punto de la red. Entre las respuestas automáticas que nos proporciona el sistema, tenemos: almacenamiento de los acontecimientos en una base de datos, bloquear conexiones, enviar mails, suspender o deshabilitar cuentas y crear alertas ya definidas por el usuario. Dispone también de una herramienta que nos sirve para actualizar los patrones de firmas, y así poder disponer de las últimas novedades y poder evitar más posibles ataques. Todos los sensores son gestionados por la consola central RealSecure® SiteProtector, incluyendo la instalación automática, desarrollo y actualizaciones. RealSecure® Sentry, nos proporciona la detección en tiempo real. Los drivers de captura de paquetes a alta velocidad funcionan sin causar impacto en la red. Están disponibles en full duplex, multipuesto y Gigabit. Dragon – Enterasys Networks (http://www.enterasys.com/ids) Este sistema está compuesto básicamente por tres productos: Dragon Sensor: Monitoriza el tráfico. Dragon Squire: Monitoriza los logs de firewalls y otros sistemas de seguridad. Dragon Management Server: Analiza lo que le envían los dos anteriores. A continuación se detalla un poco el funcionamiento de estos tres productos de Enterasys Networks. Dragon Sensor Es un sensor que monitoriza una red buscando actividades sospechosas. Cuando detecta alguna acción hostil, envía informes junto con un registro de análisis forense al servidor Dragon. Características que posee el sensor Dragon: - Detección de actividades sospechosas tanto mediante firmas como mediante técnicas basadas en anomalías. - Decodificación robusta a nivel de aplicación, el sensor tiene un conocimiento avanzado de los protocolos a nivel de aplicación. - Incorporación de filtros que hacen que se reduzca la cantidad de falsos positivos. - Monitorización de redes de alta velocidad. - Honeypots virtuales: permiten al administrador del sistema colocar numerosas trampas para escáneres de red y atacantes. - El Dragon es soportado por los siguientes OS: Linux, Solaris, HP-UX, FreeBSD y OpenBSD. El Dragon provee de más de 1300 firmas, estas firmas también pueden ser elaboradas por el usuario final, no obstante, esta labor es compleja debido a la flexibilidad y potencia de la sintaxis de Dragon. Vanessa Viñes Sanjuan 39 Sistemas de detección de intrusos Dragon Squire Este producto se encarga de monitorizar los logs de los sistemas de producción y firewalls, en busca de evidencias de actividades maliciosas. Está basado en firmas y, a diferencia de otros IDS basados en Host, puede monitorizar los logs de las aplicaciones que corren dentro del host, tales como servidores web, mail o ftp. Dragon Management Server Las consolas de análisis, este producto incluye tres aplicaciones web para el análisis que soportan: análisis en tiempo real, correlación de tendencias e inspección detallada de cada evento. También se incluye una interfaz de línea de comandos, con las siguientes herramientas: - Consola de análisis forense: Es un conjunto de aplicaciones que procesan datos de eventos usando herramientas de línea de comandos y nos permite ver, a bajo nivel, información sobre los paquetes que hicieron saltar las alarmas. Adicionalmente, muestra gráficas de las estadísticas en el tráfico. - Consola en tiempo real: Proporciona una aplicación de alta velocidad para analizar varios millones de eventos. - Consola de correlaciones: Se utiliza para buscar eventos de forma eficiente mediante consultas SQL. NFR– NFR Security (http://www.nfr.com/) La Solución que nos propone NFR es: Sentivist™. Este sistema de detección nos proporciona las siguientes características: - Detección Altamente Exacta Del Ataque: Los asaltos de Cyber pueden dar lugar a pérdidas financieras serias. El número y los tipos de ataque están aumentando, están llegando a ser más perjudiciales, y son más duros de detectar. Identificarlos requieren un arsenal de mecanismos de detección, incluyendo el análisis de la anomalía del protocolo, análisis de la firma,... Sentivist tiene el motor más sofisticado de la detección del ataque disponible. Utiliza análisis avanzado de la firma para detectar ataques sabidos; por ejemplo: entradas por la puerta trasera, los gusanos del Internet, exploraciones del puerto, overflows, ataques de ping, y procura conjeturar contraseñas. Las capacidades de la detección de la intrusión de Sentivist dan lugar a niveles perceptiblemente más altos de la exactitud y de lejos pocos positivos falsos. Se mantiene el estado del tráfico, los datos se examinan en contexto, y los ataques se determinan para el impacto. Sentivist reduce al mínimo la oportunidad para que los ataques disfrazados pasen desapercibido. - Gama de sensores del alto rendimiento: Los sensores de Sentivist se pueden colocar dondequiera en la red, supervisando el tráfico que viene o a través del cortafuegos, cruzándose a partir de una subnet a otro, o teniendo acceso detallado a los recursos tales como servidores de mail, servidores de la tela, servidores de la base de datos, etc. Vanessa Viñes Sanjuan 40 Sistemas de detección de intrusos - Fácil configuración y modificación. - Opciones para redes de alta disponibilidad: Sentivist 320C y Sentivist 320F tienen la capacidad para supervisar NICs múltiple, permitiendo el control continuo de las redes excesivas de la alta-disponibilidad. Los sensores de Sentivist se pueden configurar para volver a dirigir automáticamente sus datos a un servidor alternativo de Sentivist, asegurando la continuidad de alertar y de la grabación del acontecimiento. - Administración y operatibilidad flexibles. - Despliegue y mantenimiento rápidos, fáciles. - Respuesta rápida ante nuevos ataques. Vanessa Viñes Sanjuan 41 Sistemas de detección de intrusos 5.2. Productos de libre distribución Snort (http://www.snort.org) Snort es un NIDS desarrollado por Marty Roesch y liberado bajo licencia CPL. Esta basado en libpcap, librería de captura de paquetes, y funciona mediante un conjunto de reglas a través de las cuales hace pattern-matching con los paquetes que circulan por la red. Su gran ventaja frente a otros sistemas comerciales es que es open-source, además de ser gratuito el código fuente se puede modificar, de este modo se puede adaptar el programa a las necesidades más específicas. Además, su manera de definir reglas es bastante sencilla, de manera que cuando se detecta un ataque nuevo, aparecen nuevas reglas para detectarlo. La arquitectura de Snort está basada en capas, donde los paquetes que se leen van pasando desde la capa más inferior hasta la capa superior. Logging and alerting Detection Engine Packet Decoder Sniffer Vanessa Viñes Sanjuan 42 Sistemas de detección de intrusos A continuación se detallan cada una de esas capas. Sniffer Snort utiliza la librería libpcap para leer los paquetes que pasan por la red. Libpcap es una librería multiplataforma que abstrae la captura de paquetes de red, lo que permite a Snort no depender de funciones propias de cada sistema operativo y ser portable a cualquier plataforma donde exista una versión de dicha librería. Libpcap es la encargada de poner el interface de red en modo promiscuo y de la captura de paquetes que después pasarán a la siguiente capa de Snort. Packet Decoder Una vez los paquetes se han leído de la red se pasan a esta capa de Snort, que se encarga de descodificarlos y guardarlos en una estructura interna en memoria que permite un acceso rápido a ello. Snort es capaz de descodificar diferentes tipos de protocolos, Ethernet, PPP, token ring,…, y posteriormente extraer los paquetes de nivel superior (IP, ARP, IPv6,…). El siguiente paso, en cuanto tenemos los paquetes descodificados, es tratar éstos mediante los preprocesadores. Estos son una serie de módulos que permiten la modificación de paquetes antes de pasarlos a la siguiente capa. Detection Engine Esta capa se basa en la comparación de los paquetes leídos y tratados por las capas inferiores con las reglas suministradas por el programa. Estas reglas se agrupan en diferentes categorías dependiendo del tipo de ataque que detecten y se almacenan en formato texto en diversos ficheros. Cuando el paquete coincide con alguna de las reglas, pasa a la siguiente capa, donde se actuará en consecuencia. Logging and alerting La última capa dentro de la arquitectura de Snort es la de avisos. En esta capa se ejecutarán una serie de comandos dependiendo del tipo de acción indicado por la regla coincidente y de la configuración indicada. Existe una gran cantidad de opciones de salida, las más importante son: - Alert Full: Guardará el mensaje de alerta y la cabecera completa de los paquetes. - Alert Fast: Guardará el mensaje de alerta, direcciones y puertos de origen/destino y hora. - Alert Syslog: Enviará el mensaje de alerta a través de syslog. - Etc… Vanessa Viñes Sanjuan 43 Sistemas de detección de intrusos Snort también se puede combinar con otros elementos para tener un mejor funcionamiento. Una opción buena es combinar Snort con MySQL y con ACID. A continuación se resume su objetivo principal: El objetivo va a ser configurar Snort para que guarde todos los logs que genera en una base de datos MySQL. La otra aplicación, ACID, es una aplicación web escrita en PHP que nos permitirá acceder a toda la información que Snort nos proporciona, de manera ordenada y sencilla. ACID también nos permitirá realizar búsquedas, de todo tipo, en la base de dados. Las búsquedas que puede realizar son básicamente: por ip fuente/destino, por fecha, por ataque, por protocolo, realizar informes, graficas, etc, El objetivo de instalar Snort con estas dos herramientas extra, que facilita enormemente el análisis de logs. También se puede configurar para que cada día se envíen vía mail informes de la actividad de la actividad registrada. Osiris (http://www.hostintegrity.com/osiris/) Osiris es un sistema de detección de intrusiones basado en Host, o sea un HIDS. Éste se basa en la integridad del sistema de ficheros del Host. Se puede utilizar para supervisar cambios en una red de Hosts en un cierto plazo y para divulgar los posibles cambios al administrador. Actualmente, esto incluye la monitorización de cualquier cambio en los sistemas de ficheros. La manera de actuar es sencilla: osiris toma “fotos” periódicas del sistema y las almacena en una base de datos. Estas bases de datos, así como las configuraciones y los registros, son todas almacenadas en un anfitrión central de la gerencia. Cuando se han detectado cambios, osiris almacena estos acontecimientos en el registro del sistema y, opcionalmente, enviará un mail al administrador del sistema informando de los cambios acontecidos. Además de archivos, Osiris tiene ayuda preliminar para la supervisión de la otra información del sistema incluyendo listas de usuario, detalles del sistema de ficheros, módulos del núcleo y configuraciones de la interfaz de la red. Prelude-IDS (http://www.prelude-ids.org/) Prelude es un sistema híbrido de la detección de intrusiones. El prelude es un sistema distribuido bajo licencia GLP. Preludie se desarrolla sobre todo bajo de GNU/Linux, pero también apoya * el DEB, así como cualquier plataforma obediente de POSIX. Se ha diseñado para que sea óptimo en los ambientes distribuidos, totalmente modular, robusto, y rápido. Arquitectura de Prelude Prelude está dividido en componentes como, sensores, servidores centrales y consolas. Los sensores son los responsables de detectar las intrusiones y de dar parte de los eventos al servidor central de prelude usando una conexión TLS. El servidor central de prelude puede procesar esos eventos y analizarlos. La consola de prelude puede ser usada para monitorizar esos eventos. Componentes de prelude: - Prelude-library: framework (marco de trabajo): Libprelude es la biblioteca que proporciona el marco usado para tener acceso al sistema de prelude. Maneja las comunicaciones seguras con uno o varios managers de prelude, y proporciona un API Vanessa Viñes Sanjuan 44 Sistemas de detección de intrusos para crear acontecimientos basados en IDMEF (formato del intercambio de mensajes entre los sensores y los managers). También le da la capacidad de crear los sensores que leen los acontecimientos recibidos por uno o un sistema de managers. - Prelude-managers: Recoge y normaliza acontecimientos. El prelude manager es un servidor de alta disponibilidad que recoge y normaliza la información de los sensores distribuidos y los almacena en la base de datos. También proporciona la capacidad de retransmitir acontecimientos recibidos a uno o varios servidores de managers. También le proporciona la capacidad de filtrar acontecimientos recibidos, de modo que se puedan proporcionar las acciones específicas para los acontecimientos específicos. - Prelude-LML Analizador del registro, colector de los acontecimientos del syslog. Prelude-LML es un analizador de firma que supervisa el logfile del registro. Fue escrito para integrar fácilmente los productos de los terceros que no se pueden modificar directamente. - Prelude-Library: Proporciona un acceso fácil a la base de datos de prelude. Permite que se utilice la base de datos de prelude IDMEF fácilmente y eficientemente sin tener que preocuparse de conocer el lenguaje SQL, y que tengan acceso a la base de datos independientemente del formato de la misma. - Pewikka: La consola de prelude. Pewikka es una aplicación profesional que proporciona características avanzadas, como: la filtración, la agregación,… Arquitectura de prelude - Sensores: un sensor es un programa que analiza el flujo de información, y genera eventos cuando detecta actividad maliciosa. Los eventos son descritos usando la IDMEF (Intrusion Detection Exchange Format: formato de intercambio de la detección de la intrusión) Standard, aunque en la otras implementaciones de prelude se usa como lenguaje descriptivo el XML, debido a su mayor rapidez. Prelude tiene múltiples sensores, no limitado a Snort, Sanhain, PreludeLML,… (la lista completa se encuentra en la página web de prelude). Cualquier sensor se debe conectar con uno o con varios managers, esto se puede modificar en el archivo de configuración de prelude. - Managers: El prelude-manager es un servidor de alta disponibilidad que recopila, de los diversos sensores distribuidos, los eventos generados y los almacena en una base de datos. La comunicación entre los sensores y los managers se hace de manera encriptada usando SSL. - Frontends: Estos sistemas provee la manera de resolver las consultas de la base de datos, y da estadísticas para ver como evoluciona el sistema. Nos proporciona una interfaz para el analista de seguridad para que vea la monitorización del tráfico de la red. Vanessa Viñes Sanjuan 45 Sistemas de detección de intrusos Simplified prelude architecture Shadow (http://www.nswc.navy.mil/ISSEC/index.html) (Secondary Heuristic Analysis for Defensive Online Warfare) Este sistema fue desarrollado como respuesta a los falsos positivos de un IDS anterior, NID. La idea era construir una interfaz rápida que funcionara bien en un sistema que recibiese muchos ataques. La interfaz permitiría al analista poder evaluar gran cantidad de información de la red y decidir de qué eventos informa. No es de tiempo real. Los diseñadores de Shadow sabían que no iban a estar disponibles para vigilar continuamente el sistema. Shadow almacena el tráfico de la red en una base de datos los datos son analizados a posteriori. Al no ser de tiempo real, es inviable que analice él el contenido de los paquetes, por lo que sólo se centra en las cabeceras. Esto le hace inútil para el análisis forense. El proyecto Shadow ofrece herramientas complejas que le permiten distribuir información sobre seguridad y detección de intrusiones entre varios hosts. La arquitectura de Shadow se basa en: Un sensor situado fuera del firewall y de una máquina interna, encargada de analizar los logs. El tráfico entre las máquinas está blindado con ssh, y los logs rotan, o sea que se comprimen y se descomprimen automáticamente. Es sistema shadow también se puede instalar en unión con Snort. De esta unión obtendremos, siempre y cuando hayamos configurado correctamente los dos sistemas para que corran juntos, una mayor fiabilidad. A Snort un tipo de amenazas que no capaz de detectar, en cambio, Shadow, al estar diseñado de otro modo, los paquetes sospechosos que se le puedan escapar a Snort, él los cogerá y, si son maliciosos, lo detectará. Vanessa Viñes Sanjuan 46 Sistemas de detección de intrusos 6. A c t u a l i d a d e n l o s I D S 6.1. Proyectos de investigación En este punto se mencionarán algunos proyectos que se encuentran en estudio, como: AID (Adaptive Intrusion Detection) Este sistema de detección de intrusos fue desarrollando en la universidad de Brandenburgo entre 1994 y 1996. El sistema fue diseñado para auditorias de red basadas en la monitorización de los hosts presentes en una LAN. Arquitectura y funcionalidad: Tiene una arquitectura cliente-servidor formada por una estación de monitorización central y varios agentes (servidores) en los hosts monitorizados. La estación central alberga un programa director (cliente) y un sistema experto. Los agentes obtienen los eventos relevantes de los hosts a través de las funciones de auditorias, para ser convertidos, mas adelante, a un formato de datos independiente al sistema operativo. Los datos auditados son transferidos a la estación de monitorización central, cargados en una memoria caché y analizados en tiempo real por un sistema experto. El director proporciona funciones para la administración de la seguridad de los hosts monitorizados. Se usan RPCs (llamadas a procedimientos remotos) para la comunicación entre agentes y director. Por otra parte, el sistema experto, usa una base de conocimientos con firmas de ataque orientadas a estados, las cuales son modeladas por máquinas deterministas de estado finito e implementadas como secuencias de reglas. EMERALD (Event Monitoring Enabling Responses to Anomalous Live Disturbances) http://www.csl.sri.com/projects/emerald/project.html El sistema EMERALD representa un estado de arte en la investigación y el desarrollo de sistemas y de componentes para la detección de la anomalía y del uso erróneo en sistemas informáticos y redes. - Vigilancia de la redes escalables - Análisis de grandes cantidades de eventos - Sensores Distribuidos Ligeros - Infraestructura genérica y componentes pluggables - Fácil configuración para nuevas tarjetas y políticas específicas El entorno ESMERALD es una herramienta distribuida para detectar actividad maliciosa a través de grandes redes. ESMERALD introduce una buena distribución, ataca el aislamiento y tiene respuestas automáticas. Combina modelos de la investigación en metodologías con grandes volúmenes distribuidos. El proyecto ESMERALD representa una tentativa comprensiva de desarrollar una arquitectura que herede las técnicas analíticas para detectar intrusiones, y las proyecta en un marco que sea altamente reutilizable, interoperable y escalable en infraestructuras de red grandes. Incluye también varios componentes expertos que utilicen la inferencia basada en la regla del PBEST. Éstos analizan la red y la base de datos del host y Vanessa Viñes Sanjuan 47 Sistemas de detección de intrusos abarcan la base de conocimiento mas completa del campo. El principal investigador del proyecto es Phillip Porras. IPS (Intrusion Prevention System) Esta es otro tipo de rama de investigación futura que se aleja un poco del concepto de IDS, pero que puede ser una de las tendencias futuras en lo que detección de intrusos se refiere. Definiremos un Sistema de prevención de intrusos como un dispositivo (hardware o software) que tiene la habilidad de detectar ataques tanto conocidos como desconocidos y reaccionar ante éstos para impedir su éxito. Los sistemas de prevención de intrusos pueden verse como la evolución de dos elementos que han dominado la seguridad en los últimos tiempos: los Firewalls y los IDS. Los IPS pueden clasificarse en 5 categorías dependiendo de su arquitectura y ubicación dentro de la red a proteger: - Inline IPS: Estos sistemas de prevención de intrusos se caracterizan pos colocarse entre la red y el ordenador a proteger. Su arquitectura se basa en dos tarjetas de red. La primera colocada a la red exterior y sin disponer de dirección IP y la segunda conectada a la red interna, que nos permitirá conectarnos al sistema IPS para su gestión y configuración. - Layer seven switches: Estos contienen un componente hardware muy importante que le proporciona una velocidad de proceso en el filtrado de paquetes de red muy superior a los sistemas convencionales basados en un programa que se ejecuta en un ordenador. Su modo de funcionamiento se basa en un único puerto del switch encargado de mantener la conexión de red con el exterior, y el resto de puertos conectados a los distintos servidores a monitorizar. - Application firewall/IDS: Son programas autónomos que corren en cada uno de los servidores a proteger. De esta forma, se encargan de proteger únicamente un ordenador o servicio concreto, y no una red o un conjunto de ordenadores. La aplicación IPS se coloca entre el gestor de comunicaciones del sistema operativo y la aplicación, monitorizando todo el tráfico y efectuando todas las acciones que considere necesarias. - Hybrid switches: Se basan en combinar una parte software con una parte hardware. La parte hardware es la encargada de filtrar el tráfico en tiempo real, y la parte software se instala en cada uno de los servidores a monitorizar. Este componente se comunica con la parte hardware para conseguir un comportamiento mas adecuado. - Deceptive applications: Estos primero analizan el tráfico de la red con el objetivo de crear un modelo que represente el tráfico que circula normalmente por la red. Luego el sistema asignará unos pesos a los distintos eventos acaecidos. Y por último el sistema monitoriza el tráfico, y cuando encuentra paquetes sospechosos el sistema les devuelve una respuesta que los “marca”, cuando ve que una petición marcada quiere entrar entonces le bloquea la entrada. Vanessa Viñes Sanjuan 48 Sistemas de detección de intrusos 7. G u í a d e d i s e ñ o 7.1. Aspectos genéricos Ancho de banda Para poder elegir un buen sistema de detección de intrusos, adecuado a las características de nuestra red, tenemos que tener en cuenta que no todos los IDS que tenemos en el mercado, son capaces de soportar cualquier rango de ancho de banda. Para ello, a continuación se detallan los tipos de redes que existen actualmente, con sus anchos de banda, además de especificar qué IDS son más adecuados según el tipo de red. La tabla que sigue muestra las equivalencias entre los tipos de conexión y los anchos de banda máximos permitidos para cada una de ellas: Velocidad Nomenclatura del tipo de conexión 10 Gbps OC-192 100 Mbps Fast Ethernet 44.736 Mbps T3 20 Mbps 4 Cable 16 Mbps Token Ring LANs 10 Mbps Thin Ethernet, cable MODEM 6.312 Mbps T2 1.544 Mbps T1 128 Kbps ADSL 56 Kbps MODEM Tabla de las unidades de medida: Unidades de medida Descripción Gbps Gigabits por segundo. 1,000,000,000 bits por segundo Mbps Megabits por segundo. 1,000,000 bits por segundo Kbps Kilobits por segundo. 1,000 bits por segundo Vanessa Viñes Sanjuan 49 Sistemas de detección de intrusos Una vez tenemos esto, vamos a hacer un estudio más específico de los IDS que se han comentado en el punto 3. Net Ranger ® - Cisco Systems (http://www.cisco.com) Este sistema de detección de intrusos dispone, de varios tipos de sensores los cuales ya están preparados para distintos tipos de redes. Esta clasificación ya se mencionó en su momento, pero vamos a volver a añadirlo con un poco más de detalle, si es posible: − Modulo IDS Catalyst® 6000: Este es ideal para redes del tipo Fast Ethernet. Además de poder soportar redes conmutadas, lo cual es importante ya que hay varios sistemas de detección de intrusos que no disponen de medios para poder monitorizar este tipo de redes. − IDS-4250: Soporta hasta 500Mb/s sin paralelizar. Es capaz de monitorear tráfico en una red Gigabit. − IDS-4235: Está optimizado para monitorizar 200 Mb/s. También es adecuado para múltiples entornos T3. − IDS-4210: Optimizado para redes de 45 Mb/s aunque también es adecuado para T1/E1, T3 y entornos Ethernet. RealSecure® - Internet Security Systems (http://www.iss.net) RealSecure ® también nos provee de varios tipos de sistemas que se adecuan a tipos distintos de redes. Estos son los productos de los que actualmente disponen: − Proventia Intrusion Detection Appliances Aplicaciones de la detección de la intrusión para uniformar los ambientes más exigentes de la red. − RealSecure Network 10/100 Detección de la intrusión y software de respuesta para los segmentos de la red 10/100Mbps − RealSecure Network 10/100 for Nokia Detección de la intrusión y software de respuesta para la plataforma de la seguridad del IP de Nokia − RealSecure Network for Crossbeam Detección de la intrusión y software de respuesta para la plataforma Crossbeam X40S. − RealSecure Network Gigabit Sistemas de detección de intrusions aplicables a una red Gigabit. Soporta anchos de banda de 10 Mbps 100 Mbps y 1 Gbps. Vanessa Viñes Sanjuan 50 Sistemas de detección de intrusos Dragon – Enterasys Networks (http://www.enterasys.com/ids) - Dragon Network Sensor Software for Ethernet Como su nombre nos indica este tipo de sensor puede monitorizar redes del tipo Ethernet. De hasta 20 Mbps. - Dragon Network Sensor Software for Fast Ethernet Esta puede monitorizar redes Fast Ethernet con capacidad de hasta 200 Mbps. - Dragon Network Sensor Software for Gigabit Ethernet Este sensor es el que se encarga de las mayores redes, las Gigabit, con capacidad de 1 Gigabit o superiores. NFR– NFR Security (http://www.nfr.com/) NFR es un NIDS que puede llegar a supervisar redes de 200-100 Mbps y redes del tipo T3. Sentivist incluye una familia de sensores de Sentivist para tratar todo el ancho de banda de la red que supervisa. - Sentivist 320C y Sentivist 320F proporcionan la ayuda para supervisar redes gigabit. Además, el Sentivist 320C se puede utilizar para supervisar redes Ethernet full-duplex de 100 Mbps. - Sentivist 310C proporciona la ayuda para supervisar redes Ethernet de 10/100 Mbps. Snort (http://www.snort.org) Snort al no ser una aplicación comercial, no ofrece distintos tipos de paquetes para distintos tipos de redes. Snort al ser un NIDS, sabemos que no podré soportar grandes redes por las que circule una gran cantidad de tráfico. Lo máximo que snort nos da es monitorizar hasta una red Fast Ethernet de 100 Mbps, pero lo que no nos asegura es que en una red de este tipo funcione de un modo totalmente óptimo. Con lo que para grandes redes mejor no utilizarlo, o en todo caso, usarlo con algún complemento extra para poder asegurar la máxima seguridad de nuestra red. Prelude-IDS (http://www.prelude-ids.org/) Shadow (http://www.nswc.navy.mil/ISSEC/index.html) Shadow funciona, mas o menos, de la misma manera de Snort. También es un NIDS, o sea que corre en redes de velocidad moderada. Lo que mas de diferencia de su compañero Snort, es que no es de tiempo real, con lo que, dependiendo de cómo queramos usarlo, no nos será de utilidad Vanessa Viñes Sanjuan 51 Sistemas de detección de intrusos Sistemas Operativos Net Ranger ® RealSecure® 9 9 * Windows Dragon NFR Snort 9 9 Prelude Osiris 9 9 9 9 9 9 OpenBSD 9 9 9 FreeBSD 9 9 9 9 9 9 Mac OS X 9 Solaris 9 9 Linux 9 9 9 Shadow 9 9 * Preferiblemente con un sistema de ficheros formateado en NTFS, si el sistema de ficheros es FAT o FAT32 no aseguran que RealSecure funcione al máximo de su capacidad. Elección del Sistema Operativo Una vez sabemos las plataformas que soportan los sistemas de detección de intrusos que se han analizado, hay que saber que sistema operativo es mejor para instalarle el IDS y que funcione de la manera más óptima posible. Se analizaran tres posibles sistemas operativos, que son los más usados actualmente: BSD, Linux y Windows NT. BSD / Linux Este es uno de los sistemas operativos mas seguros que se ha desarrollado. BSD tiene tres distribuciones diferentes: FreeBSD, OpenBSD y NetBSD. OpenBSD es la elección mas segura que hay en el mundo BSD. La ventaja que tiene BSD con respecto a cualquier distribución linux, es que BSD hace más tiempo que se desarrollo, por lo tanto, ha podido aprender de sus errores y mejorar gracias a la experiencia que ha acumulado. En conclusión, está claro que BSD es mejor elección que linux, aunque realmente está menos distribuido. Este sistema operativo destaca por ser muy estable y robusto: • Tiene unos uptimes muy elevados • Permite cambiar configuraciones en caliente Vanessa Viñes Sanjuan 52 Sistemas de detección de intrusos • Soporta tolerancia a fallos: o Alta disponibilidad o Sistemas de ficheros con journaling o Soporte de RAID • Es muy flexible por seguir la filosofía UNIX • Registros y ficheros de log muy completos • Es software libre. Windows NT Un entorno Windows, no seria una buena elección si queremos tener un sistema seguro. Todo el mundo conoce la gran cantidad de bugs y agujeros de seguridad que Windows posee. Por lo tanto, no seria una gran idea usar un Windows para instalar un IDS. Si realmente se quisiera instalar en un Windows, se tendría que tener el sistema operativo actualizado diariamente con los nuevos “arreglos” que pública Microsoft en su web. El único motivo de usar este sistema podría ser su interfaz, que resulta más agradable al usuario, aunque un administrador de redes no debería tener problemas con trabajar en otros entornos distintos de Windows. Otra característica que le hace una mala elección para trabajar como servidor, es la necesidad de reiniciar el sistema cada vez que se produce un cambio de configuración. En cambio en entornos Linux, como todos los servicios funcionan por separado, si se hace un cambio de configuración dentro de un tipo de servicio, sólo es necesario reiniciar este servicio, no es necesario reiniciar el servidor. Este tema de los reinicios influirán mucho en la red, ya que cada vez que el administrador tiene que reiniciar al servidor, por algún cambio de configuración acaecido, todos los demás equipos de la red sufrirán las consecuencias de no tener servicio del servidor durante el transcurso del reinicio. Un motivo para instalar un IDS en una máquina Windows, puede ser la instalación de un HIDS para que este intente suplir las deficiencias de seguridad del sistema. Vanessa Viñes Sanjuan 53 Sistemas de detección de intrusos 7.2. Casos de estudio Para empezar con el punto más importante de este trabajo, lo que se hará es realizar un estudio con detalle de 4 tipos de redes y de que componentes podemos instalar en ellas para conseguir una máxima seguridad. Los tipos de redes a analizar serán: - Tipo I: Red Doméstica Este será el tipo de red más básico y consistirá básicamente en un PC y una accede a Internet mediante una conexión tipo ADSL. WWW - ADSL Tipo II: Red pequeña Este tipo de red puede ser, por ejemplo, una red con acceso a Internet mediante un router, el cual se conecta a una red que puede estar formada por unos 20 equipos. WWW Vanessa Viñes Sanjuan Router 54 Sistemas de detección de intrusos - Tipo III: Red mediana Este tipo consistiría en un router, que es el que provee la conexión a Internet, conectado a diversas redes de ordenadores de X equipos cada una. WWW Red 1 Router Red 2 Red 3 - Tipo IV: Red grande Este es el tipo de red más compleja, con más tráfico, y la que requerirá de herramientas más potentes para poder asegurar su seguridad. Esta consistirá de un router con acceso a Internet, éste conectado a una red. Esta red estará compuesta por varios routers conectados a otras redes. WWW Router Router Router Router Vanessa Viñes Sanjuan 55 Sistemas de detección de intrusos Para realizar los estudios de las distintas redes analizaremos distintos aspectos de la red, como: - La velocidad de la red. - La cantidad de tráfico que circule por ella. - El sistema operativo más adecuado. - El nivel de seguridad que se pretende conseguir. - La cantidad de usuarios a monitorizar. - Elección de un IDS comercial o de libre distribución. Vanessa Viñes Sanjuan 56 Sistemas de detección de intrusos 7.3. Implementación Los sistemas de detección de intrusos, aunque tienen muchas ventajas, no son perfectos. Por otra parte, muchos administradores carecen de los conocimientos adecuados para aprovechas al máximo las características de un IDS. Esto hace que la implementación de estos sistemas requiera un proceso previo de planificación, preparación, fase de pruebas y formación especializada. Cada solución debe adaptarse a las necesidades particulares de cada caso, analizando: - Políticas de la organización. - Nivel de desarrollo. - Recursos de la red Los requisitos de sistema de los IDS dependen de los objetivos y recursos de la organización. Por lo general, se recomienda, el uso conjunto de sistemas de detección de intrusos basados en host y basados en red. Si se realiza la implementación añadiendo de manera progresiva cada IDS, resultará más sencillo para los administradores. Normalmente se empieza con la instalación de los NIDS, que resultan más fáciles de instalar y configurar. Posteriormente se instalaran los HIDS, en las máquinas que se consideren “críticas”, o sea en las máquinas que se encuentre la información que más se desee proteger. Una planificación de estas características debe completarse con el uso regular de analizadores de vulnerabilidades sobre los IDS y otros elementos de seguridad. De esta manera podemos confiar siempre en que les sistemas de seguridad serán realmente seguros. En el caso de implementar sistemas o redes trampa (Honey pots), es necesario conocer bastantes aspectos de seguridad, y hay que asesorarse previamente en temas legales relacionados con estos elementos. Vanessa Viñes Sanjuan 57 Sistemas de detección de intrusos 7.4. Análisis de una red del tipo I Primero se tiene que ver cuales son las características de este tipo de red y cuáles serán sus necesidades. Veámoslo mediante el siguiente cuadro: Aspectos de la red Aspectos concretos de la red analizada La velocidad de la En este caso la velocidad será la de una conexión del tipo ADSL, con lo que la red velocidad de la red no será demasiado elevada. Como máximo nos podemos encontrar con una velocidad se 1 a 5 Mbps. La cantidad de La cantidad de tráfico que circulará por una red doméstica corriente no será tráfico que circule demasiado elevado. Puede mover bastantes paquetes pero tampoco demasiados por ella comparándolo con otras conexiones. Al ser una red doméstica, se puede suponer que el usuario propietario de la red, no El sistema tiene por que tener conocimiento de sistemas operativos complejos, como BSD o operativo más distribuciones Linux. El sistema operativo más adecuado sería un Windows, adecuado debido a su sencillez de manejo. Este SO se advirtió que no era el más adecuado por sus errores, pero en una red a nivel de usuario particular tampoco se requiere de una seguridad extrema. El nivel de Como se ha comentado en el punto anterior, un usuario particular necesitará seguridad que se seguridad en su equipo, pero tampoco un nivel excesivamente alto. Con lo que con pretende conseguir un nivel de seguridad medio ya se cubrirían sus necesidades diarias. La cantidad de En este caso, la cantidad de usuarios será, en principio, de uno solo. Ya que en este usuarios a punto no existe ninguna red, solo se dispone de un equipo con conexión a Internet. monitorizar Elección de un IDS En principio, supondremos que un usuario doméstico, no pretenda invertir su comercial o de libre dinero con un sistema de detección de intrusos comercial. O sea que en este tipo de distribución. red se usarán productos de libre distribución. Vanessa Viñes Sanjuan 58 Sistemas de detección de intrusos Una vez visto esto, pasaremos a ver como configuraremos la seguridad de nuestra red doméstica. El primer punto que debemos analizar, es qué medidas de seguridad pondremos en nuestro sistema. Como hemos visto en el cuadro anterior, no precisamos de una seguridad extrema, con lo que las medidas de seguridad elegidas serán: - Un cortafuegos: Este lo colocaremos entre Internet y el módem ADSL. De este modo podremos evitar que entren paquetes no deseados. - Un Sistema de detección de intrusos: Este lo colocaremos detrás del firewall y antes del módem ADSL. Poniéndolo detrás del firewall, conseguiremos que el tráfico que recoja ya esté más filtrado y podremos evitar más intrusiones. O sea que nos quedaría un esquema de este tipo: Como la red es propietaria de un usuario particular, que no tiene por que ser un experto en el mundo de la informática, el sistema operativo que se usará será un Windows XP. Este es el mejor sistema, ya que nos aporta una facilidad de uso que no tenemos con los Unix, aunque tendremos una menor seguridad. Ahora sólo nos queda elegir qué IDS usaremos y que firewall se usará. En el caso del firewall, si no queremos instalar ninguno, Windows XP lleva uno incorporado, aunque su funcionalidad es dudosa. Otra opción que tenemos en el momento de instalar un cortafuegos es instalando algún antivirus. Norton Internet Security 2005, lleva incorporado un cortafuegos personal, esta sería otra opción, aunque nada nos impide activar el firewall de Windows y además configurar el firewall de Norton. También nos queda otra opción que es instalar un programa que sea solamente un cortafuegos. A continuación se muestran algunos de los cortafuegos que podemos encontrar en Internet: - Zone Alarm es un cortafuegos muy fácil de configurar, es uno de los más usados. De este programa podemos encontrar dos versiones, una freeware y otra de pago. - McAfee Personal Firewall Plus - etc. En este caso, la mejor opción será Zone Alarm en la versión freeware. Es un programa muy senzillo de instalar y de configurar, con lo que es ideal para nuestras características. A continuación se explica como proceder a la instalación Vanessa Viñes Sanjuan 59 Sistemas de detección de intrusos En esta pantalla vamos a seleccionar ADSL. Vanessa Viñes Sanjuan 60 Sistemas de detección de intrusos En esta pantalla vamos a seleccionar: Pc familiar En esta pantalla vamos a seleccionar 1. Vanessa Viñes Sanjuan 61 Sistemas de detección de intrusos En esta pantalla vamos a seleccionar Inexperto/usuario avanzado. A continuación salen unas cuantas pantallas más en las que se puede analizar el estado del PC o realizar un tutorial para comprender el funcionamiento de este firewall. Una vez todo aceptado, se requiere de reiniciar el equipo. Las pantallas que se muestran a continuación nos enseñarán, un poco, el funcionamiento del programa en si. Nos dicen cómo Zone Alarm protegerá nuestro equipo, por ejemplo: El programa nos proporciona dos líneas básicas de protección: - Servidor de seguridad Protection: El cual protege las “puertas” del equipo y deja fuera los posibles intrusos. Hay un modo, el modo invisible, que hace que nuestro equipo sea invisible en la zona de Internet. - Control de programas: Controla los programas que intentan acceder a Internet. Con el programa en funcionamiento, cada vez que un programa va a hacer alguna petición para la zona de Internet Zone Alarm nos avisa, y nos dará la opción de bloquearlo o permitirle el acceso. Vanessa Viñes Sanjuan 62 Sistemas de detección de intrusos Vanessa Viñes Sanjuan 63 Sistemas de detección de intrusos A continuación se muestran unos screenshots del programa, una vez instalado. La primera pantalla que se muestra es la de la información general. Aquí nos mostrará la siguiente información: − Intrusiones bloqueadas: Indica el número de intrusiones que se han bloqueado y también nos indicará el número de intrusiones de gravedad alta. − Protección entrante: Indica el número de intentos de acceso que ha bloqueado el servidor de seguridad. − Protección saliente: El número de programas que han intentado acceder a Internet. − Protección del correo electrónico. − Supervisión antivirus. También tenemos la información del producto y unas preferencias, de cómo queremos que se ejecute. Estas últimas opciones, no son de importancia. Vanessa Viñes Sanjuan 64 Sistemas de detección de intrusos En la pestaña de “servidor de seguridad” podremos elegir el nivel de seguridad que queramos tener en nuestro equipo. Podemos diferenciar dos zonas a tener en cuenta: - Zona de Internet: Protección de la zona exterior, Internet. Aquí el nivel de seguridad lo dejaremos el alto. - Zona de confianza: Esta opción es por si tenemos más ordenadores en nuestra red, para poder compartir recursos de manera segura. Vanessa Viñes Sanjuan 65 Sistemas de detección de intrusos Aquí tenemos el control de programas, que lo podemos configurar desde aquí, con un nivel más o menos alto. No obstante cada vez que un programa quiera acceder nos pedirá permiso y se irán añadiendo a la lista de programas. Con lo que en caso de equivocarnos siempre estaremos a tiempo de corregirlo. Vanessa Viñes Sanjuan 66 Sistemas de detección de intrusos Esta parte nos sirve en el caso de que tengamos instalado algún antivirus, éste correrá con el firewall, y cuando el firewall vea que las definiciones de los virus estén caducadas, nos avisará para que actualicemos el antivirus. Vanessa Viñes Sanjuan 67 Sistemas de detección de intrusos Estas pantallas de Alertas y Registros nos servirán para ver como nos mostrará la información de los bloqueos, etc… La mejor opción es desactivar el modo de alertas (ya que al final resulta molesto) y pedir que haga un resumen diario de las alertas, que podremos elegir el las opciones avanzadas. Vanessa Viñes Sanjuan 68 Sistemas de detección de intrusos SNORT, para plataformas Windows lo bajaremos de la siguiente dirección: http://www.snort.org/dl/binaries/win32/ Una vez bajado, lo instalaremos y lo configuraremos. Antes de proceder a la instalación de Snort, deberemos bajar unas librerías para que funcione correctamente en plataformas Windows. Estas librerías son las Winpcap, y las bajaremos de: http://www.winpcap.org/install/default.htm Antes de instalar el sistema de detección de intrusos, instalaremos las WinPcap 3.1 que hemos bajado de la web anterior. A continuación se explica la manera instalar correctamente Snort. Primero se instalará, estas son las pantallas que salen y que se debe poner en cada una: Primera pantalla Vanessa Viñes Sanjuan 69 Sistemas de detección de intrusos Esta nos dice, básicamente, que debemos elegir una de estas tres opciones: - La primera en la que no tenemos planeado enviar los logs a una base de datos, o lo haremos más adelante. - La segunda que nos dice que necesitamos soporte para almacenar los logs en una base de datos del tipo SQL Server. Esta opción se marcará teniendo en cuenta que SQL Server está instalado en la máquina. - La última opción la marcaremos en caso de querer almacenar los logs en una base de datos del tipo Oracle. Igualmente, la base de datos Oracle, debe de estar previamente instalada en la máquina. En principio, como estamos tratando con un usuario particular, no hará falta hacer la gestión de la base de datos. Estas opciones se requerirán más cuando estemos hablando de redes de mas de un ordenador, para un solo ordenador no tiene mucho sentido. Por lo tanto marcaremos la primera opción. Vanessa Viñes Sanjuan 70 Sistemas de detección de intrusos Las demás pantallas carecen de interés para mencionarlas, no obstante, cuando terminamos con la instalación nos da el siguiente mensaje de alerta: Nos comenta que debemos tener instalado las librerías de WinPcap 3.0. Aquí ya no tendremos ningún problema ya que previamente las hemos instalado en nuestro equipo. Ahora ya tenemos Snort instalado en el equipo, con lo que pasaremos a explicar un poco su funcionamiento y una configuración básica. Una vez instalado, veremos que no se ejecuta nada, esto es debido que, aunque lo estemos utilizando para Windows, Snort sigue la filosofía Linux. Para su configuración deberemos modificar el archivo Snort.conf, que encontraremos en C:\Snort\etc\snort.conf. Este archivo es bastante auto explicativo, lo más importante es configurar de manera correcta el path de las reglas, para que snort pueda encontrarlas sin problema. Este archivo de configuración lo comentaremos un poco, pero a grandes rasgos. Se divide en 4 pasos: Vanessa Viñes Sanjuan 71 Sistemas de detección de intrusos - Paso 1. Fijar las variables para nuestra red: En esta sección asignaremos valores a las variables tales como: - var HOME_NET: Aquí podremos especificar lo que se quiere monitorizar, por ejemplo, si queremos solo monitorizar el propio host o un equipo pondremos var HOME_NET x.y.z.t / nn (donde x.y.z.t es la dirección IP y nn es la máscara de la red), etc… - var EXTERNAL_NET: Esta es para especificar las direcciones de red externas. - DNS_SERVERS: Para configurar los servidores de nombres, en caso de haberlos. - SMTP_SERVERS: Para configurar los servidores de SMTP. - Otras variables… En el caso de una red doméstica, como es el caso, que puede ser que se tenga acceso a DNS externos, se recomienda establecer los servidores de DNS para evitar falsos positivos de Port Scanning. - Paso 2. Configurar los preprocesadotes: A partir de la versión 1.5 aparecieron los preprocesadotes que permiten que las funcionalidades de snort sean extendidas pos los usuarios proporcionando un sistema de acceso a los paquetes antes de que estos sean procesados por el motor de detección. Para una configuración básica, se pueden dejar las configuraciones por defecto. Para más información se puede consultar el manual 2.4 en http://www.snort.org. - Paso 3. Configurar los plugins de salida: Los plugins de salida nos permiten elegir entre una gran cantidad de formatos de salida. En el fichero de configuración de snort vienen todos explicados y con ejemplos. - Paso 4. Modificar las reglas para configuraciones particulares: Si se quieren habilitar grupos de reglas tendremos que quitarle el comentario “#”. Y para deshabilitarlas le pondremos delante el comentario “#”. Por ejemplo: include $RULE_PATH/sql.rules include $RULE_PATH/x11.rules include $RULE_PATH/icmp.rules include $RULE_PATH/oracle.rules include $RULE_PATH/snmp.rules include $RULE_PATH/smtp.rules include $RULE_PATH/imap.rules include $RULE_PATH/pop2.rules include $RULE_PATH/pop3.rules include $RULE_PATH/nntp.rules include $RULE_PATH/other-ids.rules # include $RULE_PATH/web-attacks.rules # include $RULE_PATH/backdoor.rules # include $RULE_PATH/icmp-info.rules include $RULE_PATH/virus.rules # include $RULE_PATH/chat.rules # include $RULE_PATH/multimedia.rules # include $RULE_PATH/p2p.rules include $RULE_PATH/experimental.rules Vanessa Viñes Sanjuan 72 Sistemas de detección de intrusos Una vez esté el archivo configurado correctamente, comprobaremos unas cuantas cosas: Snort –W: Al ejecutar esto nos tiene que dar la tarjeta de red de nuestro equipo Snort –v: Para comprobar que todo ha ido bien, deberemos para la ejecución con crtl+c Pero con esto aún no tenemos a snort ejecutándose, para que se ejecute como servicio deberemos ejecutar, para las versiones windows, /SERVICE /INSTALL C:\snort\bin\ snort /SERVICE /INSTALL –dev –l /log –h 192.168.0.2/24 –c c:\snort\etc\snort.conf Snort creará, a parte de la estructura de directorios, un archivo alert.ids conde almacenará las alertas generadas. Para desinstalar el servicio se hará con: /SERVICE /UNINSTALL. Vanessa Viñes Sanjuan 73 Sistemas de detección de intrusos Si esto es demasiado complejo para un usuario medio, tenemos otra opción. Hacemos la instalación de Snort igual que antes (incluidas las librerías WinPcap), y posteriormente instalaremos un front-end (interfaz gráfica). Uno de los más usados es Snort IDSCenter que corre sin problemas en plataformas Windows NT/2000/XP. Es una aplicación bajo licencia GNU o sea que es gratuita. Primero descargaremos el programa de la dirección: http://www.engagesecurity.com/downloads/#idscenter, esta es la versión 1.1 de IDSCenter. Una vez descargado el archivo, lo descomprimiremos e instalaremos. Ahora pasamos a la configuración del programa, una vez instalado, lo ejecutamos. Nos aparecerá en la barra de iconos, al lado del reloj, si entramos en “setting” aparecerá la interfaz gráfica de Snort. Para configuraciones generales iremos a “General > Main configuration: Aquí comentaremos la configuración básica del programa. En este panel configuraremos la versión de snort que tengamos, en nuestro caso Snort 2.4: - Snort executable file: Localización del ejecutable de Snort - Log file: Ubicación del fichero de alertas logs.ids. - Log viewer: Configura el tipo de salida para nuestros logs generados por Snort. En General>Snort Options, se le indicará a IDSCenter la localización del archivo de configuración de Snort, en nuestro caso: C:\snort\etc\snort.conf. Al introducir la ruta y aplicar los cambios, aparecerá en pantalla el contenido de dicho archivo. Vanessa Viñes Sanjuan 74 Sistemas de detección de intrusos Una vez hecho esto, si le damos a aplicar los cambios, nos resultará esta pantalla: Vanessa Viñes Sanjuan 75 Sistemas de detección de intrusos Nos comentará los errores que se hayan producido, en este caso nos dice que aún no se ha configurado el archivo snort.conf. Luego el siguiente paso a seguir será configurarlo. Para ello iremos a Wizards para ver como proceder a continuación. En esta pestaña tendremos varias opciones. Como podemos observar nos aparecen 5 opciones que, sin contar la última de ellas (para actualizar el programa online), coinciden con los 4 pasos comentados anteriormente. Es básicamente lo mismo que la configuración manual del fichero, pero con una interfaz gráfica que lo hace más legible y más sencillo de configurar. La primera que aparece es, Wizards > Network variables, en la que podemos ver las variables que el sistema usará. Aquí vemos como podemos añadir nuevas variables, editar las variables o incluso eliminarlas. A continuación siguen dos screenshots, el primero de ellos muestra las variables que tenemos en el fichero de configuración actual, y la segunda de ellas nos muestra, en concreto, los valores que tiene una de estas variables, la HOME_NET. Cada vez que se realiza una modificación se tienen que aplicar los cambios. Como se puede ver la mayoría de variables, no se usarán (al menos en esta red), las únicas que realmente nos pueden dar servicio son: - HOME_NET - EXTERNAL_NET - DNS_SERVERS: Comentado anteriormente, en el caso que se usen servidores de nombres externos y que no nos garanticen la seguridad. - RULE_PATH: Donde le indicaremos la ubicación del directorio donde se encuentren las reglas predefinidas. Vanessa Viñes Sanjuan 76 Sistemas de detección de intrusos La siguiente pantalla nos servirá para configurar los preprocesadotes, estos nos servirán para analizar paquetes antes de que estos entren en nuestra red. Vanessa Viñes Sanjuan 77 Sistemas de detección de intrusos Vanessa Viñes Sanjuan 78 Sistemas de detección de intrusos La siguiente pantalla es Wizards>Output plugins, que nos servirá para configurar el tipo de salidas: Vanessa Viñes Sanjuan 79 Sistemas de detección de intrusos Y por último, Wizards > Rules/Signatures, que nos servirá para personalizar las reglas que queramos: Luego también tendremos las pestañas de Logs y Alertas, que nos servirán para Una vez este todo correcto y no haya errores, ya podremos pasar a la puesta en marcha del sistema de seguridad. Hay una opción “Start now” en la que, al pulsarla, Snort entrara en funcionamiento. Una vez puesto en marcha, en el icono del programa, nos salen: Settings Start Snort Stop Snort Reset alarm Open logs folder View alerts Exit En “view alerts” podremos ver el contenido del archivo alert.ids para ver las alertas que se hayan producido. En la opción “Open logs folder” podremos ver las carpetas correspondientes a las direcciones IP de las máquinas que hayan sido logeadas por Snort, conteniendo detalles sobre la intrusión. Ya tenemos trabajando a Snort como IDS, pero aún se pueden configurar más cosas, como por ejemplo: Vanessa Viñes Sanjuan 80 Sistemas de detección de intrusos - Podremos hacer trabajar conjuntamente a Snort con BlackIce para usar las configuraciones de Autoblock que vienen implementadas en BlackIce (BlackIce es otro IDS que no ha sido mencionado en este informe). - Podremos configurar Snort para que nos envíe alarmas vía mail. - Alert.ids: Tiene un formato ASCII plano y esta ubicado en c:\snort\log. Para poder comprender mejor las alertas generadas, podremos configurar dos tipos de alertas: - Alerta rápida (set alert mode FAST): Este modo nos devolverá información sobre: tiempo, mensaje de alerta, clasificación, prioridad de alerta, IP y puerto origen y destino. - Alerta Completa (set alert mode FULL): Este modo nos devolverá información sobre: tiempo, mensaje de alerta, clasificación, prioridad de alerta, IP, puerto origen y destino e información completa de las cabeceras de los paquetes registrados. NOTA: Siempre que queramos hacer alguna modificación en la configuración de snort, será imprescindible parar el IDS y, una vez realizados y aplicados los cambios correctamente, se volverá a iniciar Snort. REGLAS: Para definir las reglas en snort, se puede hacer de dos maneras: - Bajando las últimas reglas desde Internet, y diciéndole a Snort que tiene que leer las reglas que hemos bajado. - Aprender a formular reglas y hacerlas personalizadas. Igualmente Snort tendrá que leer las reglas que le indiquemos, pero en este caso serán reglas más personales. CONCLUSIÓN: En definitiva, el sistema con esto quedaría bastante protegido de ataques externos. Como último recurso, para asegurar que el sistema es seguro, cada x tiempo se puede pasar un programa de verificación de integridad del sistema de ficheros, pero esto tampoco sería del todo necesario. Al final en nuestra red particular tendremos: - Firewall 1: El firewall que viene por defecto en Windows XP - Firewall 2: Zone Alarm (versión gratuita) - IDS: Snort 2.4 - Front-end: Snort IDSCenter 1.1 Vanessa Viñes Sanjuan 81 Sistemas de detección de intrusos ANÁLISIS ECONÓMICO DEL SISTEMA DE SEGURIDAD IMPLANTADO CONCEPTO GASTOS Equipo personal 900 € Sistema Operativo: Windows Home Edition 90 € Firewall: Zone Alarm 0€ IDS: Snort 2.4 0€ Software adicional: Front-End IDSCenter 0€ TOTAL Vanessa Viñes Sanjuan 990 € 82 Sistemas de detección de intrusos 7.5. Análisis de una red del tipo II Primero se tiene que ver cuales son las características de este tipo de red y cuáles serán sus necesidades. Veámoslo mediante el siguiente cuadro: Aspectos de la red Aspectos concretos de la red analizada La velocidad de la En este caso se puede considerar que la velocidad de la red puede oscilar entre red 5Mbps y unos 10Mbps. Una velocidad superior al tipo anterior de red pero aún no es una red de alta velocidad. La cantidad de Este tipo de red puede pertenecer a una pequeña empresa, tipo oficina. Con esto tráfico que circule podemos suponer que los usuarios que usen las máquinas de la red, serán por ella trabajadores medios. El tráfico será más alto que en la anterior, debido a que hay más equipos, pero tampoco será demasiado elevado. Depende, ya que si no hay ningún administrador experto en la empresa, el sistema El sistema operativo más adecuado puede que sea un Windows. En cambio, si la empresa operativo más tiene un informático que se encargue de la administración de la red, podemos optar adecuado por tener un equipo sólo para uso del administrador, con una distribución linux, para obtener una mayor seguridad. El nivel de Aquí ya se manejarán datos privados de la empresa, lo cual requiere de una mayor seguridad que se seguridad en la red, tanto en la red interna, como en la red externa. pretende conseguir La cantidad de La cantidad de usuarios que se administrará en este tipo de red, puede oscilar entre usuarios a los 10 y 20 usuarios, más o menos. Aquí ya sería conveniente de poseer un monitorizar administrador que se encargase de controlar las acciones de los trabajadores, y para que los trabajadores no puedan manipular las configuraciones de la red interna. Elección de un IDS También dependerá de lo que quiera la empresa, en principio, como se tratará de comercial o de libre una empresa pequeña/mediana, aún se puede optar por un sistema de seguridad de distribución. libre distribución, y gastar lo que habrían costado las licencias, en un equipo central con mejores características. Vanessa Viñes Sanjuan 83 Sistemas de detección de intrusos Con una red de este tipo ya podemos barajar más opciones, pero aún no se trata de una red de una gran empresa, con lo que podemos permitirnos un gasto mínimo para la seguridad de la red. Podemos decantarnos por un sistema operativo Windows XP o un 2003.Net que administre una red de 10- 20 Windows XP. De este modo al tener un servidor central, podremos controlar desde un terminal lo que se haga en los demás equipos. Si configuramos una red Windows, habrá que tener en cuenta el precio de las licencias, tanto la licencia para el servidor, como las licencias para los clientes. No obstante, el hecho de tener una red jerárquica nos proporciona ventajas, ya que podremos centralizar el flujo de información. Un ejemplo de configuración de red puede ser la siguiente: - En el servidor central se puede montar un servidor de DHCP. Esto significa que el servidor le proporcionará a los equipos de la red una dirección IP con su máscara, que cumplirá los requisitos de la red (Cada empresa puede “comprar” un rango de direcciones para la intranet que tenga montada, dependiendo de la cantidad de equipos). De este modo el acceso a Internet también se puede centralizar, montando un servidor proxy de http. Aunque esto nos proveerá de un problema, y es que si, por algún motivo, el servidor cae, ninguno de los demás equipos podrá tener acceso a Internet. - A parte de tener los PC’s de los usuarios del sistema, se pueden tener un par de equipos, en los que se guarde la información crítica. En conclusión un esquema de la red buscada podría ser: WWW Servidor Central Servidor de DHCP Servidor Proxy Servidor de nombres (DNS) Firewall IDS (NIDS) Equipo crítico Equipo crítico Red de ordenadores de los trabajadores de la empresa Vanessa Viñes Sanjuan 84 Sistemas de detección de intrusos En conclusión tendremos los siguientes sistemas de seguridad: - El servidor, mediante las herramientas de 2003.Net: - Controlará las entradas al sistema por parte de los usuarios, con una política de identificación, del tipo login/password - Controlará las acciones de los usuarios, evitando que usen según qué programas. (Como programas de compartición de archivos tipo emule, kazaa,…). Esto se realizará con el sistema de directivas que nos proporciona el servidor de Windows. - Podemos usar el sistema de auditorias que nos servirá para tener constancia de los inicios de sesión incorrectos, accesos a archivos incorrectos, usos de derechos de usuario incorrectos, etc. - - El servidor también usará las siguientes herramientas externas: - Un firewall. - Un sistema de detección de intrusiones basado en red. - Un antivirus para ir comprobando regularmente que no haya virus en el sistema. Los dos (o más) equipos críticos, usarán, cada uno de ellos, un sistema de detección de intrusiones basado en host. De este modo podremos controlar de una manera más eficiente lo que suceda en él, y así evitar que los demás usuarios de la red puedan manipular información relevante de la empresa, además de los atacantes externos. Para mayor seguridad, a estos equipos críticos, se los puede tener “desconectados” de la red de Internet, así sólo tendremos que preocuparnos de los ataques que nos pueden venir desde dentro de la red, y esto lo tendremos controlado con el HIDS. Pasemos ahora a la elección de los sistemas de detección de intrusiones y el firewall. Como ya nos hemos gastado un dinero considerable al montar la red Windows, intentaremos instalar un software adicional que sea más económico o incluso con licencia GPL. Examinando el mercado actual, estas han sido las aplicaciones elegidas: Para los sistemas de detección de intrusos, podemos elegir: - El HIDS elegido para los dos equipos críticos es Osiris, que nos proporciona una buena respuesta y tiene la ventaja de ser gratuito. - Para el NIDS que instalaremos en el servidor central, podemos elegir una combinación de dos sistemas de detección de intrusiones: Snort + Shadow. Estos dos sistemas funcionan muy bien conjuntamente, ya que algunos paquetes que Snort no considerará como sospechosos, y lo sean, Shadow los identificará como tales y los bloqueará. Además, como ya nos encontramos en una red de una empresa, quizás nos interese almacenar los datos que Snort nos proporcione, con lo que podríamos instalar una base de datos MySQL. Como Snort soporta este tipo de bases de datos, no habrá ningún problema. - El Firewall elegido, por su relación calidad/precio, es Zone Alarm pero en su versión comercial ZoneAlarm® SECURITY SUITE. Este nos proporcionara: Triple defense Vanessa Viñes Sanjuan 85 Sistemas de detección de intrusos firewall™, Anti software espía, antivirus, protección de identidad y de la privacidad, seguridad del correo electrónico, filtrado de contenidos web, protección contra fraudes “phishing” y protección contra el correo no solicitado. Una vez elegidos los sistemas de seguridad, veamos como nos quedará la red: WWW Sistemas de análisis de logs (Shadow + Snort) Servidor Central Windows 2003.Net Servidor de DHCP Servidor Proxy Servidor de nombres (DNS) Zone Alarm® IDS (NIDS) Red de los usuarios con WinXP Vanessa Viñes Sanjuan 86 Sistemas de detección de intrusos Como se puede ver en el esquema de la red, el orden de colocación de los sensores será: - Primero el sensor de Shadow - Segundo el sensor de Snort - Tercero el firewall El servidor central nos servirá como centralizador de logs, en el que analizaremos las alertas y las actividades sospechosas que hayan capturado nuestros sistemas de detección de intrusiones. Lógicamente este equipo solamente lo usará el administrador del sistema, con lo que no que, teóricamente, no habrá ningún problema de seguridad por parte del usuario del equipo. Con los equipos “críticos” podemos plantar la siguiente política: Podemos configurar los HIDS que los supervisen, de tal manera que envíen los logs y las alertas al servidor central, de este modo seguiremos teniendo todas las alertas centralizadas en un mismo equipo. Esta sería la configuración básica a seguir para tener todos los sistemas de seguridad bien comunicados entre ellos. Otra cosa que se podría tener en cuenta es, cada x tiempo, se podría hacer un análisis del sistema en busca de vulnerabilidades. Para ello tenemos una serie de programas que buscan dentro de nuestro sistema los posibles fallos de seguridad, de este modo los podremos solventar. En conclusión nos quedará montada una red bastante segura y solamente teniendo que pagar los sistemas operativos y el firewall, con lo que también nos quedara un sistema bastante económico. Vanessa Viñes Sanjuan 87 Sistemas de detección de intrusos ANÁLISIS ECONÓMICO DEL SISTEMA DE SEGURIDAD IMPLANTADO CONCEPTO GASTOS Equipo servidor 1.200 € Equipos usuarios 20 Unidades 18.000 € Licencia Servidor Windows 2003.Net 730 € Licencia 20 clientes Windows XP Home Ed. 1.800 € Firewall: Zone Alarm® SECURITY SUITE 70 € Antivirus: Norton Internet Security 70 € IDS: Osiris 0€ IDS: Shadow 0€ IDS: Snort 2.4 0€ Software adicional: Front-End IDSCenter 0€ Base de datos MySQL 0€ TOTAL Vanessa Viñes Sanjuan 21.870 € 88 Sistemas de detección de intrusos 7.6. Análisis de una red del tipo III Primero se tiene que ver cuales son las características de este tipo de red y cuáles serán sus necesidades. Veámoslo mediante el siguiente cuadro: Aspectos de la red Aspectos concretos de la red analizada La velocidad de la La velocidad de una red de este tipo ya es, considerablemente más elevada. red Podríamos hablar de una T3 o hasta una Fast Ethernet, corriendo a unos 100Mbps. La cantidad de La cantidad de tráfico también se eleva considerablemente, por que pasamos de tráfico que circule monitorizar una red de 20 usuarios a varias redes con unos cuantos o muchos por ella usuarios en cada una. Esto reducirá el número de sistemas de detección de intrusos, ya que algunos de ellos no están capacitados para poder realizar bien sus funciones en redes de velocidades altas. En este caso ya es seguro que se dispone de un administrador que está El sistema familiarizado con otros sistemas operativos, con lo que, el sistema operativo más operativo más recomendado podría ser un BSD o alguna distribución linux. Los ordenadores, a adecuado nivel de usuario, seguirán siendo Windows, lo importante es que el ordenador encargado de monitorizar y analizar el tráfico sea lo mas seguro y estable posible. El nivel de Aquí ya estaríamos hablando de un nivel de seguridad alto, ya que una red de este seguridad que se tipo, con subredes, maneja más información delicada. Este tipo de red podría pretende conseguir tratarse de una gran empresa o de universidades, por ejemplo. La cantidad de La cantidad de usuarios que se moverían por esta red, podría llegar a ser bastante usuarios a elevada, con lo que también, el tráfico interno de la red puede elevarse en monitorizar cantidades nada despreciables. Elección de un IDS En este caso, que la empresa moverá bastante dinero, se puede optar por sistemas comercial o de de detección de intrusos comerciales, ya que aportan una mayor seguridad en redes libre distribución. de alta velocidad. Vanessa Viñes Sanjuan 89 Sistemas de detección de intrusos Para esta red vamos a plantearlo de otro modo, en lugar de usar una red Windows vamos a usar un servidor Linux, ya que en esta red necesitamos más seguridad. No obstante los clientes seguirán siendo Windows, con lo que sólo nos ahorraremos la licencia del servidor. La idea será la siguiente: Esta red esta compuesta de 3 subredes, las tres conectadas a un mismo Router con acceso a Internet. Podemos actuar como en la red anterior y tener en cada subred equipos “críticos” en los que guardaremos la información más importante, y los tendremos desconectados de la red externa. En cada equipo crítico instalaremos un HIDS para tenerlos mejor controlados. Una vez tenemos claro esto, nos faltara saber donde instalar el firewall y el NIDS. Para el firewall se puede barajar la opción de un firewall hardware que irá con el Router, con lo que para las tres subredes tendremos un único firewall. Una ventaja de esto es que este tipo de firewall (que va incluido dentro del Router) es mucho más seguro que los firewall software tradicionales, con lo que aumentaremos la seguridad de nuestra red. Los sistemas de detección de intrusiones los podemos repartir por las tres subredes, instalando en cada una de ellas un equipo servidor con un IDS controlando cada una de las subredes. Esto implicará tener la información de la red repartida en tres ordenadores, aunque también se podría configurar un servidor central que administrara las subredes. Si tenemos este servidor, lo que tendremos que hacer es configurar los sistemas de detección de intrusiones, de tal modo que, envíen todos los logs al equipo central. Teniendo en cuenta esto, vamos a elegir los productos: - Firewall: Un firewall Hardware, viendo la oferta de productos este es el elegido y sus principales características: El DFL-1100 de D-Link es un firewall de fácil uso, diseñado para medianas y grandes empresas. Este dispositivo es una potente solución de seguridad que integra traducción de dirección de red (NAT), firewall, filtrado de contenidos, protección IDS, gestión del ancho de banda y soporte de red privada virtual (VPN). El DFL-1100 incluye soporte de enlace WAN, puerto LAN de confianza y puerto DMZ para correo electrónico local y servidores web. Gracias a la intuitiva interfaz basada en web, el proceso de instalación del DFL-1100 resulta fácil y sencillo para el usuario. El DFL-1100 ofrece funciones típicamente requeridas por las empresas para los firewalls de calidad, como SPI (Stateful Packet Inspection), detección/eliminación de paquetes intrusos, VPN integrada, puerto DMZ físico, IPs con mapeo múltiple y múltiples servidores virtuales. El DFL-1100 conecta fácilmente su oficina a un módem de banda ancha, de cable o DSL, a través de un puerto WAN externo 10/100BASE-TX. El DFL-1100 ofrece verdaderas funciones de firewall, que incluyen modo NAT, modo PAT (Port Address Translation), modo transparente*, modo de enrutamiento y SPI. También soporta configuración del servidor virtual y política personalizada. Los administradores pueden gestionar fácilmente la red a través de las estadísticas gráficas del sistema de registro/monitorización. Lista de control de acceso (ACL) El bloqueo de URL forma parte de las características básicas del DFL-1100. Esta función permite limitar el acceso a sitios Internet no deseados. Se registran los registros del tráfico de Internet en tiempo real, las alarmas de ataques de Internet y los avisos de las actividades de navegación web; toda esta información puede recibirse a través de una notificación de correo electrónico. Vanessa Viñes Sanjuan 90 Sistemas de detección de intrusos El DFL-1100 puede operar hasta con 200.000 sesiones proporcionando 1.000 túneles VPN a 1.000 conexiones remotas que necesiten una conexión fiable y segura con la red de una empresa. Puerto DMZ, Puerto LAN de confianza El DFL-1100 incluye un puerto LAN 10/100BASE-TX autosensible para conectarlo a la red interna de una oficina, y un puerto físico DMZ (Demilitarized Zone) que puede conectarse a los servidores web, de correo electrónico o FTP, para acceder a Internet. La función DMZ es muy útil ya que descongestiona el tráfico del servidor que proviene de la red interna, y protege a los otros ordenadores de la oficina de ataques de Internet, que quedan ocultos tras el firewall. Principales Características: - 1 Puerto LAN 10/100BASE-TX, 1 puerto DMZ 10/100BASE-TX, 1 puerto WAN 10/100BASE-TX para conexión de módem de cable/DSL, 1 puerto de backup 10/100BASE-TX - Soporta tunelización VPN IPSec - Soporta VPN IPSec pass throughput - Modo cliente agresivo/principal para VPN - Protección de firewall SPI (Stateful Packet Inspection) - Denegación de servicio (DoS) y bloqueo de ataque DDoS - Traducción de dirección de red (NAT) / Traducción del puerto de la dirección de red (NAPT) - Soporta ALG (Application Level Gateway) NAT, Protocolo SYSlog y servidor virtual. - Soporte de cliente PPPoE incorporado. - Control de servidor/cliente DHCP y paterno - Filtrado de contenidos, bloqueo de URL/dominio y comprobación de palabra clave - Gestión de configuración basada en web y monitorización en tiempo real PRECIO: 1,468.85 € FOTOGRAFÍA DEL PRODUCTO NOTA: Esta información ha sido extraída desde una tienda de componentes informáticos consultada desde Internet. La información del precio puede variar, y existen otros tipos de productos, esto es meramente orientativo. Vanessa Viñes Sanjuan 91 Sistemas de detección de intrusos - HIDS: Vamos a usar el mismo de antes, Osiris ya que es el mejor encontrado hasta el momento. - NIDS: Como nos encontramos en una red de más nivel podremos pagar un NIDS comercial. Podemos decantarnos por RealSecure®, NFR o Dragon, cualquiera de estos tres nos ofrece lo que estamos buscando. Vamos a compararlos en precio, para ver cual elegir: Nombre Dragon Network Sensor Appliances NFR NID 3,2 RealSecure Network 10/100 - 5 Sensors Descripción El sensor de la red del dragón es incomparable en la detección de intrusiones vía firma y protocolo. Estas técnicas de la detección del multi-método, combinadas con una base de datos extensa de la firma y capacidades que contemplan falsos-positivos, y se aseguran de que ninguna intrusión va a pasar desapercibida. Con el software del sensor de la red del dragon licenciando, los clientes pueden licenciar el sensor de la red basado en sus requerimientos: 50 Mbps, 200 Mbps o ilimitado. NFR lanzó recientemente NID 3,2, una nueva versión de su detección de la intrusión de la red y el sistema de gerencia que embala mayor velocidad y mejoró los mecanismos para disminuir positivos falsos. NID ejecuta código nativo compilado, en lugar de usar una máquina virtual. La lógica condicional y el control de grano fino reduce positivos falsos de los sensores de NFR. Los sensores ahora apoyan las cinco variaciones sabidas del nuevo ensamble del fragmento del IP para validar tráfico IP entre las fuentes y las destinaciones. NID tiene un arsenal impresionante de los métodos de detección del ataque. Su motor utiliza la firma avanzada, la anomalía del protocolo, seguir del estado y análisis del contexto de los datos. Detecta: Troyanos y los ataques polimórficos del código de la cáscara. La actividad sospechosa se exhibe en el interfaz de la administración, que alerta admins vía paginador o E-mail. Puesto que NFR integra con la mayoría de los cortafuegos, los admins de la seguridad pueden configurar el sistema para responder automáticamente a los acontecimientos con un reajuste del TCP. Cuatro versiones de NID están disponibles. El interfaz del uso requiere Windows NT/2000/XP; el servidor central de la gerencia puede residir en Solaris 7/8 o Red Hat Linux 7,3. El software de la red 10/100 de RealSecure proporciona las capacidades de la detección y de la respuesta de la intrusión de la red que supervisan segmentos de la red 10/100Mbps dentro de un marco operacional y de la gerencia centralizado. Las instalaciones de la red 10/100 de RealSecure centralmente se administran y se mantienen a través del sistema de gerencia de SiteProtector con la integración apretada con otros productos de la protección de la empresa de los ISS. Movido hacia atrás por la inteligencia de la seguridad de X-X-Force, aseguran la protección actualizada de modo que los clientes puedan supervisar y proteger con eficacia sus redes contra ataques sabidos y desconocidos. Precio 2260.901€ por unidad TOTAL: 11.304,50 € 6536.007 € a 17342.204 € por unidad TOTAL: 326.80,035 o 86711,02 € TOTAL: 46.090 € Vamos a decantarnos por el más económico, Dragon. Para más información sobre este producto, en la página oficial, se puede ampliar la documentación sobre Dragon 7.0 e incluso se puede pedir más información vía web. Vanessa Viñes Sanjuan 92 Sistemas de detección de intrusos Con lo que la idea general de este tipo de red, es: Red 1 Router/ Firewall WWW Red 3 Red 2 O sea que seguiremos la misma idea que con la red anterior, sólo que en esta usaremos más sistemas de detección de intrusiones. La diferencia que habrá más evidente es que, en los servidores de cada red y el servidor principal, tendremos instalado un Linux (preferiblemente un BSD, que es la distribución más segura de Linux). Aunque sean sistemas operativos diferentes podremos administrar los Windows con una distribución Linux. Los sistemas operativos Linux tienen herramientas para poder funcionar conjuntamente con Windows. También podremos complementar el sistema con sistemas antivirus, sistemas de backup y sistemas de detección de vulnerabilidades. Visto esto, pasemos a evaluar el coste económico: Vanessa Viñes Sanjuan 93 Sistemas de detección de intrusos ANÁLISIS ECONÓMICO DEL SISTEMA DE SEGURIDAD IMPLANTADO CONCEPTO GASTOS Equipo servidor 4 unidades 4.800 € Equipos usuarios 100 unidades 90.000 € Servidor Linux BSD 0€ Licencia 100 clientes Windows XP Home Ed. 9.000 € Firewall: Firewall Hardware DFL-1100 de D-Link 1.469 € IDS: Osiris 0€ IDS: Dragon 11.300 € Antivirus Norton Internet Security 70 € TOTAL Vanessa Viñes Sanjuan 116.639 € 94 Sistemas de detección de intrusos 7.7. Análisis de una red del tipo IV Primero se tiene que ver cuales son las características de este tipo de red y cuáles serán sus necesidades. Veámoslo mediante el siguiente cuadro: Aspectos de la red Aspectos concretos de la red analizada La velocidad de la Aquí trataremos con el nivel de velocidad más alto de los hasta ahora vistos. Las red velocidades pueden ir de una Fast Ethernet hasta una red Gigabit. La cantidad de La cantidad de tráfico, será enorme, ya que entre las subredes habrá bastante tráfico que circule circulación de datos, y desde el router con acceso a intenet también habrá mucho por ella movimiento hacía fuera. Aquí, igual que el punto anterior, el mejor sistema operativo sería un BSD por que El sistema es el que proporciona mejor seguridad, y en una red de estas características se operativo más necesitará bastante seguridad. Como aquí ya es seguro que tendremos un adecuado administrador experto (o varios) no habrá ningún problema en que no se use un Windows de interfaz agradable y seguridad cuestionable. El nivel de No es necesario decir que, en una red de estas características, se precisará de seguridad que se una seguridad al más alto nivel. Por ello además de instalar un sistema de pretende conseguir detección de intrusiones y un firewall, se puede plantear la posibilidad de instalar un Honeypot, para así poder elevar el nivel de seguridad, o en el caso de ataque, poder rastrear al incursor para sancionarle de la manera conveniente. La cantidad de La cantidad será muy grande, con lo que se tiene que tener en cuenta que IDS usuarios a elegir, ya que se tendrá que optar por uno más potente. monitorizar Elección de un IDS La mejor opción sería un IDS comercial, por las mismas razones que en la red comercial o de libre anterior. Nos proporciona la capacidad de monitorizar un rango mayor de ancho de distribución. banda. Y una gran compañía se puede permitir pagar para garantizar su seguridad. Vanessa Viñes Sanjuan 95 Sistemas de detección de intrusos Este tipo de red será el que requiera de mayor seguridad, pero seguiremos con la misma filosofía básica de sistemas de detección de intrusiones. En este caso podremos necesitar 5 sensores para poder monitorizar las redes, uno de ellos tendrá que ser el servidor central y los demás le tendrán que enviar la información. Para conservar la información sobre las intrusiones, se puede montar una base de datos en el servidor central, para ir guardando los logs y las alertas generadas. También tendremos los equipos críticos, y en cada uno de ellos instalaremos un HIDS. Vamos a ver la elección de los sistemas de seguridad: - Firewall: Como en la red anterior, la mejor opción (y la más segura) es instalar un router con un firewall hardware. Como ejemplo se propone el mencionado en la red anterior. Es un firewall con unas características bastante buenas. - HIDS: Podemos decantarnos por Osiris o por Dragon. Osiris es el propuesto para las redes anteriores. Enterasys nos ofrece un sistema de detección de intrusiones basado en host, bastante bueno que es: Enterasys Dragon Host Sensor and Web Server Intrusion Prevention. Es un software que nos ofrece la posibilidad de comprar un “pack” de 25 licencias (DSHSS7-25-LIC) con lo que podríamos llegar a tener instalados 25 HIDS en nuestra red. Esta versión de Dragon soporta las plataformas: Windows NT/2k/XP/2003, Sparc, Solaris, AIX, HP-UX y las distribuciones Linux Red Hat, Fedora, SuSe, Debian y Mandrake. Este producto en concreto nos ofrece: Una herramienta basada en host de la defensa de la intrusión, el sensor del anfitrión del dragon previene los sistemas individuales de los ataques y de los monitores que funcionan con el sistema operativo más común de hoy para la evidencia de la actividad malévola o sospechosa en tiempo real. El sensor del anfitrión del dragon se puede desplegar en un anfitrión protegido donde utiliza una variedad de técnicas para detectar ataques y uso erróneo en el sistema, incluyendo analizar el registro del acontecimiento de la seguridad, comprobando la integridad de los archivos críticos de la configuración, o la comprobación para saber si hay compromisos del nivel del kernel. - NIDS: Como ya hemos visto en la tabla anterior, vamos a elegir un NID de Real Secure. En este caso vamos a elegir una versión capaz de monitorizar redes Gigabit, ya que en este sistema de redes las velocidades, se supone, serán muy altas. Internet Security Systems nos ofrece este producto: RGS-1-P-E -> RealSecure Network Gigabit - (incluye SiteProtector o WGM). Vanessa Viñes Sanjuan 96 Sistemas de detección de intrusos Vamos a actuar como en la red anterior pero con una pequeña diferencia, vamos a instalar un sistema de seguridad nuevo, un Honeypot. Este sistema lo instalaremos en el servidor central. - Honeypot: El honeypot elegido es Specter, este sistema funciona correctamente bajo Windows 98/NT/2003/XP, Linux Solaris, Tru64, IriX, Unisys Unix, MacOS, FreeBSD. Nosotros usaremos la distribución para FreeBSD, ya que será el sistema operativo que usaremos. La página web oficial de esta aplicación es: http://www.specter.com/ Con esto tendremos el siguiente esquema de seguridad: WWW Router/Firewall Router/Firewall Vanessa Viñes Sanjuan Router/Firewall Router/Firewall 97 Sistemas de detección de intrusos ANÁLISIS ECONÓMICO DEL SISTEMA DE SEGURIDAD IMPLANTADO CONCEPTO GASTOS Equipo servidor 5 unidades 6.500 € Equipos usuarios 200 unidades 180.000 € Servidor Linux BSD 0€ Licencia 200 clientes Windows XP Home Ed. 18.000 € Firewall Hardware DFL-1100 de D-Link (4) 5.876 € IDS: Dragon Host Sensor (x25) 144 € IDS: RealSecure Network Gigabit (5) 29.696 € Antivirus Norton Internet Security 70 € Honeypot: Specter 784 € TOTAL Vanessa Viñes Sanjuan 241.070 € 98 Sistemas de detección de intrusos 8. CONCLUSIONES El proyecto ha consistido, en hacer un estudio de los sistemas de detección de intrusos, y otras herramientas de seguridad (como los firewalls o los honeypots). El objetivo ha sido el de da a conocer unas técnicas de seguridad, que hoy en día son muy necesarias. También se ha hecho un análisis de algunos de los productos de detección de intrusiones más conocidos y usados, para que se puedan comparar y saber cual de ellos se adecua más a las necesidades de cada red. Los últimos puntos de este proyecto, intentan servir como ejemplo orientativo para el montaje de varios sistemas de seguridad en distintos tipos de redes, con distintas necesidades. Una posible ampliación de este proyecto sería instaurar un sistema de seguridad en una red física, configurando cada uno de sus componentes y comprobando su correcto funcionamiento. Vanessa Viñes Sanjuan 99 Sistemas de detección de intrusos 9. Recursos utilizados 9.1. Programas Este proyecto ha sido básicamente teórico, con lo que sólo se ha usado algún programa, para poder ver cómo se tendrían que configurar. Estos han sido los programas usados: - Snort 2.4 - Snort IDSCenter - Zone Alarm 9.2. Información en Internet Se han usado muchas páginas de Internet, a continuación se mencionan algunas de las más usadas: - http://www.snort.org - http://elligre.tk - http://tau.uab.es - http://oriol.joor.net - www.criptored.upm.es - www.rediris.es - Etc... 9.3. Bibliografía Estos son los libros que se han consultado: - Anónimo, Linux, máxima seguridad, Ed. Prentice Hall, 2001 Brian Hatch, James Lee, George Kurtz, Hackers en Linux, Ed. Mc Graw Hill, 2003 Stephen Northcutt, Judy Novak, Detección de intrusos – Guía avanzada, Ed. Prentice Hall Vanessa Viñes Sanjuan 100