Vulnérabilités dans les technologies de sécurité sans fil WPA3 et EAP-pwd

Mathy Vanhoef, l'auteur de l'attaque KRACK sur les réseaux sans fil avec WPA2, et Eyal Ronen, le co-auteur de certaines attaques sur TLS, ont divulgué des informations sur six vulnérabilités (CVE-2019-9494 - CVE-2019-9499) dans la technologie. protection des réseaux sans fil WPA3, vous permettant de recréer le mot de passe de connexion et d'accéder au réseau sans fil sans connaître le mot de passe. Les vulnérabilités portent collectivement le nom de code Dragonblood et permettent de compromettre la méthode de négociation de connexion Dragonfly, qui offre une protection contre la recherche de mots de passe hors ligne. En plus de WPA3, la méthode Dragonfly est également utilisée pour se protéger contre les devinettes de dictionnaire dans le protocole EAP-pwd utilisé dans Android, les serveurs RADIUS et hostapd/wpa_supplicant.

L'étude a identifié 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 de revenir à des méthodes cryptographiques peu fiables (attaque par downgrade) : des outils permettant d'assurer la compatibilité avec WPA2 (mode transit, permettant l'utilisation de WPA2 et WPA3) permettent à l'attaquant de forcer le client à effectuer la négociation de connexion en quatre étapes. utilisé par WPA2, qui permet une utilisation ultérieure des mots de passe d'attaques par force brute classiques applicables à WPA2. De plus, la possibilité de mener une attaque par rétrogradation directement sur la méthode de correspondance de connexion Dragonfly a été identifiée, permettant de revenir à des types de courbes elliptiques moins sécurisés.

Le deuxième type de problème conduit à la fuite d'informations sur les caractéristiques du mot de passe via des canaux tiers et repose sur des failles dans la méthode d'encodage du mot de passe dans Dragonfly, qui permettent à des données indirectes, telles que les modifications des délais pendant les opérations, de recréer le mot de passe d'origine. . L'algorithme de hachage vers courbe de Dragonfly est sensible aux attaques de cache, et son algorithme de hachage vers groupe est sensible aux attaques de temps d'exécution des opérations (attaque par timing).

Pour effectuer des attaques de cache mining, l'attaquant doit être capable d'exécuter du code non privilégié sur le système de l'utilisateur se connectant au réseau sans fil. Les deux méthodes permettent d'obtenir les informations nécessaires pour clarifier le bon choix de parties du mot de passe lors du processus de sélection du mot de passe. L'efficacité de l'attaque est assez élevée et vous permet de deviner un mot de passe de 8 caractères comprenant des caractères minuscules, en interceptant seulement 40 sessions de négociation et en dépensant des ressources équivalentes à la location de capacité Amazon EC2 pour 125 $.

Sur la base des vulnérabilités identifiées, plusieurs scénarios d'attaque ont été proposés :

  • Attaque de rollback sur WPA2 avec possibilité d'effectuer une sélection de dictionnaire. Dans les environnements où le client et le point d'accès prennent en charge à la fois WPA3 et WPA2, un attaquant pourrait déployer son propre point d'accès malveillant portant le même nom de réseau et prenant uniquement en charge WPA2. Dans une telle situation, le client utilisera la méthode de négociation de connexion caractéristique de WPA2, au cours de laquelle il sera déterminé qu'un tel rollback est inadmissible, mais cela se fera au stade où les messages de négociation de canal auront été envoyés et toutes les informations nécessaires car une attaque par dictionnaire a déjà fuité. Une méthode similaire peut être utilisée pour restaurer les versions problématiques des courbes elliptiques dans SAE.

    De plus, il a été découvert que le démon iwd, développé par Intel comme alternative à wpa_supplicant, et la pile sans fil du Samsung Galaxy S10 sont susceptibles d'être attaqués par rétrogradation, même dans les réseaux utilisant uniquement WPA3 - si ces appareils étaient auparavant connectés à un réseau WPA3. , ils essaieront de se connecter à un réseau WPA2 factice du même nom.

  • Attaque par canal secondaire qui extrait des informations du cache du processeur. L'algorithme de codage de mot de passe de Dragonfly contient un branchement conditionnel et un attaquant, ayant la capacité d'exécuter le code sur le système d'un utilisateur sans fil, peut, sur la base d'une analyse du comportement du cache, déterminer lequel des blocs d'expression if-then-else est sélectionné. Les informations obtenues peuvent être utilisées pour deviner progressivement les mots de passe en utilisant des méthodes similaires aux attaques par dictionnaire hors ligne sur les mots de passe WPA2. Pour la protection, il est proposé de passer à l'utilisation d'opérations à temps d'exécution constant, quelle que soit la nature des données traitées ;
  • Attaque par canal secondaire avec estimation du temps d'exécution de l'opération. Le code de Dragonfly utilise plusieurs groupes multiplicatifs (MODP) pour encoder les mots de passe et un nombre variable d'itérations, 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 indication pour deviner progressivement le mot de passe.
  • Appel pour déni de service. Un attaquant peut bloquer le fonctionnement de 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 de communication. Pour contourner la protection contre les inondations fournie par WPA3, il suffit d'envoyer des requêtes à partir d'adresses MAC fictives et non répétitives.
  • Repli vers des groupes cryptographiques moins sécurisés utilisés dans le processus de négociation de connexion WPA3. Par exemple, si un client prend en charge les courbes elliptiques P-521 et P-256 et utilise P-521 comme option prioritaire, alors l'attaquant, quelle que soit la prise en charge
    P-521 côté point d'accès peut forcer le client à utiliser P-256. L'attaque est réalisée en filtrant certains messages pendant le processus de négociation de connexion et en envoyant de faux messages contenant des informations sur le manque de prise en charge de certains types de courbes elliptiques.

Pour vérifier les vulnérabilités des appareils, plusieurs scripts ont été préparés avec des exemples d'attaques :

  • Dragonslayer - mise en œuvre d'attaques sur EAP-pwd ;
  • Dragondrain est un utilitaire de vérification de la vulnérabilité des points d'accès pour les vulnérabilités dans la mise en œuvre de la méthode de négociation de connexion SAE (Simultaneous Authentication of Equals), qui peut être utilisée pour lancer un déni de service ;
  • Dragontime - un script pour mener une attaque par canal secondaire contre SAE, en tenant compte de la différence de temps de traitement des opérations lors de l'utilisation des groupes MODP 22, 23 et 24 ;
  • Dragonforce est un utilitaire permettant de récupérer des informations (devination de mot de passe) sur la base d'informations sur les différents temps de traitement des opérations ou de déterminer la conservation des données dans le cache.

La Wi-Fi Alliance, qui développe des normes pour les réseaux sans fil, a annoncé que le problème affecte un nombre limité de premières implémentations de WPA3-Personal et peut être résolu via une mise à jour du micrologiciel et du logiciel. Il n’y a eu aucun cas documenté d’utilisation de vulnérabilités pour effectuer des actions malveillantes. Pour renforcer la sécurité, la Wi-Fi Alliance a ajouté des tests supplémentaires au programme de certification des appareils sans fil pour vérifier l'exactitude des mises en œuvre, et a également contacté les fabricants d'appareils pour coordonner conjointement les solutions aux problèmes identifiés. Des correctifs ont déjà été publiés pour hostap/wpa_supplicant. Des mises à jour de packages sont disponibles pour Ubuntu. Debian, RHEL, SUSE/openSUSE, Arch, Fedora et FreeBSD ont toujours des problèmes non résolus.

Source: opennet.ru

Ajouter un commentaire