martes, 17 de octubre de 2017

KRACKs: grave vulnerabilidad en el protocolo WPA2

El investigador en seguridad informática, Mathy Vanhoef perteneciente al grupo de investigación IMEC-DISTRINET de la universidad Belga KU Leuven, ha demostrado públicamente, cómo el protocolo WPA2/WPA (tanto Personal como Enterprise) es vulnerable a un nuevo tipo de ataque, provocando que se pueda comprometer la comunicación segura e incluso inyectar código, mediante un ataque MitM al mecanismo de autenticación. 

Logotipo de KRACK. Fuente krackattacks.com
Según Vanhoef (@vanhoefm), la vulnerabilidad residiría en el propio diseño del protocolo WPA2, no en la implementación que utilice el sistema operativo, estando de facto afectados, todos aquellos dispositivos o sistemas que tengan WIFI habilitado

Ahondando en la vulnerabilidad, ésta se basaría en la capacidad de forzar la reutilización del 'nonce' o número arbitrario de un solo uso, utilizado durante el inicio de autenticación de una comunicación cifrada entre el cliente (supplicant) y servidor (AP), generalmente mediante un vector de iniciación (IV). Esto ocurre durante el protocolo de autenticación 4-way handshake, cuando se negocian las claves compartidas y el Pairwise Master Key (PMK), para iniciar el cifrado de la comunicación (norma IEEE 802.11i). 

Con este nuevo método, denominado Key Reinstallation Attacks (KRACKs), el atacante sería capaz de reinstalar una clave en uso, e incluso forzar una clave nula (all-zero encryption key) según el escenario utilizado en su demostración para Android 6.0, como Linux, reenviando 'handshakes' especialmente modificados. 

KRACK Attacks: Bypassing WPA2 against Android and Linux

Mediante esta nueva técnica, los impactos pueden ser bastante graves, dado que se consigue modificar la comunicación segura e incluso inyectar código para, por ejemplo, modificar el tráfico y descargar aplicaciones maliciosas en el cliente (como un troyano o ransomware). 

Todo esto depende de la combinación de protocolos utilizados durante la comunicación: 

  • Si se usa AES-CCMP, un atacante podría responder y descrifrar los paquetes. 
  • Pero si se usa WPA-TKIP o GCMP, se podría incluso falsificar los mismos, siendo el ataque con mayor impacto

Este tipo de ataque se basa en diferentes técnicas y un conjunto de vulnerabilidades sobre el protocolo, por lo que ha recibido hasta 10 CVEs distintos (CVE-2017-13077, CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, CVE-2017-13084, CVE-2017-13086, CVE-2017-13087 y CVE-2017-13088).

Por ahora, se han publicado parches para hostapd and wpa_supplicant bajo Linux, y se prevé que durante esta semana se vayan actualizando las demás implementaciones, pero debido al numeroso volumen de dispositivos WIFI, recomendamos encarecidamente aplicar los mismos en cuanto estén disponible ya que es la única medida viable por el momento.

José Mesa
@jsmesa


Más información:

Key Reinstallation Attacks: Breaking WPA2 by forcing nonce reuse
https://www.krackattacks.com/

Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2
http://papers.mathyvanhoef.com/ccs2017.pdf

A man-in-the-middle vulnerability has been found in OpenBSD's wireless stack.
https://marc.info/?l=openbsd-announce&m=148839684520133&w=2

hostapd and wpa_supplicant Security Updates
https://w1.fi/security/2017-1/

Cryptographic nonce
https://en.wikipedia.org/wiki/Cryptographic_nonce