WPA2 : La chasse aux PSK est ouverte !

Co-écrit par Maxime Lachaise et Matthieu Caron.

La fin d’année 2017 avait déjà été marquée par la découverte d’une vulnérabilité critique sur les équipements sans-fil. Le Wifi est revenu sur le devant de la scène cet été à la suite de la découverte d’une vulnérabilité qui affecte cette fois-ci non plus les implémentations matérielles, mais le protocole WPA2.

Protocole le plus sécurisé pour le moment, le WPA2 a remplacé les protocoles WEP et WPA qui présentent de nombreuses faiblesses et dont la sécurité est jugée comme insuffisante. Or, dans le cadre des recherches menées sur le futur de l’authentification sur les réseaux sans fil, Jens « Atom » Steub, créateur de l’outil de cassage de mots de passe par force brute hashcat[1], a découvert une faiblesse du protocole WPA2 permettant de récupérer plus facilement l’empreinte du mot de passe de certains routeurs Wifi.

Une empreinte est une série de bits générés par une fonction cryptographique.  Cette fonction transforme une valeur initiale en empreinte via une série d’opérations mathématiques. Une des propriétés mathématiques essentielles de cette fonction est qu’elle n’est pas réversible ;  il est impossible de retrouver la valeur initiale à partir de l’empreinte.

À défaut de pouvoir inverser la fonction mathématique, il est néanmoins toujours possible de tenter de découvrir la valeur initiale qui génère l’empreinte via de nombreux essais successifs. Cette démarche est qualifiée d’attaque par force brute (brute force) ou par dictionnaire. Toutefois, la fonction de hachage étant volontairement « lente », essayer tout le champ des possibles peut s’avérer extrêmement long (plusieurs années), malgré la constante augmentation de la puissance de calcul des équipements modernes. En revanche, si la valeur d’origine peut facilement être devinée, celle-ci peut être découverte dans un temps relativement court (heures, jours).

Les empreintes de clés partagées échangées entre un client et un point d’accès Wifi peuvent révéler la clé partagée de connexion. Ces empreintes représentent donc des cibles de choix pour un attaquant. Toutefois, la complexité des attaques réside moins dans les techniques de force brute que dans la méthodologie employée pour les intercepter.

 L’ancienne attaque

La possibilité de récupérer une empreinte de la clé partagée d’un réseau Wifi sécurisé en WPA2 n’est pas une nouveauté. Cette attaque a déjà été largement documentée et plusieurs outils performants (la suite d’outils AirCrack) en simplifient grandement la réalisation.

WPA2 peut s’appuyer sur différents mécanismes d’authentification EAP grâce à l’utilisation du protocole EAPoL (Extensible Authentication Protocol over LAN). L’authentification est réalisée en 4 échanges de messages (« 4-Way Handshake ») :

WPA2 attaque

Figure 1 : Schématisation du modèle EAPoL[2]

Historiquement, l’attaquant souhaitant découvrir la clé partagée devait intercepter au moins les 2 premiers échanges du 4-way Handshake. En effet, à l’issue de ces 2 premiers échanges, l’attaquant possède la PTK (Pairwise-Transient-Key), calculée par le client à partir de la PMK (Pairwise Master Key), de l’adresse MAC et d’un aléa (SNonce) du client et de l’adresse MAC et d’un aléa (ANonce) du point d’accès. La PMK, quant à elle, est dérivée de la PSK (Pre-Shared Key), la clé partagée qui permet de se connecter au point d’accès. Par conséquent, à l’issue des 2 échanges, l’attaquant a une connaissance quasi complète des variables impliquées dans le processus d’authentification, la seule inconnue restante étant la PSK.

Les opérations de dérivation de clé utilisant des fonctions de hachage, l’attaquant ne peut déduire directement la PSK de la PTK interceptée. En revanche, il peut utiliser la technique de force brute et s’armer de patience pour tenter de découvrir la PSK qui satisfait les échanges interceptés. Si la PSK est trop simple, cette opération peut être relativement courte (quelques heures).

La nouvelle attaque

La finalité de la nouvelle attaque est toujours de découvrir la PSK. Toutefois le processus est simplifié, car il ne nécessite plus l’interception des 2 premiers messages du 4-Way Handshake: l’attaquant n’a donc plus besoin d’attendre qu’un utilisateur se connecte au point d’accès, ou de forcer les utilisateurs déjà authentifiés à se reconnecter.

“The main difference from existing attacks is that in this attack, capture of a full EAPOL 4-way handshake is not required. The new attack is performed on the RSN IE (Robust Security Network Information Element) of a single EAPOL frame.”

Le RSN (Robust Security Network) est une nouveauté introduite par WPA et WPA2. Ce protocole est utilisé pour la gestion du processus d’établissement de la communication sécurisée : il est responsable de la négociation de la méthode d’authentification et des suites de chiffrement qui seront utilisées entre le client et le point d’accès. Les informations de sécurité peuvent être échangées avant la procédure d’authentification via des messages RSNA (Robust Secure Network Association) eux-mêmes encapsulés dans des RSN IE (Robust Secure Network Information Element). Ces RSN IE peuvent être inclus dans plusieurs types d’échanges : Beacon, Association Request, Reassociation Request, Probe Response.

Or, les RSN IE disposent d’une fonctionnalité simplifiant l’itinérance (roaming) : afin d’éviter de jouer à nouveau toute la procédure d’authentification lorsqu’un client transite d’un point d’accès à un autre, les RSN IE peuvent conserver en cache les PMK, identifiés par des PMKID (Pairwise Master Key Identifier). Ces RSN IE, et la PMKID qu’ils sont susceptibles de contenir, peuvent être récupérés sur simple demande d’association au point d’accès (Association Request).

Figure 2 : Capture d’une trame de gestion révélant la PMKID (https://hashcat.net/forum/thread-7717.html)

Toutes ces données sont accessibles dès le premier message reçu par le point d’accès. Or, et c’est la découverte principale de Jens Steub et de son équipe[3], la PMKID est exactement la même que la PMK utilisée lors de l’authentification du 4-Way Handshake. Par conséquent, avec la seule récupération de la PMKID, l’attaquant possède toutes les informations nécessaires pour dérouler le reste de l’attaque hors-ligne en suivant le processus de découverte par force brute similaire à celui de l’attaque d’origine.

Limitations

Même si cette nouvelle technique semble extrêmement simple, elle n’est pas exempte de défauts.

Tout d’abord, tous les équipements Wifi ne sont pas vulnérables à cette attaque. En effet, le créateur de Hashcat a précisé « At this time, we do not know for which vendors or for how many routers this technique will work, but we think it will work against all 802.11i/p/q/r networks with roaming functions enabled (most modern routers) »: si la fonction d’itinérance n’est pas active, le point d’accès ne devrait pas envoyer la PMKID et la PSK est donc protégée.

Mais surtout, la découverte du mot de passe du point d’accès repose toujours sur l’utilisation d’une attaque par force brute. Par conséquent, si le mot de passe partagé est robuste, celle-ci pourra nécessiter des mois, voire des années.

Quelques contremesures

Quelques mesures permettent donc de se protéger de cette attaque. La première est, si l’équipement le propose, de désactiver la fonction d’itinérance. Cette mesure devrait empêcher la divulgation de la PMKID dans les messages RSN IE et donc corriger totalement la vulnérabilité.

Toutefois, cette correction n’est d’aucune utilité pour empêcher la récupération de la PMK grâce à l’ancienne attaque. Par conséquent, la meilleure mesure de sécurité est de paramétrer une clé partagée robuste :

  • Au minimum 16 caractères ;
  • Au moins une minuscule, une majuscule, un chiffre et un symbole ;
  • Sans aucune signification particulière (pas de mots du dictionnaire ou de noms propres).

Il est à noter qu’il est absolument nécessaire de changer le mot de passe par défaut ou d’origine du point d’accès, même s’il semble robuste. En effet, ces derniers suivent dans la majorité des cas des schémas qui sont connus par les attaquants, ou peuvent parfois être déduits de la MAC (ou tout autre identifiant) de l’équipement.

Dernière solution, se tourner vers le WPA3 : En effet, cette nouvelle norme s’affranchit du mécanisme de 4-Way Handshake, remplacé par un nouveau protocole d’établissement de clé appelée SAE : Simultaneous Authentication of Equals. Grâce à ce dernier, les attaquants ne pourront plus tenter leurs attaques par force brute ou par dictionnaire.

Toutefois le protocole WPA3 est encore à l’étude : il faudra donc attendre encore quelques mois pour le déployer…

 

[1] https://hashcat.net/hashcat/

[2] Computer by parkjisun from the Noun Project, Router by Guilherme Furtado from the Noun Project

[3] https://hashcat.net/forum/thread-7717.html