Sistemas IDS/IPS Defensa reactiva a los ataques en red IDS vs IPS Un sistema IDS (Intruder detection system) detecta acceso o uso no autorizado a una red o equipo. Trataremos IDS de red. “Sniffa” la información de la red en busca de incidencias, NO NECESARIAMENTE DE ATAQUES. Detecta la incidencia y registra información asociada. Puede o no lanzar una alerta. IDS vs IPS Un sistema IPS (Intruder protection system) toma decisiones inteligentes cuando encuentra una incidencia. Solo existen IPS para redes. Evolución natural de los sistemas IDS. Sniffa la información de la red en busca de incidencias. Cuando encuentra una, además de registrarla y mandar una alerta, puede tomar una decisión. IDS vs IPS El IPS decidirá si hacer drop o reject al paquete. Puede haber alguna otra opción, como forward, según el IPS. Drop elimina el paquete, mientras que reject además reinicia la conexión TCP. Si no fuese TCP, mandará un mensaje de destino inalcanzable. Sistemas IPS Cuatro formas de análisis o actuación. Detección basada en firmas: Analiza el trafico en busca de patrones coincidentes con una base de datos de firmas. Es un funcionamiento similar al de los antivirus. Pro: Pocos falsos positivos, permite detectar exploits u otro código malicioso. Contra: Hay que actualizar las firmas frecuentemente. Sistemas IPS Detección basada en políticas: Se declaran políticas de forma parecida a un firewall. El sistema IPS analizará el tipo y destino de los paquetes de red para saber como actuar. Ej: Prohibido el acceso tcp al puerto 80 desde la subred 192.168.3.0/24 Contra: Limitaciones de un firewall. Sistemas IPS Detección basada en anomalías: Crea perfiles de uso de la red a través del análisis estadístico y el aprendizaje automático. Perfiles por usuarios y redes. Reaccionará cuando detecta un comportamiento anómalo. Sistemas IPS Ej: Un usuario habitualmente solo crea conexiones TCP a nuestro servidor por el puerto 80. De repente, empieza a mandar mensajes UDP a muchos puertos de nuestro servidor. ¿Posible ataque? Pro: Se pueden detectar ataques desconocidos o muy recientes sin que estén en nuestras firmas. Contra: Propenso a falsos positivos. Sistemas IPS Detección por honeypot. Un honeypot es un equipo que, a primera vista, parece ser vulnerable e interesante para un atacante. Se equipan con herramientas de sandboxing y analisis forense. Podemos obtener mucha información de los ataques sufridos por un honeypot. IPS o IDS/IPS Algunos autores afirman que un IPS es la continuación de los sistemas IDS. Por otro lado, los hay que afirman que un IPS y un IDS son sistemas distintos. Cuestión: IPS lleva implícito o no IDS en el nombre. Un IDS no podrá actuar como IPS. Un IPS si como IDS. IPS vs Firewall Un IPS NO ES un cortafuegos. Cortafuegos: Siguen reglas de forma estática, basadas en direcciones y puertos. IPS: Toman decisiones de forma dinámica, basadas en reglas y en función del trafico. Ej: Prohibir trafico http al puerto 8090 si y solo el número de secuencia TCP es 100. ¿Por qué un IPS? MAGERIT: Metodología de Análisis y Gestión de Riesgos de los Sistemas de Información, del esquema nacional de seguridad. Propone “H.tools.IDS IDS/IPS: Herramienta de detección / prevención de intrusión” como salvaguarda de tipo general para nuestros sistemas. ¿Por qué un IPS? En entornos industriales es inviable el uso de antivirus de propósito general. Se debe a: ◦ Equipos antiguos con capacidad limitada. ◦ No se pueden desperdiciar recursos. ◦ Altos costes de actualización del equipamiento. Muchos protocolos industriales no implementan seguridad. ¿Por qué un IPS? Solución: Externalizar la protección a la red, a través de equipos específicos. Sistemas IPS y Firewalls. En redes de grandes organizaciones la topología de la red y los cortafuegos no puede ser suficiente: Ataques desde dentro, uso incorrecto de la red o nuevas técnicas de ataque. Un IPS puede mitigar el problema. ¿Por qué un IPS? En grandes redes publicas donde se conectarán multitud de usuarios que pueden no ser de nuestra confianza, un sistema IPS proporcionará una nueva capa de protección a la red. Un sistema IPS basado en sensores puede ofrecernos una protección centralizada a nuestros servidores en la nube. Cada servidor analiza su propio trafico y volcará registros en un destino común. ¿Dónde situar el IPS? Es una cuestión importante: Dependerá de las redes que se quieren proteger, y la topología de las mismas. El sistema IPS deberá tener acceso y conectividad a todas las redes que se quieren proteger. En redes de medio cableado o separadas geográficamente aparece un problema. ¿Dónde situar el IPS? Se pueden instalar en serie o en línea, o en paralelo. En paralelo se pierden funcionalidades del IPS. En serie se perderá velocidad de la conexión. Conectado en paralelo Conectado en serie ¿Dónde situar el IPS? Algunos dispositivos, como switches, disponen de facilidades para los IPS. Los switch de CISCO permiten crear una VLAN a la que replicar todo el trafico. Otras marcas disponen de un puerto especial. ¿Dónde situar el IPS? Solución: Usar un IPS basado en sensores, distribuidos en los distintos puntos de interés. Los sensores analizarán el trafico que les llega de forma independiente, pero tomarán decisiones basadas en reglas comunes (No siempre). Entregarán los resultados en un destino común. IPS: ¿Hardware o software? Existen IPS hardware y software. Los basados en hardware son más caros, pero al estar instalados en un dispositivo especializado en analizar el trafico, suelen tener mayor potencia (Tiempo empleado en analizar y capacidad de análisis). Pensados para grandes servidores o redes de servidores, donde una alta capacidad del IPS resulta crítica. IPS: ¿Hardware o Software? Los basados en software son más baratos, ya que podemos instalarlo en un equipo convencional. Su capacidad de funcionamiento estará limitada por el hardware otorgado. Existen soluciones libres basadas en Software muy buenas. Los sensores IPS también pueden ser basados en hardware o software. Soluciones IPS Stonesoft 3206 Desarrollada por McAfee Basada en hardware Firewall + IPS Analiza a 10Gbps Hay que renovar una suscripción anual a las firmas y reglas Soluciones IPS IBM GX7800 Desarrollada por IBM Basada en hardware Prometen bloquear un 97,7% de ataques Analiza a 20Gbps No especifica si requiere suscripción o si las firmas son actualizables Soluciones IPS Cisco IPS 4270 Analiza a 4Gbps Basada en hardware Cada unidad hardware es un sensor. Solución pensada para distribuir varios sensores. Suscripción gratuita a reglas. Permite administrar tus propias reglas. Soluciones IPS Cisco IOS IPS Basada en Software Se instala en el firmware de los routers Cisco Actualizaciones a firmas gratuitas y automatizadas Detección basada en firmas y anomalías Soluciones IPS Suricata Open source, desarrollado por “Open Information Security Foundation” Sistema de reputación por IP, aceleración por GPU, detección automática de los protocolos. Scripts lua avanzados para cuando el lenguaje de reglas no es suficiente. Alertas en Json Análisis basado en reglas Soluciones IPS Snort Open source, desarrollado por “SourceFire”. Análisis basado en reglas, firmas y anomalías. Sistema muy ligero. Permite ser ejecutado como sensor. Distribución de reglas oficial “gratuita” (30 días de retraso). Snort Vamos a conocer a Snort Open source (Licencia GNU-GPL v2) Fácil de usar Muy potente Comunidad muy activa desde 1998 Más de 4 millones de descargas En 2009, el 4º IPS más usado, por debajo de tres soluciones propietarias. Snort Snort se divide en dos componentes: Snort Engine y los Snort Rules Snort Engine es el motor básico que se encarga de interceptar el trafico y analizarlo, en función unas reglas y firmas. Como se ha dicho, se encuentra bajo licencia GNU-GPL v2. Snort Snort Rules son un conjunto de ficheros que contienen las reglas de Snort. Las reglas indican al IPS como hacer la detección basada en firmas así como la detección basada en políticas. Es importante actualizar las reglas de forma habitual, para estar al tanto de las últimas amenazas. Snort Existen varios rule sets que pueden dividirse en tres grandes grupos. Las community rules son las reglas que “por defecto” de Snort. Se actualizan con baja frecuencia y tienen un conjunto de reglas muy básico. Cualquier persona puede descargarlas para uso no comercial. Snort Reglas VRT VRT (Vulnerability Research Team) es un grupo de profesionales en seguridad respaldado por Snort cuyo fin es encontrar y estudiar amenazas de red. Desarrollan un conjunto de reglas complejo, de alta calidad y que se actualiza tan pronto como aparece una nueva amenaza. Snort Las reglas VRT, de uso propietario, las puede descargar cualquier usuario que se registre de forma gratuita en la web de Snort. Así mismo, un usuario puede comprar una suscripción a las reglas de VRT. El precio es de 30€ para fines didácticos o de investigación, y 300€ para uso en producción. Snort Diferencias entre versión gratuita y de pago: ◦ La versión gratuita recibe las actualizaciones 30 días más tarde que los usuarios suscriptores. ◦ Los usuarios suscriptores pueden contactar con el VRT para obtener soporte (falsos positivos/negativos, ayuda en la creación de reglas, etc…) Snort Por último, existen distribuciones “no oficiales”. Son distribuciones de reglas realizadas por terceros, ya sea de forma gratuita o de pago. Cualquiera puede programar sus propias reglas a través del lenguaje de reglas de Snort. Snort Las reglas de Snort se pueden dividir en políticas. Snort nos permite cambiar de una política a otra fácilmente. Existen tres políticas en las reglas VRT y comunitarias. Conectividad sobre Seguridad Balanceada Seguridad sobre conectividad Snort Conectividad sobre Seguridad intentará reducir los tiempos de análisis, así como prohibir al usuario lo menos posible. Solo se buscarán vulnerabilidades aparecidas en los últimos 3 años. Snort La política balanceada es la política por defecto los conjuntos de reglas. Buscará vulnerabilidades de los últimos tres años, así como malware, kits de explotacion y SQL injections. Snort La política seguridad sobre conectividad dará prioridad a la seguridad por encima de todo. Buscará vulnerabilidades desde “el principio de los tiempos”. Buscará malware, kits de explotación, sql injections, e intentará detectar el software detrás de cada conexión. Snort Las firmas de Snort se pueden distribuir en varios archivos en formato .rules Esto permitirá tenerlas mejor organizadas, o tener un sistema IPS que solo atenderá a reglas de un tipo. Los archivos se suelen dividir por protocolo o contenido. Ej: Http, serverapache, server-mail, policy-spam, os-linux, pua-adware, blacklist, browser-firefox. Snort ¿Es mejor usar un conjunto de reglas por defecto? ¿O utilizar un conjunto personalizado? Un mayor número de reglas implica mayor seguridad. Además implica mayor tiempo de análisis, mayor latencia en la conexión… ¡Hay que encontrar un equilibrio según la situación! Snort Lenguaje de construcción de reglas muy sencillo. En la página oficial de Snort existe un manual bien documentado sobre la construcción de reglas. Veamos una de ejemplo… Snort alert tcp any any -> any 21 (content:"site exec"; content:"%"; msg:"site exec buffer overflow attempt";) Esta regla intenta alertar de un posible intento de ataque en un servidor FTP. Snort Cabecera, en color rojo. Formato: Parametro1[alert, log, pass] protocolo origen puerto -> destino puerto (parametros) Alertar si hubiera una conexión TCP de cualquier lugar y cualquier puerto, a nuestros equipos en el puerto 21, si y solo si en el paquete se encuentran las cadenas “site exec” y “%”. El mensaje de alerta será el valor de msg. Snort Se crearán reglas de mayor complejidad utilizando operadores lógicos y los distintos parámetros que acepta el lenguaje. Snort Existe un archivo de configuración de Snort llamado snort.conf Entre otras cosas, podemos configurar donde escribirá las alertas. Las alertas normalmente se escriben en consola (para tareas de prueba y mantenimiento), en archivos log o en una base de datos MySQL. Snort Snort se puede ejecutar como sensor fácilmente. Para utilizar Snort como sensor, cambiamos en snort.conf el destino de las alertas a una base de datos MySQL centralizada. output database: log, mysql, user=snort password=snortpass dbname=snort host=mysql.host Multitud de instalaciones de Snort pueden escribir en la misma base de datos. Snort Escribir en una base de datos, además, nos permitirá integrar Snort con multitud de aplicaciones de alerta, estadísticas, etc… Los pocos recursos que necesita Snort para ejecutarse, lo hacen ideal para instalar un sensor en cada servidor de producción. Ej: Servidor de email con un sensor que ejecuta reglas de email, y servidor web que ejecuta reglas de servidor web. Snort Snort, como la mayoría de los IPS, volcará información que necesitamos trabajar para que sea útil. Existen aplicaciones que harán este trabajo por nosotros. BASE es una interfaz web de licencia GPLv2 que ejecuta consultas en una base de datos de Snort y generará informes. Snort Existe una gran comunidad de desarrollo de plugins para Snort. Algunos ejemplos: PE Sig: Genera firmas para archivos ejecutables que podemos usar en nuevas reglas. Pulled_Pork: Un administrador de reglas. Permite descargar actualizaciones y activar/desactivar reglas facilmente. Snort ThePigDoktah: Otra herramienta de generación de informes a partir de los registros de Snort. SnoGE: Representa el trafico (origen y destino) de los registros sobre Google Earth. DumbPig: Detecta fallos de sintaxis en las reglas de Snort. Snort Snort, y otros IDS/IPS, empiezan a incorporar técnicas de fingerprinting. Estas técnicas les permiten detectar, en ocasiones, el software que realiza la conexión. Útil para rechazar conexiones de software que, si bien puede no ser malicioso, puede ser no deseado. ¡Gracias por su atención!