Click here to load reader
Upload
carol
View
219
Download
4
Embed Size (px)
DESCRIPTION
fgrkgjnkfg
Citation preview
1
WEP
Wired Equivalent Privacy
802.11 (WiFi) Wireless LAN
• Sistema de conexión a red sin hilos.• 802.11: hasta 1 Mbps• 802.11b: el más extendido, hasta 11 Mbps• 802.11a: hasta 54 Mbps• Frecuencia: sobre los 2,4 GHz• Incorpora opcionalmente cifrado: WEP
WEP
• Wired Equivalent Privacy.• Diseñado para garantizar comunicaciones
seguras en entornos wireless.• Introducido en la primera versión del
standard (802.11), pero mantenido sin cambios en las nuevas (802.11a, 802.11b).
• Compatibilidad entre distintos fabricantes.
Funcionamiento
• WEP utiliza RC4 como algoritmo de cifrado.
• En WEP se usan claves de 64 o 128 bits (40+24 o 104+24).
• Cada paquete cifrado, contiene un IV sin cifrar y el bloque de datos cifrado, el cual a su vez contiene un CRC32 (cifrado) para comprobar integridad.
802.11 Headers CRC32Data
802.11 Headers CRC32DataIV
Zona cifrada
RC4IVSHARED KEY
40 bits
64 bits
24 bits
30 bytes 4 bytes0-2312 bytes
RC4
• Cifrador de flujo (no de bloques).• Creado en 1987 por Ronald Rivest (la R de RSA).• Secreto Comercial de RSA Data Security.• 13/Sep/1994 fue publicado usando remailers
anónimos en un grupo de news: sci.crypt• Usado por diversos programas comerciales.
– Netscape– Lotus Notes
2
RC4
• A partir de una clave de 1 a 256 bytes (8 a 1024 bits) inicializa una tabla de estados.
• Esta tabla se usa para generar una lista debytes pseudo-aleatorios.
• Estos bytes se combinan mediante la función XOR con el texto en claro.
• El resultado, es el texto cifrado. Texto en claroTexto cifrado
XOR
RC4Clave
PRNG
Texto cifradoTexto en claro
XOR
RC4Clave
PRNG
Rompiendo WEP
• RC4 40 bits se puede romper a fuerza bruta en menos de 1 día.
• IV tiene tamaño 24, es muy fácil que sea reusado un IV.
• Para romper WEP no es necesario ese camino, se pueden aprovechar otras deficiencias del algoritmo.
Características débiles de WEP
• Sistemas de clave• Sistema de integridad• Sniffing• Identificación de estaciones• Vector inicial (IV)
Sistema de claves
• Claves de 40 o 104 bytes.• Se introduce de forma manual. No hay un sistema
automático seguro de distribución de claves.• La passphrase del administrador es directamente la
clave.• Normalmente todas las estaciones que comparten
un access point utilizan la misma clave.• El cambio de clave es un proceso manual.
3
Debilidades del sistema de claves
• Claves de 40 bytes son completamente vulnerables a ataques de fuerza bruta.
• Como se utiliza directamente una clave introducida por una persona son muy vulnerables a los ataques de diccionario.
• Si se utiliza la misma para todas las estaciones,sniffando en cerca del Access Point todo el tráfico sirve como base para romper la clave.
Sistema de integridad
• Antes de encriptar se realiza un CRC32 del paquete.
• Los paquetes cuyo CRC32 sea incorrecto, simplemente son rechazados.
Debilidades del sistema de integridad
• CRC-32 es un sistema pensado para solucionar errores producidos de forma involuntaria en el sistema de transmisión.
• No sirven para evitar modificaciones maliciosas ya que al ser lineales permiten la reconstrucción de los códigos.
• Cambiando ciertos bits de los datos, es posible calcular los cambios necesarios en el CRC32 para mantenerlo coherente.
• Solución es utilizar sistemas criptológicos de integridad: funciones Hash.
Sniffing
• Wireless LAN es un sistema sin hilos y, por lo tanto, con una antena adecuada se puede interceptar todas las transmisiones de la celda (zona de un access point).
• Se emite de forma onmidirección por eso no se necesita afinar para capturar tráfico.
• Las estaciones utilizan franjas temporales aignadaspor el Access Point para comunicarse, pero las antenas y tarjetas permiten escuchar en toda la banda.
Métodos de sniffing
• La antena es preferible que sea de Wireless LAN, pero pruebas con sistemas metálicos sencillos también han permitido sniffar a distancias cortas.
• Hay tarjetas y drivers preparados para monotorizarla red, son de alto coste.
• Con tarjetas de bajo coste sobre Linux se puede modificar para captar todo el tráfico.
• Un problema de algunas tarjetas de bajo coste es que deben pedir franja temporal y darse de alta en el AP y podrian ser detectadas. Se soluciona modificando Drivers.
Identificación de estaciones
• Se identifican por la clave compartida con el AP.• WEP no utiliza estados anteriores, esto permite
reemplazar estaciones o realizar ataques de DoS.• También es posible realizar ataques de repetición,
volviendo a enviar paquetes capturados, que serán descifrados correctamente.
• Si se descubre la clave, la estación intrusa tiene acceso a la LAN como si estuviera pinchando en los claves.
4
Vector Inicial (IV)
• El IV va incluido en el paquete.• Se inicializa en las estaciones antes del
envio de cada paquete.• Los sistemas de uso de los IV pueden ser:
– Contador. Se inicia a 0 al arracar la estación.
– Pseudoaleatorio .– Combinaciones entre IVs anteriores.
Debilidades de los IVs
• Como se explica más adelante, el objetivo del atacante que quiere obtener la clave es disponer de unos IV concretos.
• En el caso de contador, el atacante ya sabe con antelación que IV tendrá y cuando conseguirá romper.
• En el aleatorio, como la distribución será uniforme, también se puede esperar obtener losIVs necesarios en un tiempo razonable.
Debilidades de los IVs
• En el último caso, la secuencia generada será condicionada y, por lo tanto, se puede alejar de los IVs buscados, pero normalmente no será así.
• Igualmente, la mayoría de tarjetas usan el contador.
• El sistema ideal sería el que generara IV no vulnerables, es utópico.
Ataques pasivos
• Identificación de secuenciaspseudoaleatorias iguales . Debilidad de los algoritmos de streaming.
• Debilidad del RC4. Descubierto porFluher, Mantin y Shamir en agosto del 2001. Más práctico, puede servir para realizar activos ya que se obtiene la clave .
Ataques activos
• Repetición de paquetes . Aprovechando que WEP no utiliza estados anteriores ni guarda estado.
• Inyección o permutación de bits. Utilizando el sistema de integridad débil.
• Inyección de paquetes encriptados . Si se conoce un texto y su encriptación se puede encriptar un paquete sin conocer la clave.
• Por 2 extremos. Utilizando una máquina desde Internet se puede generar tráfico que luego sea cifrado por el AP hacia las estaciones wireless.
Id. secuencias pseudoal. iguales
• El criptograma es el resultado de realizar un XOR entre el generador pseudoaleatorio(RC4) y el texto.
• Si se realiza un XOR de dos criptogramas con el mismo IV y clave (misma secuenciapseudoaleatoria) se obtiene el XOR de los 2 textos en claro.
5
Id. secuencias pseudoal. iguales
M1 + S = C1
M2 + S = C2
C1 + C2 = M1 + M2
IV
KRC4RC4 S
Id. secuencias pseudoal. iguales
M1 + M2
Análisis estadístico:Muchos mensajes se repiten en TCP/IP.
Ma
Mb
= MX
.
.
Mf
+ MX = MZ
M1
M2
?
?
Conocido
Si se descubre M1 o M2 se obtinteel otro, S y se puede sacar K.
Id. secuencias pseudoal. iguales
• Sistema que aprovecha una debilidad de todos los algoritmos de streaming.
• Se deben utilizar métodos estadísticos, esto hace que no sea determinístico.
• Si se consiguen más mensajes con el mismo IV, la probabilidad de encontrar un texto en claro es mucho más alta
• Cuando se encuentra uno todos los demás se pueden desencriptar.
• Es mejor el sistema que aprovecha la debilidad del RC4.
Vulnerabilidad RC4
• Fluhrer, Mantin y Shamir descubieron en agosto del 2001 una debilidad del RC4.
• Se utiliza únicamente el primer bytegenerado por la secuencia pseudoaleatoria.
• El objetivo es obtener la clave de encriptación.
Vulnerabilidad RC4
• También en agosto del 2001, Stubblefield,Ioannidis y Rubin implementaron un sistema práctico y barato para conseguir la clave con la vulnerabilidad del RC4. Consiguieron la clave en 2 tipos de experimentos con:– Entre 5 y 6 millones de paquetes utilizando sólo la
vulnerabilidad.– Sobre 1 millón de paquetes combinando esta técnica
con otras.• Los programas freeware Airsnort y WEPCrack
utilizan esta técnica.
Vulnerabilidad RC4
• Cada paquete da información sobre un bytede la clave (pueden ser 40 o 102).
• Sólo un conjunto determinado de IV da información sobre una clave.
• Se deben buscar los paquetes con IV de un conjunto y a partir de éstos construir la clave de forma estadística.
6
Vulnerabilidad RC4
• Se debe conocer el texto en plano.• En TCP/IP, se pueden utilizar los carácteres
0xAA que están en el inicio.• En IPX se pueden utilizar los carácteres del
inicio 0xFF o 0xE0.
Vulnerabilidad RC4
802.11 Headers CRC32DataIV
Zona cifrada
1r Byte
1r byteTCP/IP0xAAAlgoritmoCracking
AlgoritmoCracking
1 bytede la clave (ByteKey)NadaÓ
Vulnerabilidad RC4Relación 1r byte encriptado
1r bytede secuencia pseudoalatoria S[ S[1] + S[S[1]]]S matriz de permutación
0xAA + S[ S[1] + S[S[1]]] = M11r bytemensaje encr.
Vulnerabilidad RC4Elección de los IV adecuados
IV
Sirve?El mensaje no se puede utilizar
PosibleByteKey
En el apéndice A del documento de Fluhrer et. al. se recomienda IV = (ByteKey + 3, 0xFF, N). N es cualquier número.
Pero se pueden utilizar otras combinaciones.
En el apéndice A del documento de Fluhrer et. al. se recomienda IV = (ByteKey + 3, 0xFF, N). N es cualquier número.
Pero se pueden utilizar otras combinaciones.
SI
NO
Vulnerabilidad RC4Algoritmo Cracking
IV
PosibleByteKey
0xAA
1r bytemensajeencr.
ByteKey es correcto1r byte mensaje 0xAA
ByteKey
SI
Clave 104 bits
?
Mejoras ataque vuln. RC4
• Para mejorar la eficiencia se pueden trabajar en paralelo varios tipos de IV.
• Un proceso analiza los IV (ByteKey + 3, 0xFF, N) y otro proceso analiza otra estructura también vulnerable.
7
Mejoras ataque vuln. RC4
• Las claves se entran de forma manual, por lo tanto seguro que son vulnerables a los ataques de diccionario.
• Así cuando se tienen suficientes paquetes almacenados, se puede empezar la búsqueda de ByteKeys por las letras y números del alfabeto.
Mejoras ataque vuln. RC4
• Si se repiten dos valores iguales entre S[1], S[S[1]] y S[S[1] + S[S[1]]] entonces la probabilidad de encontrar la clave es mucho más alta.
• Si hay casos de estos almacenados se puede empezar trabajando con ellos.
Mejoras ataque vuln. RC4
• Realizar pruebas de fuerza bruta sobre los bytesque faltan utilizando el Checksum como comprobador de desencriptación correcta.
• Eliminar de la fuerza bruta los casos que se ha probado que un byte no forma parte de la clave.
• También eliminar de la fuerza los BytesKey de los que dispodremos de IV válidos. Los IV se puedenpreveer si su generación es deterministica (por ejemplo tipo contador).
Conclusiones vuln. RC4
• Es un sistema eficiente y fácil de programar.• Esta probado en laboratorio con resultados
eficientes (5-6 millones de paquetes para la clave sin mejoras y 1 millón con mejoras).
• Existen como mínimo 2 programas que aplican este sistema con éxito (Airsnort y WEPCrack).
• Existe otra vulnerabilidad en RC4 de claves débiles pero no es práctica para un sistema no cambia nunca la clave.
Repetición de paquetes
• Como el protocolo no tiene memoria, se pueden repetir paquetes sin necesidad de conocer los contenidos.
• Se pueden producir denegaciones de servicio o búsquedas de información forzando las respuestas (pings, arps, etc.).
• Números de secuencia TCP/IP protegen las repeticiones, pero se pueden preveer.
Inyección o permutación de bits
• Se pueden realizar ataques de DoSo realizar pruebas de mensajes sindesencriptar.
• Si se conoce el texto en claro de un paquete y su criptograma, para el mismo IV, se puede insertar bits de este texto en otros paquetes sin que se detecte.
8
Inyección de paquetes
• Se conoce el texto X y su encriptación RC4(X), mediante métodos como aprovechar la debilidad de los algoritmos destreaming.
• Se aprovecha otra debilidad de RC4, se puede encriptar un paquete Y sin conocer la clave.
Inyección de paquetes
RC4(X) + X + Y = RC4(Y)
Demostración
RC4(X) = S + X RC4(X) + X = S
S + Y = RC4(Y)
Por 2 extremos
• Si un atacante en una estación móvil sabeencriptaruna dirección destino de una IP externa a la red móvil, puede enviar paquetes a esta red y llegarándesencriptados.
• Esta dirección la puede construir cambiando bits de un paquete si es capaz de intuir la dirección destino que contiene ese paquete.
Propuestas de soluciones sobre WEP actual
• Usar niveles de encriptación de niveles más altos, como Ipsec, etc...
• Colocar un Firewall entre los access pointsy la LAN.
• Usar VPNs.
Propuestas de soluciones sobre futuras versiones WEP
• Pasar la clave y el IV por una función Hash antes de introducirlos en el RC4. Se debe hacer en todas las estaciones.
• Cambiar el sistema de encriptación por un algoritmo simétrico más seguro, por ejemplo AES.
• Utilizar métodos de clave asimétrica para distribuir claves con el objetivo de:– Cambiar claves frecuentemente.– Utilizar claves aleatorias, no de diccionario.– Identificar de forma segura las estaciones.
Conclusiones
• La mayoria de ataques no son nuevos, excepto la debilidad del RC4.
• Anteriores versiones de Ipsec tenían problemas similares.
• Se debería interactuar más con la comunidadcriptológica para posteriores diseños.
• Se debería mejorar mucho la seguridad entre usuarios finales.
9
Bibliografía
• 802.11® Wireless Networks: The Definitive GuideBy Matthew Gast
• Applied CryptographyBy Bruce Schneier
• RC4 Encryption Algorithmhttp://www.ncat.edu/~grogans/algorithm_breakdown .htm
• Attacks On RC4 and WEP (Fluhrer, Mantin & Shamir)http://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/rc4_wep.ps
• Using the Fluhrer, Mantin, and Shamir Attack to Break WEPhttp://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/wep_attack.ps
• Información sobre RC4 y sus ataques más conocidoshttp://www.wisdom.weizmann.ac.il/~itsik/RC4/rc4.html
• Security of the WEP algorithmhttp://www.isaac.cs.berkeley .edu/isaac/wep-faq.html