Deteccin de Intrusos Usando Snort III Jornada Nacioal

  • Slides: 39
Download presentation
Detección de Intrusos Usando Snort III Jornada Nacioal de Seguridad Informática Ing. Moisés David

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

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 n n Monitorea diversas fuentes de información de los sistemas

Que hace un IDS n n 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? n n La mayoría de Firewalls

Para que un IDS si ya tenemos Firewall? n n 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? n n

Que puede ser detectado por un IDS y por un Firewall no? n n n 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 n n n Detección de uso inapropiado Vs. Detección de anomalías

Categorización de IDS n n n 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 n n n Monitorean el tráfico de red, pero solo en porciones de

NIDS n n n 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 n n Solo se preocupan por los eventos locales a una máquina monitoreando

HIDS n n 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: n n n Sesiones de usuarios Actividades de los usuarios privilegiados Cambios en el sistema de archivos

Ventajas de los NIDS n n n Una subred completa puede ser cubierta por

Ventajas de los NIDS n n n 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 n n n Permiten asociar usuarios y eventos Pueden analizar

Ventajas de los HIDS n n n 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 n n n Generación de falsos positivos No pueden analizar

Desventajas de los NIDS n n n 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 n n n La información provista deja de ser confiable

Desventajas de los HIDS n n n 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 n n Un mayor grado de seguridad al

Que se puede lograr con IDS n n 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) n n Reconocer ataques en tiempo real

Que se puede lograr con IDS (2) n n Reconocer ataques en tiempo real Automatizar la búsqueda de trazas de ataques en Internet

Que no se puede lograr con IDS n n n No son infalibles No

Que no se puede lograr con IDS n n n 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) n n No analizan adecuadamente el

Que no se puede lograr con IDS (2) n n 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 n n Es un NIDS liviano, libre, fácilmente configurable y ejecutable en diversas

Snort n n 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 n n n Utiliza libpcap o Win. Pcap como fuente de

Diseño de Snort n n n Utiliza libpcap o Win. Pcap 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

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

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 n Prepocesador n n Detección n n El tráfico es analizado o manipulado

Plugins n Prepocesador n n Detección n 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 n Reporta los resultados de otros plugins

Motor de Detección n n Las reglas crean patrones o signatures Elementos modulares de

Motor de Detección n 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) n n Puede generar; Alert, Log o Pass sobre dirección/puerto

Motor de Detección (2) n n 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

Reglas alert tcp !10. 1. 1. 0/24 any -> 10. 1. 1. 0/24 any (flags: SF; msg: “SYN-FIN Scan”; ) n Cabecera n n alert tcp !10. 1. 1. 0/24 any -> 10. 1. 1. 0/24 any Opciones n (flags: SF; msg: “SYN-FIN Scan”; )

Posibilidades de Especificación de las Opciones n n n n IP TTL IP ID

Posibilidades de Especificación de las Opciones n n n n IP TTL IP ID Fragment size TCP Flags TCP Ack number TCP Seq number Payload size • • Content offset Content depth Session recording ICMP type ICMP code Alternate log files

Ejemplos de Reglas *** n Regla para detectar el troyano Sub. Seven: alert tcp

Ejemplos de Reglas *** n Regla para detectar el troyano Sub. Seven: alert tcp $EXTERNAL_NET 27374 -> $HOME_NET any (msg: "BACKDOOR subseven 22"; flags: A+; content: "|0 d 0 a 5 b 52504 c 5 d 3030320 d 0 a|"; reference: arachnids, 485; reference: url, www. hackfix. org/subseven/; sid: 103; classtype: misc-activity; rev: 4; )

Reglas para atrapar intrusos *** n n alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 1433

Reglas para atrapar intrusos *** n n 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|"; 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)*** n n alert tcp $EXTERNAL_NET any -> $HOME_NET 21

Reglas para atrapar intrusos (2)*** n n 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: "%5 c"; uricontent: ". . "; reference: cve, CAN-2001 -0333; classtype: webapplication-attack; sid: 970; rev: 2; ) caught NIMDA infection

Reglas para atrapar intrusos (3)*** n alert tcp $HOME_NET 23 -> $EXTERNAL_NET any (msg:

Reglas para atrapar intrusos (3)*** n 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 n n n bad-traffic. rules exploit. rules scan. rules finger. rules ftp.

Reglas preexistentes n n n bad-traffic. rules exploit. rules scan. rules finger. rules ftp. rules telnet. rules smtp. rules rpc. rules rservices. rules dos. rules dns. rules tftp. rules web-cgi. rules web-coldfusion. rules x 11. 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 n Contenido de /var/log/snort/alert n n n [**] [1: 469: 1]

Bitacora de Snort n Contenido de /var/log/snort/alert n n n [**] [1: 469: 1] ICMP PING NMAP [**][Classification: Attempted Information Leak] [Priority: 2]03/2809: 48: 40. 739935 192. 168. 1. 2 -> 192. 168. 1. 3 ICMP TTL: 46 TOS: 0 x 0 ID: 61443 Ip. Len: 20 Dgm. Len: 28 Type: 8 Code: 0 ID: 10629 Seq: 0 ECHO[Xref => http: //www. whitehats. com/info/IDS 162] [**] [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 tcpdump Packet Stream Sniffing Filter file tcpdump process To Log File

Implementación (2) To Em ail Cron Report Generator Packet Stream Sniffing SNORT Rules file

Implementación (2) To Em ail Cron Report Generator Packet Stream Sniffing SNORT Rules file To Alert File

Implementación (3) To Em ail Cron Report Generator Packet Stream Sniffing SNORT Rules file

Implementación (3) To Em ail Cron Report Generator Packet Stream Sniffing SNORT Rules file To Alert File

Implementación Cron (4) Logging Interval Daily Short-Term Driver Filters Long-Term Driver Filters Logging Interval

Implementación Cron (4) Logging Interval Daily Short-Term Driver Filters Long-Term Driver Filters Logging Interval + 46 minutes Packet Logs ssh hash and delete Log Collection and Processing Detailed Analysis Filters Rules Alerts & Logs STD OUT Daily 1 Min. After Log Finish scp transfer Daily Analysis Filters Rules Cron Daily Packet Stream Short-Term Cleanup

Salida de Snort n n n n A bases de datos XML Formato binario

Salida de Snort n n n n 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 n n Imposición y chequeo de políticas Monitor de Honeypot

Otros usos de Snort n n Imposición y chequeo de políticas Monitor de Honeypot n n 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, Active. X, Java/Java. Script, Virus de macros, cadenas de HTTP. . .

Herramientas de Terceros n n n Snort. Snarf http: //www. silicondefense. com/software/snor tsnarf/ Acid.

Herramientas de Terceros n n n Snort. Snarf http: //www. silicondefense. com/software/snor tsnarf/ Acid. Lab http: //acidlab. sourceforge. net/ Demark http: //www. demarc. com/ Guardian http: //www. chaotic. org/guardian/ snort-panel http: //www. xato. net/files. htm