Está en la página 1de 77

Facultad de Ingeniera Elctrica

Departamento de Telecomunicaciones y Electrnica

TRABAJO DE DIPLOMA

Estudio de la plataforma de deteccin de intrusos


Open Source Snort

Autor: Angel Rubn Len Freire

Tutor: Ing. Henry Moreno Daz

Santa Clara

2011

"Ao del 53 Aniversario de la Revolucin"


Universidad Central Marta Abreu de Las Villas
Facultad de Ingeniera Elctrica
Departamento de Automtica y Sistemas Computacionales

TRABAJO DE DIPLOMA

Estudio de la plataforma de deteccin de intrusos


Open Source Snort

Autor: Angel Rubn Len Freire

angel@uclv.edu.cu

Tutor: Ing. Henry Moreno Daz

henrym@uclv.edu.cu

Santa Clara

2011

"Ao del 53 Aniversario de la Revolucin


Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central
Marta Abreu de Las Villas como parte de la culminacin de estudios de la especialidad
de Ingeniera en Automtica, autorizando a que el mismo sea utilizado por la Institucin,
para los fines que estime conveniente, tanto de forma parcial como total y que adems no
podr ser presentado en eventos, ni publicado sin autorizacin de la Universidad.

Firma del Autor

Los abajo firmantes certificamos que el presente trabajo ha sido realizado segn acuerdo de
la direccin de nuestro centro y el mismo cumple con los requisitos que debe tener un
trabajo de esta envergadura referido a la temtica sealada.

Firma del Tutor Firma del Jefe de Departamento


donde se defiende el trabajo

Firma del Responsable de


Informacin Cientfico-Tcnica
i

PENSAMIENTO

Las grandes conquistas siempre van acompaadas de grandes sacrificios, pero no siempre
el sacrificio asegura la victoria. Mas no importa, esfurzate, se valiente y habrs hecho tu
parte.
Samuel
ii

DEDICATORIA

A mi hija que es mi fuente de inspiracin.

A mi esposa que siempre ha estado a mi lado

A mi familia y a mi madre por toda su comprensin.


iii

AGRADECIMIENTOS

A mi tutor: Ing. Henry Moreno por su ayuda para hacer posible este proyecto.
A mis compaeros de estudio que han transitado este camino junto a m.
A todos los que de una forma u otra me ayudaron.

.
iv

TAREA TCNICA

Para el logro del objetivo propuesto en el presente trabajo, la investigacin sigue una lnea
definida por un grupo de tareas, las cuales son:

Bsqueda bibliogrfica y estudio de trabajos relacionados con el tema.


Instalacin y configuracin del Snort como detector de intruso.
Creacin de escenarios de ataques de seguridad desde diferentes localizaciones
utilizando varias herramientas de seguridad.
Anlisis y evaluacin de los resultados sobre el desempeo del IDS con el Snort.
Confeccin del informe.

Firma del Autor Firma del Tutor


v

RESUMEN

En el campo de las Tecnologas de la Informacin la seguridad de los sistemas es uno de


los factores ms importantes a tener en cuenta. Sin una buena estrategia de seguridad, una
de las partes ms importantes y a la vez ms vulnerables del sistema, los datos, podran
verse seriamente amenazados. Entre los componentes que ayudan a los administradores en
las tareas de seguridad se encuentran los Sistemas de Deteccin de Intrusiones (IDS).
Actualmente existen varios software mediante los cuales se puede implementar un IDS,
entre los que se destaca el Snort; este es un software muy flexible que ofrece la posibilidad
de almacenar sus bitcoras tanto como en archivo de texto o en una base de datos. Este
trabajo est enfocado en analizar y evaluar el desempeo del Snort como un IDS; para ello
se llevan a cabo una serie de pruebas que consisten en escaneos desde diversas
localizaciones mediante la utilizacin de herramientas como GFI Languard y Nmap. Se
consultan destacadas investigaciones que abordan el tema, resaltando la necesidad e
importancia del estudio del Snort para una correcta configuracin. Como aportes ms
importantes se destacan el empleo de herramientas de software disponibles libremente y
utilizadas por numerosos investigadores del tema, as como la realizacin de experimentos
y su anlisis.
vi

TABLA DE CONTENIDOS

PENSAMIENTO ..................................................................................................................... i

DEDICATORIA ..................................................................................................................... ii

AGRADECIMIENTOS ......................................................................................................... iii

TAREA TCNICA ................................................................................................................ iv

RESUMEN.............................................................................................................................. v

INTRODUCCIN ..................................................................................................................1

Organizacin del informe....................................................................................................4

CAPTULO 1. Introduccin a los Sistemas de Deteccin de Intrusos. ...............................6

1.1 Cdigo abierto u Open Source ................................................................................6

1.2 Ataq ues realizados a la red ...............................................................................7

1.2.1 Escaneo de puertos..........................................................................................7

1.2.2 Ataques de autentificacin ..............................................................................8

1.2.2.1 IP Spoofing ...........................................................................................8

1.2.2.2 DNS Spoofing ......................................................................................9

1.2.2.3 ARP Spoofing ......................................................................................9

1.2.2.4 Web Spoofing.......................................................................................9

1.2.3 Denegacin de servicios o DoS ....................................................................10

1.2.4 Denegacin de servicios distribuida o DDoS ...............................................10


vii

1.2.5 Sniffing ........................................................................................................11

1.3 Mtodos de defensa tradicionales .........................................................................11

1.3.1 Firewalls y proxies ........................................................................................11

1.3.2 Redes privadas virtuales................................................................................12

1.3.3 Listas de acceso o ACL.................................................................................12

1.4 Sistemas de Deteccin de Intrusos (IDS)..............................................................13

1.4.1 Antecedentes .................................................................................................13

1.4.2 Definicin......................................................................................................14

1.4.3 Funciones de los IDS ....................................................................................14

1.4.4 Caractersticas bsicas de los IDS.................................................................15

1.4.5 Clasificacin de los IDS................................................................................16

1.4.5.1 IDS basado en host (HIDS).......................................................................16

1.4.5.2 IDS basado en red (NIDS) ........................................................................17

1.4.6 Posicin del IDS............................................................................................19

1.4.7 Principales IDS en la actualidad. ..................................................................19

1.5 Snort ......................................................................................................................20

1.5.1 Descripcin ...................................................................................................20

1.5.2 Funcionamiento del Snort .............................................................................21

1.5.3 Arquitectura de Snort ....................................................................................21

1.5.3.1 Decodificador de paquetes........................................................................22

1.5.3.2 Motor de deteccin ...................................................................................22

1.5.3.3 Preprocesadores ........................................................................................24

1.5.3.4 Subsistema de log y alertas (outputs) .......................................................24

1.5.3.5 Sistema de reglas de Snort........................................................................25


viii

CAPTULO 2. Implementacin de un IDS mediante el Snort ..........................................26

2.1 Herramientas auxiliares para el funcionamiento del NIDS ..................................26

2.1.1 Apache2 ........................................................................................................27

2.1.2 Php5 ..............................................................................................................27

2.2 Instalacin y configuracin del IDS......................................................................28

2.2.1 Conguracin de Mysql................................................................................28

2.2.2 Configuracin de Snort .................................................................................31

2.2.3 Instalacin y configuracin de BASE ...........................................................39

2.2.4 Instalacin y configuracin de Pmgraph.......................................................41

2.3 Herramientas de propsitos generales...................................................................43

2.3.1 Network mapper o Nmap ..............................................................................43

2.3.2 GFI LANguard ..............................................................................................44

CAPTULO 3. RESULTADOS Y DISCUSIN .............. Error! Marcador no definido.

3.1 Realizacin de Pruebas de seguridad ....................................................................46

3.2 Anlisis de los resultados de las pruebas realizadas. ............................................50

3.2.1 Algunos resultados obtenidos por el IDS en un da. .....................................51

3.3 Resultados obtenidos por el Pmgraph. ..................................................................52

3.4 Conclusiones del captulo .....................................................................................53

CONCLUSIONES Y RECOMENDACIONES ...................................................................54

Conclusiones .....................................................................................................................54

Recomendaciones..............................................................................................................55

REFERENCIAS BIBLIOGRFICAS ..................................................................................56

ANEXOS ..............................................................................................................................60
INTRODUCCIN
1

INTRODUCCIN

El creciente nmero de usuarios que se conectan a la red global de informacin, el


incremento de las redes de rea local (LAN), la migracin del papel a las transacciones
electrnicas comerciales y el fcil acceso a sitios que muestran cmo explotar las
vulnerabilidades de las redes, hacen que virtualmente cualquier persona se convierta en un
atacante potencial.

Este aspecto ha comenzado a ser un problema importante en el mundo moderno y ha


permitido el desarrollo de la seguridad informtica, la cual cada da cobra ms
protagonismo.

Se define como seguridad informtica al conjunto de mtodos y herramientas destinados a


proteger los bienes informticos en una institucin. El trmino seguridad informtica est
estrechamente relacionado con tres aspectos fundamentales de cualquier sistema de
computacin: (UCI 2008).

Confidencialidad: La informacin o los activos informticos son accedidos solo por


las personas autorizadas.
Integridad: Los activos o la informacin solo pueden ser modificados por las personas
autorizadas.
Disponibilidad: Los activos informticos son accedidos por las personas en el
momento requerido.

La seguridad informtica se logra mediante la implementacin de sistemas de controles,


que pudieran ser polticas, prcticas, procedimientos, estructuras organizacionales y
funciones de software (UCI 2008). Estos controles necesitan ser establecidos para asegurar
que los objetivos especficos de seguridad se cumplan, tales como el acceso a los recursos
INTRODUCCIN
2

de la red a usuarios autorizados solamente y la proteccin de datos y su recuperacin en


caso de prdidas.

Para analizar la seguridad de un sistema se debe pensar en la forma en que el mismo


pudiera sufrir determinada prdida o dao, para lo cual es necesario identificar las
debilidades del sistema. Una vulnerabilidad es una debilidad en el sistema de seguridad.

La cantidad de intentos de accesos no autorizados a la informacin que existe en Internet ha


crecido durante estos ltimos aos. Segn el Computer Security Institute, un 70% de las
organizaciones anunciaron al menos un incidente de seguridad durante el 2000, frente a un
42% anunciado en 1996. La mayora de los expertos piensan que estos nmeros estn muy
por debajo de la tasa real, puesto que muchas organizaciones evitan dar a conocer sus
incidentes y muchas otras ni siquiera los detectan.

Para evitar los ataques se usan los denominados controles o mecanismos de defensa como
medida de proteccin. Un control es una accin, dispositivo o procedimiento que elimina o
reduce una vulnerabilidad.

De manera general, se puede describir la relacin entre amenazas, vulnerabilidad y control


de la siguiente manera: una amenaza puede ser bloqueada aplicando un control a una
vulnerabilidad. (Kaufman, Perlman et al. 2002).

Los sistemas de proteccin convencionales como los firewalls y antivirus, entre otros,
empiezan a ser insuficientes ante la gran variedad de ataques que da a da son cada vez
ms devastadores (Cheswick, Bellovin et al. 2003), esto muestra que es necesario crear una
nueva lnea de defensa que les evite a los administradores la tarea de estar pendientes en
todo momento de su red.

Los atacantes estn evolucionando y aparecen nuevas tcnicas como los Troyanos, gusanos
y escaneos silenciosos que atraviesan los cortafuegos mediante protocolos permitidos como
HTTP, ICMP o DNS. Los atacantes buscan vulnerabilidades en los pocos servicios que el
cortafuego permite y enmascaran sus ataques dentro de estos protocolos, quedando la red
expuesta de nuevo.
INTRODUCCIN
3

Una buena forma de mejorar la seguridad de la red es la instalacin de mecanismos de


deteccin, capaces de avisar al administrador de la red en el momento en que se produzcan
estos ataques (casi en tiempo real).

En esta lnea, surgen los sistemas de deteccin de intrusos, como uno de los campos ms
investigados en los ltimos aos.

La Deteccin de Intrusos es uno de los mtodos utilizados para proporcionar seguridad a


una red de ordenadores; es la comprobacin, a travs del proceso de monitoreo, que un
ordenador, una red o un sistema completo con varias subredes funcionan correctamente
desde el punto de vista de las polticas de seguridad denidas por la organizacin.(Vigo
2005).

Los mecanismos de deteccin de intrusos, en la mayora de los casos pueden identificar el


tipo de ataque exacto que se produjo, de forma que sea posible detenerlo. En otras
situaciones solo es posible detectar e informar de la actividad sospechosa que se ha
encontrado (Castell 2004). En la actualidad estos mecanismos se han convertido en un
elemento importante para proteger los sistemas ubicados en un entorno de Tecnologas de
la Informacin.

Es por ello que el presente trabajo tratar sobre el estudio e implementacin de uno de los
sistemas de deteccin de intruso ms utilizados basado en red, el Snort. Este es un software
muy flexible que ofrece la posibilidad de almacenar sus bitcoras tanto en archivo de texto
como en una base de datos. Igualmente implementa un motor de deteccin de ataques y un
barrido de puertos, registrando, alertando y respondiendo ante cualquier anomala.(Riley
2010).

La eleccin del Snort se basa en que ha alcanzado un estado de madurez y desarrollo,


donde su funcionalidad permite despliegues exitosos; por otra parte, su gran difusin a lo
largo del mundo (ms de 3, 000,000 de descargas y de 150,000 usuarios activos segn
(Scott, Wolfe et al. 2004)) permite tener una comunidad de usuarios lo suficientemente
amplia como para advertir de nuevas amenazas y vulnerabilidades, y para generar y
compartir reglas. En Snort, adems, disponen de un amplio rango de herramientas y
programas para su anlisis, como por ejemplo, BASE, Snortlog, Snortreport, Snortsam, etc.
(Staff 2005).
INTRODUCCIN
4

De lo expuesto anteriormente se desprenden las siguientes interrogantes cientficas:

Qu caractersticas presenta el Snort que permite la deteccin de intrusos?

Cmo implementar un sistema de seguridad usando el Snort?

Cmo evaluar el desempeo del IDS implementado con el Snort?

Con vistas a lograr la esencia de lo propuesto en la investigacin se traza el siguiente


objetivo general: Estudiar y analizar cmo se usa la herramienta Open Source Snort en la
implementacin de un sistema de deteccin de intrusos basado en red.

Como objetivos especficos se proponen los siguientes:

Realizar un estudio de las metodologas de deteccin de intrusos existentes.


Implementar un Sistema de deteccin de Intrusos con el Snort en Linux.
Recrear algunos tipos de intrusin que permitan registrar y reportar alertas ante un
comportamiento concreto de los usuarios de la red.

Organizacin del informe

El informe de la investigacin se estructura en resumen, introduccin, capitulario,


conclusiones, recomendaciones y referencias bibliogrficas.

Introduccin

Se define la importancia, actualidad y necesidad del tema que se aborda y se plantean los
elementos del diseo terico.

Captulo I

En el primer captulo se realiza una descripcin terica de los sistemas de deteccin de


intrusos y de la herramienta Snort.

Captulo II

El segundo captulo se dedica a la instalacin y configuracin del Snort e implementacin


del escenario virtual en el que se pretende realizar la evaluacin de este.
INTRODUCCIN
5

Captulo III

El ltimo captulo recoge la interfaz grfica del usuario mostrando imgenes de su


apariencia y explicando su funcionalidad. Adems se realiza el anlisis respectivo del
comportamiento del Snort.

Conclusiones

Se realiza un anlisis de los resultados obtenidos a partir de los objetivos que se trazaron
inicialmente.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
6

CAPTULO 1. Introduccin a los Sistemas de Deteccin de Intrusos

En este captulo se aborda lo relacionado con los diferentes ataques informticos


que pueden ser llevados a cabo por un atacante hacia una computadora o host.
Posteriormente se tratan los detectores de intrusos (IDS); su definicin,
principales caractersticas, funciones, clasificacin y ubicacin; por ltimo se
mencionan los IDS que ms se utilizan en la actualidad, tanto comerciales o de
libre distribucin. Para finalizar se muestran los aspectos esenciales que
componen al Snort, el cual es el IDS escogido en la realizacin de este trabajo.

1.1 Cdigo abierto

Como se ha mencionado en los objetivos, en este trabajo se van a utilizar


herramientas basadas en software libre, tambin conocido como de cdigo
abierto (Open Source), por las mltiples ventajas que presenta su utilizacin.

Sus caractersticas son especialmente significativas frente a las soluciones


comerciales encontradas en el mercado (Kelley, Barnes et al. 2002). Entre las
ventajas que presenta se tiene la libertad de uso, copiado y distribucin. Adems se
tiene acceso al cdigo fuente, lo cual permite poder estudiarlo, editarlo,
modificarlo, y optimizarlo. Esto es factible con la finalidad de encontrar errores en
su uso, desarrollar mejoras y personalizar el software con el aporte de la comunidad
de usuarios.

Su velocidad de desarrollo se da generalmente en ciclos rpidos y adems estos se


caracterizan por su gran despliegue alrededor del mundo.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
7

1.2 Ataques realizados a la red

Los ataques en redes se ejecutan con el objetivo de encontrar vulnerabilidades en


protocolos y/o servicios y ejecutar desde esa misma localizacin, diversas tareas indeseadas
(Anonymous 2002).

Esto permite a los atacantes tomar control de sistemas completos y provocar graves
desastres en organizaciones o empresas con alto grado de dependencia tecnolgica. Los
objetivos atacados son, en la mayora de casos, elementos visibles de la red, como
servidores Web y de DNS o bsicos como routers y enlaces de red.

Los mtodos ms comunes de ataques aprovechan vulnerabilidades de seguridad de la


familia de protocolos TCP/IP. (Cheswick, Bellovin et al. 2003).

1.2.1 Escaneo de puertos

Una de las primeras actividades que un potencial atacante realiza contra su objetivo es un
escaneo de puertos (en ingls portscan); esto le permite obtener una informacin bsica
acerca de qu servicios estn ofreciendo las mquinas atacadas y adicionalmente, otros
detalles del entorno como qu sistema operativo est instalado en cada host o ciertas
caractersticas de la arquitectura de la red. Mediante el anlisis de los puertos que estn
abiertos en un sistema, el atacante puede buscar agujeros en cada uno de los servicios
ofrecidos, cada puerto abierto en una mquina es una potencial puerta de entrada a la
misma.

Comprobar el estado de un determinado puerto es a priori una tarea muy sencilla; existen
herramientas como Strobe o Nmap que pueden realizar esta tarea de una forma cmoda.

Existen diferentes aproximaciones para clasificar los escaneos de puertos, tanto en funcin
de las tcnicas seguidas en el ataque como en funcin de a qu sistemas o puertos concretos
va dirigido.

Clasificacin en cuanto a los servicios o puertos:

Escaneo horizontal: El atacante busca la disponibilidad de determinado servicio en


diferentes mquinas de una red.

Escaneo vertical: El atacante slo escanea puertos de una mquina.


CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
8

Clasificacin en cuanto a las tcnicas utilizadas en:

open

half-open

stealth

Existe otro modelo de escaneo denominado stealth scanning. Por stealth scanning se
conoce como la familia de tcnicas de escaneo que cumplen alguna de las siguientes
condiciones:

Eludir cortafuegos o listas de control de acceso.

No ser registradas por sistemas de deteccin de intrusos, ni orientados a red ni en el


propio host escaneado.

Simular trfico normal y real para no levantar sospechas ante un analizador de red.

1.2.2 Ataques de autentificacin

Estos ataques son llevados a cabo a partir de tcnicas de suplantacin de identidad o


spoofing; y utilizados con propsitos maliciosos o de investigacin.

1.2.2.1 IP Spoofing

Es una tcnica conocida tambin como identity spoofing o IP address spoofing (Tulloch
2003), y est basada en la generacin de paquetes IP dentro de cualquier protocolo TCP/IP
como ICMP, TCP o UDP, con una direccin origen falsa, para identificar a un ordenador
como vlido en una red. Luego de ganar acceso a la red el atacante puede modificar,
redireccionar o eliminar datos, que a su vez puede generar otros tipos de ataques.

Se ha de tener en cuenta que las respuestas del host que reciba los paquetes irn dirigidas al
dispositivo cuya IP ha sido falsificada. Esta tcnica es usada a veces junto con un ataque de
DoS que inhabilitara por ejemplo las respuestas RST. Una herramienta expandida para
realizar ataques de esta clase es, el Smurf.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
9

1.2.2.2 DNS Spoofing

Se falsea las entradas dominio-IP de un servidor DNS (del ingls Domain Name Server),
suplantando su identidad ante la resolucin de nombres (Kaufman, Perlman et al. 2002).
Esto se puede conseguir de diferentes formas, desde modificando las entradas del servidor
encargado de resolver una cierta peticin para falsear las relaciones direccin-nombre,
hasta comprometiendo un servidor que infecte la cach de otro (DNS Poisoning); incluso
sin acceso a un servidor DNS real. Un atacante puede enviar datos falseados como
respuesta a una peticin de su vctima sin ms que averiguar los nmeros de secuencia
correctos.

Existen programas que permiten copiar una base de datos secundarios entera de nombres de
dominio desde un servidor DNS, para su posterior anlisis, como por ejemplo el DIG.

1.2.2.3 ARP Spoofing

El protocolo ARP (del ingls Address Resolution Protocol) es usado para encontrar una
direccin de Ethernet MAC a partir de una IP, a travs de una tabla de correlacin. El
ataque denominado ARP Spoofing hace referencia a la construccin de tramas de solicitud y
respuesta ARP falseadas a travs de la suplantacin de su MAC, de forma que en una red
local se puede forzar a una determinada mquina a que enve los paquetes a un host
atacante en lugar de hacerlo a su destino legtimo.

Los efectos del ataque pueden ser muy negativos, desde negaciones de servicio hasta
interceptacin de datos, incluyendo algunos man in the middle (Merino 2011) contra ciertos
protocolos cifrados.

1.2.2.4 Web Spoofing

Este ataque permite a un atacante visualizar y modificar cualquier pgina Web que su
vctima solicite a travs de un navegador, incluyendo las conexiones seguras va SSL (del
ingls Secure Socket Layer). Para ello, mediante el cdigo malicioso un atacante crea una
ventana del navegador correspondiente, de apariencia inofensiva, en la mquina de su
vctima; a partir de ah, enruta todas las pginas dirigidas al equipo atacado, incluyendo las
cargadas en nuevas ventanas del navegador, a travs de su propia mquina, donde son
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
10

modificadas para que cualquier evento generado por el cliente sea registrado (esto implica
registrar cualquier dato introducido en un formulario, cualquier enlace seleccionado, etc.).

1.2.3 Denegacin de servicios o DoS

Un ataque de denegacin de servicio consiste en sobrepasar los lmites de recursos


establecidos para un servicio determinado, con el objetivo de interrumpir su disponibilidad,
entorpecer el acceso a sus usuarios y/o degradar su calidad de servicio (QoS, del ingls
Quality of Services) (Cheswick, Bellovin et al. 2003). Por tanto, este tipo de ataque no
supone en s peligro para la seguridad de los equipos, ya que no modifica los contenidos de
la informacin ni pretende la obtencin de informacin sensible.

Tpicamente una vez finalizado el ataque se vuelve al estado de normalidad, aunque puede
darse el caso en que simultneamente se lancen otros ataques diferentes y/o
complementarios cuyo objetivo s sea comprometer el sistema. Los tres protocolos en los
que se basan las tcnicas de saturacin de paquetes, o flooding, son TCP, UDP e ICMP.

1.2.4 Denegacin de servicios distribuida o DDoS

Este ataque es una variante ms potente de los de DoS, y tal como lo indica el nombre, es
ejecutado de forma distribuida. Se basa en realizar ataques DoS de forma masiva an
mismo objetivo desde diferentes localizaciones en la red, de forma que la potencia de
ataque sea superior. El ataque comienza por una fase de escaneo mltiple con una
vulnerabilidad conocida a un conjunto de objetivos, luego al obtener acceso a parte de ellos,
se instala la herramienta DDoS. Estos sistemas comprometidos servirn para escanear y
comprometer nuevos sistemas, atacando remotamente rdenes del intruso a travs de un
handler, el cual se encargara de gestionar el registro de estos.

Los ataques pueden ser de tipo TCP half-open o TCP SYN flood, a su vez existen algunas
herramientas especficas para ejecutarlos, por ejemplo Smurf, que inunda el objetivo
enviando mensajes falsificados de ping broadcast , Fraggle, Trinoo, TFN, Stacheldraht,
TFN2K, Mstream, Tornkit, Trinity DDoS, Erkms, Lion, Carko, Wormkit,etc
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
11

1.2.5 Sniffing

Esta es una tcnica muy extendida y efectiva, tiene como objetivo la obtencin de
informacin sensible y el acceso progresivo a determinados sistemas. Su funcionamiento
radica en la captura de datos mientras estos atraviesan la red, esto se hace mediante la
activacin de una o varias interfaces de red en modo promiscuo, por tanto todos los datos
de las tramas pueden ser capturados, analizados y evaluados por los sniffer, que almacenan
los registros con todo el trfico obtenido, sea destinatario o generado por el propio sistema
o desde /hacia cualquier otro elemento compartido del entorno de red.

La obtencin de informacin sensible tales como credenciales, usuarios y contraseas,


correos electrnicos, nmero de tarjetas de crdito entre otras, se realiza de forma simple si
a esta no se le ha aplicado ningn mtodo de encriptacin previo, debido a que existen
protocolos como Telnet, FTP, HTTP que la informacin no se inscripta.

Los Sniffers ms utilizados son Netcat, Wireshark, Tcpdump, Hunt, Snort (en su modo de
sniffer).

1.3 Mtodos de defensa tradicionales

1.3.1 Firewalls y proxies

Los firewalls son elementos, implementados tanto en hardware como en software, usados
para controlar las comunicaciones, permitindolas o restringindolas (mantienen una TCP
connection state por cada conexin que se establece a travs de l) de acuerdo con las
polticas de red predefinidas por la organizacin responsable de la red, con el objetivo de
proteger sitios remotos o redes de frontera (Chapman, Zwicky et al. 1995). Tambin son
usados para proteger partes de la red de otras partes de la misma en el caso de ataques.

Generalmente los firewalls se colocan en el permetro, entendido como el punto de


conexin de la red interna de la red a la cual se quiere proteger y la red exterior (por lo
general Internet); de este modo se protege la red interna de intentos de acceso no
autorizados, que puedan encontrar y aprovechar vulnerabilidades en los sistemas de esta.

Su funcionamiento, caractersticas de comportamiento y requerimientos de disponibilidad


estn indicados en el RFC 2979. (Freed 2000).
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
12

Los Firewalls de red implementan adems una funcionalidad de zona desmilitarizada o


DMZ (del ingls Demilitarized Zone), la cual activa proteccin de capas entre sitios no
confiables (fuera de la red) con sitios fiables (dentro de la red). Esta sirve como un
elemento de seguridad adicional al conectarse al Firewall y all se ubican los servidores de
la organizacin que deben permanecer accesibles desde la red exterior.

Los proxy son componentes constituidos como programas o dispositivos, que ejecutan y
desarrollan actividad en representacin de otro, como intermediario, con los objetivos de
mantener los dispositivos annimos al hacer conexiones con ciertas aplicaciones e
incrementar su acceso a determinados recursos va caching (Tulloch 2003).

1.3.2 Redes privadas virtuales

Las redes privadas virtuales o VPN (del ingls virtual private network) representan una
capa de seguridad dirigida a redes pblicas o privadas para hacer conexiones de forma
segura, y as permite extender de forma segura una red local sobre una red pblica o no
controlada (generalmente sobre Internet).

Para conseguir proteccin de datos en las conexiones las VPN utilizan mecanismos
de autenticacin y encriptacin (por ejemplo, 3DES o AES) para proveer una capa de
defensa sobre la conexin de red.

1.3.3 Listas de acceso o ACL

Una lista de acceso o ACL (del ingls Access Control List) es un concepto telemtico por
el cual se permite y/o deniega trfico de red otorgando o restringiendo privilegios. Esto se
hace a travs de parmetros determinados tales como direccin IP fuente y/o destino,
servicios de red o nmero de puerto. (Krutz 2005).

Generalmente los routers con ACL no mantienen una TCP conection state para cada
conexin.

Los routers con listas de acceso ofrecen proteccin perimetral y una base de defensa porque
estos son a la vez dispositivos de frontera para redes perimetrales y elementos ncleo para
grandes redes. Los ACL y los Firewalls se combinan para componer la base de las defensas
tradicionales de redes seguras. (Kaufman, Perlman et al. 2002).
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
13

1.4 Sistemas de Deteccin de Intrusos (IDS)

1.4.1 Antecedentes

Las primeras investigaciones sobre deteccin de intrusos comienzan en 1980 en un trabajo


de consultora realizado para el gobierno norteamericano por James P. Anderson (Anderson
1972).En este artculo se expone la idea de que el comportamiento normal de un usuario
podra caracterizarse mediante el anlisis de su actividad en los registros de auditoria. As,
los intentos de intrusin podran descubrirse detectando actividades anmalas que se
desviaran notablemente de su comportamiento normal. A partir de este momento,
comienzan una gran variedad de investigaciones en busca de tcnicas y algoritmos para el
anlisis del comportamiento de un sistema informtico.

Dichas auditoras fueron incluidas por el Departamento de Defensa de los Estados Unidos
como requisito en cualquier sistema de conanza. Esto est incluido en el llamado Libro
Marrn (Center 1988) de la serie de documentos publicados por dicho departamento
relativos a los Sistemas de Conanza (denominados Serie Arco Iris debido al color de sus
tapas).

El primer modelo de deteccin de anomalas fue propuesto por Dorothy Denning (Denning
1986), se basaba en la idea de monitorizar las operaciones estndares de un sistema
objetivo, observando desviaciones en su uso. Su artculo provee un marco para establecer
las metodologas que posteriormente inspiraran a muchos investigadores.

Entre 1988 y 1990 el Instituto de Investigacin SRI Internacional desarrolla la propuesta


de Denning. De ese modo surge IDES (del ingls Intrusion Detection Expert System), un
sistema experto que detecta las desviaciones a partir del comportamiento de diferentes
sujetos. IDES fue el primer sistema de deteccin de anomalas en host.

Paralelamente se realiza en 1988, en los laboratorios Lawrence Livermore de la


Universidad de California, el proyecto Haystack para las fuerzas areas de E.UU. Haystack
era el primer IDS que analizaba los datos de auditora y los comparaba con patrones de
ataque predefinidos. De este modo nace el primer sistema de deteccin de usos indebidos
basado en firmas, el tipo de IDS ms extendido en el mercado actual.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
14

En 1990, surgen los primeros proyectos de IDS basados en red por Todd Heberlein, el cual
desarrolla NSM (Network Security Monitor) (Heberlein 1995) en la Universidad de
California. En esa misma fecha, en Los lamos National Laboratory de EEUU se realiza un
prototipo de un sistema experto que monitoriza la actividad de red. Su nombre es NADIR
(del ingls Network Anomaly Detector and Intrusion Reporter) (Mukherjee, Heberlein et al.
1994).

1.4.2 Definicin

Un IDS o sistema de deteccin de intrusos es una herramienta de seguridad que permite


detectar o monitorizar los eventos ocurridos en un determinado sistema informtico o red
informtica en busca de intentos de comprometer la seguridad de dicho sistema.(Garca
2008).

Los IDS ayudan a entender el ataque, estimar los daos causados y tratan de prevenir otros
ataques similares.

1.4.3 Funciones de los IDS

Las funciones de un IDS se pueden resumir de la siguiente forma: (Marchette 2001)

Deteccin de ataques en el momento que estn ocurriendo o poco despus.

Monitorizacin y anlisis de las actividades de los usuarios. De este modo se


pueden conocer los servicios que usan los usuarios, y estudiar el contenido del
trfico, en busca de elementos anmalos.

Auditora de configuraciones y vulnerabilidades de determinados sistemas.

Descubrir sistemas con servicios habilitados que no deberan de tener, mediante


el anlisis del trfico y de los logs.

Anlisis de comportamiento anormal. Si se detecta una conexin fuera de hora,


reintentos de conexin fallidos y otros, existe la posibilidad de que se est en
presencia de una intrusin. Un anlisis detallado del trfico y los logs puede
revelar una mquina comprometida o un usuario con su contrasea al
descubierto.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
15

Automatizar tareas como la actualizacin de reglas, la obtencin y anlisis de


logs, la configuracin de cortafuegos y otros.

1.4.4 Caractersticas bsicas de los IDS

El IDS ha de ejecutarse continuamente sin que nadie est obligado a supervisarlo;


independientemente de que al detectar un problema se notique a un operador, el
funcionamiento habitual no debe implicar interaccin con ningn operador.

La aceptabilidad o grado de aceptacin del IDS, es decir, los mecanismos de deteccin de


intrusos han de ser aceptables para las personas que trabajan habitualmente en el entorno.
La utilidad de un sistema de deteccin de intrusos debe ser evaluada teniendo en cuenta la
probabilidad que tiene el sistema de detectar un ataque y la probabilidad de emitir falsas
alarmas. (Vigo 2005).

En el momento que un IDS toma una decisin, ste puede tomarla de forma correcta o
incorrecta. En la figura 1.1 se muestran los cuatro posibles estados: (Sobiery 2007).

Falso positivo: Tambin se conoce como falsa alarma y corresponde a trfico


inofensivo que se considera como ataque.

Falso negativo: Ataque que no detecta el IDS.

Verdadero positivo: Evento inofensivo que se etiqueta como trfico normal.

Verdadero negativo: Ataque detectado correctamente

Figura 1.1: Toma de decisin del IDS.


CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
16

El objetivo del IDS es maximizar los aciertos (verdaderos negativos y verdaderos positivos)
y minimizar el nmero de fallos del IDS (falsos positivos y falsos negativos).

Las altas tasas de falsos positivos y de falsos negativos pueden minar los motivos para usar
un IDS. Los falsos positivos ocupan tiempo y recursos cuando el IDS genera falsas
alarmas. Peor an son los falsos negativos, que son todos los ataques que el IDS falla en
detectar. Estas tasas complican la justificacin del empleo de un IDS, pudiendo ser
consecuencia de su arquitectura y configuracin. (Molina and Joaqun 2008).

Un IDS puede compartir u obtener informacin de otros sistemas como firewalls, routers y
switches, lo que permite reconfigurar las caractersticas de la red de acuerdo a los eventos
que se generan. Tambin permite que se utilicen protocolos como SNMP (del ingls Simple
Network Management Protocol) para enviar notificaciones y alertas a otras mquinas de la
red. Esta caracterstica de los IDS recibe el nombre de interoperabilidad.

Otra caracterstica a destacar en los IDS, es la correlacin, que consiste en la capacidad de


establecer relaciones lgicas entre eventos diferentes e independientes, lo que permite
manejar eventos de seguridad complejos que individualmente no son muy significativos,
pero que analizados como un todo pueden representar un riesgo alto en la seguridad del
sistema.(Gahonapag 2008).

1.4.5 Clasificacin de los IDS

Los IDS estn clasificados segn su posicionamiento en el sistema y las funciones


inherentes a este, se dividen en dos grupos fundamentalmente: IDS basado en host (HIDS)
e IDS basado en red (NIDS). (Noel, Wijesekera et al. 2002).

1.4.5.1 IDS basado en host (HIDS)

Este tipo de sistemas son anteriores a los NIDS. En la dcada de los 80 era habitual revisar
los ficheros de log de los sistemas para intentar encontrar actividades sospechosas o
relevantes en lo que respecta a la seguridad del sistema.

Hoy en da estos sistemas an se continan utilizando, pero son mucho ms sofisticados de


lo que eran en su comienzo, y son capaces de realizar el anlisis en tiempo real de estos
ficheros de log, para detectar comportamientos anmalos. Esto permite que se identifiquen
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
17

los eventos de manera ms precisa, reconociendo a los usuarios y procesos que han
generado dichos procesos.

Actualmente, estos sistemas tan rpidos detectan un cambio en estos ficheros de log o en
los ficheros de configuracin del sistema, los comparan con sus ficheros de configuracin
en los cuales tienen establecidas las polticas de seguridad del sistema, y la respuesta que
deben dar ante determinados cambios. Algunos de estos sistemas tienen adems la
capacidad de escuchar en determinados puertos del sistema, y lanzar una alarma cuando
estos puertos son accedidos.

Ventajas:

Verificacin de los ataques.

Actividad especfica del sistema.

Monitorizacin de los componentes claves del sistema.

No es necesario la instalacin de hardware adicional.

Desventajas:

La principal desventaja que presentan es que si un ataque DoS llega a la mquina, el


IDS puede ser deshabilitado, ya que estos ataques pueden usar todos los recursos
del host, influyendo en el rendimiento del equipo.(Kabiri and Ghorbani 2005).

1.4.5.2 IDS basado en red (NIDS)

Estos sistemas toman el trfico de la red como entrada de datos. Habitualmente utilizan una
interfaz de red que est configurado para su funcionamiento en modo promiscuo, de modo
que escuchan y analizan todo el trfico que circula por la red en tiempo real. Normalmente,
aplican un filtro a este trfico, para determinar cules de los paquetes son descartados, y
cules son dejados para ser analizados. Esto ayuda a que el rendimiento de estas
aplicaciones sea mejorado, puesto que aquel trfico que se sabe que no es malicioso, es
pasado por alto. (Sobiery 2007).
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
18

Ventajas:

Costo: Los NIDS permiten la aplicacin de estrategias de instalacin nicamente en


aquellos puntos de la red que son considerados como puntos de acceso crticos. De
este modo el costo de mantenimiento decrece.

Anlisis de paquetes: Examinan todas las cabeceras de los paquetes para la deteccin
de actividades sospechosas en la red. Muchos de los ataques por denegacin de
servicio que se producen actualmente, pueden ser detectados nicamente
examinando las cabeceras de los paquetes que circulan a travs de la red. Un NIDS
colocado estratgicamente dentro de la red puede llegar a monitorizar una red
grande sin afectar el funcionamiento de la red.

Eliminacin de las evidencias: Utilizan el trfico de red para detectar los ataques, por
tanto, los atacantes no pueden eliminar los rastros que sus acciones dejan. Este es
uno de los problemas que se encuentran en los HIDS, puesto que el atacante puede
ser capaz de eliminar cualquier rastro, borrando determinadas lneas de los ficheros
de log.

Complemento y verificacin de las polticas de seguridad. En caso de haber alguna


poltica definida respecto a encriptacin, un NIDS es capaz de averiguar si
realmente esa poltica se est aplicando, viendo la cantidad de trfico encriptado que
circula a travs de la red. Asimismo, tambin puede ayudar a verificar el
funcionamiento de los cortafuegos, verificando si ciertas direcciones o tipos de
trfico estn filtrados o no.

Independencia del sistema operativo. Los NIDS no son dependientes del sistema
operativo que se est ejecutando en las mquinas, mientras que los HIDS requieren
distintas instalaciones dependiendo del sistema operativo que est instalado en cada
uno de estos equipos.

Desventajas:

En una red grande en la que se genera una gran cantidad de trfico, el NIDS puede
tener dificultades para procesar todos los paquetes de red recibidos si no est
correctamente configurado.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
19

Simplemente informan sobre la llegada de un ataque, pero no indican si dicho ataque


ha tenido xito o no.

1.4.6 Posicin del IDS

Se debe de colocar el IDS de forma que se garantice la interoperabilidad y la correlacin en


la red. As la interoperabilidad permite reconfigurar las caractersticas de la red de acuerdo
a los eventos que se generan.

Tpicamente se colocan en reas con control en el flujo de red, por ello resulta razonable
colocar un NIDS en el segmento por el cual fluya la mayor cantidad de trfico (Kabiri and
Ghorbani 2005). Colocarlo antes o detrs del firewall puede tambin resultar til, ya que
para el primer caso se puede tener una representacin de la cantidad de ataques que son
filtrados en el firewall y en el segundo las alarmas representan ataques que han podido
sobrepasar a este. Tambin se puede colocar paralelamente al firewall o a la DMZ como en
la figura 1.2.

Figura 1.2: Posicionamiento del IDS.

1.4.7 Principales IDS en la actualidad

En la actualidad hay una gran variedad de productos destinados a la deteccin de intrusos.


Entre los principales productos comerciales que estn presentes se encuentran:

Cisco

Internet Security Systems


CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
20

Symantec

Enterasys

Por otro lado adems de las soluciones comerciales se tienen soluciones de libre
distribucin de gran utilidad como:

Snort (http://www.snort.org/)

Prelude (www.prelude- ids.org)

Secure Point (http://www.securepoint.cc)

Aide (http://sourceforge.net/projects/aide)

Snare (http://www.intersectalliance.com).

1.5 Snort

1.5.1 Descripcin

Snort es un IDS en tiempo real desarrollado por Martn Roesch (Roesch 2009) y est
disponible bajo licencia GNU General Public License (GLP); es gratuito y funciona bajo
plataformas Windows y GNU/Linux (Rehman 2003).Actualmente el proyecto est
respaldado por la empresa Source Fire fundada por el mismo Roesch, la cual fue comprada
en el 2005 por la multinacional Checkpoint.

Este IDS implementa un lenguaje de creacin de reglas flexibles, potente y sencillo, lo que
se convierte en uno de los ms usados y dispone de una gran cantidad de filtros o reglas
para backdoor, ddos, finger, ftp, ataques Web, CGI, escaneos Nmap.

La caracterstica ms apreciada de Snort, adems de su funcionalidad, es su subsistema


flexible de firmas de ataques. Snort tiene una base de datos de ataques, la cual es posible
actualizarla constantemente a travs de su pgina Web (Scott, Wolfe et al. 2004). Tambin
los usuarios pueden crear reglas o firmas basadas en las caractersticas de los nuevos
ataques de red y enviarlas a la lista de correo de firmas de Snort, para que as todos los
usuarios de Snort se puedan beneficiar. Esta tica de comunidad y compartir ha convertido
a Snort en uno de los IDS basado en red ms populares y actualizados.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
21

1.5.2 Funcionamiento del Snort

En (Zhou, Zhongwen et al. 2005) se plantea los cuatro modos de funcionamiento:

Sniffer: Slo monitorea el trfico de la red y lo muestra en pantalla.

Packet Logger: Guarda los paquetes en archivos planos o binarios.

NIDS: De acuerdo a ciertos parmetros de configuracin, alerta y/o registra los


eventos que deben ser verificados posteriormente por el administrador.

Inline: Puede impedir el paso de paquetes segn los parmetros de configuracin.

1.5.3 Arquitectura de Snort

La arquitectura de Snort est basada en el rendimiento, la simplicidad y la flexibilidad. Est


dividida en tres subsistemas, los cuales son el decodificador de paquetes, el motor de
deteccin y el subsistema de alertas y logs (ver figura 1.1). Estos mdulos o plugins se
sitan por encima de la librera de captura de paquetes libpcap, la cual provee a Snort de las
funciones necesarias para un sniffer de paquetes, utilizando para ello una interfaz de red
configurado en modo promiscuo (Molina and Joaqun 2008). La configuracin del
programa, las reglas, y la generacin de las estructuras de datos, tienen lugar antes de ser
inicializada la seccin del sniffer, manteniendo el aumento de procesamiento por paquete al
mnimo para ejecutar las funcionalidades base del programa.

Modo de Salida Seleccionado


(Archivos log, consola, sockets)

Plug-ins de Salida
Plug-ins de Deteccin

Motor de Deteccin
Lee y aplica
Referencia

Preprocesadores
Archivos de Reglas

Decodificador

Mdulo de Captura
(Basado en LibPcap o WinPcap)

Trfico de la Red

Figura 1.3: Diagrama descriptivo del Snort.


CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
22

1.5.3.1 Decodificador de paquetes

El decodificador de paquetes se organiza alrededor de los niveles de la pila de protocolos


presentes en la definicin de los protocolos TCP/IP (Roesch 2009). Cada subrutina en el
decodificador impone orden en el paquete de datos mediante la colocacin de las
estructuras de datos en el paquete que llega. Estas rutinas de decodificacin son llamadas
en orden a travs de la pila de protocolos que comienza con el nivel ms bajo: protocolos
de la capa de enlace de datos, descifrando cada protocolo conforme asciende en la pila de
protocolos de red (vase figura 1.4). La velocidad en cuanto a la decodificacin de los
paquetes es muy importante en esta seccin, por ello la mayor parte de las funcionalidades
del decodificador de paquetes, consisten en la insercin de punteros entre la estructura de
datos para su posterior anlisis por los preprocesadores y el motor de deteccin. Snort es
capaz de decodificar paquetes de los protocolos Ethernet (vase figura 1.5), SLIP y PPP.

Figura 1.4: Flujo de Datos del Decodificador.

Figura 1.5: Decodificacin de un paquete Ethernet.

1.5.3.2 Motor de deteccin

El motor de deteccin, es la parte fundamental del Snort; es el encargado de supervisar los


paquetes que llegan a la red monitorizada, comparndolos con los patrones u opciones
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
23

listadas en los ficheros de reglas de Snort para encontrar posibles ataques o actividades
anmalas dentro de esos paquetes. (Rehman 2003).

Snort mantiene sus reglas de deteccin en una lista enlazada de dos dimensiones que son
llamadas Chain Headers y Chain Options (vase figura 1.6). Estas son listas de reglas
que han sido condensadas en una lista de atributos comunes en Chain Headers con los
modificadores que permiten insertar opciones en la deteccin en la parte de Chain
Options. Por ejemplo, en las 45 reglas de deteccin de pruebas de ataques por CGI-BIN,
que estn especificadas en la librera comn de reglas de Snort, generalmente la direccin
IP origen y destino as como el puerto origen y el puerto destino es el mismo, por tanto,
todas estas reglas deteccin estn condensadas en una nica Chain Header y las
caractersticas particulares de cada regla estn insertadas en las estructuras de Chain
Options. Esto se hace as, para lograr que el motor de deteccin funcione de una forma
ms rpida.

Cuando llega un paquete al motor de deteccin, este busca en la lista Chain Header de
izquierda a derecha la primera coincidencia. Despus, buscar por la lista Chain Option
si el paquete cumple las opciones especicadas. Si aparece alguna coincidencia no sigue
buscando y se toman las acciones correspondientes. En caso contrario, busca en el
siguiente nodo de Chain Header.

Figura 1.6: Estructuras de datos de Snort.


CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
24

Estas cadenas de reglas son buscadas recursivamente para cada paquete en ambas
direcciones. El motor de deteccin solamente chequea aquellas cadenas que hayan sido
inicializadas al lanzarse el programa, por tanto para que cualquier modificacin de los
ficheros en los que estn definidas las reglas se incluyan, ha de pararse el programa y
volverse a lanzar. La primera regla que coincida con el paquete decodificado lanza la
accin que lleva asociada en la definicin de la regla, y retorna.

1.5.3.3 Preprocesadores

Los preprocesadores permiten a Snort, extender su funcionalidad mediante la utilizacin de


plugins. Estos plugins o aadidos permiten a los usuarios y programadores extender la
funcionalidad de Snort insertando mdulos de una manera sencilla. La arquitectura de
preprocesadores de Snort consiste en pequeos programas C que toman decisiones sobre
qu hacer con el paquete. Estos pequeos programas C se compilan junto a Snort en forma
de librera (Caswell, Beale et al. 2003). Estos son llamados despus de que Snort
decodifique la informacin pero antes de enviarlos al motor de deteccin.

1.5.3.4 Subsistema de log y alertas (outputs)

El subsistema de logs y de alertas es seleccionado al lanzar el programa, mediante


modificaciones que se incluyen en la lnea de comandos. Hay tres opciones de log y cinco
de alertas. Las tres formas de log son las siguientes, almacenar los paquetes de manera
decodificada, guardar los paquetes de una manera legible, y almacenar los paquetes en el
formato que utiliza la aplicacin Unix tcpdump (Rehman 2003). La forma decodificada de
almacenamiento, permite un anlisis rpido de los datos que se han recogido. Sin embargo,
la tercera forma de almacenamiento, es mucho ms rpida de guardar en disco y debe de ser
usada en aquellos sistemas en los que se requiera un alto rendimiento del programa, o en
aquellos sistemas que no tengan demasiados recursos.

Las alertas, pueden ser enviadas al sistema de log de la maquina (syslog, slo en mquinas
UNIX) almacenadas en ficheros de log en dos formatos diferentes, enviadas mediante
WinPopup (utilizando el cliente SMB proporcionado por Samba). (Cox and Gerg 2004)

Hay dos opciones para enviar las alertas a un fichero de texto plano, mandar las alertas por
completo, o una manera rpida de almacenar esta alertas en el fichero de texto.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
25

Mediante el envo completo de la alerta, se escribe el mensaje asociado a ella y la


informacin contenida en la cabecera del paquete. La forma rpida de almacenamiento
escribe un conjunto condensado de informacin, por ltimo tambin se puede deshabilitar
por completo esta opcin de almacenamiento de las alertas. Esto puede ser til en aquellos
casos en los que el sistema vaya excesivamente cargado, o si se estn desarrollando test de
intrusin en el sistemas.

1.5.3.5 Sistema de reglas de Snort

Como se ha mencionado anteriormente, Snort es un NIDS basado en reglas, las cuales


marcan el funcionamiento del sistema, mediante los paquetes que han de ser tenidos en
cuenta, y las acciones asociadas a estos paquetes.

Cada una de las reglas est dividida en dos secciones lgicas, la cabecera de la regla y sus
opciones (vase figura 1.7). La cabecera de la regla contiene la accin asociada a la regla,
el protocolo la direccin IP fuente y destino as como las mscaras de red y los puertos
fuente y destino del paquete (vase figura 1.8). La parte de las opciones de la regla contiene
los mensajes de alerta e informacin adicional en las que se le dice en que partes del
paquete se ha de fijar, para determinar si la accin definida en la cabecera de la regla ha de
ser tomada o no. (Gregg 2006)

Figura 1.7: Estructura de una regla.

Figura 1.8: Estructura de la cabecera de una regla Snort

A continuacin se muestra un ejemplo de una regla:

Alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP PING NMAP";
dsize: 0; itype: 8; reference: arachnids, 162; classtype: attempted-
recon; Sid: 469; rev: 3 ;)

En el anexo I se realiza una descripcin completa sobre las reglas, su formato y sus
campos.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
26

CAPTULO 2. Implementacin de un IDS mediante el Snort

En este captulo se aborda la instalacin y configuracin del Snort para su implementacin


como IDS; se ilustran los principales paso a seguir y se configuran los elementos esenciales
tales como: la red a la cual se desea proteger, las reglas y preprocesadores a utilizar, as
como el formato que se desea que sea guardada la informacin recopilada en el fichero de
salida. Tambin se tratan los plugins que se adicionan al Snort y que permiten un correcto
funcionamiento del IDS, entre las cuales est el Mysql, BASE y Pmgraph. Por ltimo se
mencionan las caractersticas de los programas que se van a utilizar en la realizacin de las
pruebas de seguridad que permitirn evaluar el detector de intruso implementado.

2.1 Herramientas auxiliares para el funcionamiento del NIDS

Para la realizacin de esta investigacin se realiza la instalacin de una mquina virtual


mediante el VMware con la ltima distribucin de Ubuntu (versin 10.10), la cual presenta
la versin 2.8.5.2 del Snort en su gestor de paquetes disponible para esta distribucin,
aunque si se desea usar la versin ms actual se puede descargar desde la pgina Web
oficial (http:\\www.snort.org). La forma ms sencilla es instalarlo directamente a travs del
gestor de paquetes debido a que de forma manual su instalacin es ms compleja y consta
de muchos pasos.

En esta investigacin, Snort registra la informacin de las alertas en una base de datos
mysql, denominada Snort. La eleccin de Mysql radica en que es el gestor de base de datos
Open Source ms popular, que permite dar la posibilidad de crear y configurar usuarios,
asignando a cada uno de ellos permisos diferentes (Harper 2004.). Adems da la opcin de
exportar e importar datos fcilmente, incluso una base de datos completa. Esta informacin
que brinda Snort y que es almacenada en Mysql, es posible acceder a ella de forma
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
27

ordenada y sencilla a travs de la aplicacin Web escrita en Php denominada BASE (del
ingls Basic Analysis and Security Engine). BASE es el sucesor de otro sistema
denominado ACID (del ingls Analysis Console for Instruction Databases), surge debido a
la dificultad de analizar los cientos de alertas que se generan en redes con alto trfico. Entre
las facilidades que ofrece BASE, y que se convirtieron en los aspectos considerados para su
uso en el proyecto, se tiene la opcin de hacer bsquedas de alertas especficas ya sean por
IP fuente/destino, por fecha, por ataque, por protocolo, realizar informes, grficas, y
permite adems observar de una forma grfica los paquetes capturados y la generacin de
grficas estadsticas.

Para la instalacin del Snort compilado con Mysql es necesaria la instalacin de otros
elementos importantes para su funcionamiento adecuado los cuales se describen a
continuacin.

2.1.1 Apache2

Es un servidor Web HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux) y
para los sistemas operativos de Microsoft Windows y Macintosh. Apache presenta la
capacidad de tener cdigo abierto y ser configurable para la aplicacin de bases de datos
que se utiliza en el proyecto con la ayuda de mysql. Apache tiene amplia aceptacin en la
red: desde 1996, es el servidor HTTP ms usado, alcanz su mxima cuota de mercado en
2005 siendo el servidor empleado en el 70% de los sitios Web en el mundo.

2.1.2 Php5

Php es una de las mejores herramientas utilizadas para la visualizacin y configuracin de


pginas.

Es un lenguaje de script interpretado en el lado del servidor utilizado para la generacin de


pginas Web dinmicas, similar al ASP de Microsoft o el JSP de Sun, embebido en pginas
html y ejecutado en el servidor.

La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas caractersticas
especficas de s mismo. La meta del lenguaje es permitir rpidamente a los desarrolladores
la generacin dinmica de pginas.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
28

2.2 Instalacin y configuracin del IDS

Para la instalacin del Snort a travs del gestor de paquetes, de mysql-server, apache 2 y de
los dems paquetes complementarios; se ejecutan los siguientes comandos en el
terminal.(Rehman 2003).

Apt-get install apache2 php5 libapache2- mod-php5

Apt-get install mysql-server mysql-client php5-mysql

Apt-get install phpmyadmin

Apt-get install Snort-mysql

Al instalar este ltimo, se pide definir una red la HOME NET o red local, esto se puede
realizar de forma opcional en ese momento o ms adelante dentro de la configuracin del
Snort.

2.2.1 Conguracin de Mysql

La ejecucin del servidor de mysql se puede comprobar con el comando ps aux | grep
mysql.

Con el sistema bsico instalado, se comienza la preparacin de la base de datos. Esta se


divide en varios apartados. Primero se debe elegir una contrasea adecuada, crear la base de
datos necesaria y definir la estructura de las tablas.

Se realiza la conexin como root al servicio de mysql y se crea la base de datos y los
permisos para Snortusr (Harper 2004.). Para abrir intrprete de mysql (vase figura 2.2), se
ejecuta desde el terminal, el comando mysql uroot -p y se pone la contrasea de root.
(vase figura 2.1).

Figura 2.1: Ingreso a Mysql con el Usuario root y Contrasea.


CAPTULO 2 .Implementacin de un IDS mediante el Snort.
29

Figura 2.2: Interfaz de Mysql.

A continuacin se crea la nueva base de datos llamada Snort. Para realizar esto se ejecuta el
comando que se muestra en la figura 2.3.

Figura 2.3: Creacin de la base de datos Snort.

Se debe crear un usuario especfico para la base de datos Snort, para no usar el usuario root,
esto se realiza mediante el comando grant all on Snort.* to User@localhost identified by
'clave'; (vase figura 2.4).

Figura 2.4: Creacin de un usuario para la base de datos Snort.

Es importante sealar que el login y el password para la base de datos snort debe ser el
mismo que el especificado en el archivo /etc/snort/snort.conf, durante la configuracin del
Snort.

Completado ambos pasos, se verifica para confirmar que todo est bien; para eso se entra
en el intrprete de mysql como el usuario de snort creado anteriormente. La comprobacin
de la base de datos y la estructura de tabla se realiza con los siguientes comandos.

Visualizacin de las base de datos:

Mysql> show databases; (vase figura 2.5)


CAPTULO 2 .Implementacin de un IDS mediante el Snort.
30

Figura 2.5: Visualizacin de Base de Datos.

Uso de la base de datos Snort.

Con el siguiente comando se cambia la base de datos a utilizar para el almacenamiento de


las alertas, en este caso la base de datos es snort.

Mysql> use Snort; (vase figura 2.6)

Figura 2.6: Cambio de Base de Datos.

Visualizacin de las tablas creadas.

Mediante este comando se presenta en pantalla todas las tablas creadas dentro de Snort.

Mysql> show tables; (vase figura 2.7)


CAPTULO 2 .Implementacin de un IDS mediante el Snort.
31

Figura 2.7: Visualizacin de tablas de Snort.

2.2.2 Configuracin de Snort

Despus de preparar la base de datos, se comienza a configurar el Snort. Para que Snort
funcione como un IDS de redes es necesario definir y estructurar su comportamiento en su
archivo de configuracin, snort.conf (vase figura 2.8), el cual se encuentra ubicado por
defecto en el directorio /etc/ snort. (Belmonte 2002).

El fichero se divide en 4 partes fundamentales:

Configuracin de las variables de red para nuestro entorno.


Configuracin de los preprocesadores.
Configuracin de los plugins de salida.
Personalizacin de las reglas.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
32

Figura 2.8: Archivo de configuracin del Snort.

Configuracin de las variables de red

Se necesita aadir informacin sobre la red y los servidores, de forma que Snort pueda
relacionar las reglas correctamente. Para garantizar que el sistema monitoriza el trfico
adecuado, las variables HOME_NET y EXTERNAL_NET deben reflejar la infraestructura
de la red. En una red simple, HOME_NET se define un rango de IP privado, como
192.168.0.0/24. Esto implica que todo el trfico originado en el rango de IP 192.168.0.1-
255 es considerado trfico interno (Belmonte 2002. ). Estos detalles varan dependiendo de
cada configuracin. Si en nuestra red interna hay varias subredes, se puede aadir todas
separndolas con comas. La entrada EXTERNAL_NET es un listado de direcciones
especficas que se consideran externas. La forma ms sencilla de configurarla es usando el
valor !$HOME_NET, que Snort entender como cualquier direccin distinta de
HOME_NET.

Se recomienda establecer al menos los servidores de DNS (del ingls Domain Name
Server) que utilizan nuestros equipos, para evitar falsos positivos.(Gramajo 2005).
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
33

Para la realizacin de esta investigacin se configura como red interna a proteger varias
subredes lo cual se muestra en la figura 2.9, en caso de haber sido ms de una red se
separan por comas y se ponen entre corchetes; tambin se definen como servidores de DNS
el 10.12.20.1 y el 10.12.20.2 y como servidor Web el 10.12.20.5. Los dems servidores
estn configurados con la con la palabra clave any para especificar cualquier servidor
dentro de la red como se observa en la figura. (vase figura 2.10).

Figura 2.9: Configuracin de la red interna en el snort.conf.

Figura 2.10 Configuracin de los servidores en el fichero snort.conf.

Configuracin de los preprocesadores

A partir de la versin 1.5 aparecieron los preprocesadores que permiten que las
funcionalidades de Snort sean extendidas por los usuarios proporcionando un sistema de
acceso a los paquetes antes de que sean procesados por el motor de deteccin de Snort y las
reglas. Las configuraciones predeterminadas para estos subsistemas son muy generales, a
medida que se experimente con Snort, se puede ajustar para obtener un mejor rendimiento
y resultados.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
34

Los preprocesadores, se pueden activar y desactivar a travs de snort.conf, permitiendo a


Snort la manipulacin del trfico entrante. Snort activa automticamente varios
preprocesadores para el tratamiento del trfico fragmentado, la inspeccin del flujo con
control de estado, la monitorizacin del rendimiento, la decodificacin del trfico RPC, la
monitorizacin del trfico ftp/telnet/SMTP/DNS/SMB y el escaneo de puertos. Hay incluso
un preprocesador especialmente diseado para el troyano Back Orifice.(Roesch 2009).

Para la carga y configuracin de estos preprocesadores se utiliza la palabra clave


preprocessor dentro de los ficheros que contiene las reglas. Esta directiva tiene el siguiente
formato:(Gregg 2006).

preprocessor <nombre>:<opciones>

Preprocesadores configurados:

Sfportscan

Un escaneo de puertos se define como una conexin TCP que intenta acceder a ms de P
puertos en S segundos, o paquetes UDP que son enviados a ms de P puertos en S
segundos. Estos escaneos pueden ser realizados a numerosas direcciones IP destino as
como a numerosos puertos a travs de distintas direcciones IP.

El mdulo sfPortscan, es diseado para descubrir la primera fase en un ataque de red:


Reconocimiento: En esta fase un atacante determina qu tipos de protocolos de red o
servicios soporta un host. Detecta escaneos a nivel de herramienta, como puede ser un
escaneo de puertos realizado con Nmap.

Opciones de configuracin del Sfportscan:

Proto: Indica que protocolo se desea que inspeccione para detectar un scan. Se
puede usar tcp, udp, ip, all.
Memcap: Mxima cantidad de memoria a usar por sfportscan expresada en bytes.
A mayor cantidad, mayor capacidad de deteccin.
Sense_level: Ajusta el nivel de sensibilidad de la deteccin. Puede ser low, medium
o high: Es importante este ajuste para no generar falsos positivos / negativos.
Dependiendo del nivel indicado, se podr en el preprocesador detectar un mayor
nmero de escaneos pero a cambio de la generacin de falsas alertas.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
35

Scan_type: Indica el tipo de escaneo a detectar. Se puede usar portsweep,


decoy_portscan, distributed_portscan, o all (todos).
logfile: Nombre del fichero donde sfportscan almacenar los logs de alertas.

Junto a estas directivas u opciones, se pueden usar otras como:

Watch-ip: Indica a sfportscan que mquinas/hosts o redes vamos a inspeccionar.


Los dems se ignoran para la deteccin. Se puede usar, por ejemplo una direccin
IP o varias subredes. Adems se puede indicar qu puertos sern inspeccionados.
ignore-scanner: Prcticamente igual que watch-ip pero para ignorar IPs, redes y/o
puertos en la deteccin en caso de que se identifiquen como scanners activos.
ignore-scanned: Para ignorar IPs, redes, puertos que son objetivos de un escaneo.

En el caso de que haya servidores que no se quiera que sean controlados por el
preprocesador de escaneo de puertos (como pueden ser servidores NTP, NFS, y
servidores DNS). Los argumentos que se le pasan a este preprocesador consisten en una
lista de los pares direccin IP que han de ignorarse. En la figura 2.11 se muestra el
Prepocesador sfportscan configurado para este trabajo.

Figura 2.11: Prepocesador sfportscan configurado en el fichero snort.conf.

Http_Inspect

Http_Inspect: decodifica el protocolo HTTP para aplicaciones del usuario. Dado un buffer
de datos, http-inspect decodifica el buffer, encuentra los campos HTTP y los normaliza.
Este preprocesador permite alertar ante ciertos campos sospechosos en el protocolo HTTP.

El principal problema que con http_inspect es que alerta sobre codificaciones sospechosas
donde los "afectados" son servers de la extranet. Los alertas ms recurrentes son "Double
decoding attack", "IIS Unicode Codepoint Encoding", "Bare Byte Unicode Encoding", y
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
36

"Oversize Request URI Directory". La mayora de los alertas son falsos positivos y se
deben al funcionamiento de cada pgina.

Debido a que solo interesan los ataques sobre los servers Web de la red local, y dada la
cantidad de falsos positivos, es necesario modificar la configuracin.(Gramajo 2005).

Como se puede observar, en la parte aparece la configuracin global (Unicode a 1252), esto
viene as por defecto y se deja as. La segunda parte es la fundamental, en donde se define
el comportamiento del preprocesador para cualquier servidor (server default). All se agrega
la opcin "no_alerts" para que no enve alertas.

A continuacin se especifican las opciones para los servers de nuestra intranet en la figura
2.12:

Figura 2.12: Prepocesador http_inspect configurado en el fichero snort.conf.

El resultado es que el preprocesador va a alertar slo si ve trfico sospechoso sobre el


servidor 10.12.20.5. (vase figura 2.12)

La configuracin del resto de los preprocesadores utilizados, teniendo en cuenta los


servicios que ofrecen los servidores que se quieren proteger, se puede observar en el anexo
II, los cuales son utilizados con sus configuraciones predeterminadas.

Los preprocesadores son cargados en el orden en que se encuentran en el fichero de


configuracin de Snort y los paquetes pasan a travs de los preprocesadores en el orden en
que son cargados (Gramajo 2005).(vase figura 2.13)
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
37

Figura 2.13: Orden de los preprocesadores en el fichero snort.conf.

Configuracin de los plugins de salida

Los plugin de salida permiten elegir de entre una gran de variedad de formatos de salida.
Estos deciden si van a ser ficheros de texto (logs) o a una base de datos, y decide tambin
en que formato irn escritos (binario, texto plano, xml).

En este trabajo se configuran dos salidas (todo al fichero /var/log/Snort/alert y a mysql)


simultneamente. (Scott, Wolfe et al. 2004).

Para la primera opcin se aade lo siguiente:

outputalert_unified:Snort.alert, limit128

outputlog_unified: Snortlog, limit128 # esto permite guardar todo a /var/log/Snort/alert

Para el caso de que se desee acceder a los datos desde Base, se activa la lnea output
database: log, mysql que guarda la salida en la base de datos mysql definiendo previamente
una contrasea y el usuario. (vase figura 2.14)

Figura 2.14: Configuracin de las alertas en el fichero snort.conf.


CAPTULO 2 .Implementacin de un IDS mediante el Snort.
38

Una limitacin que presenta el Snort es que no proporciona ninguna solucin integrada para
enviar alertas un escritorio remoto. Como ocurre con muchos otros proyectos *nix, sin
embargo, es fcil hacer que Snort interacte con otras utilidades. Dos de los posibles
candidatos son Swatch y Logsurfer.(Riley 2010).

Personalizacin de las reglas

Snort proporciona una seleccin de reglas de filtrado para el trfico no deseado. Como se
aborda en el captulo 1, cada regla consta de dos secciones: la cabecera y las opciones. La
cabecera describe el mensaje que se muestra al dispararse la accin. La opcin contiene
palabras clave para indicar a Snort cmo debe inspeccionar el paquete, as como referencias
tiles para la investigacin, que se muestran cada vez que se dispare una alerta.

Snort trae por defecto una serie de reglas predefinidas de las cuales algunas se ilustran en la
figura 2.15; para ajustar las alertas hasta un nivel manejable y garantizar que se monitorean
los servicios correctos, se puede modificar este conjunto de reglas; creando un listado ms
centralizado se reduce la cantidad de paquetes perdidos y mejoramos el rendimiento. Para
ello se comentan o des comentan las reglas deseadas. Se recomienda mirar los ficheros de
reglas antes de incluirlos, puesto que las reglas por defecto son muy restrictivas y generan
demasiadas alertas. Las reglas que se dejan activas son las que dependen de la
infraestructura de la red y de los requerimientos en general debido a que muchas de ellas
pueden, ocasionalmente, causar falsos positivos. (Roesch 2009).

Figura 2.15: Reglas predefinidas en el fichero snort.conf.


CAPTULO 2 .Implementacin de un IDS mediante el Snort.
39

Snort tambin permite crear reglas personalizadas, para ello se crea un fichero que se ubica
en el directorio rules (\etc\snort\) y se adiciona en el fichero snort.configurando la siguiente
lnea de cdigo con el nombre del fichero que contiene las reglas personalizadas.

Include $RULE_PATH/mis_reglas.rules

Tambin se pueden descargar las ltimas listas de distribucin de Snort disponibles en el


sitio Web mediante la herramienta Oinkmaster que permite actualizar las firmas de ataques
automticamente. (Scott, Wolfe et al. 2004).

Al aadir estas reglas, se dota a los IDS de una capa adicional de proteccin o, al menos, de
un sistema de deteccin por si el problema aparece.

Por ltimo se puede configurar el correo del administrador para que reciba los informes de
alertas diarias que se encuentran en la variable DEBIAN_SNORT_STATS_RCPT del
archivo /etc/Snort/Snort.debian.conf.
DEBIAN_SNORT_STATS_RCPT=correo@tuyo.com

2.2.3 Instalacin y configuracin de BASE

Para instalar BASE se ejecuta el siguiente comando en el terminar.

Apt-get install acidbase

Para su configuracin se debe acceder /etc/acidbase en donde se encuentra el fichero base


conf.php que permite configurar algunos permisos del archivo de configuracin de BASE.

Este archivo contiene informacin sensible, como la contrasea para conectarse a la base de
datos de Snort, adems permite elegir en qu idioma se desea que aparezca la informacin
visualizada.

En este fichero se configuran dos usuarios, el primero (Snort) tendr acceso como usuario,
la segunda base de datos (Snort_archive) (vase figura 2.16), es creada por BASE para que
los usuarios puedan archivar alertas importantes.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
40

Figura 2.16: Acceso de escritura al archivo de Snort.


Una vez concluido se ingresa por el navegador va http://localhost/acidbase/. (vase figura
2.17)

Figura 2.17: Interfaz Web del BASE.

En (Riley 2010) se plantea que por razones de seguridad y rendimiento, siempre es mejor
instalarlo todo en un sistema distinto del sensor de Snort.

Ninguna consola de administracin es buena si no se puede acceder a ella cuando el IDS


est ocupado con otro trfico. Es aconsejable tener una segunda interfaz de red en el sensor
de Snort dedicada especialmente para la monitorizacin y la gestin.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
41

2.2.4 Instalacin y configuracin de Pmgraph

Otra herramienta fundamental para un IDS es el Pmgraph. Este es un script escrito en Perl,
que genera dos pginas html con tablas que muestran el rendimiento de Snort. (Cox and
Gerg 2004).

Para utilizar Pmgraph es necesario especificar en el archivo de configuracin el


preprocesador perfmonitor. Para ello en el fichero de configuracin de snort
(/etc/snort/snort.conf) se modifica la siguiente lnea:

preprocesor perfmonitor: time 60 file /var/log/snort/snort.stats pktcnt 100

Donde time 60 indica que genere el fichero cada 60 segundos; file /var/log/snort/snort.stats
es el fichero que genera; y pktcnt 100 indica que se ajuste el nmero de paquetes a procesar
a 100 antes de que finalice el tiempo especificado.

El siguiente paso que hay que realizar es descargar los paquete rrdtool, rrdtool-devel, perl-
RRD-Simple y librdds-perl desde el gestor de paquetes mediante el comando apt en el
terminar.

A continuacin se descarga el paquete pmgraph-0.2.tar.gz desde Internet y se realizan los


siguientes pasos:

1. Se descomprime el fichero ejecutando en el terminar la siguiente sentencia: tar xvfz


pmgraph-0.2.tar.gz

2. Se copia el ejecutable al directorio /usr/local/bin: cd pmgraph-0.2 y cp pmgraph.pl


/usr/local/bin

3. Se crea la carpeta donde se va a publicar la pgina Web: mkdir /var/log/perfstats

4. Se ejecuta pmgraph con el siguiente comando: pmgraph.pl /var/www/perfstats


/var/log/snort/snort.stats.

5. Seguidamente se puede ver en la figura 2.18, el resultado de la ejecucin del


comando anterior que genera los archivos html de Pmgraph.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
42

Figura 2.18: Resultado de la ejecucin de pmgraph.pl.

Para concluir, se visita la pgina Web http://localhost/perfstats/perfstats.tml, donde se


observa el funcionamiento de Pmgraph (vase la figura 2.19).

Figura 2.19: Funcionamiento de Pmgraph.

Como se desea que la pgina Web se actualice automticamente entonces hay que
programar cron para ejecute el comando para genera la pgina Web. Como en el fichero
/etc/snort.conf se ha indicado que el fichero /var/log/snort/snort.stats se genere cada 60
segundos entonces hay que ejecutar crontab e y aadir el siguiente comando:

*/1 * * * * /usr/local/bin/pmgraph.pl /var/www /var/log/snort/snort.stats

En la figura 2.20 se puede ver el contenido final.

Figura 2.20: Crontab e.


CAPTULO 2 .Implementacin de un IDS mediante el Snort.
43

2.3 Herramientas de propsitos generales

Con el objetivo de evaluar el desempeo del IDS implementado con el Snort se utilizan una
serie de herramientas para realizar las pruebas de seguridad, estas consisten en la
realizacin de ataques (principalmente escaneos de puertos) desde diferentes localizaciones.
Las caractersticas de cada una de dichas herramientas se muestran a continuacin.

2.3.1 Network mapper o Nmap


Nmap es una de las utilidades de cdigo libre ms integras para el escaneo de redes y su
uso es el ms extendido. Est diseado para permitir a los administradores de sistemas y en
general, a quien lo desee, escanear redes a gran escala para determinar que dispositivos
estn activos y/o disponibles y qu tipo de servicio (nombre, versin, etc.) estn ofreciendo
en ese momento. De esta forma es posible explorar las redes y auditar su seguridad. (Lyon
2009).
Caractersticas:
Disponible para Unix y Windows.
Soporta una amplia variedad de tcnicas de escaneo (aproximadamente quince),
adems de unas veinte configuraciones para cada una de ellas.
Utiliza huellas TCP para la identificacin del sistema operativo del equipo escaneado.
En la tabla I se pueden observar algunas de tcnicas de escaneos de Nmap.(Ney 2006.).

Tcnicas de escaneo Sintxis Uso

TCP SYN -sS Escner Sigiloso


TCP Connect () -sT Escaneo sin privilegios de root
FIN -sF Escner Sigiloso
Xmas -sX Escner Sigiloso
Null -sN Escner Sigiloso
Ping -sP Identificacin de equipos en funcionamiento
Version Detection -sV Identificacin de servicios
UDP -sU Encuentra los servicios UDP
IP Protocol -sO Descubre los protocolos soportados
ACK -sA Identifica cortafuegos
Windows -sW Escner ACK avanzado
RPC -sR Informacin de los servicios RPC
List -sL Para realizar pruebas
Idle -sI Escaneando a travs de terceros
FTP Bounce -b Histrico
Tabla I: Tcnicas de escaneaos en Nmap.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
44

Adems ofrece otras varias prestaciones como deteccin de sistemas operativos (y sus
versiones) va TCP/IP fingerprinting, escaneo paralelo, deteccin de dispositivos no activos
va pings paralelos, deco y scanning, port filtering detection, direct (non-portmapper) RPC
scanning, fragmentation Scanning y flexible target y port specification.(Orebaugh and
Pinkard 2008).

Hace uso de paquetes IP para determinar los tipos de firewalls o filtradores de paquetes en
empleo.

El resultado del escaneo es usualmente una lista de puertos de inters en las mquinas
escaneadas, mostrando el nmero, estado, protocolo y el ms probable nombre del servicio.
Los estados son abiertos, filtrado, sin filtrar y cerrado.

Abierto: La mquina objetivo aceptara conexiones en ese puerto sin restricciones

Filtrado: Posiblemente un firewall, filtro u otro obstculo est bloqueando el puerto.

Sin filtrar: Puertos sin filtrar detectados por escneres ACK o de ventanas.

Cerrado: El puerto est correctamente bloqueado o sin servicio a la escucha.

La sintaxis bsica de nmap es:

Nmap [tipo de scan] [opciones] [especificacin de objetivos]


2.3.2 GFI LANguard

GFI LANguard Network Security Scanner (GFI LANguard N.S.S.) es una herramienta de
auditora de seguridad, la cual proactivamente informa, y soporta la reparacin de las
vulnerabilidades de red puntualmente.

Es una solucin empresarial esencial y rentable para salvaguardar sus sistemas y redes de
ataques hacker y brechas de seguridad. El producto analiza toda la red, realiza ms de
15.000 evaluaciones de vulnerabilidad e identifica todas las posibles amenazas de
seguridad. Cuando se finaliza el anlisis, GFI LANguard proporciona a los administradores
las lneas maestras sobre cmo pueden ser dirigidas y proporciona toda la funcionalidad
necesaria para instalar y administrar eficazmente parches en los 38 idiomas soportados por
los productos Microsoft.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
45

Ganador de los premios Best of TechEd en 2007 y altamente recomendado por los jueces
de los premios SC Magazine Europe en 2008, GFI LANguard permite a los
administradores analizar, detectar, evaluar y rectificar vulnerabilidades en sus redes y
asegurarlas con el mnimo esfuerzo administrativo. La ltima versin se fundamenta en un
extenso conjunto de caractersticas para hacer ms fcil a los usuarios la gestin de anlisis
de red, la instalacin de parches y conseguir una instantnea completa de la seguridad de
sus redes.

Permite realizar auditoras de seguridad en ordenadores basados tanto en Windows como en


Linux. Durante una auditora, el motor de escaneo recopila varias informaciones hardware
y software de los equipos escaneados. Esto incluye el nivel de service pack de cada equipo
objetivo, dispositivos potencialmente vulnerables tales como puntos de acceso inalmbricos
y dispositivos USB, aplicaciones instaladas, as como recursos compartidos abiertos y
puertos abiertos. El escner tambin enumera ajustes de configuracin especficos del SO
tales como los ajustes del registro y los detalles de configuracin de la poltica de
contraseas que ayudan en la identificacin de los problemas de seguridad comunes
relacionados con un sistema operativo configurado inadecuadamente (tal como un SO
funcionando con los ajustes por defecto).

GFI LANguard N.S.S. tambin est equipado con algoritmos que comprueban la presencia
de software de seguridad particular (es decir, aplicaciones antivirus y antispyware).
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
46

CAPTULO 3. EJECUCION DE PRUEBAS Y ANALISIS DE


RESULTADOS

En esta seccin se muestran los resultados obtenidos luego de algunos ataques realizados;
se van a visualizar diversas capturas de pantalla con las alertas generadas por Snort. Para
ello se utilizan dos programas, el GFI Languard en Windows y el Nmap en Linux.

3.1 Realizacin de Pruebas de seguridad

Prueba 1

En esta prueba se realiz un ataque mediante el Nmap usando la tcnica de escaneo de


escaneo Idle en donde se escanea usando el IP del sistema zombie. En este caso se escogi
la direccin IP 10.12.24.6 (vase figura 3.1).El escaneo fue realizado desde la direccin IP
10.12.24.180.

Figura 3.1: Escaneo con el Nmap.

Figura 3.2 Resultados del IDS.


CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
47

Prueba 2

En esta prueba se utiliz el decoys D para tratar de engaar al host, hacindole creer que el
escaneo se est generando desde otros hosts.

Figura 3.3: Escaneo con el Nmap.

Figura 3.4: Resultados del IDS.

Prueba 3

En esta prueba se utiliz la opcin del nmap de fragmentar los paquetes.

Figura 3.5: Escaneo con el Nmap.


CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
48

Figura 3.6: Datos de la alerta.

Prueba 4

En esta prueba se utiliz la opcin -A, que habilita la deteccin del sistema operativo y
versin, y la opcin -T4 que acelera el proceso.

Nmap A T4 10.12.20.18
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
49

Figura 3.7: Escaneo con el Nmap.

Figura 3.8: Resultados del IDS.

Prueba 5

En esta prueba se realiz un escaneo completo con GFI Languard (vase figura 3.9) y parte
de los resultados se pueden ver en la figura 3.10.
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
50

Figura 3.9: Escaneo obtenido con GFI Languard.

Figura 3.10: Seccin de los resultados del IDS.

3.2 Anlisis de los resultados de las pruebas realizadas

Luego de realizadas las distintas pruebas se pudo observar que la mayora de los diferentes
escaneos fueron detectados por el IDS, destacando las pruebas 1, 2 y 3 las cuales se utilizan
para evasin de cortafuegos/IDS y falsificacin.

En la prueba 3 se dividi la cabecera del paquete TCP para hacer ms difcil su deteccin.
En la figura 3.6 se puede observar que la trama que se obtuvo tiene un tamao de 8 byte
que es la divisin por defecto que realiza el Nmap, no obstante el IDS fue capaz de
detectarlo.

En las pruebas 1 y 2 se utilizaron IP seuelos para poder realizar el escner, a lo que el IDS
es incapaz de detectar la verdadera direccin de origen.

La prueba 4, en donde se realiz un sondeo agresivo mediante la opcin (-A), se obtuvo un


resultado similar a las pruebas anteriores y fue detectado de igual forma por el IDS.
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
51

3.2.1 Algunos resultados obtenidos por el IDS

A continuacin se presentan algunos datos que brinda el IDS implementado con el Snort.

Tipos de alertas detectadas.

Figura 3.11: Alertas ms comunes.

Direcciones IP desde donde se reportaron las alertas.

Figura 3.12: Direcciones IP de origen que ms veces se ha detectado.

Anlisis grfico del nmero de alertas por da.

Figura 3.13: Grfico de anlisis de alertas entre un perodo de tiempo.

Bsqueda de Alertas.

La bsqueda de las alertas se puede realizar por detalles, es decir por el sensor que las
gener, fecha en la que se gener la alerta, grupo al que pertenece, adems presenta otras
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
52

opciones para el caso de una bsqueda ms especfica segn lo amerite el caso.(vase


figura 3.14)

Figura 3.14: Bsqueda de una alerta especfica.

3.3 Resultados obtenidos por el Pmgraph

A continuacin se muestran algunas de las grficas que genera el Pmgraph.

Figura 3.15: Alertas por segundo.

Figura 3.16: Paquetes promedio.


CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
53

3.4 Conclusiones del captulo

En este captulo se mostraron los resultados de los escaneos realizados los cuales fueron
detectados exitosamente por el Snort. Adems se presentaron algunos resultados obtenidos
durante un perodo de tiempo en el cual estuvo activado el IDS en donde se observaron los
IP que con ms frecuencias fueron detectados. Tambin se mostraron los resultados
arrojados por el Pmgraph en donde se pudo ver de forma grfica las alerta por segundo y el
promedio de los paquetes medidos en bytes.
CONCLUSIONES Y RECOMENDACIONES
54

CONCLUSIONES Y RECOMENDACIONES

Conclusiones

En este proyecto, se ha pretendido mostrar la importancia y las posibilidades que pueden


tener los Sistemas de Deteccin de Intrusos en materia de seguridad de una red.

Con el desarrollo de esta investigacin se ha llegado a las conclusiones siguientes:

Snort presenta una instalacin cmoda y un funcionamiento adecuado para los


propsitos de deteccin de actividad maliciosa como IDS, as como una interfaz
amigable.

Permite integrase con otras herramientas, como por ejemplo Pmgraph, para mejorar
su rendimiento, y BASE, para facilitar el anlisis de los resultados.

A travs de las pruebas realizadas se pudo ver la capacidad de deteccin del sistema,
mediante el anlisis de las alertas producidas y las direcciones de los equipos que
intervinieron en dichas alertas. Adems se pudo evaluar el rendimiento del sistema
durante un perodo de tiempo.

Es posible ocultar ataques al IDS enviando el trco de forma especial. Este


problema no aparece solo en Snort, sino que est presente en muchos de los IDS
comerciales y es tema de investigacin en la actualidad.
CONCLUSIONES Y RECOMENDACIONES
55

Recomendaciones

Las vas futuras para la continuacin de este proyecto se enmarcan en el mbito de


los IDS basados en la Inteligencia Artificial (IA) que permitan detectar
vulnerabilidades y ataques que no eran conocidos previamente.

Minimizar la cantidad de falsos positivos que hacen que en muchas ocasiones se


generen numerosas cantidades de alertas que no suponen ataques verdaderos. Para
ello sera necesario una gestin ms eficaz de estas alarmas, por lo que es
fundamental llevar a cabo un estudio ms profundo en la configuracin de los
preprocesadores y mejorar el motor de deteccin que permita un mejor anlisis del
trfico.

Integrarle al Snort otras herramientas como el Oinkmaster, SnortSMS y SnortSnarf.

Implementar el sistema de prevencin de intrusos con el Snort o Snort_Inline, el cual


ofrece muchas posibilidades de mejora en la seguridad, debido a que ofrecen una
respuesta activa a los eventos de deteccin de intrusos. Esto permite tomar medidas
ante los ataques como reconfigurar o alterar los mecanismos de accesos de control a
las redes, sesiones o paquetes individuales basados en las reglas de sistemas de
deteccin de intrusos.
REFERENCIAS BIBLIOGRFICAS
56

REFERENCIAS BIBLIOGRFICAS

Anderson, J. P. (1972). Computer Security Technology Planning Study. Volume 2,


Electronic Systems Division, Air Force Systems Command, Hanscom Filed.

Anonymous (2002). Maximum Security, SAMS.

Belmonte, I. (2002.). Configuracin de un sistema de deteccin de intrusiones.


Configuracin de Snort con interface ACID. Disponible en: http://www.redes-
linux.com/manuales/seguridad/snort_assl.pdf.[Consultado el 16 de abril del 2011]

Castell, S. F. (2004). Mtodos de seguridad en una red: cortafuegos y deteccin de intrusos


(IDS), Valencia, Espaa.

Caswell, B., J. Beale, et al. (2003). Snort 2.0 Intrusion Detection, Syngress Media Inc. [En
lnea]. Disponible en: http://www.hotfile.com/dl/27844250/b24d57d/snort-2-0-intrusion-
detection.9781931836746.23862.pdf.html. [Consultado el 20 de abril del 2011]

Center, N. C. S. (1988). A guide to understanding audit in trusted systems, Technical


Report NCSC-TG-001, National Computer Security Center.

Chapman, D. B., E. D. Zwicky, et al. (1995). Building internet firewalls, O'Reilly &
Associates, Inc.

Cheswick, W. R., S. M. Bellovin, et al. (2003). Firewalls and Internet security: repelling the
wily hacker, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA. [En lnea].
Disponible en: http://www.dannyreviews.com/h/Firewalls_and_Internet_Security.html.
[Consultado el 15 de marzo del 2011]
REFERENCIAS BIBLIOGRFICAS
57

Cox, K. and C. Gerg (2004). Managing security with Snort and IDS tools, O'Reilly Media,
Inc. [En lnea]. Disponible en: http://www.pdfwindows.com/pdf/oreilly-managing-security-
with-snort-and- ids-tools-1st. [Consultado el 17 de abril del 2011]

Denning, D. E. (1986). An Intrusion Detection Model. Proceedings of the 1986 IEEE


Symposium on Security and Privacy, Oakland, CA.

Freed, N. (2000). RFC 2979: Behavior of and Requirements for Internet Firewalls,
Network Working Group. [En lnea]. Disponible en: http://www.ietf.org/rfc/rfc2979.txt
[Consultado el 5 de marzo del 2011]

Gahonapag, A. E. O. (2008). Deteccin de intrusos. Seguridad: 36- 40. [En lnea].


Disponible en: http://www.lpmagazine.org. [Consultado el 10 de marzo del 2011]

Garca, M. I. G. (2008). Utilizacin de Sistemas de Deteccin de Intrusos como elemento


de seguridad perimetral, Universidad de Almera. [En lnea]. Disponible en:
http://www.adminso.es. [Consultado el 18 de marzo del 2011]

Gramajo, A. (2005). Introduccin a conceptos de IDS y tcnicas avanzadas con Snort.


[En lnea]. Disponible en: http://www. people.baicom.com/agramajo/notes/ids2005.pdf.
[Consultado el 19 de abril del 2011]

Gregg, M. (2006). Hack the stack: using snort and ethereal to master the 8 layers of an
insecure network, Syngress. [En lnea]. Disponible en: http://www.ebookee.org/Hack-the-
Stack-Using-Snort-and-Ethereal-to-Master-the-8-Layers-of-an-Insecure-
N_873.html.[Consultado el 18 de mayo del 2011]

Harper, P. (2004.). Snort Install Manual Snort, Apache, SSL, PHP, Mysql, Acid Install on
Fedora Core 2. N. Oliver. [En lnea]. Disponible en: http://www.
www.internetsecurityguru.com/documents/Snort_SSL_FC2.pdf.[Consultado el 13 de abril
del 2011]

Heberlein, T. (1995). Network Security Monitor (NSM) - Final Report. Davis, CA,
Lawrence Livermore National Laboratory.

Kabiri, P. and A. A. Ghorbanifar (2005). Research on intrusion detection and response: A


survey, Citeseer. 1: 84-102.
REFERENCIAS BIBLIOGRFICAS
58

Kaufman, C., R. Perlman, et al. (2002). Network security, Prentice Hall PTR.

Kelley, C., J. Barnes, et al. (2002). OpenSource GPS Open Source Software for Learning
about GPS, Citeseer: 25242533.

Krutz, E. C. y. R (2005). Network Security Bible, Wiley Publishing, Inc. [En lnea].
Disponible en:
http://www.researchandmarkets.com/reports/1086287/network_security_bible_2nd_edition.
pdf. [Consultado el 20 de marzo del 2011]

Lyon, G. F. (2009). Nmap Network Scanning: The Official Nmap Project Guide to
Network Discovery and Security Scanning, Insecure. Disponible en: http://www.
nmap.org/book/cover/nns-cover.pdf.[Consultado el 14 de mayo del 2011]

Marchette, D. J. (2001). Computer intrusion detection and network monitoring: a statistical


viewpoint, Springer Verlag.

Merino, B. (2011). Anlisis de trfico con Wireshark, Instituto Nacional de Tecnologas de


la Comunicacin (INTECO).

Molina, M. and J. Joaqun (2008). Arquitectura dirigida por eventos para un sistema de
deteccin de intrusiones basado en patrones. Universidad de Murcia.

Mukherjee, B., L. T. Heberlein, et al. (1994). Network intrusion detection, IEEE. 8: 26-41.

Ney, C. (2006.). Escaneando comprendiendo las tcnicas de anlisis con nmap. Linux
Magazine. : 60-66.

Noel, S., D. Wijesekera, et al. (2002). Modern intrusion detection, data mining, and degrees
of attack guilt, Citeseer: 2-25.

Orebaugh, A. and B. Pinkard (2008). Nmap in the enterprise: your guide to network
scanning, Syngress. Disponible en: http://www.4shared.com/NmapintheEnterprise
YourGuideto.html.[Consultado el 20 de mayo del 2011]
REFERENCIAS BIBLIOGRFICAS
59

Rehman, R. U. (2003). Intrusion detection systems with Snort: advanced IDS techniques
using Snort, Apache, Mysql, PHP, and ACID, Prentice Hall PTR. Disponible en: http://
www.warezrocker.net/121861-intrusion-detection-with-snort-advanced-ids-techniques-
using-snort-apache- mysql-php-and-acid.html.[Consultado el 22 de abril del 2011]

Riley, C. (2010). Deteccin de Intrusiones con Snort. Revista Linux 60 a 66. Disponible en:
http://www.linux- magazine.es. [Consultado el 14 de abril del 2011]

Roesch, M., Ed. (2009). The Snort Project. Snort Users Manual 2.8.4. Disponible en:
http://www.snort.org/assets/82/snort_manual.pdf.[Consultado el 5 de mayo del 2011]

Scott, C., P. Wolfe, et al. (2004). Snort for dummies, For Dummies.

Sobiery, M. (2007). "Michael Sobireys Intrusion Detection Systems page." Disponible en:
http://www.isl.cse.sc.edu/mirrorSobireys.shtml.[Consultado el 26 de marzo del 2011]

Staff, H. (2005). "The Story of Snort: Past, Present and Future." Disponible en:
http://www.net-security.org/article.php?id=860. [Consultado el 10 de abril del 2011]

Tulloch, M. (2003). Microsoft Encyclopedia of Security. United States of America, Library


of Congress Cataloging in Publication Data

UCI (2008). Conferencias de Seguridad Informtica., Departamento de Sistemas Digitales

Vigo, J. A. E. (2005). Sistemas de deteccin de intrusiones. Disponible en: http://www.


upcommons.upc.edu/pfc/bitstream/2099.1/3451/9/52096-9.pdf. [Consultado el 20 de marzo
del 2011]

Zhou, Z., C. Zhongwen, et al. (2005). The study on network intrusion detection system of
Snort, IEEE. 2: 194-196.
ANEXOS
60

ANEXOS

Anexo I Cabecera de la regla


La cabecera de la regla ha de contener informacin relativa al paquete en lo referente a:

Acciones asociadas.
Protocolos.
Direcciones IP.
Nmeros de puerto.
Direccin de la operacin.
Acciones
Le indican al motor de deteccin que ha de hacer cuando encuentre un paquete que
coincida con el criterio de la regla. Snort proporciona tres posibles acciones:

Alert. Genera una alerta utilizando el mtodo de alerta seleccionado al invocar al programa
desde la lnea de comandos.

Log. Archiva el paquete.


Pass. Ignora el paquete.
Protocolos
El siguiente campo que nos vamos a encontrar en una regla es el protocolo. Hay tres
protocolos IP que Snort analiza para detectar un comportamiento sospechoso. Estos tres
protocolos son TCP, UDP e ICMP.
ANEXOS
61

Direcciones IP
Por desgracia, Snort no proporciona ningn mecanismo para traducir de direccin IP a
nombre de equipo.

Las direcciones estn formadas por una direccin IP junto con su bloque CIDR.

Adems el lenguaje de definicin de reglas de Snort, nos provee del operador de negacin.
Este operador indica al programa que aplica determinada regla para todas las direcciones
que no coincidan con el rango que se le especifica. El operador de negacin es !.

Nmeros de puertos

Al igual que se le especifica la direccin fuente as como la direccin destino, tambin es


necesario indicar el puerto fuente y el puerto destino. Este nmero de puerto puede ser
definido de distintas formas, incluyendo any, definicin de puertos estticos, rangos y
utilizando el operador de negacin. Los puertos estticos estn indicados por un puerto en
concreto, es decir un nico valor numrico, y por ltimo los rangos de puertos se definen
con el operador. Los rangos de puertos pueden ser utilizados de diversos modos teniendo
significados diferentes:

Cualquier puerto fuente y un rango en los puertos destino:

Log udp any any -> 155.54.12.0/24 1:1024

Cualquier puerto fuente, y un puerto destino menor o igual a un puerto:

Log tcp any any ->155.54.12.0/24:6000

Puerto fuente mayor que un determinado nmero, y puerto destino menor que un
determinado puerto:

Log tcp any: 1024 -> 155.54.12.0/24 500:

Direccin de la operacin
Este operador -> indica la orientacin o direccin del trfico al que la regla se aplica. La
direccin IP y puerto de ambos lados de este operador indican que la regla se aplicar a
cualquier paquete que tenga como origen el par IP puerto de la parte izquierda de la regla y
como destino el par IP puerto de la parte derecha de la regla. Adems de este operador
ANEXOS
62

unidireccional, tambin existe un operador bidireccional. Este operador bidireccional es <>.


Este operador es til para grabar o analizar ambas partes de la conversacin. Un ejemplo en
el que el operador bidireccional puede resultar til, es para registrar todo el trfico que se
produzca por el protocolo TELNET desde fuera de la red que se pretende monitorizar. La
regla para esto sera tal que:

Log tcp 155.54.12.0/24 any <> 155.54.12.0/24 23

Opciones de las reglas:

Estas opciones son la parte central el motor de deteccin que Snort proporciona.

Cada una de las opciones que Snort proporciona han de estar separadas por un ;, as como
el identificador de la opcin ha de estar separado de la opcin en si por :

De esta forma, tenemos veinte opciones distintas que pueden ser aplicadas a una regla:

Msg. Imprime un mensaje tanto el fichero de alertas como en el logs.


Logto. Almacena el paquete en el fichero que el usuario le defina, en lugar del
fichero estndar.
Ttl- Chequea el valor del campo TTL de la cabecera del paquete IP.
Id- Chequea el valor del campo ID de la cabecera del paquete IP para ver si
coincide con un valor determinado.
Dsize- Chequea el tamao del campo de datos contra el de la cabecera IP.
Content- Busca un determinado patrn dentro del campo del contenido.
Offset- Modifica la opcin anterior, establece el desplazamiento dentro del campo
de contenido del paquete IP a partir del cual ha de buscar el patrn.
Depth- Modifica la opcin contenido, establece la profundidad mxima a la que
busca, dentro de una conversacin entre varios ordenadores.
Nocase- Establece la bsqueda de patrones para que no sea sensible a las
maysculas.
Flags- Chequea el valor de los flags TCP para ver si corresponden con cierto valor.
Seq- Chequea el nmero de secuencia del paquete TCP para ver si coincide con
determinado valor.
Ack- Chequea el campo ACK del paquete TCP para ver si coincide con
determinado valor.
Itype- Chequea el valor de este campo dentro del paquete ICMP para ver si
coincide con un determinado valor.
ANEXOS
63

Icode- Chequea el valor de este campo dentro del paquete ICMP para ver si
coincide con un determinado valor.
Sesin. Descarga la informacin del nivel de aplicacin para una determinada
sesin.
Icmp_id- Chequea el valor del campo ICMP ECHO ID para ver si coincide con un
determinado valor.
Icmp_seq- Chequea el valor del nmero de secuencia de un paquete ICMP ECHO
para ver si corresponde con un determinado valor.
Ip-option- Busca dentro del campo de opciones de paquete IP.
Rpc- Busca servicios RPC para una determinada llamada a una aplicacin /
procedimiento.
Resp- Activa respuesta (cada de conexiones, etc).
Anexo II Preprocesadores que presenta el Snort

Lista de preprocesadores utilizados, que incluye la versin 2.8.5 de Snort en el fichero


snort.conf, con sus caractersticas su configuracin predeterminada.

frag3

De basa en la fragmentacin IP de los mdulos de Snort. Frag3 reemplaza el mdulo de


fragmentacin frag2 y fue diseado con los objetivos siguientes:

1. Ejecucin ms rpida que frag2 con gestin de datos menos compleja.


2. Modelo de Host con tcnicas de anti-evasin.

Preprocessor frag3_global: max_frags 65536

Preprocessor frag3_engine: policy first detect_anomalies

Stream5

Es un mdulo de reensamblado TCP para Snort. Intenta suplantar a Stream4 y a Flow, y es


capaz de rastrear sesiones tanto para TCP como para UDP. Con Stream5, la regla 'flow' y
palabras clave 'flowbits' son utilizables tanto con TCP como con UDP.

Preprocessor stream5_global: max_tcp 8192, track_tcp yes, \

Track_udp no

Preprocessor stream5_tcp: policy first, use_static_footprint_sizes


ANEXOS
64

Rpc_decode

Normaliza mltiples registros RPC fragmentados en un nico registro. Esto normaliza el


paquete en el buffer del paquete. Si permite stream4; esto slo tratar el trfico del lado
cliente. Por defecto, se ejecuta sobre los puertos 111 y 32771.

preprocessor rpc_decode: 111 32771

Ftp_telnet

Es una mejora al decodificador Telnet y proporciona la capacidad de inspeccin tanto del


FTP como de Telnet. FTP/Telnet descodifica el flujo de datos, identificando rdenes de
FTP, respuestas y secuencias de escape de Telnet y normalizar los campos.

FTP/Telnet trabaja tanto con respuestas del cliente como del servidor.

preprocessor ftp_telnet: global \

Encrypted_traffic yes \

Inspection_type stateful

preprocessor ftp_telnet_protocol: telnet \

normalize \

ayt_attack_thresh 200

preprocessor ftp_telnet_protocol: ftp server default \

def_max_param_len 100 \

alt_max_param_len 200 {CWD} \

cmd_validity MODE < char ASBCZ > \

Cmd_validity MDTM < [date nnnnnnnnnnnnnn [.n [n[n]]] ] string > \

chk_str_fmt {USER PASS RNFR RNTO SITE MKD} \

telnet_cmds yes \

data_chan

reprocessor ftp_telnet_protocol: ftp client default \


ANEXOS
65

max_resp_len 256 \

bounce yes \

telnet_cmds yes

Ssh

Detecta lo siguiente: Gobbles, CRC 32, Seguridad CRT, y el protocolo Mismatch exploit.

Preprocessor ssh: server_ports {22} \

max_client_bytes 19600 \

max_encrypted_packets 20

Dcerp

Detecta y descifra el trfico SMB y DCE/RPC. Principalmente est interesado en datos


DCE/RPC, y slo descifra SMB para llegar a los datos DCE/RPC que transporta la capa
SMB.

preprocessor dcerpc:\

autodetect \

max_frag_size 3000 \

memcap 100000

DNS

Descifra respuestas DNS y puede detectar lo siguiente: DNS Desbordamientos Cliente


RData, Tipos Anticuados De registro, y Tipos Experimentales De registro.

preprocessor dns: \

ports {53} \

enable_rdata_overflow

Smtp

Es un decodificador SMTP para aplicaciones de usuario. Considerando un buffer de datos,


SMTP descodifica el buffer y encuentra rdenes SMTP y respuestas.
ANEXOS
66

preprocessor smtp:\

ports {25 587 691} \

inspection_type stateful \

normalize cmds \

normalize_cmds {EXPN VRFY RCPT} \

alt_max_command_line_len 260 {MAIL} \

alt_max_command_line_len 300 {RCPT} \

alt_max_command_line_len 500 {HELP HELO ETRN} \

alt_max_command_line_len 255 {EXPN VRFY}

También podría gustarte