Evasión de IDS Cómo atacar sin ser detectado 02 Junio 2005

Preview:

Citation preview

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?