Key Reinstallation Attack ( KRACK - Key Reinstallation Attack ) es un ataque de repetición en cualquier red Wi-Fi con encriptación WPA2 .
Fue descubierto por primera vez por los investigadores belgas Mathy Vanhoef y Frank Piessens en 2016. [1] Los resultados del estudio se publicaron en octubre de 2017. Con este ataque, un atacante puede "escuchar" los datos y, en algunos casos, incluso "falsificar" los datos transmitidos entre el cliente y el punto de acceso.
Todas las redes Wi-Fi seguras utilizan un esquema de protocolo de enlace de 4 vías [ para generar una clave criptográfica . El atacante obliga a la víctima a restablecer la clave criptográfica ya utilizada en el tercer paso del protocolo de enlace de 4 vías.
Debido al uso del cifrado de flujo AES-CCMP en el protocolo WPA2, el cambio de clave debilita en gran medida el cifrado. Así, un atacante puede realizar un criptoataque, averiguar la clave y “cablear” los datos intercambiados entre el cliente y el punto de acceso. En sistemas Linux[ ¿Qué? ] y Android 6.0 como resultado del ataque, se restableció la clave nula, lo que facilitó mucho la piratería del dispositivo.
Cuando un nuevo cliente se conecta a una red Wi-Fi, se negocia una clave de cifrado compartida en 4 etapas ("apretón de manos" de 4 etapas). La clave acordada se utiliza luego para cifrar todos los paquetes de datos "normales". Sin embargo, dado que los mensajes individuales pueden perderse, el punto de acceso ( English Access Point, AP ) puede reenviar los mensajes de la tercera etapa hasta que reciba un acuse de recibo. Como consecuencia, el cliente puede recibir este mensaje varias veces. Cada vez que recibe un mensaje de este tipo, el cliente establece la clave de cifrado existente y reinicia los contadores ( contadores de reproducción en inglés ). Los investigadores pudieron demostrar en la práctica que un atacante puede obligar a la víctima a restablecer los contadores reenviando el mensaje de la tercera etapa durante el "apretón de manos" de la cuarta etapa.
Debido a la reutilización de la clave de cifrado, es posible atacar el protocolo criptográfico : reproducir paquetes, descifrar e incluso falsificar su contenido [2] . Este método es adecuado para atacar los protocolos Group Key, Fast Basic Service Set (BSS), PeerKey, Tunneled Direct-Link Setup (TDLS), PeerKey (TPK) o Wireless Network Management (WNM) Sleep Mode [3] .
Bajo ciertas condiciones, un atacante no solo puede "escuchar" el tráfico Wi-Fi, sino también llevar a cabo una serie de ataques de intermediario : interceptar sesiones TCP, insertar información en sesiones HTTP, reproducir direcciones o transmitir paquetes, y llevar a cabo otros ataques como la suplantación de identidad [3] .
Los atacantes tienen la capacidad de escuchar el tráfico de la red y robar contraseñas, cookies HTTP y similares. Los atacantes también obtienen la capacidad de descifrar paquetes TCP SYN , lo que les permite configurar un contador de paquetes y robar una sesión TCP. Por lo tanto, a pesar del uso de WPA2, un atacante tiene la capacidad de llevar a cabo un ataque de intermediario y también puede insertar módulos maliciosos en los datos HTTP. Por ejemplo, un atacante podría inyectar software malicioso en los datos HTTP que la víctima recibe de los sitios web que ha visitado. [cuatro]
Las consecuencias de un ataque KRACK son especialmente peligrosas si la red Wi-Fi utiliza protocolos de encriptación WPA-TKIP o GCMP en lugar de AES-CCMP. Cabe señalar que el protocolo GCMP es la base del estándar WiGig (IEEE 802.11ad), que debería generalizarse en los próximos años. [cuatro]
La tabla muestra las acciones del atacante como resultado del ataque KRACK en relación con el cliente y el punto de acceso (AP), según el protocolo de cifrado de datos utilizado (las flechas muestran las direcciones para el envío de paquetes de información):
Protocolo | Repetir | Descifrado | falsificación |
---|---|---|---|
TKIP | AP → cliente | cliente → punto de acceso | cliente → punto de acceso |
CCMP | AP → cliente | cliente → punto de acceso | - |
GCMP | AP → cliente | cliente → punto de acceso | cliente ↔ punto de acceso |
El ataque es particularmente devastador para las versiones 2.4 y 2.5 de wpa_supplicant, un cliente Wi-Fi que se usaba en algunos sistemas operativos Linux en el momento en que se descubrió la vulnerabilidad . Este cliente instaló una clave nula en lugar de reinstalar la clave real. Esta vulnerabilidad se debió a un error en el estándar 802.11, que implícitamente especificaba borrar la memoria de la clave de cifrado inmediatamente después de instalarla. Dado que Android usa un wpa_supplicant modificado, Android 6.0 y Android Wear 2.0 también contienen esta vulnerabilidad. Como resultado, el 31,2% de los dispositivos Android se ven afectados por este ataque. [5]
La tabla muestra el impacto del ataque KRACK en diferentes tipos de clientes Wi-Fi. La segunda columna contiene información sobre si la implementación del cliente permite que el mensaje de la tercera etapa se reenvíe en un protocolo de enlace de 4 vías.
Implementación | Re.Msg3 | 4 maneras |
---|---|---|
OS X 10.9.5 | Sí | vulnerable |
mac OS Sierra 10.12 | Sí | vulnerable |
iOS 10.3.1 | No | No vulnerable |
wpa_supplicant v2.3 | Sí | vulnerable |
wpa_supplicant v2.4-5 | Sí | vulnerable |
wpa_supplicant v2.6 | Sí | vulnerable |
Android 6.0.1 | Sí | vulnerable |
OpenBSD 6.1 (ron) | Sí | No vulnerable |
OpenBSD 6.1 (propio) | Sí | vulnerable |
ventanas 7 | No | No vulnerable |
ventanas 10 | No | No vulnerable |
MediaTek | Sí | vulnerable |
Se recomienda encarecidamente a los usuarios que utilicen una VPN y solo visiten sitios que utilicen el protocolo HTTPS . Sin embargo, debe tenerse en cuenta que las puertas de enlace VPN también tienen acceso completo al tráfico de red del cliente, y los servidores HTTPS en algunas configuraciones pueden ser vulnerables a varios tipos de ataques (por ejemplo, los llamados English Downgrade Attacks , como resultado de lo cual los usuarios se ven obligados a cambiar a una conexión no segura a través del protocolo HTTP). [6]
La tabla contiene arreglos para varios dispositivos que eliminan la posibilidad de un ataque KRACK. Por ejemplo, en el cliente Wi-Fi wpa_supplicant 2.6, la clave de cifrado se establece solo una vez: después de la primera recepción del mensaje de la tercera etapa desde el punto de acceso. [2]
Para los sistemas operativos de la familia Linux, se lanzaron parches en 2017. [7]
sistema operativo | Versión | Arreglos |
---|---|---|
Androide | Todos | Nivel de seguridad 2017-11-06 [8] |
Sistema operativo Chrome | Todos | 62.0.3202.74 [9] |
iOS | iOS 11 | iOS 11.1 [10] para iPhone >=7, iOS 11.2 [11] para todos los dispositivos iOS con iOS 11. Las versiones de iOS anteriores a la 11 no se vieron afectadas. |
macOS Alta Sierra | 10.13 | 10.13.1 [12] |
mac OS Sierra | 10.12 | Actualización de seguridad 2017-001 [12] |
ventanas | 7 | KB4041681 y KB4041678 [13] |
ventanas | 8.1 | KB4041693 y KB4041687 [13] |
ventanas | diez | KB4042895 [13] |
Servidor de windows | 2016 | KB4041691 [13] |