16 oct 2017

KRACK: seria debilidad en WPA/WPA2 (Actualizado)

En los últimos días, ha sonado una alerta sobre una forma de vulnerar el protocolo WPA2/WPA (Personal y Enterprise). Básicamente, lo que los expertos han explicado es que mediante la ejecución de ataques dirigidos conocidos como KRACK (Key Reinstallation AttaCK), es posible acceder a cualquier red WiFi y desde ahí, por supuesto, atacar de forma directa los ordenadores y dispositivos conectados a la red.

El hallazgo fue realizado por el investigador Mathy Vanhoef, del grupo de investigación IMEC-DISTRINET de la universidad Belga KU Leuven. Vanhoef ha publicado un paper [PDF] al respecto.

Con esta vulnerabilidad, los atacantes podrían acceder a la red WiFi con cualquier protocolo: WPA-TKIP, AES-CCMP, y GCMP y sin requerir contraseña. Los investigadores en seguridad han afirmado "si tu dispositivo soporta Wi-Fi, es muy probable que esté afectado. Durante nuestra investigación inicial hemos descubierto que Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys y otros están afectados por alguna variante de los ataques".
La parte principal del ataque es llevado a cabo contra el handshake de 4 vías del protocolo WPA2, 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.

Este "saludo" se ejecuta cuando un cliente desea unirse a una red Wi-Fi protegida, y se utiliza para confirmar que tanto el cliente como el AP poseen las credenciales correctas (por ejemplo, la contraseña precompartida de la red). Al mismo tiempo, el saludo de 4 vías también negocia una nueva clave de cifrado que se utilizará para cifrar todo el tráfico subsiguiente. Actualmente, todas las redes Wi-Fi utilizan este protocolo de enlace de 4 vías.
La vulnerabilidad que explota KRACK permite al atacante manipular o repetir de nuevo este tercer mensaje (MIC), permitiendo reinstalar la clave criptográfica que ya se ha utilizado. Y esto es importante para poder salvaguardar la seguridad del protocolo WPA2 ya que una clave criptográfica sólo puede ser utilizada una vez durante este proceso.

Esto implica que todas estas redes se ven afectadas por (alguna variante de) este ataque. Por ejemplo, el ataque funciona contra redes Wi-Fi personales y empresariales, contra WPA y el último estándar WPA2, e incluso contra redes que solo usan AES. Vale recalcar que no sirve cambiar la contraseña o frase compartida del WiFi ya que se vulnera la negociación de las llaves.


Vanhoef ha demostrado públicamente, cómo el protocolo WPA2/WPA 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. Las herramientas serán publicadas en el futuro.

Éste sería un resumen simplificado del ataque:
  1. El atacante intenta unirse a una red WiFi.
  2. Comienza el proceso four-way handshake.
  3. Se negocia una nueva clave de cifrado en el Mensaje 3 del proceso.
  4.  No se envía la señal de ACKnowledgment (reconocimiento) que verifica que se ha recibido el Mensaje 3 correctamente.
  5. Esto fuerza que el punto de acceso (AP) retrasmita de nuevo el Mensaje 3 varias veces.
  6. Este proceso repetido varias veces, siempre instalará la misma clave de cifrado y por lo tanto reseteará a cero nonce (número aleatorio el cual precisamente se encarga de evitar que se pueda repetir ataques y que actúa como contador de los paquetes transmitidos).
  7. El atacante puede en este punto forzar estos reseteos nonce recolectándolos y repitiendo retrasmisiones del Mensaje 3.
  8. Reutilizando estos nonce es posible repetir los paquetes y descifrarlos ya que la misma clave de descifrado se utiliza con valores nonce que ya se han utilizado en el pasado (reutilizando los llamados "keystream" cuando se cifran paquetes).
  9. En función del análisis de los paquetes descifrados, sería posible insertar un programa malicioso en la red o simplemente analizar el tráfico generado por los usuarios de la red.
Android 6.0 Marshmallow y superior es vulnerable a este preocupante ataque al WiFi ya que utilizan el protocolo wpa_supplicant. Esto representa según los datos de distribución un 41% de los dispositivos actuales.
    Afortunadamente para que los ataques KRACK se lleven a cabo, hay algunos requisitos. El primero es que el atacante debe dominar y saber explotar la vulnerabilidad. Si bien las herramientas son semiautomáticas, requiere poder interceptar los paquetes necesarios que permitirán el acceso a una red en particular. Lo segundo, es que el atacante debe estar en el rango de cobertura de la red para poder perpetrar los ataques.

    Una forma de reducir el riesgo para los que gestionan datos sensibles, es la utilización de una VPN (Virtual Private Network) que cifre los datos y los ofusque tu conexión incluso para el ISP.

    El equipo investigador asegura que existe una forma de solucionar el inconveniente mediante un parche al protocolo, no necesariamente una actualización a un WPA3. Los parches los debe emitir el fabricante del router o el dispositivo que emite la red WiFi.

    La investigación será presentada el 1 de noviembre en la conferencia Computer and Communications Security (CCS) y en Black Hat Europe en diciembre. Quienes deseen conocer las especificaciones técnicas de esta vulnerabilidad y las herramientas utilizadas en los ataques, pueden dirigirse a esta web.

    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).

    Ataques que se pueden hacer:
    • El adversario puede descifrar paquetes arbitrariamente.
    • El adversario puede obtener los números de secuencia TCP de una conexión y secuestrar esas conexiones.
    • El adversario puede reproducir tramas de broadcast y multicast.
    • El adversario puede descifrar e inyectar paquetes arbitrarios (solo TKIP o GCMP).
    • El adversario puede obligar al cliente a usar una clave de cifrado "all-zero" (ANDROID 6.0+ y LINUX).
    Ataques que no pueden hacerse:
    • El adversario no puede recuperar la contraseña de WPA.
    • El adversario no puede inyectar paquetes en AES-CCMP.
    Ahora mismo no existe ningún parche de seguridad que pueda solucionar este problema (así que atentos para cuando salgan). De momento, el CERT ha enviado un comunicado advirtiendo del problema, así como un listado del hardware y el software afectado (ojo a los fabricantes afectados, CISCO, Google o Apple son sólo algunos de ellos). Prácticamente cualquier dispositivo que tenga WiFi tendrá que ser parcheado, desde dispositivos móviles pasando por routers.

    Actualizaciones de los vendors

    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.

    Microsoft se ha dado prisa y, desde el pasado 10 de octubre, ya tiene un parche para solucionar este problema para Windows. En el caso Apple ya tiene su solución disponible en las versiones beta de sus sistemas operativos, pero aún no la ha desplegado para todos sus usuarios.

    Aruba ha lanzado una actualización urgente, y Cisco Meraki, DD-WR y Fortinet han hecho lo propio. Arch Linux y Ubuntu han realizado las actualizaciones necesarias. También hay parches de parte de LEDE/OpenWrt, MikroTik, Netgear.

    Actualización: El siguiente enlace permite acceder a la base de datos de CERT donde se indica cuales son los vendors que están siendo vulnerables y su fecha de última actualización. Aquí y aquí se puede realizar un seguimiento del avance de la respuesta de cada vendor.

    Dado que este ataque afecta directamente el 4-Way Handshake que realizan los clientes al conectarse a la red Wi-Fi, el principal objetivo son los dispositivos conectados y no los routers o Access Points. Por lo que, si el firmware del router no puede ser actualizados aún, se recomienda deshabilitar las funciones de cliente (habitualmente utilizadas en el modo repetidor) y la versión del protocolo 802.11r (o fast roaming), para no correr riesgos innecesarios.

    Scripts

    El autor ha publicado un script para determinar si una implementación es vulnerable a cualquiera de los ataques. Este script fue probado en Kali Linux y se deben instalar las dependencias requeridas. Es NO es una herramienta de ataque sino de testing de dispositivos.

    Fuente: KRACK (Key Reinstallation AttaCK)

    Suscríbete a nuestro Boletín

    9 comentarios:

    1. Respuestas
      1. Si, WPA es vulnerable a este tipo de ataque porque el ataque es contra el dialogo inicial de 4 vías que usan las redes Wi-Fi, incluyendo WPA y WPA2. El paper lo explica claramente en la introducción:

        "In this work, we present design flaws in the 4-way handshake, and in related handshakes. Because we target these handshakes, both WPA and WPA2-certified products are affected by our attacks."

        Además WPA es vulnerable a otros ataques por ejemplo por el uso de RC4.

        Pero en este ataque WPA usando TKIP y GCMP es impactado de forma catastrófica pudiendose en ese caso hacer replay de paquetes, descifrarlos, y falsificarlos.

        En resumen, WPA no es ni fue una opción segura desde que existe WPA2.

        Slds.

        Borrar
    2. cual seria la remediacion recomendada porque hay dispositivos que no van a tener disponible este parche . Cambiar el protocolo wpa3?

      ResponderBorrar
    3. Es parche tiene que aplicarse solo al Access Point o tambien a los dispositivos cliente ?

      ResponderBorrar
    4. Mientras los fabricantes liberan los parches, sería efectivo activar IEEE 802.1X ?

      ResponderBorrar
      Respuestas
      1. 802.1X no es un algoritmo de cifrado (como WEP/WPA/WPA2), es un esquema de autenticación.

        Borrar
      2. No para mejorar el cifrado, si no para crear una capa de seguridad adicional por medio de autenticación extra ?

        Borrar
    5. Claro que los clientes también, porque es una vulnerabilidad en el propio estándar.

      ResponderBorrar

    Gracias por dejar un comentario en Segu-Info.

    Gracias por comentar!