Mathy Vanhoef, l'auteur de l'attaque KRACK sur les réseaux sans fil utilisant WPA2, et Eyal Ronen, co-auteur de certaines attaques sur TLS, ont dévoilé des informations sur six vulnérabilités (CVE-2019-9494 à CVE-2019-9499) dans la technologie de protection des réseaux sans fil WPA3, qui permettent de reconstruire le mot de passe de connexion et d'accéder à un réseau sans fil sans connaßtre le mot de passe. Les vulnérabilités sont regroupées sous le nom de code Dragonblood et permettent de compromettre la méthode d'accord de connexion Dragonfly, offrant une protection contre les attaques par dictionnaire en mode hors ligne. En plus de WPA3, la méthode Dragonfly est également utilisée pour protéger contre les attaques par dictionnaire dans le protocole EAP-pwd, utilisé dans Android, les serveurs RADIUS et dans hostapd/wpa_supplicant.
L'Ă©tude a rĂ©vĂ©lĂ© deux principaux types de problĂšmes architecturaux dans WPA3. Les deux types de problĂšmes peuvent finalement ĂȘtre utilisĂ©s pour reconstruire le mot de passe d'accĂšs. Le premier type permet d'exĂ©cuter une attaque de rĂ©trogradation (downgrade attack) sur des mĂ©thodes cryptographiques peu fiables : les moyens d'assurer la compatibilitĂ© avec WPA2 (mode transit, permettant l'utilisation de WPA2 et WPA3) permettent Ă un attaquant de forcer le client Ă effectuer l'accord de connexion Ă quatre Ă©tapes utilisĂ© par WPA2, ce qui rend ensuite possibles les attaques classiques de recrutement de mots de passe applicables Ă WPA2. En outre, une attaque de rĂ©trogradation a Ă©galement Ă©tĂ© identifiĂ©e directement sur la mĂ©thode d'accord de connexion Dragonfly, permettant de revenir Ă des types de courbes elliptiques moins protĂ©gĂ©s.
Le deuxiÚme type de problÚme entraßne des fuites d'informations sur les caractéristiques du mot de passe par des canaux latéraux et est basé sur des défauts de la méthode de codage des mots de passe dans Dragonfly, permettant de reconstruire le mot de passe d'origine à partir d'informations indirectes, telles que la variation des temps d'exécution des opérations. L'algorithme utilisé dans Dragonfly pour la transformation de hachage en courbe elliptique (hash-to-curve) s'est avéré vulnérable aux attaques par suivi de l'information dans le cache processeur (cache attack), tandis que l'algorithme de transformation de hachage en groupe (hash-to-group) est vulnérable aux attaques par mesure du temps d'exécution des opérations (timing attack).
Pour exĂ©cuter des attaques par analyse de cache, l'attaquant doit ĂȘtre capable d'exĂ©cuter du code non privilĂ©giĂ© sur le systĂšme de l'utilisateur se connectant Ă un rĂ©seau sans fil. Les deux mĂ©thodes permettent d'obtenir des informations nĂ©cessaires pour affiner le choix des caractĂšres du mot de passe lors de sa recherche. L'efficacitĂ© de l'attaque est suffisamment Ă©levĂ©e et permet de deviner un mot de passe de 8 caractĂšres, incluant des caractĂšres en minuscules, en interceptant seulement 40 sessions de nĂ©gociation de connexion (handshake) et en dĂ©pensant des ressources Ă©quivalentes Ă la location de capacitĂ©s Amazon EC2 pour 125 dollars.
Sur la base des vulnérabilités identifiées, plusieurs scénarios d'attaque ont été proposés :
- Attaque par rĂ©trogradation sur WPA2 avec possibilitĂ© de mener un dictionary attack. Dans des conditions oĂč le client et le point d'accĂšs prennent en charge Ă la fois WPA3 et WPA2, l'attaquant peut dĂ©ployer son propre point d'accĂšs contrefait avec le mĂȘme nom de rĂ©seau, qui ne prend en charge que WPA2. Dans cette situation, le client appliquera la mĂ©thode de nĂ©gociation de connexion propre Ă WPA2, au cours de laquelle il sera dĂ©terminĂ© que cette rĂ©trogradation n'est pas acceptable, mais cela sera fait Ă un stade oĂč les messages de nĂ©gociation de canal ont dĂ©jĂ Ă©tĂ© envoyĂ©s et toutes les informations nĂ©cessaires Ă l'attaque par dictionnaire ont dĂ©jĂ fuitĂ©es. Une mĂ©thode similaire est applicable pour la rĂ©trogradation vers des versions problĂ©matiques de courbes elliptiques en SAE.
De plus, il a Ă©tĂ© constatĂ© que le dĂ©mon iwd, dĂ©veloppĂ© par Intel comme alternative Ă wpa_supplicant, et la pile sans fil du Samsung Galaxy S10 sont soumis Ă des attaques par rĂ©trogradation mĂȘme dans des rĂ©seaux utilisant uniquement WPA3 â si ces appareils s'Ă©taient dĂ©jĂ connectĂ©s Ă un rĂ©seau WPA3, ils tenteront de se connecter Ă un rĂ©seau WPA2 contrefait avec le mĂȘme nom.
- Attaque par canaux latĂ©raux avec extraction d'informations du cache processeur. L'algorithme de codage des mots de passe dans Dragonfly comprend des branches conditionnelles et un attaquant, ayant la possibilitĂ© d'exĂ©cuter du code dans le systĂšme de l'utilisateur du rĂ©seau sans fil, peut, sur la base de l'analyse du comportement du cache, dĂ©terminer quel bloc a Ă©tĂ© choisi dans l'expression if-then-else. Les informations obtenues peuvent ĂȘtre utilisĂ©es pour procĂ©der Ă un craquage itĂ©ratif du mot de passe en utilisant des mĂ©thodes similaires Ă celles des attaques par dictionnaire hors ligne sur les mots de passe WPA2. Pour se protĂ©ger, il est recommandĂ© de passer Ă l'utilisation d'opĂ©rations ayant un temps d'exĂ©cution constant, indĂ©pendamment de la nature des donnĂ©es traitĂ©es.
- Attaque par canaux latéraux avec évaluation du temps d'exécution des opérations. Dans le code Dragonfly pour le codage des mots de passe, plusieurs groupes multiplicatifs (MODP) et un nombre variable d'itérations sont utilisés, dont le nombre dépend du mot de passe utilisé et de l'adresse MAC du point d'accÚs ou du client. Un attaquant distant peut déterminer combien d'itérations ont été effectuées lors du codage du mot de passe et les utiliser comme indicateur lors du craquage itératif du mot de passe.
- Appel Ă une attaque par dĂ©ni de service. Un attaquant peut bloquer certaines fonctions du point d'accĂšs en raison de l'Ă©puisement des ressources disponibles en envoyant un grand nombre de requĂȘtes de nĂ©gociation de canal. Pour contourner la protection contre les inondations prĂ©vue dans WPA3, il suffit d'envoyer des requĂȘtes avec des adresses MAC fictives et non rĂ©pĂ©titives.
- Rétrogradation vers des groupes cryptographiques moins sécurisés utilisés lors de la négociation des connexions dans WPA3. Par exemple, si un client prend en charge les courbes elliptiques P-521 et P-256 et utilise P-521 comme variante prioritaire, l'attaquant, indépendamment du soutien de P-521 du cÎté du point d'accÚs, peut forcer le client à utiliser P-256. L'attaque est menée en filtrant certains messages lors de la négociation de la connexion et en envoyant de faux messages avec des informations sur l'absence de support pour certains types de courbes elliptiques.
Pour vérifier les appareils à la recherche de vulnérabilités, plusieurs scripts avec des exemples d'attaques ont été préparés :
Dragonslayer â mise en Ćuvre d'attaques sur EAP-pwd;
- Dragonslayer â implĂ©mentation des attaques sur EAP-pwd;
- Dragondrain - un utilitaire pour vĂ©rifier la vulnĂ©rabilitĂ© des points d'accĂšs dans l'implĂ©mentation de la mĂ©thode de nĂ©gociation de connexion SAE (Authentication SimultanĂ©e des Ăgaux), qui peut ĂȘtre utilisĂ© pour initier des attaques par dĂ©ni de service;
- Dragontime - un script pour mener une attaque par des canaux secondaires contre SAE, tenant compte des différences dans le temps de traitement des opérations lors de l'utilisation des groupes MODP 22, 23 et 24;
- Dragonforce - un utilitaire de récupération d'informations (craquage de mots de passe) basé sur des distinctions dans le temps de traitement des opérations ou pour détecter des données persistantes dans le cache.
L'Alliance Wi-Fi, qui dĂ©veloppe des normes pour les rĂ©seaux sans fil, a annoncĂ© que le problĂšme touche un nombre limitĂ© de premiĂšres implĂ©mentations de WPA3-Personal et peut ĂȘtre corrigĂ© par une mise Ă jour du firmware et des logiciels. Aucun cas d'exploitation des vulnĂ©rabilitĂ©s Ă des fins malveillantes n'a encore Ă©tĂ© enregistrĂ©. Pour renforcer la sĂ©curitĂ©, l'Alliance Wi-Fi a ajoutĂ© de nouveaux tests au programme de certification des appareils sans fil pour vĂ©rifier la conformitĂ© des implĂ©mentations et a contactĂ© les fabricants d'appareils pour coordonner la rĂ©solution des problĂšmes identifiĂ©s. Des correctifs ont Ă©tĂ© publiĂ©s pour hostap/wpa_supplicant. Des mises Ă jour sont disponibles pour Ubuntu. Les problĂšmes demeurent non corrigĂ©s dans Debian, RHEL, SUSE/openSUSE, Arch, Fedora et FreeBSD.
Source : opennet.ru
