You are on page 1of 39

Deteccin de Intrusos Usando

Snort
III Jornada Nacioal de Seguridad
Informtica
Ing. Moiss David Rincn DHoyos, MSc.

Que son los IDS?


Sistemas de monitoreo
computacional que buscan
seales de la presencia de
usuarios no autorizados, o de
usuarios abusando de sus
privilegios

Que hace un IDS

Monitorea diversas fuentes de informacin de


los sistemas analizando de varias maneras
esta informacin
Compara el trfico con patrones de ataques
Identifica problemas relacionados con el
abuso de privilegios
Realiza anlisis estadstico en busca de
patrones de actividad anormal

Para que un IDS si ya


tenemos Firewall?

La mayora de Firewalls funcionan como


guardias frontales nicamente
Los IDS son el equivalente a los sistemas de
alarma con multiples sensores y monitoreo
por circuito cerrado de video
Muchas veces el enemigo ya est dentro
Algunos productos de Firewall han incluido
IDS pero se siguen llamando Firewalls.

Que puede ser detectado por


un IDS y por un Firewall no?

Ataques por entunelamiento de trfico


Ataques a travs de vulnerabilidades en
aplicaciones
Ataques que se originan desde la
porcin segura de la red

Categorizacin de IDS

Deteccin de uso inapropiado Vs.


Deteccin de anomalas
Sistemas Activos Vs. Sistemas Reactivos
Sistemas basados en Red o NIDS Vs.
Sistemas basados en Host o HIDS Vs.
Sistemas Hbridos

NIDS

Monitorean el trfico de red, pero solo


en porciones de estas
Utilizan sniffers y modo promiscuo que
requieren privilegios locales
Pueden fcilmente monitorear mapeos
de puertos, ataques conocidos y
sustitucin de direcciones ip

HIDS

Solo se preocupan por los eventos


locales a una mquina monitoreando el
trfico de red o elementos de la misma
mquina
Monitorean:

Sesiones de usuarios
Actividades de los usuarios privilegiados
Cambios en el sistema de archivos

Ventajas de los NIDS

Una subred completa puede ser


cubierta por un IDS
Tericamente indetectables
Mnimo impacto a la red
Permiten detectar ataques DOS
Independencia del ambiente operativo
Livianos y Fciles de implementar

Ventajas de los HIDS

Permiten asociar usuarios y eventos


Pueden analizar trfico cifrado
Pueden proveer informacin acerca de
un ataque en una mquina durante el
mismo ataque

Desventajas de los NIDS

Generacin de falsos positivos


No pueden analizar trfico cifrado
Son tan efectivos como la ltima actualizacin
de patrones
Alta latencia entre el ataque y la notificacin
Dificultad para realizar anlisis en redes
congestionadas
No indican si un ataque ha sido exitoso o no

Desventajas de los HIDS

La informacin provista deja de ser confiable


tan pronto como un ataque ha sido exitoso
Cuando la mquina cae tambin lo hace el
IDS
No son capaces de detectar mapeos de red
Pueden dejar de ser efectivos durante un
ataque DOS
Requieren recursos locales para operar

Que se puede lograr con IDS

Un mayor grado de seguridad al resto de la


infraestructura de seguridad
Hacer uso de informacin muchas veces
ignorada, para ver que est pasando en
realidad
Apoyar el rastreo de actividades intrusas
desde el punto de entrada al de salida o
impacto
Reconocer alteraciones en sistemas de
archivos

Que se puede lograr con IDS


(2)

Reconocer ataques en tiempo real


Automatizar la bsqueda de trazas de
ataques en Internet

Que no se puede lograr con


IDS

No son infalibles
No compensan una mala administracin
No investigan ataques sin intervencin
humana
No intuyen ni siguen las polticas de
seguridad organizacional
No compensan debilidades en protocolos de
red
No compensan los problemas debidos a la
calidad o integridad de la informacin

Que no se puede lograr con


IDS (2)

No analizan adecuadamente el trfico


en una red de alto trfico
No pueden solucionar problemas
debidos a ataques a nivel de paquetes
Se quedan cortos ante caractersticas
de redes modernas
Se ven bastante limitados ante trfico
cifrado

Snort

Es un NIDS liviano, libre, fcilmente


configurable y ejecutable en diversas
plataformas
Ampliamente considerado tcnicamente
superior a la mayora de NIDS comerciales
Adems de NIDS puede actuar como un
simple sniffer o bitacora de paquetes con
especificaciones avanzadas
No bloquea intrusos, asume que alguien est
monitoreando el servicio

Diseo de Snort

Utiliza libpcap o WinPcap como fuente


de trfico
El sistema est basado en plugins que
permiten una flexibilidad prcticamente
ilimitada, activando mdulos que vienen
con la distribucin o creando nuevos
Utiliza un motor de deteccin basado en
reglas

El Decodificador de Paquetes
telnet

TCP

IP header

Ethernet

packet

network

Flujo de Datos en Snort


SNORT
Packet Decoder
Pre-Processor
<Plug-Ins>
Detection Engine
<Plug-Ins>

Data Flow

Packet Stream

Sniffing

Post-Processor
& Output Stage
<Plug-Ins>
Alerts/Logs

Plugins

Prepocesador

Deteccin

El trfico es analizado o manipulado antes


de ser pasado al motor de deteccin
Realiza pruebas sencillas en partes
especficas de los paquetes

Salida

Reporta los resultados de otros plugins

Motor de Deteccin

Las reglas crean patrones o signatures


Elementos modulares de deteccin se
combinan para formar estos patrones
Es posible la deteccin de actividad anmala;
stealth scans, OS fingerprinting, buffer
overflows, back doors, vulnerabilidades en
cgis, cdigos ICMP invlidos, entre otros
El sistema de reglas es muy flexible y la
creacin de nuevas reglas es sencilla

Motor de Deteccin (2)

Puede generar; Alert, Log o Pass sobre


direccin/puerto origen/destino para IP,
UPD e ICMP, anomalas estadsticas o
verificaciones sobre protocolos
A menos que se tengan necesidades
muy especficas no es necesario escribir
nuevas reglas; actualmente hay mas de
2000 disponibles en lnea

Reglas
alert tcp !10.1.1.0/24 any -> 10.1.1.0/24 any (flags: SF; msg: SYN-FIN Scan;)

Cabecera

alert tcp !10.1.1.0/24 any -> 10.1.1.0/24


any

Opciones

(flags: SF; msg: SYN-FIN Scan;)

Posibilidades de Especificacin
de las Opciones

IP TTL
IP ID
Fragment size
TCP Flags
TCP Ack number
TCP Seq number
Payload size

Content
Content offset
Content depth
Session recording
ICMP type
ICMP code
Alternate log files

Ejemplos de Reglas ***

Regla para detectar el troyano


SubSeven:

alert tcp $EXTERNAL_NET 27374 -> $HOME_NET any


(msg:"BACKDOOR subseven 22"; flags: A+;
content: "|0d0a5b52504c5d3030320d0a|";
reference:arachnids,485;
reference:url,www.hackfix.org/subseven/;
sid:103; classtype:misc-activity; rev:4;)

Reglas para atrapar intrusos


***

alert tcp $EXTERNAL_NET any -> $SQL_SERVERS


1433 (msg:"MS-SQL xp_cmdshell - program
execution"; content:
"x|00|p|00|_|00|c|00|m|00|d|00|s|00|h|00|e|00|l
|00|l|00|"; nocase; flags:A+;
classtype:attempted-user; sid:687; rev:3;)
caught compromise of Microsoft SQL Server
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80
(msg:"WEB-IIS cmd.exe access"; flags: A+;
content:"cmd.exe"; nocase; classtype:webapplication-attack; sid:1002; rev:2;) caught Code
Red infection

Reglas para atrapar intrusos


(2)***

alert tcp $EXTERNAL_NET any -> $HOME_NET 21


(msg:"INFO FTP \"MKD / \" possible warez site";
flags: A+; content:"MKD / "; nocase; depth: 6;
classtype:misc-activity; sid:554; rev:3;) caught
anonymous ftp server
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80
(msg:"WEB-IIS multiple decode attempt";
flags:A+; uricontent:"%5c"; uricontent:"..";
reference:cve,CAN-2001-0333; classtype:webapplication-attack; sid:970; rev:2;) caught
NIMDA infection

Reglas para atrapar intrusos


(3)***

alert tcp $HOME_NET 23 -> $EXTERNAL_NET


any (msg:"TELNET Bad Login"; content:
"Login incorrect"; nocase; flags:A+;
classtype:bad-unknown; sid:1251;
rev:2;) caught telnet username brute-force

Reglas preexistentes

bad-traffic.rules exploit.rules scan.rules


finger.rules
ftp.rules
telnet.rules
smtp.rules
rpc.rules
rservices.rules
dos.rules
ddos.rules dns.rules
tftp.rules
web-cgi.rules web-coldfusion.rules
x11.rules
web-iis.rules web-misc.rules
web-attacks.rules sql.rules
web-frontpage.rules
icmp.rules
netbios.rules shellcode.rules
backdoor.rules
misc.rules policy.rules
porn.rules
info.rules
icmp-info.rules
virus.rules
local.rules
attack-responses.rules

Bitacora de Snort

Contenido de /var/log/snort/alert

[**] [1:469:1] ICMP PING NMAP [**][Classification:


Attempted Information Leak] [Priority: 2]03/2809:48:40.739935 192.168.1.2 -> 192.168.1.3ICMP
TTL:46 TOS:0x0 ID:61443 IpLen:20 DgmLen:28Type:8
Code:0 ID:10629
Seq:0 ECHO[Xref =>
http://www.whitehats.com/info/IDS162]
[**] [1:469:1] spp_portscan: PORTSCAN DETECTED
from 192.168.1.2 (THRESHOLD 4 connections exceeded
in 0 seconds) [**]03/28-09:48:41.052635

[**] [100:2:1] spp_portscan: portscan status from


192.168.1.2: 183 connections across 1 hosts:
TCP(183), UDP(0) [**]03/2809:48:45.007501

Implementacin
tcpdump
Packet Stream

Sniffing
Filter file

tcpdump
process
To Log File

Implementacin (2)
Cron

Report
Generator
Packet Stream

SNORT
Sniffing

Rules file
To Alert File

Alert
File

Implementacin (3)
Cron

Report
Generator
Packet Stream

SNORT
Sniffing

Rules file
To Alert File

Alert
File

Implementacin
Cron (4)
Logging
Interval

Daily

Short-Term
Driver
Filters

Long-Term
Driver
Filters

Logging
Interval +
46 minutes

Packet
Logs

Packet
Logs
ssh hash
and delete

Log Collection
and Processing
Detailed
Analysis

Alerts
& Logs

Filters
Rules

STD
OUT

Daily
Analysis
Filters

Daily
1 Min. After
Log Finish

scp
transfer

Rules
Cron

Daily

Packet Stream

Packet Stream

Short-Term
Cleanup

Salida de Snort

A bases de datos
XML
Formato binario de Tcpdump
Formato unificado de Snort
Ascii
syslog
Winpopup
Ms dependiendo de herramientas de
terceros; buscapersonas, telfonos mviles,
acciones automticas...

Otros usos de Snort

Imposicin y chequeo de polticas


Monitor de Honeypot

Honeypots son deception systems que permiten


anlizar el comportamiento de intrusos en el
sistema ***

Trampas y deteccin de mapeos de puertos


Anlisis de trfico en tiempo real
Deteccin de nuevos eventos a travs de la
escritura de reglas; SQL/ODBC, ActiveX,
Java/JavaScript, Virus de macros, cadenas de
HTTP...

Herramientas de Terceros

SnortSnarf
http://www.silicondefense.com/software/snor
tsnarf/
AcidLab http://acidlab.sourceforge.net/
Demark http://www.demarc.com/
Guardian http://www.chaotic.org/guardian/
snort-panel http://www.xato.net/files.htm

You might also like