Skip to main content

Las redes Wi-Fi ya no son lo que eran antes. Estudiar Ingeniería en Informática te acerca a un mundo tecnológico donde la renovación es constante.

¿Es segura mi Wifi?

Aquí conocerás por qué tu Wi-Fi está en peligro. Por el Ing. Pablo Martres.

Si bien constituyen una forma de comunicación inalámbrica de amplia difusión y uso, su seguridad se ha visto seriamente cuestionada. Esto fue lo que sucedió recientemente a partir del anuncio (con bombos y platillos) de un nuevo ataque denominado KRACK que afecta a un protocolo esencial de las mismas: WPA2. A continuación te explicamos qué fue lo que sucedió a mediados del mes de Octubre pasado.

Investigadores de la Universidad Katholieke Universiteit Leuven de Bélgica descubrieron la forma de atacar una falla de diseño del protocolo WPA2, ampliamente utilizado en las redes Wi-Fi. ¡¡¡ Esta falla había pasado desapercibida durante 14 años !!!

Este ataque -dado en llamarse Key Reinstallation Attack (KRACK)– permite a un atacante que se encuentre en el rango de cobertura de la red Wi-Fi robar información sensitiva como ser: números de tarjetas de crédito, contraseñas, mensajes de correo, fotos, etc. Asimismo, en algunos casos, es posible alterar el tráfico recibido y reenviarlo, permitiendo incluso inyectar código malicioso a un sitio web. Todos los dispositivos que soportan el estándar IEEE 802.11i (WPA2) son vulnerables, no importando su marca o modelo.

Esta vulnerabilidad es radicalmente diferente a la descubierta en el protocolo WEP hace ya varios años. No se trata, en este caso, de aprovechar debilidades en los algoritmos de encripción utilizados para finalmente obtener la clave y lograr acceso a la red.

El Dr. Mathy Vanhoef junto a Frank Paessens y su equipo lograron quebrar el protocolo WPA2 mediante una ingeniosa técnica de reinstalación de la clave de sesión que se usa para establecer una comunicación segura entre el cliente (el usuario móvil) y el punto de acceso (AP o router Wi-Fi), en la fase de establecimiento de la misma (handshaking).

Para entender mejor el tema porque estoy cambiando, debemos recordar que al momento de conectarse a la red, el cliente y el AP deben establecer una clave de sesión compartida que usarán de ahí en adelante para encriptar o cifrar la comunicación entre ellos, mediante algún algoritmo de cifrado. Se trata de una clave diferente a la que configuramos en el router cuando creamos nuestra red Wi-Fi.

El protocolo WPA2 configurado en modo CCMP (TKIP es considerado obsoleto y no se recomienda su uso) utiliza un algoritmo de encripción simétrica (o de clave privada) a efectos de garantizar la confidencialidad de las comunicaciones que viajan por la red. Un algoritmo simétrico utiliza una única clave tanto para cifrar como para descifrar. WPA2 usa el algoritmo AES (Advanced Encryption Standard), actual estándar de encripción simétrica.

Si bien el algoritmo AES es un algoritmo de bloques, puede funcionar también como algoritmo de encripción de flujo. Un cifrador de flujo produce una secuencia de bits igual a la longitud del mensaje. Dicha secuencia de bits es empleada como la clave en el proceso de cifrado haciendo un XOR con los correspondientes bits del mensaje. Se considera seguro en la medida que la clave de flujo (keystream) no se repita nunca.

Y eso es justamente lo que logra el ataque KRACK, repetir la clave. Cuando dicha clave se repite, el atacante puede llegar a descifrar los mensajes que son intercambiados entre las partes.

Veamos cómo se acuerda la clave de sesión entre el cliente y el AP.

Esta fase, denominada:“4-way handshake”, sirve para confirmar que tanto el cliente como el AP posean las credenciales correctas y consta, precisamente, de 4 mensajes. Inicialmente el AP envía al cliente un nonce que llamaremos ANonce (authenticator nonce). Un nonce es un número aleatorio o pseudo-aleatorio que se utiliza una única vez. Luego, el cliente envía al AP su propio nonce (llamado SNonce por station nonce) junto a un código de integridad del mensaje (message integrity code o MIC). El AP envía a su vez un nuevo mensaje al cliente, quien al recibirlo instala la clave de sesión compartida y responde al AP con un último mensaje de confirmación. A partir de allí puede comenzar la comunicación cifrada.

Sin embargo, supongamos que se pierde (nunca llega) el mensaje final de confirmación (Ack). En caso de no recibir este último paquete, el AP vuelve a enviar de forma reiterada el mensaje número 3 lo que provoca que la misma clave sea vuelta a instalar –una y otra vez- por parte del cliente. Esto ocasiona además la reinicialización del nonce (denominado information packet number) y del contador de repeticiones (reply counter).

¿Cómo lograr que el último mensaje del handshake de 4 vías nunca llegue al AP?

Realizando un ataque de tipo MitM (man in the middle) podemos hacernos pasar por el AP verdadero haciendo que el cliente se comunique con nuestro falso AP (que es un clon del original) mediante técnicas conocidas.

El ataque KRACK se basa en una falla de diseño del protocolo WPA2 lo cual hace vulnerable a todas las implementaciones realizadas por diferentes fabricantes que cumplan estrictamente con el mismo. Fue mantenida en carácter reservado desde Junio de este año, previo a su divulgación de manera concertada a mediados de Octubre pasado. Es particularmente efectivo en los sistemas operativos Android 6.0+ (Marshmallow) y Linux dado que ambos utilizan el cliente wpa_supplicant 2.5 y 2.6 y en ellos es posible reinstalar una clave conformada por todos 0 !!!. Por otra parte, los usuarios de Windows e iOS son los menos afectados ya que estos sistemas operativos no permiten el reenvío del mensaje 3 del handshake de 4 vías.

Los grandes fabricantes han estado trabajando en la generación de parches de seguridad que solucionan esta amenaza aunque no en todas las plataformas se encuentran disponibles. Se sugiere revisar y actualizar convenientemente sus dispositivos móviles -especialmente los celulares Android- a efectos de prevenir las vulnerabilidades antes descritas.

Como corolario, es importante tener en cuenta que elataque KRACK requiere ser realizado dentro del área de cobertura de la red Wi-Fi y no revela ninguna de las claves utilizadas en la red.

Se trata además de un ataque dirigido, es decir, que apunta a develar los datos de la comunicación de un cliente específico con el AP de la red. Adicionalmente, encriptar el tráfico de correo y de navegación web con el protocolo TLS o utilizar una VPN (red privada virtual) nos permiten obtener niveles extra de protección frente a esta amenaza.

880px-4-way-handshake.svg1_

Pablo Martres es Ingeniero de Sistemas por la UDELAR y Especialista de Seguridad certificado CISSP © desde el año 2008. Cuenta con más de 25 años de experiencia profesional en las áreas de IBM POWER i, Networking y Seguridad. Se ha desempeñado en grandes compañías tanto del ámbito público como privado. Es profesor titular de la UDE desde el año 2012 en las asignaturas de su especialidad y Tutor de numerosos proyectos de grado.

pablo-martres-ingenieria

Referencias y más detalles: