Está en la página 1de 59

IDS / IPS técnicas de evasión

Alan Neville, BS.c, Ms.C

anev@redbrick.dcu.ie

http://www.twitter.com/abnev

1
Alan Neville, March 2012

Altavoz

□ BS.c completado en aplicaciones informáticas y Ms.C


en Seguridad y Computación Forense de la DCU
(2009, 2010)

□ Anteriormente trabajó en Espion y DCU en proyectos


relacionados Honeypot (2004, 2005)
□ Dar lugar a varias publicaciones en el portal
SecurityFocus de Symantec -
http://www.securityfocus.com
□ Desarrollo de un sistema IPS - Pharos

□ Actualmente, un analista de malware de Investigación /


ingeniería inversa en Symantec (2010)
□ Se incorporó a la lucha contra la delincuencia cibernética! \ O /
Alan Neville, March 2012

2
Alan Neville, March 2012

Agenda

□ Sistema de detección de intrusiones (IDS)

□ Sistema de prevención de intrusiones (IPS)

□ Recolección de
información

□ Problemas con IDS

□ Técnicas de evasión

□ Técnicas de Evasión
derrota

□ preguntas
3
Alan Neville, March 2012

Sistema de detección de intrusos


(IDS)

□ ¿Cuáles son tan Intrusión Detection Systems?


□ Una tecnología de seguridad que intenta identificar e informar

□ Pasivamente monitorea las transacciones de red


para patrones sospechosos de actividad
□ detección de anomalía estadística
□ detección basada en firmas
□ componente importante de un sistema de
seguridad que complementa otras tecnologías
de seguridad
□ por ejemplo, ACL, cortafuegos, filtros de paquetes, etc.
Alan Neville, March 2012

4
Alan Neville, March 2012

Sistemas de prevención de
intrusiones (IPS)

□ Un IPS es una extensión de un IDS mediante el cual


se introduce un componente de contramedida

□ Lleva a cabo acciones para cesar los ataques en curso


□ Quitar conexiones TCP (enviar paquete RST)
□ Modificar ACL existentes y otras listas de filtros para restringir el
acceso

□ Se utiliza para prevenir nuevos ataques se producen


después de un ataque inicial ha sido detectado por el
componente IDS
Alan Neville, March 2012

□ También actúa como un disuasivo para futuros ataques

5
Alan Neville, March 2012

Recolección de información (1)

□ IDS (multi-host) interpretan el tráfico prima en orden o


construir una imagen de lo que ocurre en una red

□ Bueno en ataques exigentes que implican la


manipulación de bajo nivel de la red
□ Analiza los paquetes, el análisis de los protocolos utilizados en la
red
□ Extrae la información pertinente de los paquetes
recogidos para la coincidencia de patrones
Alan Neville, March 2012
6
Alan Neville, March 2012

Recolección de información (2)

□ A medida que los sistemas IDS son pasivos, que sólo


recogen copias de los paquetes involucrados en
transacciones de datos a través de redes
□ por ejemplo Libpcap
□ Wireshark, tcpdump, windump etc.

□ paquete original puede o no haber llegado a destino


Alan Neville, March 2012
7
Alan Neville, March 2012

Recolección de información (3)


□ unobstructive
□ no manipula los datos
enviados a / desde
sistemas finales
□ no provoca la
interrupción de la red
□ ni afecta al
rendimiento de la
red
□ Difícil de evadir desde
una perspectiva
atacantes
Alan Neville, March 2012

8
Alan Neville, March 2012

Problemas con IDS (1)

□ sistemas IDS son objetivos lógicos para el ataque


□ Tratar de desactivar la presentación de informes por la fuerza de
la información falsa
□ Los falsos positivos y falsos negativos
□ sistema de inundación por ejemplo, con alertas para ocultar
ataque real

□ Los paquetes que se consideran inválidos por el IDS


pueden ser aceptados por sistemas finales
□ Los paquetes considerada inválida por IDS no generarán
alertas y por lo tanto no puede invocar las actividades de
contramedida
Alan Neville, March 2012

9
Alan Neville, March 2012

Problemas con IDS (2)

□ pueden existir inconsistencias entre IDS y sistemas finales


□ Cada sistema operativo procesa los paquetes en su propio
camino
□ La mayoría de las implementaciones tratan de
mantener lo más cerca posible RFC
□ En realidad, esto no sucede y se cortan las esquinas
□ sistemas IDS pueden presentar inconsistencias con cómo los
paquetes se manejan lo que abre nuevas vías de ataque
Alan Neville, March 2012
10
Alan Neville, March 2012

Introducción a Evasión

□ En realidad, los ataques de evasión no son tan fáciles de


explotar como teoría conduce a creer
□ Requiere el conocimiento de la red en la cual atacar
□ topografía de la red
□ información de la versión del sistema operativo para finales de los
sistemas y plataformas IDS

□ No sólo tenemos que generar paquetes considerados


válidos por los IDS, también puede ser necesario para
evadir los mecanismos de reconocimiento de
patrones
□ IDS emplea algoritmos complejos que varían drásticamente
a través de diferentes plataformas IDS
□ IDS comerciales en general, el diseño de algoritmos de
reconocimiento de patrones de propiedad súper secretas
que son difíciles de revertir
□ Esto hace que nuestro trabajo más difícil!
Alan Neville, March 2012

11
Alan Neville, March 2012

Evasión técnicas

□ Motores A. Sortear Pattern Recognition (PRES)

□ B. Código de Shell polimórfica

□ C. Sesión de empalme

□ D. Los ataques de
fragmentación
□ Superposición
□ Tiempos de espera
□ El tiempo de vida (TTL)

□ E. Denegación de
Servicio (DoS)
12
Alan Neville, March 2012

A. Motores Pattern Matching (1)


□ IDS intento de extraer información de carga útil
basada en firmas y el intento para que coincida
con cuerdas contra firmas con el fin de generar
alertas
□ Estos motores de coincidencia de patrones pueden ser
complejos
□ IDS Comercial difíciles de analizar por razones obvias

□ Snort ejemplo Firma IDS


□ ejemplo trivial que se parece a “/ etc / password” cadena
□ * Nix archivo que contiene la información de inicio de sesión de
usuario
Alan Neville, March 2012

13
Alan Neville, March 2012

A. motores de reconocimiento de
patrón (2)

□ Posible para evadir la detección de esta firma


□ / Etc // \ // passwd
□ /etc/rc.d/../../.\passwd
□ Un sinnúmero de otros ejemplos ...
□ La mayoría de los IDS tienen motores de coincidencia de
patrones bastante potente que se detecte este tipo trivial
de la técnica de evasión

□ La necesidad de emplear técnicas más complejas


que son más difíciles de detectar
□ ofuscación de cadena y las técnicas de manipulación
□ Hex (simple), Unicode y UTF-8 (avanzado) son sólo algunos
ejemplos ...
Alan Neville, March 2012

14
Alan Neville, March 2012

A. motores de reconocimiento de
patrón (3)

□ Unicode y UTF-8 proporcionan identificadores únicos


para cada carácter en todos los idiomas
□ Gestionado por el Consorcio Unicode
□ http://www.unicode.org/
□ Adoptada por muchos contemporáneos de tecnologías
□ Java, LDAP, XML, etc.
□ UTF-8: representa el estándar ASCII de siete bits
□ servidor web IIS puede interpert UTF-8
□ Apache también es compatible con UTF-8, pero no está
habilitado por defecto
Alan Neville, March 2012

15
Alan Neville, March 2012

A. motores de reconocimiento de
patrón (4)

□ ¿Cómo funciona UTF-8 nos ayuda evadir IDS?


□ Puede representar caracteres individuales en múltiples
formas que pueden evadir las detecciones basadas en
firmas
□ U + 005C, 0x5C, C191C, E0819C - todos representan “/”
□ U + 0041, 0x41, U + 100, U + 0102, U + 0104, U + 01CD, U +
01DE
etc todos representan el carácter 'A'
□ 30 representaciones únicas de la letra 'A'
□ 34 representaciones únicas de la letra 'E'
□ 83,060,640 representaciones únicas de la
cadena “AEIOU”
□ Se entiende la idea ...
Alan Neville, March 2012

dieciséis
Alan Neville, March 2012

B. Código de Shell polimórfica (1)

□ Un método de ofuscación desbordamientos de búfer


(BoF) contra cualquier servicio
□ Los cambios de un exploit firma cada vez que se ejecuta

□ ¿Qué es un desbordamiento de memoria?


□ Un una anomalía por la cual la programación de grabar en un
búfer desborda los límites de amortiguamiento, la escritura de
datos en la memoria adyacentes
□ Puede ser provocada por insumos para ejecutar código
arbitrario o alterar el flujo del programa

17
Alan Neville, March 2012

B. Código de Shell polimórfica (2)


□ Basándose en técnicas de evasión anti-virus
□ Los autores de malware liberan virus que
constantemente re-escriben a sí mismos sobre la
marcha como parte de sus mecanismos de
propagación

□ código shell polimórfica utilizada en IDS evasión se


limita a desbordamientos de búfer

□ Mucho más eficaz contra la firma basada en que


los motores de detección basados en anomalía
estadística
Alan Neville, March 2012

18
Alan Neville, March 2012

B. Código de Shell polimórfica (3)

□ Ejemplo Snort firma detección busca “/


bin / sh” y caracteres no-op (0x90)

□ código polimórfica utiliza técnicas para


evadir la detección
□ Hay hasta 55 reemplazos para las
instrucciones de no-op
□ Combinado de una manera pseudo-aleatoria
□ algoritmos de cifrado simples (XOR) para
crear código shell que no se parece firmas
IDS
□ preprocesadores polimórficos se utilizan
para ayudar a detectar este tipo de
técnicas “simples”
□ spp_fnord módulo de ejemplo Snort

19
Alan Neville, March 2012

C. Sesión de empalme (1)


□ Implica división de cadenas a través de varios paquetes
□ Cadena puede ser igualada a - “GET / etc / passwd”
□ Sin embargo, un solo carácter no significa nada para un IDS

□ Mediante la entrega de datos de unos pocos bytes a la


vez, la coincidencia de cadenas puede ser eludida
□ Se puede extenderse durante un largo período de tiempo -
Eficaz!
□ Apache - 6 minutesIIS -> 15 minutos
□ Restringido a TCP - no puede ser utilizado en todos los protocolos!
Alan Neville, March 2012
20
Alan Neville, March 2012

C. Sesión de empalme (2)

□ sistemas IDS necesitan para controlar las conexiones y


el contexto con el fin de detectar este tipo de ataque
□ Vuelve a ensamblar flujos de paquetes para identificar este tipo de
ataques
□ (Más discusión en profundidad sobre esto más adelante!)

□ Difícil para los IDS para realizar un seguimiento de flujos de


paquetes
□ Origen, destino, puerto de origen, puerto de destino
□ Colectivamente = TCP Bloque de control (TCB)
□ IDS cuenta con políticas de cuándo iniciar la grabación de la sesión
□ Ej 3-way handshake (3WH)
□ Se puede engañar a IDS para detener la grabación usando RST,
Alan Neville, March 2012
trucos FIN
21
Alan Neville, March 2012

La fragmentación D. IP (1)

□ cuestiones de reensamblado existen dentro de la capa IP

□ Fragmentación IP - RFC791
□ Un campo en la cabecera IP que permite a los
sistemas para romper los paquetes individuales en
los más pequeños
□ El campo de desplazamiento actúa como un marcador
□ indica donde un fragmento pertenece en el contexto
del paquete original
□ Último fragmento se marca en la cabecera IP -
bandera indica si los fragmentos son adicionales a
seguir
Alan Neville, March 2012

22
Alan Neville, March 2012

La fragmentación D. IP (2)

□ sistemas IDS no reconstruyen paquetes hasta que


hayan llegado todos los fragmentos
□ Requiere almacenamiento (almacenamiento en
caché) de todos los fragmentos hasta que llegue la
última
□ Susceptibles a agotamiento de recursos
□ Puede inundar una red con datagramas fragmento
parcial que nunca se completaron (sin fragmento
final)
□ Los datos se almacenan en caché hasta que la memoria se
utiliza plenamente
Alan Neville, March 2012

23
Alan Neville, March 2012

La fragmentación D. IP (3)

□ superposición de fragmentos
□ Envío de fragmentos de diferentes tamaños fuera de
orden y en posiciones superpuestas
□ sistema IDS puede favorecer fragmento más
actualizado sobrescribir los datos más antiguos -
fragmento de conflictos
□ paquete reensamblado a sistema final puede ser
diferente de lo IDS ve IDS así evadiendo eficazmente

□ Difíciles de explotar, pero no imposible


□ Atacante debe conocer las inconsistencias de manejo
fragmento de IDS o sistema final (por ejemplo, se puede
inspeccionar el código de controladores de red)
Alan Neville, March 2012
24
Alan Neville, March 2012

D. Fragmentación IP - Superposición

IDS
Alan Neville, March 2012

25
Alan Neville, March 2012

D. Fragmentación IP - Se acabó el
tiempo
Alan Neville, March 2012

26
Alan Neville, March 2012

D. Fragmentación IP - TTL

27
Alan Neville, March 2012

E. Denegación de Servicio (1)


□ Posible para evitar la detección mediante la
desactivación o abrumar al IDS
□ Severa como sistemas IDS son típicamente “fallo para abrir” de forma
predeterminada
□ método menos sofisticado de ataque
□ Permitir el acceso sin restricciones a la red

□ Posible generar paquetes para inundar alerta IDS señor


□ Consumir potencia de procesamiento
□ Oculta ataque real por parte del personal
□ Llenar el espacio en disco causando alerta de no estar conectado
□ Sistema de archivos, bases de datos, sistemas de emisión de
billetes, etc.

□ Estos tipos de paquetes son falsificados fácilmente -


□ condiciones negativas falsas
Alan Neville, March 2012

28
Alan Neville, March 2012

E. Denegación de Servicio (2)

□ IPS se puede engañar a la invocación de


contramedidas contra otros sistemas debido a los MF
□ Posible engañar a los paquetes con dirección de origen
falsa que desencadenan unas modificaciones en los
firewalls bloquean el tráfico

□ Posible ID de fallos usando los paquetes erróneos o


serie de mensajes de control de malas
□ CORE-2003-0307: Snort remoto de desbordamiento de enteros
Alan Neville, March 2012
29
Alan Neville, March 2012

Técnicas de Evasión derrota (1)


□ Direcciones IPv6 solapamiento de fragmentación en el RFC
5722

□ La normalización del tráfico


□ Toma de entrada ofuscado y la traduce en lo que el
sistema End-finalmente verá
□ Codificación en formatos como Unicode y UTF-8
□ Difícil de aplicar a los ataques shellcode polimórficos
□ Compromiso entre la toma tiempo para procesar y
controlar las sesiones en directo de manera efectiva
Alan Neville, March 2012
30
Alan Neville, March 2012

Técnicas de Evasión derrota (2)

□ Modificación de la información de cabecera del paquete


□ Modifica los valores TTL a valores grandes - asegura paquete
llega a

□ Ayuda a defenderse de desincronización entre IDS y


sistemas finales

□ Difícil de cubrir todas las técnicas de evasión!


Alan Neville, March 2012
31
Alan Neville, March 2012

Final pensamientos

□ Variedad de formas de evadir IDS

□ tecnologías IDS son todavía inmaduros

□ tecnologías IDS / IPS no son una solución de seguridad completa


□ No se deje engañar por una falsa sensación de seguridad
□ Usado para complementar las soluciones de seguridad
existentes

□ Ayuda a tener conocimiento de los ataques contra el


sistema que mejor se endurecen red contra ataques
futuros
Alan Neville, March 2012

32
Alan Neville, March 2012

¿Preguntas?

33

También podría gustarte