www.zonamovilidad.es

Vulnerabilidad WiFi

miércoles 22 de octubre de 2014, 13:04h

Escucha la noticia

A lo largo de los últimos años, desde que la tecnología WiFi ha adquirido presencia en el mercado de las telecomunicaciones, se ha especulado mucho sobre la seguridad de este sistema de transmisión inalámbrica.

Desde ‘Telefonía y Comunicaciones para todos’ pedimos a un grupo de especialistas en vulnerabilidad que trabajaran en este tema y el resultado de su investigación es un reportaje que, si bien resulta excesivamente técnico, es necesario para que los lectores y los especialistas comprendan que cuando hablamos de estas cosas no es simple literatura, sino una prueba en toda regla cuya conclusión es que “aparte de los problemas de seguridad que afectan a las redes convencionales, esta clase de tipologías presentan una serie de inconvenientes todavía mas peligrosos debido a su naturaleza inalámbrica”.

Premisas del análisis En este artículo no vamos a analizar los problemas de seguridad derivados de la ignorancia o de la creencia de que invertir en seguridad es tirar el dinero. No vamos a analizar los peligros que conlleva el no tener personal cualificado, o el hacer una instalación por defecto, o el que me monte la red mi vecino de abajo, o el tener una configuración inadecuada o el pensar que no somos objetivo de nadie. Nos vamos a poner en el caso más extremo, en el que aplicamos la seguridad de la que disponemos. Un sistema en el que los puntos de acceso no revelen su identicador de red (SSID) al ser preguntados, donde se controlen los accesos no autorizados, y en el que esté activo el protocolo de cifrado WEP con claves de 128 bits.

Descubrir el SSID A través del SSID identificamos una red inalámbrica de otra. De esta forma, los nodos indican a qué red quieren conectarse. Normalmente, las tarjetas inalámbricas permiten el rastreo del SSID para comprobar si el punto de acceso está activo, y así podemos detectar la red a la que se efectuará el ataque. Hay posibilidad de configuraciones que no revelan el SSID, pero analizando los paquetes no tardaremos en encontrarlo, de forma que resultaría inútil ocultar una red con este método. Los protocolos de comunicación suelen tener algún mecanismo de cifrado de datos, y en el caso de WiFi es el WEP. Tras este pretencioso nombre se esconde en realidad el algoritmo de cifrado de clave simétrica RC4. RC4 es un algoritmo de cifrado de flujo y los cifrados de flujo funcionan expandiendo una clave secreta (en el caso de WEP, una vector de inicialización (IV) público y una clave secreta) en una clave arbitrariamente larga de bits pseudo aleatorios (el keystream). El cifrado se lleva a efecto aplicando or-exclusivos al texto plano P antes de enviarlo. El descifrado consiste sencillamente en invertir el proceso. Generar un keystream idéntico basado en la IV compartida y en la clave secreta, para después aplicar de nuevo la función XOR sobre el texto cifrado. Además, entran en juego unas sumas de chequeo que comprueban que el mensaje no ha sido alterado por el camino. Como veremos con detalle, WEP tiene varias vulnerabilidades severas de seguridad y estas vulnerabilidades dan lugar a cierto número de ataques, tanto activos como pasivos, que permiten escuchar y alterar conexiones inalámbricas.

Análisis de seguridad WEP Como ya quedó demostrado hace un par de años, el algoritmo RC4 sufre múltiples vulnerabilidades, entre las cuáles destacan las que permiten reducir la longitud efectiva del cifrado a 24 bits, en lugar de los 128 que se pueden definir como máximo en WEP. (un cifrado de 24 bits es la mitad de la mitad de la mitad …etc. de débil que uno de 128).

Reutilización del KeyStream Una debilidad bien conocida de los algoritmos de cifrado de flujo es que cifrando dos mensajes (P1, P2) con la misma clave (k) y vector IV se puede revelar información sobre ambos mensajes. Aplicando XOR a los dos textos cifrados el keystream se cancela y el resultado que obtenemos es el XOR de ambos textos planos (P1 (+) P2). Esto nos brinda las siguientes posibilidades: • Conocido el texto plano de uno de los mensajes, dispondremos inmediatamente del otro texto plano. • Podremos recuperar P1 y P2 teniendo sólo P1 (+) P2, debido a la redundancia que habitualmente tienen los textos planos. Podemos buscar dos textos sobre los que, aplicados un XOR, resulten en el valor dado P1 (+) P2. • Disponiendo de textos cifrados con el mismo keystream tendremos lo que comúnmente se denomina un ‘problema de profundidad n’. Descifrar el tráfico se facilita en tanto en cuando n aumente, ya que el resultado del XOR de cada par de textos planos puede ser calculado, y se conocen varias técnicas clásicas para resolver esta clase de problemas (análisis de frecuencias, etc). Como vemos para que estos ataques tengan éxito necesitamos disponer de textos cifrados en los que alguna porción del keystream se haya utilizado más de una vez, y de un conocimiento parcial de parte del texto plano.

Debilidades WEP Para prevenir estos ataques, WEP utiliza un IV diferente por cada paquete transmitido, de este modo, cada paquete recibe un keystream diferente. El problema es que el vector IV se incluye en la parte no cifrada de la transmisión, para que luego el receptor pueda descifrarlo, y está por tanto disponible también para los agresores, aunque la clave secreta siga siendo desconocida y mantenga la seguridad del keystream. Una gestión inadecuada del vector IV, que implique su reutilización, provoca como consecuencia una reutilización de la clave keystream, puesto que generalmente la clave secreta compartida k no cambia. Ya que los IVs son públicos, el duplicado de IVs puede ser fácilmente detectado por los posibles agresores. Nos referiremos a estas reiteraciones de valores IV como colisiones. El estándar WEP recomienda (pero no requiere) que IV cambie en cada paquete. Sin embargo, no dice nada acerca de los mecanismos aconsejables para seleccionar IVs y, por esta razón, algunas implementaciones del sistema lo hacen precariamente. En concreto, las tarjetas PCMCIA que examinamos reestablecieron IV a 0 cada vez que eran reiniciadas, e incrementaron IV en 1 en cada paquete posterior. Estas tarjetas se reinician automáticamente cada vez que se introducen en un portátil, algo que se espera pase a menudo. En consecuencia, los keystream correspondientes a IVs de valor bajo son susceptibles de ser reutilizados muchas veces durante el tiempo de vida de la clave privada. Peor aún, el vector IV utilizado en WEP tiene una longitud predefinida de tan sólo 24 bits, está prácticamente garantizando que se usará un mismo IV en múltiples mensajes. Un cálculo rápido muestra que un punto de acceso ocupado que transmita paquetes de 1500 bytes a una media de 5Mbps de ancho de banda (la velocidad máxima correpondería a 11Mbs) agotará todos los valores posibles de IV en menos de doce horas. Incluso en instalaciones con menor ocupación de canal, un agresor paciente puede encontrar duplicados fácilmente. Hay otros detalles de implementación pueden provocar iteraciones del keystream más frecuentemente. Una implementación que utilizase un IV aleatorio para cada paquete produciría una colisión cada 5000 paquetes aproximadamente, que se resumen en tan sólo varios minutos de transmisión. Pero lo peor de todo es que el estándar 802.11 no exige que IV cambie en cada paquete, lo que podría permitir el uso de un IV idéntico en todos los paquetes sin que ello suponga una disconformidad con la norma estándar.

Explotando la reutilización del keystream. Una vez localizados dos paquetes con el mismo IV se pueden aplicar varios métodos para recuperar el texto plano. • Conocido el texto en plano de uno de los mensajes es muy sencillo acceder a los contenidos del otro. Hay muchas formas de obtener candidatos plausibles de texto plano. Muchos campos del tráfico IP son predecibles, ya que los protocolos utilizados usan estructuras de mensaje perfectamente conocidas. • Otro ejemplo podría consistir en la posibilidad de reconocer por análisis de tramas de tráfico y longitud una librería compartida que estuviese siendo transferida en un sistema de red. Esto suministraría una gran cantidad de texto plano conocido que permitiría su utilización para realizar un ataque al keystream por reutilización. • Es posible provocar la transmisión de textos planos conocidos enviándolos directamente al terminal móvil desde un ordenador conectado a Internet en manos del agresor • El agresor también puede enviar correo electrónico a usuarios y esperar que lo descarguen por medio del enlace inalámbrico. Enviar correo no solicitado (spam, en argot) puede ser un buen método para hacer esto sin levantar sospechas. A veces obtener texto plano conocido puede ser incluso más sencillo. Un punto de acceso que probamos emitía paquetes broadcast de modo cifrado y no cifrado cuando la opción de controlar el acceso a la red estaba desactivada. En este caso, un agresor con una tarjeta 802.11 puede transmitir broadcasts al punto de acceso (que serán aceptados, porque el control de acceso está desactivado) y observar su forma cifrada durante la retransmisión. Es inevitable que esto suceda en una subred que contiene una mezcla de clientes WEP con otros sin soporte para cifrado, ya que los paquetes broadcast deben llegar a todos y cada uno de los clientes; no hay forma de evitar esta técnica para recoger texto plano conocido. En definitiva, incluso sin conocer ningún texto plano es posible analizar, por medio de suposiciones, posibles textos planos susceptibles de ser transmitidos que puedan desembocar en la obtención del la clave privada.

Diccionarios de descifrado. Una vez que se obtiene el texto plano de un mensaje se puede aislar el valor del keystream y es posible usarlo para descifrar cualquier otra trama que utilice un mismo IV. Dado que las claves secretas compartidas k son cambiadas ocasionalmente, el agresor, acumulando datos, puede construir una tabla de keystreams que correspondan a distintas IV. Una vez que se tiene la tabla, es posible descifrar inmediatamente cada texto cifrado con muy poco esfuerzo. Esto es independiente de la longitud de la clave de cifrado, ya que el tamaño del diccionario depende del tamaño de IV, que está prefijado en 24 bits. Es más, el diccionario del agresor puede hacerse más práctico aprovechando el comportamiento de las tarjetas PCMCIA que ponen el vector IV a 0 cada vez que son reiniciadas. Puesto que en los casos más comunes las tarjetas son iniciadas al menos una vez al día, el agresor puede limitarse a construir un diccionario centrado sólo en los primeros miles de IVs, lo que le permitirá descifrar la mayoría de los paquetes que circulen a través del punto de acceso. En una red con numerosos clientes 802.11 las colisiones en los primeros miles de IV’s serán abundantes.

Gestión de claves El estándar 802.11 no especifica cómo llevar a cabo la distribución de claves. Depende de un mecanismo externo para poblar la matriz de cuatro claves compartida globalmente. Cada mensaje contiene un campo identificador de clave especificando el índice de la matriz que se utiliza para el cifrado. El estándar también permite asociar una clave específica de la matriz para cada estación móvil; sin embargo, está práctica no es habitual. La mayoría de las instalaciones usan una única clave para la toda red. Esto perjudica severamente la seguridad del sistema, ya que las contraseñas están almacenadas en los terminales clientes y con técnicas de hacking habituales pueden ser robadas fácilmente. La reutilización de una clave única por muchos usuarios ayuda también a convertir los ataques en algo más práctico, porque aumenta la posibilidad de colisión de IVs. La posibilidad de una colisión casual aumenta proporcionalmente con número de usuarios, y si además tenemos en cuenta que las tarjetas PCMCIA establecen a 0 el vector IV cada vez que son reiniciadas todos los usuarios reutilizarán keystreams correspondientes a un pequeño rango de IVs. El hecho de que muchos usuarios compartan las mismas claves también significa que es difícil sustituir esta información, porque resulta comprometido ponerla en boca de todos. Además esto no será habitual puesto que cambiar una clave requiere que todos y cada uno de los usuarios reconfiguren su adaptador inalámbrico. En la práctica estimamos que puedan pasar meses, o incluso más tiempo, antes de que se cambien las claves privadas, lo que permite al potencial agresor disponer de una generosa cantidad de tiempo para buscar instancias de reutilización de keystreams. Otras técnicas. Hay muchas más posibilidades y técnicas que no analizaremos en este artículo para no extendernos demasiado, pero que conviene tener presentes: modificación de los mensajes, inyección de mensajes, ataques Man in the middle, ataques de reacción.

 

¿Te ha parecido interesante esta noticia?    Si (0)    No(0)

+
0 comentarios