17 avril 2019

La sécurité du standard WPA3 mise à mal par la publication des vulnérabilités Dragonblood

1. Introduction

Le WPA3 est le dernier standard ayant vu le jour permettant d’assurer la confidentialité ainsi que l’intégrité des données transitant par le biais d’une connexion Wi-Fi.

Deux chercheurs en sécurité (Mathy Vanhoef et Eyal Ronen) viennent de dévoiler des vulnérabilités impactant le protocole WPA3. Ce dernier, lancé en juin 2018, était une mise à niveau nécessaire après 14 années d’utilisation du WPA2 et les vulnérabilités qu’il comporte tel que KRACK.

Au total, 5 vulnérabilités font partie de l’ensemble Dragonblood :

  • 1 attaque par déni de service ;
  • 2 attaques de rétrogradation ;
  • 2 attaques par canaux auxiliaires basées sur la synchronisation-cache.

2. Scénario

Le handshake du Dragonfly (nouveau handshake intégré dans WPA3) est utilisé par les réseaux Wi-Fi nécessitant un nom d’utilisateur ainsi qu’un mot de passe pour la gestion des contrôles d’accès. Ce Dragonfly est également utilisé par le protocole EAP-pwd. Les vulnérabilités décrites ci-dessous affectent WPA3 ainsi que le protocole EAP-pwd permettant à un attaquant de voler les identifiants d’un utilisateur :

Attaque par rétrogradation contre le modèle WPA3 (CERT ID #VU871675)

Afin de prendre en compte les clients ne prenant pas en charge le WPA3, un mode de comptabilité WPA2/WPA3 a été implémenté. De cette manière, le réseau est en mesure d’accepter simultanément le WPA2 et le WPA3 avec le même mot de passe.

Lors d’une attaque par rétrogradation (downgrade attack), un attaquant est en mesure de créer un point Wi-Fi (rogue access point) afin de forcer les clients prenant en charge le WPA3 à utiliser le WPA2 permettant ainsi de réaliser les attaques connues sur ce protocole.

On peut distinguer deux sortes d’attaques de rétrogradation :

  1. Attaque du dictionnaire.
  2. Attaque par la sécurité du groupe.
1. Rétrogradation par l’attaque du dictionnaire

Par exemple, si un client et un point d’accès prennent en charge WPA2 et WPA3 (grâce au mode WPA3-Transition), un attaquant peut configurer un point d’accès malveillant et forcer les clients à basculer sur le protocole WPA2. Ainsi, la quadruple poignée de main de WPA2 (4-way handshake) peut être capturée et l’attaquant est en mesure de réaliser une attaque par dictionnaire pour casser le mot de passe utilisé.

Bien que le client puisse détecter le passage à la version inférieure à WPA2 lors de la négociation, cela est trop tard. Les messages de négociation échangés avant la détection de la rétrogradation fournissent suffisamment d’informations pour lancer l’attaque.

2. Rétrogradation par la sécurité du groupe

Le client qui initie la connexion envoie une trame de validation incluant le groupe de sécurité qu’il souhaite utiliser.

Si le point d’accès ne prend pas en charge ce groupe, il répond par un message de refus, forçant le client à envoyer une trame de validation comportant un groupe de sécurité différent.

Tant que le groupe de sécurité n’est pas supporté par les deux parties, un message de refus sera diffusé. L’attaque consiste ici à usurper l’identité d’un point d’accès et forger ces messages de refus jusqu’à ce qu’un client soit contraint d’utiliser un groupe de sécurité considéré comme faible.

Attaque par canaux auxiliaires basée sur la synchronisation (CVE-2019-9494)

Dans cette attaque, les deux chercheurs ont découvert que le temps nécessaire à un point d’accès pour répondre peut laisser échapper des informations sur le mot de passe.

En effet, lorsque le point d’accès utilise certains groupes de sécurité (utilisation de courbes elliptiques), aucune information n’est accessible. Néanmoins lorsque le point d’accès supporte les groupes de sécurité multiplicatifs, le temps de réponse dépend du mot de passe utilisé.

De la sorte, un adversaire est en mesure de lancer une attaque par dictionnaire en chronométrant les temps de réponse du point d’accès pour chaque mot de passe.

Attaque par canaux auxiliaires basée sur le cache (CVE-2019-9494)

Si un adversaire peut observer les schémas d’accès à la mémoire (branche conditionnelle utilisée du code), il pourrait déterminer si une partie du mot de passe a été trouvée dans une itération spécifique de cet algorithme.

Dans la pratique, si un attaquant est en mesure d’exécuter du code sans privilège sur la machine victime (au sein du navigateur notamment), il pourrait exploiter l’attaque du cache pour déterminer quelle branche avait été sélectionnée lors de la première itération de l’algorithme de génération de mot de passe.

Attaque par déni de service (CERT ID #VU871675)

Les deux chercheurs ont également identifié une attaque par déni de service qui fonctionne « en initiant un grand nombre de handshake avec un point d’accès compatible WPA3 ». Il s’est avéré que la charge de 16 requêtes par seconde était suffisante pour provoquer ce déni de service.

Cette attaque par consommation de ressources provoque une utilisation élevée du processeur du point d’accès et permet d’empêcher ou de retarder la connexion d’autres utilisateurs à ce dernier.

3. Conclusion

Les deux chercheurs concluent leur article intitulé « Dragonblood: A Security Analysis of SAE Handshake » en affirmant qu’un processus plus ouvert aurait empêché (ou permit de clarifier) la possibilité d’attaques de rétrogradation contre le mode de transition WPA3.

Enfin, ils n’ont pas publié d’informations détaillées sur l’impact des vulnérabilités Dragonblood sur EAP-pwd car le processus de correction est en cours. Ils ont toutefois publié des outils permettant de déterminer si les périphériques compatibles WPA3 sont vulnérables.

Cependant, bien que WPA3 ait ses défauts de jeunesse, il n’en est pas moins une nette amélioration par rapport au WPA2.

Références :
https://wpa3.mathyvanhoef.com/
https://papers.mathyvanhoef.com/dragonblood.pdf

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *