Il y a quelques jours, une annonce dans les mailing-lists 'underground' a fait grand bruit car elle indiquait que WPA n'était plus fiable comme système de protection de la confidentialité d'un accès WiFi.
Nous savions déjà que WEP (Wired Equivalent Privacy), par la faiblesse de son algorithme, permet le décodage de l'IV (Initialization Vector) et, après avoir capturé une grande quantité de paquets particuliers entre une session valide en cours et le hot spot Wi-fi, de déduire la clé WEP et ainsi d'accéder au hotspot. Une grande partie du succès de cette technique reposait sur le fait que le point d'accès répondait systématiquement à tout paquet sans limite de quantité, permettant ainsi une meilleure efficacité avec l'augmentation des vitesses des points d'accès.
Heureusement, il restait encore WPA (WiFi Protected Access) comme protection. WPA repose lui sur la qualité de la PSK (Pre-Shared Key), sorte de clé/mot de passe que le client et le serveur doit connaitre pour pouvoir dialoguer.
Cette clé n'était alors cassable que par les méthodes traditionnelles d'attaque par force brutale (essai itératif de chaque possibilité jusqu'à obtention de la bonne), ce qui pouvait prendre des centaines d'années au regard du nombre de possibilités liées à la taille de cette clé WPA, et ceci même en s'appuyant sur des processeurs graphiques NVidia, contrairement à ce que laissait entendre une récente annonce de la société ElcomSoft qui vend cette technique.
C'en est maintenant fini avec WPA suite à la découverte des chercheurs Erik Tews et Martin Beck, qui ont trouvé une faiblesse au niveau de TKIP (Temporal Key Integrity Protocol). Cette faiblesse a été expliquée pendant la conférence PacSec qui s'est déroulée à Tokyo les 12 et 13 novembre 2008.
TKIP ajoute par rapport à WEP une seconde couche d'intégrité au travers d'un Message Integrity Code (MIC), également appelé Michael, qui s'appuie sur un checksum qui est en plus chiffré. En effet, la faiblesse principale de WEP était la faiblesse de l'algorithme utilisé pour générer le checksum.
De plus, la technique d'attaque WEP basée sur la modification d'un paquet et le renvoi massif vers le point d'accès qui répondra systématiquement, avait bien été apprise par Michael qui, lui, place un délai de réponse afin de ralentir l'efficacité de ce type de technique. Ainsi, lors de la réception de deux paquets avec un mauvais checksum, Michael attend 60 secondes avant de demander la renégociation d'un nouvelle clé avec le point d'accès, remettant la tentative à zéro.
Mais cette nouvelle faiblesse découle de la manière dont a été architecturé WPA, à savoir en s'appuyant sur WEP plutôt que par une implémentation a partir de zéro. Ainsi, TKIP se met en place après le WEP et le code Michael est contenu dans le paquet WEP facilement décodable, ce qui débouche sur le succès de cette nouvelle technique.
Cette nouvelle technique ne nécessite de capturer qu'un seul paquet, d'y faire de modifications mineures afin que son checksum soit affecté, puis d'analyser la réponse du point d'accès lorsqu'il reçoit ce paquet. Elle est particulièrement efficace avec les paquets ARP car le contenu de ceux-ci est connu, hormis les deux octets de l'adresse IP. Les autres octets étant huit octets pour le code Michael et quatre pour le checksum ICV. Il suffit alors de déduire ces deux octets par l'envoi d'un paquet toutes les soixante secondes, ce qui prend au total entre douze et quinze minutes pour toutes les possibilités.
Mais il ne faut pas paranoier. Ici, le risque reste encore faible et la rémédiation simple. Il suffit en effet de forcer la renégociation des clés toutes les deux minutes pour que l'attaque ne dispose plus du temps matériel pour réussir.
Dans cet article, le sujet a été très simplifié. Les puristes de la technique pourront avoir le détail complet de la technique utilisée sur en lisant le document "Practical attacks against WEP and WPA", de Martin Beck, TU-Dresden, Germany et Erik Tews, TU-Darmstadt, Germany - November 8, 2008.
-