Esta semana me quedo con el artículo de Pablo González sobre WEP y es que este tipo de explicaciones es fundamental para entender las como proteger o atacar un protocolo, y cuando lees un post de estas características siempre descubres algo nuevo.
En este artículo se tratará uno de los protocolos más castigados por la historia, el protocolo de sistemas Wireless WEP. WEP significa Wired Equivalent Privacy,
y es un protocolo que no ofrece ningún tipo de seguridad en una red
inalámbrica. Realmente, decir que no ofrece ninguna seguridad es algo
irreal, ofrece seguridad, pero lo que ofrece es obsoleto y se conocen
diversas maneras de descifrar el contenido de las tramas que van
cifradas con WEP.
Últimamente me ha tocado pasar horas con
WEP y WPA, y terminar de entender su funcionamiento a un nivel más o
menos bajo. En este caso, toca destripar a WEP, sus conceptos y su
funcionamiento. Entender como funcionan realmente los protocolos es una
de las cosas que más interesante me resulta, quién sabe quizá en un
futuro toque escribir de ello de manera más formal… Bien, ¿Preparados?
Comenzamos…
Hay que diferenciar entre la
autenticación, confidencialidad e integridad. El protocolo WEP no ofrece
una gran capa de seguridad en ninguna de estas 3 fases. En primer lugar
veremos la autenticación, en la cual se distinguen dos métodos:
- Open System
- Shared Key
Open System deja autenticarse a todos
los clientes en el punto de acceso, mientras que el método de
autenticación Shared Key requiere que el cliente envíe un mensaje
solicitando conexión, el punto de acceso contesta con un desafío, el
cual debe ser cifrado por el cliente y reenvíado al punto de acceso, si
éste puede descifrarlo la autenticación es válida.
La fase de confidencialidad dispone de los siguientes elementos:
- RC4. Es el algoritmo utilizado para generar el keystream, el cual se define más adelante.
- IV. Vector de inicialización, son la parte dinámica de los keystream. Cada trama lleva un IV distinto, siempre que se pueda, ya que son generados aleatoriamente. Cuidado, el IV va en la parte NO cifrada de la trama WEP.
- RC4 es simétrico, con la misma clave que se cifra se puede descifrar.
- La creación del keystream dispone de 2 fases: KSA y PRGA
En la imagen se puede visualizar el
proceso que se lleva a cabo para formar la trama WEP que se enviará, ya
sea del AP al cliente o del cliente al AP. pero comencemos por partes,
La shared key es estática, es la típica clave que configura el dueño de
la red en el punto de acceso, o en casa en los router WiFi, la típica de
5 caracteres o 10 hexadecimales, o la de 13 caracteres o 26
hexadecimales… Los IV, como se ha dicho anteriormente, van cambiando
aleatoriamente en cada trama enviada. La concatenación del IV y la clave
estática es pasada al algoritmo RC4 como entrada, la salida de este
algoritmo produce el KEYSTREAM.
Este KEYSTREAM es
realmente el que generará el cifrado mediante la operación lógica XOR.
El resultado de la operación lógica XOR entre el KEYSTREAM y el texto
plano da como resultado la parte cifrada de la trama WEP. Hay que hacer
un inciso, ya que la integridad se calcula sobre el texto plano,
mediante el ICV como se puede visualizar en la imagen.
La operación XOR es una operación cuya
inversa genera el resultado inicial, ¿Cómo? explicamos a continuación,
pero antes recordemos su tabla de verdad:
Solo cuando las 2 entradas son iguales, el resultado es 0, si no el
resultado de la operación es 1. Por lo que se puede entender que A XOR B XOR B = A,
¿Qué se quiere decir con esto? Bien, cuando el cliente genera la parte
cifrada de la trama se utiliza un KEYSTREAM XOR texto, obteniendo un
CIFRADO.
Cuando el AP reciba esa trama si le aplica el mismo KEYSTREAM XOR CIFRADO obtendrá el texto, en otras palabras texto XOR KEYSTREAM XOR KEYSTREAM = texto.
El Keystream se crea mediante el
algoritmo RC4, el cual recibe como entrada un seed o semilla, que es el
IV, y la clave estática. En la siguiente imagen se puede visualizar como
queda formado la trama WEP.
¿Qué problemas tiene WEP?
Por el uso de la clave estática se puede
realizar ataques de observación y gracias a la estadística conseguir
sacar el patrón de la clave, y de este modo conseguir la clave estática.
El IV se envía siempre en claro, por lo
que son captados por cualquiera, además de los 24 bits de los que están
compuestos que es un valor demasiado corto. Recolectando un número alto
de IVs se puede, mediante ataque estadístico descifrar la clave. La
autenticación se realiza del AP al cliente, pero no del cliente al AP,
por lo que el cliente no sabe realmente si se conecta al AP que dice
ser. Por esta razón existen los Rogue AP, o MITM a través de un AP.
No hay comentarios:
Publicar un comentario