Sei sulla pagina 1di 18

Sistemas de Detección de Intrusos

¿Qué son los Sistemas deDetección de Intrusos?

Sistemas que detectan ataques basándose en la detección de anomalías o uso incorrecto


del sistema
Existen cuatro tipos fundamentales de IDS, según el origen de la información:
- NIDS - Network IDS
- HIDS - Host IDS
- AIDS- Aplication Based IDS.
- SIDS - Stack IDS

NIDS
Utiliza un adaptador de red funcionando en modo promiscuo. Analiza todo el tráfico, en
tiempo real, a medida que este pasa por la red. Usualmente utiliza un filtro de primer
nivel, el cual determina que paquetes se le darán al módulo analizador

Ejemplo:
Podemos lanzar una alerta cuando vemos paquetes SNMP, pero si es una estación que
necesita SNMP, podemos obviarlos

Técnicas para reconocer un ataque


− Patrón de uso del sistema
− Frecuencia de acciones realizadas por usuarios o programas
− Anomalía en el funcionamiento de los sistemas

Cuando el ataque es detectado


− Notificar
− Alertar
− Tomar medidas

HIDS
Comienzan en los 80, cuando no existían tantas redes. Estaban basados
fundamentalmente en la revisión de los ficheros de bitácora (logs). Se continúa
utilizando esta técnica, pero de forma automatizada, sofisticada y en tiempo Real

Formas de acometer la tarea:


− Monitorear la actividad en tiempo real, al insertarse datos en los logs
− Periódicamente chequear los logs
Al ser la frecuencia de monitoreo muy alta, estamos en presencia de un sistema que
actúa en tiempo casi real Algunos también alertan cuando determinados puertos son
accedidos
Otros vigilan el acceso a los puertos haciendo tareas similares a los NIDS, pero
limitándose exclusivamente a los paquetes destinados a la propia máquina

AIDS
Conjunto de máquinas dedicadas al análisis de los datos recolectadas en diversas
fuentes. La fuente de información son los logs de auditorías realizadas en diversas
estaciones.
SIDS
Tecnología muy reciente. Varía mucho de vendedor a vendedor. Se integra al stack
TCP/IP permitiendo analizar los paquetes a medida que estos pasan de una capa a otra
en el modelo OSI
La idea es hacer que el análisis del tráfico consuma muy pocos recursos, de forma tal
que en todas las estaciones este implementado

Ventajas de los NIDS


Su funcionalidad no puede ser lograda con un HIDS en solitario

- Costo: Permite la ubicación del software en puntos críticos de la red. Al


existir menos puntos de acceso, es más fácil administrarlos,
disminuyendo el costo del producto

- Análisis de paquetes: Examina todos los paquetes buscando muestras de


actividad sospechosa o maliciosa. Muchos ataques pueden ser detectados
prácticamente de inmediato

- Evidencia: El atacante no puede eliminar los paquetes recolectados una


vez que han sido tomados por el NIDS. Cuando una estación es
comprometida, lo primero que elimina el atacante son los logs

- Detección y respuesta en tiempo real: Detectan los ataques en el


momento en que están ocurriendo. Se pueden tomar medidas como
bloquear al atacante o seguir obteniendo pruebas

- Detección de intentos maliciosos: Si ponemos el NIDS fuera del firewall,


podemos detectar ataques que serán bloqueados y por tanto pasar
inadvertidos

- Complemento y verificación: Ejemplo, puede garantizar que el tráfico


que circula por la red está cifrado o que no están pasando del firewall
paquetes indebidos
- Independiente del sistema operativo

Ventajas de los HIDS


- Al residir en la propia estación, puede tomar datos del SO inaccesibles a
un NIDS

- Verificación del ataque: Al contar con los logs del sistema, puede
determinar si el ataque fue efectivo o no. Se presentan menos falsos
positivos

- Actividad específica del sistema: Puede determinar patrones de conducta


de los usuarios y alertar cuando se ejecutan acciones que alteran estos
perfiles

- Funcional en redes que utilizan switchs o cifrado: Esto no lo logran de


forma efectiva los NIDS
- Monitoreo de recursos: Existencia de DLL, ejecutables. El sistema puede
alertar cuando uno de estos componentes es alterado

- Detección y alertas casi en tiempo real

- No necesita hardware adicional

Escenarios donde NIDS funciona mejor


- Ataque SYN
- Ataques LAND, SMURF, TEARDROP
- Herramienta BackOriffice
- Ataque WinNuke

Escenarios donde HIDS funciona mejor


- Tráfico de red cifrado
- Sobre-escritura del ejecutable que permite el acceso al sistema

Escenarios cooperativos
- Acceso a un sistema NIDS
- Cambio de privilegios a administrador HIDS
- Elimina los logs del sistema HIDS
- Escaneo de puertos NIDS
- Ataque buscando CGI vulnerables NIDS
- Cambio de una página web HIDS
- Escaneo de puertos NIDS
- Exploit del WU-FTP NIDS
- Acceso a una consola como root HIDS

¿Dónde ubicar un HIDS?


Los HIDS se ubican, por supuesto en las estaciones seleccionadas, dando preferencia a
los servidores. Su desarrollo es equivalente a cualquier otra aplicación

¿Dónde ubicar un NIDS?


Existen tres formas
- SPAN - Switch Port Analizer
- Hubs (distribuidor)
- Cableados

Switch Port Analizer


Cada paquete que pase por el switch se envía a determinado puerto. En este se conecta
el NIDS
Ventajas:
- Fácil de instalar
- No se requiere hardware adicional
- La configuración del firewall no se afecta
Desventajas:
- Solo un puerto SPAN por switch
- Se degrada el rendimiento del switch
- No se pueden enviar paquetes errados (con CRC malo, por ejemplo)

Hubs
Un hub no es recomendado si se puede sustituir por un cableado

Ventajas:
- Fácil de instalar
- No se requiere hardware adicional
- La configuración del firewall no se afecta
- Muy económico
Desventajas:
- Se afecta el rendimiento a causa del medio
- Otro punto de fallo en el sistema

Cableados
Equipo inactivo que permite que los paquetes que se transmiten por la red lleguen al
NIDS
Ventajas:
- Tolerante a fallos
- No afecta el tráfico
Desventajas:
Pueden ser costosos
Sin modificaciones extras no se puede monitorear el tráfico en ambas direcciones

Ejemplo
OTROS TIPOS DE IDS
Tipos de IDS según su análisis
- Detector de patrones
- Detector de anomalías
-
Detector de patrones
Busca patrones conocido asociados con cierto tipo de evento. (ejemplo: solicitudes de
páginas Web que provocan problemas, xxx.ida, etc.)
Es llamado signature o fingerprint IDS. Es muy usado, pero solo detecta ataques que
estén registrados en la BD.

Detector de anomalías
Detecta anomalías en el comportamiento Usa técnicas tales como: estadística, redes
neuronales, sistemas basados en reglas, sistemas expertos, etc
Poco extendidos, detectan muchos falsos positivos, aun necesitan refinar las técnicas
Una vez bien diseñado abarca más ataques que los anteriores

Tipos de IDS según su respuesta


Activo: Lanza un programa que previene el ataque
Pasivo: Lanza un aviso del posible ataque

Software
HIDS
- Tripwire (CRC)
- Veracity (CRC)
NIDS
- Snort
- Dragon
- MyNetWatchman

Ataques y detección

Scanneo de puertos

NIDS: Lanza una alarma cuando se solicita conexión por más de dos puertos a un host
en un tiempo muy pequeño
HIDS: Lanza alarma si le están solicitando conexión por más de un puerto en un tiempo
pequeño

SNORT
Sistema de detección de intrusos de red Desarrollada por M. Roesch www.snort.org.
Corre en Unix y Windows. Trae un conjunto de reglas por defecto pero permite
adicionar nuevas reglas y modificar las existentes

Modos de trabajo
- Sniffer
- Recolector de paquetes
- IDS

Opciones:

− -l fichero de logs
− -h network
− -D ejecutar SNORT como servicio
− -d hace un volcado de la capa de aplicación
− -e enseña el encabezado de la capa de red
− -v dar más información
− -c usar el fichero de reglas
− - i indica sobre una determinada interface

Al trabajar en modo sniffer, obtiene los paquetes que pasan por la red y los muestra
como cadenas en la consola

Cogemos todos los encabezados de paquetes TCP/IP


#snort –v

Obtenemos todos los encabezados de paquetes TCP/UDP/ICMP


#snort –dv

Ser más amplio: #snort –dev

Guarda los paquetes en disco:


#snort -dev -l ./log (asume que el directorio log existe).

Guarda los paquetes creando una estructura de directorios por IP Si se desea especificar
una red, se pone.
#snort -dev -l ./log -h 172.30.104.0/24

Su funcionamiento principal es como IDS. Analiza los paquetes y guarda logs de


alarmas:
#snort -dev -l ./log -h 172.30.104.0/24 –c snort.conf.

Ficheros de configuración en /etc/snort/

Por ejemplo el archivo snort.conf permite configurar las siguientes variables

var HOME_NET su_ip/subnet


var HOME_NET [172.30.104.30/8]

var HTTP_SERVERS [172.30.104.3/8]

var SMTP [172.30.104.3/8]

output alert_syslog: LOG_AUTHLOG_ALERT


output alert_fast: alerta.ids
reglas

Reglas:
alert protocolo(TCP/UDP)

$origen puerto -> $destino puerto (msg: mensaje de alerta; flags: ; content: contenido
del ataque; nocase; reference: referencia a la vulnerabilidad)

Ejemplos de reglas:

alert tcp $EXTERNAL_NET any -> $HOME_NET 80(msg:"SCAN /cgi-bin/htsearch


with HEAD method"; flags: PA; content: "HEAD /cgi-bin/htsearch"; nocase;)

alert tcp $EXTERNAL_NET any ->$HTTP_SERVERS 80 (msg:"WEB-IIS query.asp


access"; flags: A+; content:"/issamples/query.asp"; nocase; reference:bugtraq,193;)

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 (msg:"WEB-IIS


bdir.htaccess"; content:"/bdir.htr"; nocase; flags:A+;)

IMPLEMENTACIÓN DE SNORT BAJO PLATAFORMA WINDOWS

1. Descargar de www.snort.org
- La aplicación Paquete Snort_2_8_5_3_Installer
- El conjunto de reglas por defecto snortrules-snapshot-2[1].8.tar
-
2. Instalar Snort
3. Extraer y copiar las reglas por defecto bajo el directorio C:\Snort\rules
4. Extraer y copiar el archivo snort.conf en el directorio C:\Snort\etc
5. Ejecutar el comando snort bajo el directorio C:\Snort\bin para ver todas las
opciones posibles para trabajar con el IDS

6. Ejecutar el comando snort – W bajo el directorio C:\Snort\bin para ver


todas las interfaces disponibles.
7. Ejecutar el comando snort –dev –i 2 bajo el directorio C:\Snort\bin.

Ahora estamos ejecutando snort en modo snnifer


-d hace un volcado de la capa de aplicación
-e enseña el encabezado de la capa de red
-v dar más información
Y además escuchamos a través de la interface número 2
- i indica sobre una determinada interface

En un navegador ingresamos a cualquier pagina web


Veamos que ocurrió con snort funcionando en modo snnifer:

8. Editamos el archivo C:\Snort\etc\snort. Conf

a) Modificamos

# MAKE SURE YOU DON'T PLACE ANY SPACES IN YOUR LIST!


# or you can specify the variable to be any IP address
# like this:

var HOME_NET any

Por:
# MAKE SURE YOU DON'T PLACE ANY SPACES IN YOUR LIST!
# or you can specify the variable to be any IP address
# like this:

var HOME_NET 192.168.1.0/24


b) Modificamos

# Path to your rules files (this can be a relative path)


# Note for Windows users: You are advised to make this an absolute
path,
# such as: c:\snort\rules
var RULE_PATH ../rules

Por:
# Path to your rules files (this can be a relative path)
# Note for Windows users: You are advised to make this an absolute
path,
# such as: c:\snort\rules
var RULE_PATH c:\snort\rules

c) Modificamos

# Load all dynamic preprocessors from the install path


# (same as command line option --dynamic-preprocessor-lib-dir)
#
dynamicpreprocessor file
/usr/local/lib/snort_dynamicpreprocessor/libsf_dce2_preproc.so
dynamicpreprocessor file
/usr/local/lib/snort_dynamicpreprocessor/libsf_dns_preproc.so
dynamicpreprocessor file
/usr/local/lib/snort_dynamicpreprocessor/libsf_ftptelnet_preproc.so
dynamicpreprocessor file
/usr/local/lib/snort_dynamicpreprocessor/libsf_smtp_preproc.so
dynamicpreprocessor file
/usr/local/lib/snort_dynamicpreprocessor/libsf_ssh_preproc.so
dynamicpreprocessor file
/usr/local/lib/snort_dynamicpreprocessor/libsf_ssl_preproc.so
Por:
# Load all dynamic preprocessors from the install path
# (same as command line option --dynamic-preprocessor-lib-dir)
#
dynamicpreprocessor file
C:\Snort\lib\snort_dynamicpreprocessor\sf_dce2.dll
dynamicpreprocessor file
c:\Snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll
dynamicpreprocessor file
C:\Snort\lib\snort_dynamicpreprocessor\sf_dns.dll
dynamicpreprocessor file
C:\Snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll
dynamicpreprocessor file
C:\Snort\lib\snort_dynamicpreprocessor\sf_smtp.dll
dynamicpreprocessor file
C:\Snort\lib\snort_dynamicpreprocessor\sf_ssh.dll
dynamicpreprocessor file
C:\Snort\lib\snort_dynamicpreprocessor\sf_ssl.dll
d) Modificamos

# Load a dynamic engine from the install path


# (same as command line option --dynamic-engine-lib)
dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so

Por:
# Load a dynamic engine from the install path
# (same as command line option --dynamic-engine-lib)
dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll

e) Modificamos

# Include classification & priority settings


# Note for Windows users: You are advised to make this an absolute
path,
# such as: c:\snort\etc\classification.config
include classification.config
# Include reference systems
# Note for Windows users: You are advised to make this an absolute
path,
# such as: c:\snort\etc\reference.config
include reference.config

Por:
# Include classification & priority settings
# Note for Windows users: You are advised to make this an absolute
path,
# such as: c:\snort\etc\classification.config
include c:\snort\etc\classification.config
# Include reference systems
# Note for Windows users: You are advised to make this an absolute
path,
# such as: c:\snort\etc\reference.config
include c:\snort\etc\reference.config

f)Descomentamos o habilitamos estas líneas


include $RULE_PATH/icmp.rules
include $RULE_PATH/icmp-info.rules

TESTEAR EL IDS

Ejecutar el commando

snort -c c:\snort\etc\snort.conf -l c:\snort\log -A console -i 2

-c ejecutar el acrhivo bajo el path especificado


-l guardar los logs bajo el path especificado
-A console muestra en modo verbose en consola
-i sobre una determinada interface
Ahora desde otro equipo parte de esta red hacemos un ping hacia el equipo donde esta
configurado nuestro IDS y observamos que es lo que pasa
Equipo con el IDS

Observamos los log que se crean bajo el path

Potrebbero piacerti anche