Post on 14-Apr-2015
Evasión de IDSEvasión de IDSCómo atacar sin ser detectadoCómo atacar sin ser detectado
02 Junio 2005
2
Sistemas de Detección de IntrusosSistemas de Detección de Intrusos
¿Qué es un IDS?• Definición
Elementos básicos• Fuentes de información
• Motor de análisis
• Respuesta frente alertas.
3
Sistemas de Detección de IntrusosSistemas de Detección de Intrusos
Categorías
• NIDS vs HIDS
• DIDS
• Análisis de patrones vs Detección de anomalías
• Sistemas pasivos vs Sistemas Activos
4
Problemática de los IDS
Falsas alertas• Falsos positivos
• Falsos negativos
Insuficiente información• Datos de la topología
• Estado de la red
• Congestiones o problemas
• Tipo de S.O. de las máquinas
• Estado de las máquinas. Carga..
Ambigüedades• En los propios protocolos
• La variedad de implementaciones
• Inconsistencias en la red
Lo que define a un ataque no es un paquete,
sino el comportamiento que induce ese paquete en la
máquina objetivo.
5
Ataques contra NIDS
Ataques contra NIDS
• Ataques de Inserción
• Ataques de evasión
• Denegación de Servicio CPU Memoria Disco Ancho de banda
• Otro: spoofing, inundación de alertas,etc.
6
Ataque de Inserción
7
Ataque de Evasión
8
Capa de red
Ataques en la capa de red
Cómo conseguir Inserción o Evasión en el NIDS
• Cabeceras malformadas Ejemplo: checksum
• Opciones IP Strict source routing Timestamp
9
Ataque basado en TTL
10
Ataque basado en MTU
MTU = 1200 bytes
OBJETIVO
NIDS
PAQUETEDF = 1
1350 bytes
Desecha el paquete
11
Ataques de fragmentación (timeout-1)
Intruso NIDS
Fragmento 1 1 1
Fragmento 2 2
Fragmento 3
Espera un tiempo T determinado
2 3
1 2
1 2 2
TIMEOUTSe desecha el fragmento 1 Espera fragmentos...
ATAQUENo procesa el ataque completo
12
Ataques de fragmentación (timeout-2)
13
Ataques de fragmentación (overlap)
NIDS
Intruso
Fragmento 2
Fragmento 2'
Fragmento 3
Fragmento 1
El fragmento 2' sobrescribeAl framento anterior
1 2' 3
1 2 3
1 2 3
1 2' 3
1 2' 3
14
Capa de transporte
Ataques a nivel TCP
• Más elaborados
• Cabeceras malformadas Opciones no permitidas en ciertos estados. Datos en un paquete SYN Checksum
• Opciones TCP Ejemplo: PAWS
– Timestamp inválido
– Modificar el umbral
15
Sincronización del NIDS
Sincronización del NIDS• Estado
• Números de secuencia
• BCT = Bloque de control TCP
Puntos donde de-sincronizar el NIDS• Creación de BCT
• Reensamblado Duplicado de segmentos Superposición de segmentos
• Destrucción del BCT
16
Ataque en otras capas
Capa de enlace• Ataques de spoofing Inserción.
Capa de aplicación• HTTP
Técnica Ejemplo
Cambio de métodoGET /cgi-bin/some.cgi HEAD /cgi-bin/some.cgi
Codificación de la URL
cgbin %63%67%69%2d%62%69%6e
Transformación UNICODE
0x5C0xC19C U+005C /0xE0819C
Directorio 1 GET ////cgi-bin///vuln.cgi
Directorio 2 GET /cgi-bin/blahblah/../some.cgi HTTP/1.0
Directorio 3 GET /cgi-bin/././././vuln.cgi
Múltiples peticiones
GET / HTTP/1.0\r\n Header: /../../cgi-bin/some.cgi HTTP/1.0\r\n \r\n
17
Conclusiones
Soluciones y consideraciones
• No es sencillo evadir NIDS Mucha información necesaria Mejores capacidades Se deben dar ciertos problemas de configuración Ataques a ciegas
• Soluciones Normalización del tráfico Uso de una base de conocimientos
– Mapeado Activo
18
CONFIDENCIALIDAD Y RESTRICCIONES DE USO
Toda la información contenida en el presente documento, sea de naturaleza técnica, comercial, financiera o de cualquier otro tipo, es propiedad de TISSAT y considerada como “Información estrictamente confidencial”, por lo que no se revelará a terceras partes quedando prohibida su reproducción, total o parcial, por cualquier medio sin el previo consentimiento expreso de TISSAT.
Roberto GutiérrezRoberto Gutiérrez
rogugil@alumni.uv.esrogugil@alumni.uv.es
FINFIN
¿Preguntas?¿Preguntas?