Detección de Amenazas de seguridad en redes empresariales

A continuación se detallan unos puntos como pequeña introducción:

•Los protocolos de gestión de red (SNMP) no son suficientes para la detección de amenazas de seguridad
•Cualquier red expuesta a Internet sufre cientos de escaneos al día con lo que se reducen los tiempos medios para la ruptura de sistemas
•Los sistemas más frecuentemente comprometidos los sistemas windows
•La red de comunicación y su gestión es un recurso muy preciado.
•Los atacantes son cada vez mas “profesionales” y buscan beneficio en sus acciones
•Controlar la red de un sistema de información puede ser un activo a la venta y el punto de partida de actividades ilegales. 




Breve historia
•El concepto de detección de intrusión fue introducido en el artículo que James Anderson escribió en 1980 para el NIST, llamado  “Computer Security Threat Monitoring and Surveillance”.
•Ya en 1990, Heberlein diseñó y codificó el primer IDS de red.
•El “boom” comercial no llegaría hasta 1997, con el primer IDS de ISS.
•A partir del año 2000, todas las grandes compañías de seguridad tenían una solución IDS.

Empecemos ahora definiendo algunos conceptos.

Intrusión

–Intrusión: Una secuencia de acciones realizadas por un atacante que resulta en el compromiso de un sistema. 
–Detección de intrusión: el proceso de identificación y respuesta a intentos de ataques. Como proceso que es, involucra tecnología, personas y herramientas.
–La inmensa mayoría de sistemas sufren vulnerabilidades.
–El número de incidentes de seguridad se incrementa continuamente.
– Usuarios y administradores son mas lentos en la actualización que los atacantes en explotarlas
•Casi el 50% de los ataques con éxito son llevados a cabo por usuarios internos –Si no tiene éxito sigue siendo importante alertar


Términos sobre IDS
  • Falso positivo –Se produce cuando un IDS genera una alerta falsa sobre un ataque que no se ha producido. Una elevada tasa de falsos positivos es uno de los grandes inconvenientes de los IDS.
  • Falso negativo –Se produce cuando un IDS no detecta un ataque y no genera la alerta correspondiente. Un único falso negativo puede provocar que una intrusión no sea detectada. 


Tipos de IDS
Los IDS pueden clasificarse, básicamente, utilizando  dos criterios: localización y modo de funcionamiento.

•IDS de host –Funcionan a nivel de máquina, monitorizando parámetros del sistema operativo.

•IDS de red –Se sitúan en la red, capturando y monitorizando su tráfico.

•IDS basado en reglas –Buscan patrones, tanto en el tráfico como el comportamiento del usuario, para identificar los posibles ataques.

•IDS basado en anomalías –Generan un modelo del “comportamiento normal” del sistema y buscan desviaciones del mismo.


IDS de host
•Los IDS de host monitorizan, detectan y responden a la actividad del usuario, del sistema y ataques a un máquina dada.
•Esto lo hacen examinando parámetros del sistema operativo y del comportamiento del usuario a través de un agente:

–Uso de CPU y memoria.
–Monitorización de logs.
–Intentos fallidos de login.
–Monitorización del sistema de ficheros.


•Las opciones de ubicación más obvias son:

–Servidores de “negocio” (perimetrales e internos).
–Cortafuegos.
–Servidores Web, DNS y de correo.


IDS de red
•Los IDS de red (NIDS) capturan y analizan todo el tráfico de un segmento de red, en busca de actividad maliciosa. 

•Tradicionalmente, los NIDS han tenido problemas para trabajar en:

–Entornos conmutados.
–Entornos con comunicaciones cifradas.
–Redes de alta velocidad (redes Gigabit o de más de 100 Mbps).

Si es cierto que desde hace poco tiempo, ya existen algunos IDS capaces de trabajar en estas redes.

Un IDS de red se compone de:

–Sondas: elementos recolectores del sistema. Capturan el tráfico y realizan un primer paso de procesado. Después, envían los eventos generados al sistema gestor.

–Sistema gestor: encargado de almacenar y gestionar los eventos recibidos. Se compone de:

•Base de datos.
•Sistema de correlación de eventos.

–Consola de administración:clasifica y muestra los eventos recibidos.

La implantación de un NIDS es un proceso complejo y delicado, que implica:

–Elección del producto más adecuado (comercial o libre).

–Elección del tipo de sondas.

–Elección del número y ubicación de las mismas.

–Ajuste de la política de cada sonda, para reducir el número de falsos positivos.


Tipos de sondas
•Las sondas pueden ser:

–Hardware dedicado: muchos IDS comerciales utilizan esta fórmula.
•Ventajas: en teoría, pueden alcanzar mayores tasa de captura.
•Inconvenientes: son cajas negras, de las que se desconoce su funcionamiento.

–Un simple PC: con sus tarjetas de red en modo promiscuo.
•Ventajas: reduce costes y facilita el matenimiento.
•Inconvenientes: en teoría, podrían ser menos fiables.


Ubicación de las sondas
•La ubicación de las sondas es muy importante, pues determina qué tráfico puede monitorizarse.

•En principio, en entornos conmutados sería necesaria una sonda por cada segmento de red.

•Para reducir costes:
–Puertos de spanning.
–Uso de TAPs.   


Spanning ports

•Algunos switches tienen un puerto de span (o de agregación), por el que se recibe todo el tráfico que pasa por el switch.
•Si se conecta la sonda a ese puerto, ésta es capaz de ver todo el tráfico.
•Algunos problemas:
 –Si el tráfico es muy alto, el switch puede tener problemas de rendimiento y empezar a tirar paquetes.
–Algunos switches sólo permiten un puerto de span por VLAN.   

TAPs
•Un tap es un dispositivo hardware que se coloca en mitad de un cable de datos y envía una copia del tráfico que pasa a través de él a uno o más puntos.
•No tienen problemas de rendimiento ni necesitan configuración.
•Se debe elegir su ubicación con cuidado, pues puede sobrecargar fácilmente las sondas.    


IDS basados en firmas
•Estos IDS funcionan buscando patrones previamente definidos en aquellos parámetros que monitorizan:
–El tráfico de red para los NIDS.
–El sistema de ficheros, por ejemplo, para los HIDS.

•Cuando se detecta una concordancia, se dispara la regla y se genera una alerta.
•Esta alerta se envía a una consola central, donde un operador humano debería analizarla y actuar en consecuencia.


•Ejemplo sencillo para un NIDS:


IF número_intentos_login_último_minuto >= 10  AND mismo_usuario THEN ALERT  (“Ataque de fuerza bruta contra cuenta de usuario”)
IF misma_dir_IP_origen AND diferentes_puerto_destino
AND num_conexiones >= 10 THEN ALERT 
(“Escaneo de puertos”)

•Las firmas reales no son tan sencillas. Esta es una firma de Snort para detectar un tipo de ataque contra dispositivos Cisco: 


alert tcp any any -> $HOME_NET 23 (msg: "BLEEDING-EDGE EXPLOIT Cisco Telnet Buffer Overflow"; flow: to_server,established; content:"|3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 3f 61 7e 20 25 25 25 25 25 58 58|"; threshold: type limit, track by_src, count 1, seconds 120; reference:url,www.cisco.com/warp/public/707/cisco-sn-20040326-exploits.shtml; classtype: attempted-dos; sid: 2000005; rev:4; )



IDS basados en firmas: refinado base de reglas

•Cuanto más general sea una regla, más posibilidades tendrá de detectar un ataque en particular.
•Aunque también, más posibilidades de que cualquier otro paquete, que no tenga nada que ver, concuerde con sus criterios y provoque un falso positivo.
•Pero… si hacemos la regla demasiado específica, podemos generar un falso negativo, al no comprobar alguna característica importante del tráfico malicioso.
•Se trata, por tanto, de encontrar un equilibrio entre ambos criterios, que adapten la base reglas a nuestro tráfico sin provocar nunca falsos negativos.


Snort
•Sin duda, el mejor IDS libre y uno de los mejores de todo el mercado. –Muy extendido.

–Fiable.
–Extensísima documentación.

•Desarrollado y utilizado por una comunidad muy activa, lo que proporciona: –Bases de reglas exactas y rápidamente actualizadas.
•La base de reglas se almacena en ficheros de texto plano: –Control total sobre los mismos.

–No tan obvio: muchos IDS comerciales son “cajas negras”.

•No se conoce ni se tiene control sobre su base de reglas.
•Por tanto, no se puede reducir la tasa de falsos positivos manualmente. 




•Ventajas
–Son conceptualmente sencillos.

–Flexibles:
•Posibilidad de escribir nuevas firmas cuando se descubren nuevos ataques (¡muchos IDS comerciales no lo permiten!).



•Inconvenientes
–No detectan nuevos ataques que no hayan sido definidos previamente en su base de reglas.
–Necesitan de un continuo ajuste de su base de reglas. Si no se realiza: •La tasa de falsos positivos puede incrementarse con el tiempo.
•El sistema pierde toda su eficacia, pues es incapaz de detectar las amenazas más recientes que son, claramente, las que más se utilizan. 


IDS basados en anomalías
•Este tipo de IDS funciona generando un modelo del comportamiento “normal” o habitual del sistema o del usuario.
•Después, monitoriza la actividad del sistema o de la red, clasificándola como normal o anómala: todo lo que no sea normal, es anómalo.
•El punto clave es que esta clasificación se lleva a cabo utilizando heurísticas, en vez de patrones o firmas. 


Sistemas de prevención de intrusión
•Los IDS son elementos completamente pasivos: sólo detectan los ataques.
•Las acciones correspondientes tendrán que llevarlas a cabo personal humano.
•Con un volumen alto de eventos o mucha complejidad de los mismos, el tiempo de reacción (en el caso mejor) puede ser de minutos. 

•El paso lógico es, entonces, dotar de capacidad de acción a los IDS.
•Los sistemas de prevención de intrusión (IPS) pueden, por tanto, reaccionar a los ataques, llevando a cabo alguna acción previamente programada.   


IPS

•Inconvenientes:

–Para funcionar correctamente, necesitan ser conectados “en serie”.
–Son un cuello de botella y un punto único de fallo.
–Para mitigar este problema funcionan en modo fail-over: si fallan, dejan pasar el tráfico sin analizar.  

Sistemas señuelo
•Uhoneypot es un trampa:
–A nivel de máquina: corren servicios reales en una máquina o se simulan estos servicios en un entorno controlado.
–A nivel de red: se simulan máquinas y redes completas, servidores que no existen para hacer creer a un atacante que ha encontrado una organización vulnerable.

Tipos de Señuelos
•En función de lo real que sea la simulación los honeypots se consideran de:

–Baja interacción

. Simulan servicios, aplicaciones y sistemas operativos.
. Suponen un riesgo bajo y son fáciles de implantar y mantener.
. Son fácilmente detectables por atacantes con experiencia.
. Capturan una cantidad de información limitada.


–Alta interacción

. Servicios, aplicaciones y SO’s reales. 
. Capturan mucha información
. Suponen un alto riesgo (pueden ser utilizadas como plataformas para nuevos ataques) y son difíciles de mantener.