KRACK: el ataque de 2017 que rompió el WPA2 de tu Wi-Fi

Durante más de una década, el WPA2 fue la respuesta estándar a "¿cómo protejo mi Wi-Fi?". Router nuevo, contraseña fuerte, WPA2 activado, problema resuelto. El 16 de octubre de 2017, los investigadores belgas Mathy Vanhoef y Frank Piessens, de la KU Leuven, publicaron un estudio que derrumbó esa certeza: el propio protocolo tenía una falla de diseño. No importaba lo larga que fuera la contraseña. El ataque recibió el nombre de KRACK, de Key Reinstallation Attack.
¿Qué es KRACK?
¿Qué es el ataque KRACK al WPA2?
KRACK es un ataque que engaña al dispositivo para que reinstale una clave de cifrado que ya estaba en uso, lo que reinicia su contador interno y permite al atacante descifrar, y en algunos casos alterar, el tráfico Wi-Fi. No descubre la contraseña de la red. Aprovecha un paso de la conexión que el estándar describía de forma ambigua.
El atacante debe estar al alcance de la señal y colocarse entre el dispositivo y el router, así que es un ataque de proximidad, no algo lanzado desde el otro lado del mundo. Según el aviso del CERT/CC (VU#228519), el problema estaba en la especificación del protocolo, no en un único fabricante.
Cómo funciona el ataque, paso a paso
Cuando un móvil o portátil entra en una red WPA2, ambos lados hacen el four-way handshake, un intercambio de cuatro mensajes para acordar la clave de sesión. El punto débil está en el tercer mensaje:
- El router envía el mensaje 3, que ordena al cliente instalar la clave.
- El cliente instala la clave y responde. Al instalarla, reinicia el nonce (un contador que nunca debería repetirse con la misma clave) y el contador de replay.
- El atacante bloquea o retrasa esa respuesta. Sin confirmación, el router reenvía el mensaje 3.
- El cliente instala la misma clave otra vez y vuelve a reiniciar el contador.
Reutilizar el nonce con la misma clave es el error clásico de criptografía: los paquetes pasan a cifrarse con la misma secuencia, y comparar dos de ellos permite recuperar el contenido. Según el cifrado y el dispositivo, el atacante podía descifrar paquetes, reenviar paquetes antiguos, secuestrar conexiones TCP e incluso inyectar contenido en tráfico HTTP sin cifrar.
El peor caso: Android y Linux
Según Vanhoef, las implementaciones de wpa_supplicant usadas en Linux y en Android 6.0 o superior tenían un agravante: al reinstalar la clave, instalaban una clave compuesta solo por ceros. Eso volvía trivial descifrar el tráfico del dispositivo. Como ese cliente es la base de buena parte de los móviles Android, el impacto práctico fue enorme, y la corrección dependía de que cada fabricante lanzara una actualización, algo que en Android siempre ha sido lento.
En total se asignaron diez identificadores CVE a la familia KRACK, empezando por CVE-2017-13077 (reinstalación de la clave de sesión en el handshake).
Lo que KRACK no hacía
- No revelaba la contraseña del Wi-Fi. Cambiar la contraseña del router no corregía nada.
- No rompía el HTTPS. Un sitio con HTTPS seguía cifrado por encima del Wi-Fi, así que el atacante veía, como mucho, el destino de la conexión, no contraseñas ni contenido.
- No funcionaba a distancia. Exigía estar al alcance físico de la señal y en una posición concreta de la comunicación.
Por eso la recomendación de entonces no fue "abandona el Wi-Fi", sino "actualiza tus dispositivos". La corrección podía aplicarse en el cliente (móvil, portátil, IoT), de forma compatible con routers que aún no estaban parcheados.
¿Cómo sé si mi dispositivo está protegido contra KRACK?
Si ha recibido actualizaciones de seguridad después de octubre de 2017, está protegido contra el KRACK original. Microsoft ya había parcheado Windows el 10 de octubre de 2017, y Apple incluyó mitigaciones en iOS 11.1 y macOS 10.13.1. Los dispositivos que no volvieron a recibir parches, como cámaras y aparatos IoT antiguos, siguen siendo el eslabón débil.
Qué cambió después
KRACK aceleró la adopción de WPA3, anunciado por la Wi-Fi Alliance en 2018, que sustituye el handshake por un método más robusto frente a este tipo de manipulación. WPA3 no es una bala de plata (los investigadores encontraron fallas en las primeras implementaciones), pero la lección de diseño quedó: los protocolos de seguridad necesitan verificación formal, no solo buenas intenciones. El estudio solo existió porque alguien decidió comprobar, con método, qué garantizaba realmente la especificación.
Qué hacer hoy
- Mantén móvil, portátil y router actualizados. Activa las actualizaciones automáticas y cambia el router que el fabricante abandonó. La guía de hardening del router doméstico lista los ajustes del panel.
- Usa WPA3, o WPA2 con AES/CCMP, nunca WEP ni el viejo WPA con TKIP. Más detalles en el paso a paso para proteger el router Wi-Fi.
- Prefiere sitios con HTTPS y desconfía de cualquier aviso de certificado en una red abierta. El Evil Twin explota el mismo escenario de Wi-Fi público.
- En redes públicas, considera una VPN, entendiendo qué protege y qué no: ¿Vale la pena una VPN? lo explica.
La lección mayor
KRACK demostró que "usar el protocolo correcto" no basta cuando su diseño es ambiguo, y que el eslabón más lento de cualquier corrección es el dispositivo que nadie actualiza. Un patrón parecido apareció en Heartbleed, donde una falla en código muy utilizado tardó años en desaparecer de internet.
Si quieres seguir el hilo, el artículo sobre hardening del router Wi-Fi es el siguiente paso práctico.
Fuentes: CERT/CC (VU#228519), krackattacks.com (Mathy Vanhoef), Microsoft y CERT-EU (aviso 2017-021).




Comentarios