Vulnerabilidades en la tecnología de seguridad de redes inalámbricas WPA3 y EAP-pwd

Mathy Vanhoef, autor del ataque KRACK a redes inalámbricas con WPA2, y Eyal Ronen, coautor de algunos ataques a TLS, revelaron información sobre seis vulnerabilidades (CVE-2019-9494 - CVE-2019-9499) en la tecnología protección de redes inalámbricas WPA3, permitiéndole recrear la contraseña de conexión y obtener acceso a la red inalámbrica sin conocer la contraseña. Las vulnerabilidades reciben colectivamente el nombre en código Dragonblood y permiten que se vea comprometido el método de negociación de conexión Dragonfly, que proporciona protección contra la adivinación de contraseñas fuera de línea. Además de WPA3, el método Dragonfly también se utiliza para proteger contra adivinanzas de diccionario en el protocolo EAP-pwd utilizado en Android, servidores RADIUS y hostapd/wpa_supplicant.

El estudio identificó dos tipos principales de problemas arquitectónicos en WPA3. En última instancia, ambos tipos de problemas pueden utilizarse para reconstruir la contraseña de acceso. El primer tipo le permite volver a métodos criptográficos no confiables (ataque de degradación): las herramientas para garantizar la compatibilidad con WPA2 (modo de tránsito que permite el uso de WPA2 y WPA3) permiten que el atacante obligue al cliente a realizar una negociación de conexión de cuatro pasos utilizado por WPA2, que permite un mayor uso de contraseñas de ataques de fuerza bruta clásicas aplicables a WPA2. Además, se ha identificado la posibilidad de llevar a cabo un ataque de degradación directamente en el método de coincidencia de conexiones Dragonfly, lo que permite retroceder a tipos de curvas elípticas menos seguras.

El segundo tipo de problema conduce a la filtración de información sobre las características de la contraseña a través de canales de terceros y se basa en fallas en el método de codificación de la contraseña en Dragonfly, que permiten que datos indirectos, como cambios en los retrasos durante las operaciones, recreen la contraseña original. . El algoritmo de hash a curva de Dragonfly es susceptible a ataques de caché, y su algoritmo de hash a grupo es susceptible a ataques de tiempo de ejecución (ataque de tiempo).

Para realizar ataques de minería de caché, el atacante debe poder ejecutar código sin privilegios en el sistema del usuario que se conecta a la red inalámbrica. Ambos métodos permiten obtener la información necesaria para aclarar la elección correcta de las partes de la contraseña durante el proceso de selección de contraseña. La efectividad del ataque es bastante alta y permite adivinar una contraseña de 8 caracteres que incluye minúsculas, interceptando sólo 40 sesiones de protocolo de enlace y gastando recursos equivalentes a alquilar capacidad de Amazon EC2 por 125 dólares.

A partir de las vulnerabilidades identificadas se han propuesto varios escenarios de ataque:

  • Ataque de reversión en WPA2 con capacidad de realizar selección de diccionario. En entornos donde el cliente y el punto de acceso admiten tanto WPA3 como WPA2, un atacante podría implementar su propio punto de acceso no autorizado con el mismo nombre de red que solo admita WPA2. En tal situación, el cliente utilizará el método de negociación de conexión característico de WPA2, durante el cual se determinará que dicha reversión es inadmisible, pero esto se hará en la etapa en que se hayan enviado los mensajes de negociación del canal y toda la información necesaria. para un ataque de diccionario ya se ha filtrado. Se puede utilizar un método similar para revertir versiones problemáticas de curvas elípticas en SAE.

    Además, se descubrió que el demonio iwd, desarrollado por Intel como alternativa a wpa_supplicant, y la pila inalámbrica Samsung Galaxy S10 son susceptibles a ataques de degradación incluso en redes que usan solo WPA3, si estos dispositivos estaban previamente conectados a una red WPA3. , intentarán conectarse a una red WPA2 ficticia con el mismo nombre.

  • Ataque de canal lateral que extrae información de la caché del procesador. El algoritmo de codificación de contraseñas en Dragonfly contiene ramificaciones condicionales y un atacante, que tiene la capacidad de ejecutar el código en el sistema de un usuario inalámbrico, puede, basándose en un análisis del comportamiento de la caché, determinar cuál de los bloques de expresión if-then-else está seleccionado. La información obtenida se puede utilizar para realizar una adivinación progresiva de contraseñas utilizando métodos similares a los ataques de diccionario fuera de línea en contraseñas WPA2. Para la protección, se propone pasar al uso de operaciones con tiempo de ejecución constante, independientemente de la naturaleza de los datos que se procesan;
  • Ataque de canal lateral con estimación del tiempo de ejecución de la operación. El código de Dragonfly utiliza múltiples grupos multiplicativos (MODP) para codificar contraseñas y un número variable de iteraciones, cuyo número depende de la contraseña utilizada y la dirección MAC del punto de acceso o cliente. Un atacante remoto puede determinar cuántas iteraciones se realizaron durante la codificación de la contraseña y utilizarlas como indicación para la adivinación progresiva de la contraseña.
  • Denegación de llamada de servicio. Un atacante puede bloquear el funcionamiento de determinadas funciones del punto de acceso debido al agotamiento de los recursos disponibles enviando una gran cantidad de solicitudes de negociación del canal de comunicación. Para evitar la protección contra inundaciones proporcionada por WPA3, basta con enviar solicitudes desde direcciones MAC ficticias y no repetidas.
  • Recurra a grupos criptográficos menos seguros utilizados en el proceso de negociación de conexión WPA3. Por ejemplo, si un cliente admite las curvas elípticas P-521 y P-256, y utiliza P-521 como opción prioritaria, entonces el atacante, independientemente del soporte
    P-521 en el lado del punto de acceso puede obligar al cliente a utilizar P-256. El ataque se lleva a cabo filtrando algunos mensajes durante el proceso de negociación de la conexión y enviando mensajes falsos con información sobre la falta de soporte para cierto tipo de curvas elípticas.

Para comprobar las vulnerabilidades de los dispositivos, se han preparado varios scripts con ejemplos de ataques:

  • Dragonslayer: implementación de ataques contra EAP-pwd;
  • Dragondrain es una utilidad para verificar la vulnerabilidad de los puntos de acceso en busca de vulnerabilidades en la implementación del método de negociación de conexión SAE (Autenticación simultánea de iguales), que se puede utilizar para iniciar una denegación de servicio;
  • Dragontime: un script para realizar un ataque de canal lateral contra SAE, teniendo en cuenta la diferencia en el tiempo de procesamiento de las operaciones cuando se utilizan los grupos MODP 22, 23 y 24;
  • Dragonforce es una utilidad para recuperar información (adivinar contraseñas) basada en información sobre diferentes tiempos de procesamiento de operaciones o determinar la retención de datos en el caché.

La Wi-Fi Alliance, que desarrolla estándares para redes inalámbricas, anunció que el problema afecta a un número limitado de implementaciones iniciales de WPA3-Personal y puede solucionarse mediante una actualización de firmware y software. Aún no hay casos de explotación de vulnerabilidades para acciones maliciosas. Para fortalecer la seguridad, Wi-Fi Alliance agregó pruebas adicionales al programa de certificación de dispositivos inalámbricos para verificar la exactitud de las implementaciones y también se comunicó con los fabricantes de dispositivos para coordinar conjuntamente la resolución de los problemas identificados. Ya se han publicado parches para hostap/wpa_supplicant. Las actualizaciones de paquetes están disponibles para Ubuntu. Debian, RHEL, SUSE/openSUSE, Arch, Fedora y FreeBSD aún tienen problemas sin solucionar.

Fuente: opennet.ru

Añadir un comentario