Detección de Intrusos Usando
Snort
III Jornada Nacioal de Seguridad
Informática
Ing. Moisés David Rincón D’Hoyos, MSc.
Que son los IDS?
Sistemas de monitoreo
computacional que buscan
señales de la presencia de
usuarios no autorizados, o de
usuarios abusando de sus
privilegios
Que hace un IDS




Monitorea diversas fuentes de información de
los sistemas analizando de varias maneras
esta información
Compara el tráfico con patrones de ataques
Identifica problemas relacionados con el
abuso de privilegios
Realiza análisis estadístico en busca de
patrones de actividad anormal
Para que un IDS si ya tenemos
Firewall?




La mayoría 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 tráfico
Ataques a través de vulnerabilidades en
aplicaciones
Ataques que se originan desde la
porción segura de la red
Categorización de IDS



Detección de uso inapropiado Vs.
Detección de anomalías
Sistemas Activos Vs. Sistemas Reactivos
Sistemas basados en Red o NIDS Vs.
Sistemas basados en Host o HIDS Vs.
Sistemas Híbridos
NIDS



Monitorean el tráfico de red, pero solo
en porciones de estas
Utilizan sniffers y modo promiscuo que
requieren privilegios locales
Pueden fácilmente monitorear mapeos
de puertos, ataques conocidos y
sustitución de direcciones ip
HIDS


Solo se preocupan por los eventos
locales a una máquina monitoreando el
tráfico de red o elementos de la misma
máquina
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
Teóricamente indetectables
Mínimo impacto a la red
Permiten detectar ataques DOS
Independencia del ambiente operativo
Livianos y Fáciles de implementar
Ventajas de los HIDS



Permiten asociar usuarios y eventos
Pueden analizar tráfico cifrado
Pueden proveer información acerca de
un ataque en una máquina durante el
mismo ataque
Desventajas de los NIDS






Generación de falsos positivos
No pueden analizar tráfico cifrado
Son tan efectivos como la última actualización
de patrones
Alta latencia entre el ataque y la notificación
Dificultad para realizar análisis en redes
congestionadas
No indican si un ataque ha sido exitoso o no
Desventajas de los HIDS





La información provista deja de ser confiable
tan pronto como un ataque ha sido exitoso
Cuando la máquina “cae” también 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 información 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 búsqueda de trazas de
ataques en Internet
Que no se puede lograr con
IDS






No son infalibles
No compensan una mala administración
No investigan ataques sin intervención
humana
No intuyen ni siguen las políticas de
seguridad organizacional
No compensan debilidades en protocolos de
red
No compensan los problemas debidos a la
calidad o integridad de la información
Que no se puede lograr con
IDS (2)




No analizan adecuadamente el tráfico
en una red de alto tráfico
No pueden solucionar problemas
debidos a ataques a nivel de paquetes
Se quedan cortos ante características
de redes modernas
Se ven bastante limitados ante tráfico
cifrado
Snort




Es un NIDS liviano, libre, fácilmente
configurable y ejecutable en diversas
plataformas
Ampliamente considerado técnicamente
superior a la mayoría de NIDS comerciales
Además 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
Diseño de Snort



Utiliza libpcap o WinPcap como fuente
de tráfico
El sistema está basado en plugins que
permiten una flexibilidad prácticamente
ilimitada, activando módulos que vienen
con la distribución o creando nuevos
Utiliza un motor de detección 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


Detección


El tráfico es analizado o manipulado antes
de ser pasado al motor de detección
Realiza pruebas sencillas en partes
específicas de los paquetes
Salida

Reporta los resultados de otros plugins
Motor de Detección




Las reglas crean patrones o signatures
Elementos modulares de detección se
combinan para formar estos patrones
Es posible la detección de actividad anómala;
stealth scans, OS fingerprinting, buffer
overflows, back doors, vulnerabilidades en
cgis, códigos ICMP inválidos, entre otros
El sistema de reglas es muy flexible y la
creación de nuevas reglas es sencilla
Motor de Detección (2)


Puede generar; Alert, Log o Pass sobre
dirección/puerto origen/destino para IP,
UPD e ICMP, anomalías estadísticas o
verificaciones sobre protocolos
A menos que se tengan necesidades
muy específicas no es necesario escribir
nuevas reglas; actualmente hay mas de
2000 disponibles en línea
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 Especificación
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
Implementación
tcpdump
Packet Stream
Sniffing
Filter file
tcpdump
process
To Log File
Implementación (2)
Cron
Report
Generator
Packet Stream
SNORT
Sniffing
Rules file
To Alert File
Alert
File
Implementación (3)
Cron
Report
Generator
Packet Stream
SNORT
Sniffing
Rules file
To Alert File
Alert
File
Implementación
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
Más dependiendo de herramientas de
terceros; buscapersonas, teléfonos móviles,
acciones automáticas...
Otros usos de Snort


Imposición y chequeo de políticas
Monitor de Honeypot




Honeypots son “deception systems” que permiten
análizar el comportamiento de intrusos en el
sistema ***
Trampas y detección de mapeos de puertos
Análisis de tráfico en tiempo real
Detección de nuevos eventos a través 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
Descargar

Detección de Intrusos usando Snort