Attaques Wi-Fi WPA Cédric Blancher 1/31 Attaques Wi-Fi WPA Séparer le bon grain de l ivraie dans le buzz ambiant Cédric Blancher cedric.blancher@eads.net Computer Security Research Lab EADS Innovation Works sid@rstack.org Rstack Team http://sid.rstack.org/ Conférence C&ESAR - Rennes - 24-26 Novembre 2009 http://www.cesar-conference.fr/
Attaques Wi-Fi WPA Cédric Blancher 2/31 Agenda 1 Cassons de la PSK Authentification WPA/WPA2 Fonctionnement du cassage de PSK Comparons des implémentations 2 Failles sur TKIP Comment fonctionne TKIP La fameuse attaque sur TKIP 3 Conclusion
Attaques Wi-Fi WPA Cédric Blancher 3/31 Introduction État des lieus de la sécurité Wi-Fi WEP est à proscrire sans aucun débat WPA arrive à la rescousse dès 2003 802.11i/WPA2 est ratifié depuis 2004
Attaques Wi-Fi WPA Cédric Blancher 3/31 Introduction État des lieus de la sécurité Wi-Fi WEP est à proscrire sans aucun débat WPA arrive à la rescousse dès 2003 802.11i/WPA2 est ratifié depuis 2004 Ce qu on peut en dire... On est loin de la perfection Mais on peut atteindre un niveau de sécurité intéressant
Attaques Wi-Fi WPA Cédric Blancher 4/31 WPA, c est quoi? En attendant 802.11i, la Wi-Fi alliance propose WPA Basé sur 802.11i Draft 3 Propose des authentifications PSK ou EAP refonte du chiffrement : TKIP
Attaques Wi-Fi WPA Cédric Blancher 5/31 Et WPA2? WPA2 est la mise à jour de WPA suite à la ratification de 802.11i Très peu de différence niveau sécurité Introduction du chiffrement CCMP (AES) Backporting de CCMP sur WPA
Attaques Wi-Fi WPA Cédric Blancher 5/31 Et WPA2? WPA2 est la mise à jour de WPA suite à la ratification de 802.11i Très peu de différence niveau sécurité Introduction du chiffrement CCMP (AES) Backporting de CCMP sur WPA WPA vs. WPA2? WPA PSK +TKIP WPA WPA2
Attaques Wi-Fi WPA Cédric Blancher 6/31 Agenda 1 Cassons de la PSK Authentification WPA/WPA2 Fonctionnement du cassage de PSK Comparons des implémentations 2 Failles sur TKIP Comment fonctionne TKIP La fameuse attaque sur TKIP 3 Conclusion
Attaques Wi-Fi WPA Cédric Blancher 7/31 Modes d authentification Secret partagé (PSK) EAP/802.1x EAP Auth PMK 4 Way Handshake PTK PSK PBKDF2 Hiérarchie de clés L authentification fournit la Master Key (MK) La Pairwise Master Key (PMK) est dérivée de la MK
Attaques Wi-Fi WPA Cédric Blancher 8/31 One key to rule them all... La MK est la racine de toutes les autres clés Pairwise Master Key Clés d échange de clés Clés de chiffrement Clés de MIC quand nécessaires KEK PMK 4 Way Handshake PTK TEK TMK Conclusion Récupérer la Master Key == Récupérer tout le reste
Attaques Wi-Fi WPA Cédric Blancher 9/31 L option PSK La MK est votre PSK La PMK est dérivée de la MK par PBKDF2() PMK PSK PBKDF2 En mode PSK Posséder la PSK == Tout contrôler
Attaques Wi-Fi WPA Cédric Blancher 10/31 Calcul de la PMK La Master Key (MK) C est le secret partagé dit PSK 8 à 63 caractères ASCII imprimables (code 32 à 126) La Pairwise Master Key (PMK) PMK = PBKDF2(SSID,PSK) PBKDF2() est conçue pour être lente
Attaques Wi-Fi WPA Cédric Blancher 11/31 Four-Way Handshake Le Four-Way Handshake fournit l authentification en mode PSK Random SNonce ANonce Random ANonce Computes PTK Installs PTK and GTK SNonce + MIC Enc(GTK) + MIC ACK + MIC Computes PTK, GMK and GTK Installs PTK Les MICs sont calculés à partir de la PTK
Attaques Wi-Fi WPA Cédric Blancher 12/31 L attaque Récupérer les données utiles Capturées pendant le Handshake On peut forcer ce Handshake Ne porte que pour un SSID précis
Attaques Wi-Fi WPA Cédric Blancher 12/31 L attaque Récupérer les données utiles Capturées pendant le Handshake On peut forcer ce Handshake Ne porte que pour un SSID précis Tester une PSK
Attaques Wi-Fi WPA Cédric Blancher 12/31 L attaque Récupérer les données utiles Capturées pendant le Handshake On peut forcer ce Handshake Ne porte que pour un SSID précis Tester une PSK 1 Pour chaque candidat, dériver la PMK associée
Attaques Wi-Fi WPA Cédric Blancher 12/31 L attaque Récupérer les données utiles Capturées pendant le Handshake On peut forcer ce Handshake Ne porte que pour un SSID précis Tester une PSK 1 Pour chaque candidat, dériver la PMK associée 2 Calculer la PTK (4xHMAC-SHA1 sur PMK et aléa)
Attaques Wi-Fi WPA Cédric Blancher 12/31 L attaque Récupérer les données utiles Capturées pendant le Handshake On peut forcer ce Handshake Ne porte que pour un SSID précis Tester une PSK 1 Pour chaque candidat, dériver la PMK associée 2 Calculer la PTK (4xHMAC-SHA1 sur PMK et aléa) 3 Calculer le MIC (1xHMAC-SHA1 ou MD5) et le comparer à celui du Handshake capturé
Attaques Wi-Fi WPA Cédric Blancher 13/31 La fonction PBKDF2 Algorithme x1 = HMAC_SHA1(MK, SSID + \1 ); x2 = HMAC_SHA1(MK, SSID + \2 ); for(i=1;i<4096;i++) { x1 = HMAC_SHA1(MK, x1); x2 = HMAC_SHA1(MK, x2); } return x1 + x2;
Attaques Wi-Fi WPA Cédric Blancher 14/31 Coût de l attaque PBKDF2 nécessite 8192 appels à HMAC-SHA1, et au moins 8 pour le MIC HMAC-SHA1 implique 2 SHA1 SHA1 nécessite quelques 961 cycles Soit un total de 15,7M operations
Attaques Wi-Fi WPA Cédric Blancher 14/31 Coût de l attaque PBKDF2 nécessite 8192 appels à HMAC-SHA1, et au moins 8 pour le MIC HMAC-SHA1 implique 2 SHA1 SHA1 nécessite quelques 961 cycles Soit un total de 15,7M operations Comparaison avec MD5 Tester un candidat MD5 nécessite un peu plus de 300 opérations...
Attaques Wi-Fi WPA Cédric Blancher 15/31 Chiffres Vitesse théorique de PBKDF2 Perfect SSE2, 3Ghz single x86 core : 500 checks/s Implémentation CELL parfaite : 2,840 checks/s Implémentation CELL Linux : 2,440 checks/s
Attaques Wi-Fi WPA Cédric Blancher 15/31 Chiffres Vitesse théorique de PBKDF2 Perfect SSE2, 3Ghz single x86 core : 500 checks/s Implémentation CELL parfaite : 2,840 checks/s Implémentation CELL Linux : 2,440 checks/s Implementations pratiques...
Attaques Wi-Fi WPA Cédric Blancher 15/31 Chiffres Vitesse théorique de PBKDF2 Perfect SSE2, 3Ghz single x86 core : 500 checks/s Implémentation CELL parfaite : 2,840 checks/s Implémentation CELL Linux : 2,440 checks/s Implementations pratiques... Aircrack sur Xeon E5405 (4x2Ghz) : 650 checks/s
Attaques Wi-Fi WPA Cédric Blancher 15/31 Chiffres Vitesse théorique de PBKDF2 Perfect SSE2, 3Ghz single x86 core : 500 checks/s Implémentation CELL parfaite : 2,840 checks/s Implémentation CELL Linux : 2,440 checks/s Implementations pratiques... Aircrack sur Xeon E5405 (4x2Ghz) : 650 checks/s FPGA Pico Computing FX60 : 1,000 checks/s
Attaques Wi-Fi WPA Cédric Blancher 15/31 Chiffres Vitesse théorique de PBKDF2 Perfect SSE2, 3Ghz single x86 core : 500 checks/s Implémentation CELL parfaite : 2,840 checks/s Implémentation CELL Linux : 2,440 checks/s Implementations pratiques... Aircrack sur Xeon E5405 (4x2Ghz) : 650 checks/s FPGA Pico Computing FX60 : 1,000 checks/s CELL : 2,300 checks/s
Attaques Wi-Fi WPA Cédric Blancher 15/31 Chiffres Vitesse théorique de PBKDF2 Perfect SSE2, 3Ghz single x86 core : 500 checks/s Implémentation CELL parfaite : 2,840 checks/s Implémentation CELL Linux : 2,440 checks/s Implementations pratiques... Aircrack sur Xeon E5405 (4x2Ghz) : 650 checks/s FPGA Pico Computing FX60 : 1,000 checks/s CELL : 2,300 checks/s CUDA sur 295GTX : 20,000 check/s
Attaques Wi-Fi WPA Cédric Blancher 16/31 Faits Est-ce qu on peut brute-forcer des PSKs L espace de clé est énorme PBKDF2 est lente Un facteur 100 permet de gagner un caractère
Attaques Wi-Fi WPA Cédric Blancher 16/31 Faits Est-ce qu on peut brute-forcer des PSKs L espace de clé est énorme PBKDF2 est lente Un facteur 100 permet de gagner un caractère Temps de cassage... Supposons 100,000 check/s :
Attaques Wi-Fi WPA Cédric Blancher 16/31 Faits Est-ce qu on peut brute-forcer des PSKs L espace de clé est énorme PBKDF2 est lente Un facteur 100 permet de gagner un caractère Temps de cassage... Supposons 100,000 check/s : 34 ans pour couvrir 8 caractères alphanum.
Attaques Wi-Fi WPA Cédric Blancher 16/31 Faits Est-ce qu on peut brute-forcer des PSKs L espace de clé est énorme PBKDF2 est lente Un facteur 100 permet de gagner un caractère Temps de cassage... Supposons 100,000 check/s : 34 ans pour couvrir 8 caractères alphanum. 1051 ans pour couvrir l espace minimum
Attaques Wi-Fi WPA Cédric Blancher 16/31 Faits Est-ce qu on peut brute-forcer des PSKs L espace de clé est énorme PBKDF2 est lente Un facteur 100 permet de gagner un caractère Temps de cassage... Supposons 100,000 check/s : 34 ans pour couvrir 8 caractères alphanum. 1051 ans pour couvrir l espace minimum 2146 ans pour 9 caractères alphanum.
Attaques Wi-Fi WPA Cédric Blancher 16/31 Faits Est-ce qu on peut brute-forcer des PSKs L espace de clé est énorme PBKDF2 est lente Un facteur 100 permet de gagner un caractère Temps de cassage... Supposons 100,000 check/s : 34 ans pour couvrir 8 caractères alphanum. 1051 ans pour couvrir l espace minimum 2146 ans pour 9 caractères alphanum. Comparison : on peut casser du MD5 à 900M checks/s...
Attaques Wi-Fi WPA Cédric Blancher 17/31 Agenda 1 Cassons de la PSK Authentification WPA/WPA2 Fonctionnement du cassage de PSK Comparons des implémentations 2 Failles sur TKIP Comment fonctionne TKIP La fameuse attaque sur TKIP 3 Conclusion
Attaques Wi-Fi WPA Cédric Blancher 18/31 TKIP détaillé (1) TKIP est un algorithme de Key Scheduling au-dessus de WEP Intégrité assurée par l algorithme Michael TEK 128 bits Hash #1 Hash #2 "WEP" Key PPK 24 + 104 bits TSC 48 bits WEP Encrypted payload CRC32 ICV Source MAC Destination MAC Michael Cleartext data MIC TMK 64 bits Le TSC est un compteur de séquence
Attaques Wi-Fi WPA Cédric Blancher 19/31 TKIP détaillé (2) Chiffrement MP1(TA,TEK,TSCn) = TTAKn MP2(TEK,TSCn,TTAKn) = PPKn PPKn = (IVn Kn) Enc = WEP(Clear MIC) Déchiffrement Vérification de TSCn Clear MIC = WEP 1 (Enc) Vérification du MIC
Attaques Wi-Fi WPA Cédric Blancher 20/31 Attaque sur WPA? Publication intitulée WPA gone in 900 seconds par Beck and Tews Publiée en novembre 2008 Concerne TKIP, et seulement TKIP
Attaques Wi-Fi WPA Cédric Blancher 20/31 Attaque sur WPA? Publication intitulée WPA gone in 900 seconds par Beck and Tews Publiée en novembre 2008 Concerne TKIP, et seulement TKIP Principe général Adaptation de chopchop à TKIP Cassage de la clé MIC Réutilisation de keystream
Attaques Wi-Fi WPA Cédric Blancher 21/31 Adaptation de chopchop à TKIP Le MIC est censé bloquer les attaques de type chopchop Application de contre-mesures Envoi par la STA d un message MIC-Failure Problème : MIC-Failure = chopchop réussi
Attaques Wi-Fi WPA Cédric Blancher 21/31 Adaptation de chopchop à TKIP Le MIC est censé bloquer les attaques de type chopchop Application de contre-mesures Envoi par la STA d un message MIC-Failure Problème : MIC-Failure = chopchop réussi Limitations Ne fonctionne que dans le sens AP vers STA 1 MIC-Failure autorisé toutes les 60s
Attaques Wi-Fi WPA Cédric Blancher 21/31 Adaptation de chopchop à TKIP Le MIC est censé bloquer les attaques de type chopchop Application de contre-mesures Envoi par la STA d un message MIC-Failure Problème : MIC-Failure = chopchop réussi Limitations Ne fonctionne que dans le sens AP vers STA 1 MIC-Failure autorisé toutes les 60s L attaque devrait échouer à cause du TSC
Attaques Wi-Fi WPA Cédric Blancher 22/31 Récupération du MIC À supposer qu on puisse contourner le TSC, l attaquant peut déchiffrer une trame à 1 octet/min On obtient Clair +MIC Michael est faible : vous récupérez la clé de MIC Récupération d un Keystream de la longueur de la trame
Attaques Wi-Fi WPA Cédric Blancher 22/31 Récupération du MIC À supposer qu on puisse contourner le TSC, l attaquant peut déchiffrer une trame à 1 octet/min On obtient Clair +MIC Michael est faible : vous récupérez la clé de MIC Récupération d un Keystream de la longueur de la trame Oui mais... La vérification du TSC devrait bloquer la réutilisation du keystream
Attaques Wi-Fi WPA Cédric Blancher 23/31 Contourner le TSC 802.11e définit la QoS, connue sous le nom de WME Le trafic peut être éclaté selon la QoS 8 (voire 16) files sont disponibles pour la QoS Chaque file pôssède son propre TSC
Attaques Wi-Fi WPA Cédric Blancher 23/31 Contourner le TSC 802.11e définit la QoS, connue sous le nom de WME Le trafic peut être éclaté selon la QoS 8 (voire 16) files sont disponibles pour la QoS Chaque file pôssède son propre TSC Réutilisation du TSC... On peut rejouer un TSCn sur un file différente, moins utilisée On peut réaliser notre chopchop On peut réutiliser le Keystream
Attaques Wi-Fi WPA Cédric Blancher 24/31 Développement récents Annonce d un MitM sur WPA suite à un papier japonais (octobre) Amélioration de l attaque de Beck et Tews Utilisation d un MitM physique Papier norvégien tout récent (novembre) Utilisation de trafic DHCP en lieu et place d ARP Pistes de recherche intéressantes
Attaques Wi-Fi WPA Cédric Blancher 25/31 Agenda 1 Cassons de la PSK Authentification WPA/WPA2 Fonctionnement du cassage de PSK Comparons des implémentations 2 Failles sur TKIP Comment fonctionne TKIP La fameuse attaque sur TKIP 3 Conclusion
Attaques Wi-Fi WPA Cédric Blancher 26/31 Cassage de PSK Problème de sécurité réel, mais... Problème récurrent de la faiblesse des mots de passe Faisabilité questionnable Annonces clairement exagérées.
Attaques Wi-Fi WPA Cédric Blancher 26/31 Cassage de PSK Problème de sécurité réel, mais... Problème récurrent de la faiblesse des mots de passe Faisabilité questionnable Annonces clairement exagérées. Pour info... Premier papier sur le sujet : 2003
Attaques Wi-Fi WPA Cédric Blancher 27/31 Failles TKIP L attaque sur TKIP fonctionne Déchiffrement de trame dans le sens AP vers STA À la vitesse de 1 octet par minute Permet de générer 8 trames arbitraire au minimum
Attaques Wi-Fi WPA Cédric Blancher 27/31 Failles TKIP L attaque sur TKIP fonctionne Déchiffrement de trame dans le sens AP vers STA À la vitesse de 1 octet par minute Permet de générer 8 trames arbitraire au minimum Limitations Vitesse de l attaque... Limitée à une station
Attaques Wi-Fi WPA Cédric Blancher 28/31 The end... Merci à Simon Marechal pour ses travaux sur le cassage de mots de passe Merci de votre attention Questions?
Attaques Wi-Fi WPA Cédric Blancher 29/31 Bibliography I [WPA] Wi-Fi Protected Access, 2003, http://www.wi-fi.org/opensection/protected_ac [WPA2] Wi-Fi Protected Access 2, 2004, http://www.wi-fi.org/opensection/protected_ac [IEEE04a] IEEE Std 802.1x, Port-Based Network Access Control, 2004, http://standards.ieee.org/getieee802/download [MB08] S. Marechal and C. Blancher, Packin the PMK, 2008, http://sid.rstack.org/pres/0810_bacon_wpa2_en
Attaques Wi-Fi WPA Cédric Blancher 30/31 Bibliography II [MOS03] R. Moskowitz, Weakness in Passphrase Choice in WPA Interface, 2003, http://wifinetnews.com/archives/002452.html [KO04b] Korek, Chopchop, 2004, http://www.netstumbler.org/showthread.php?t=1 [BT08] M. Beck, E. Tews, Practical attacks against WEP and WPA, 2008, http://dl.aircrack-ng.org/breakingwepandwpa.p [MO08] M. Morii, T. Ohigashi, A Practical Message Falsification Attack on WPA, 2009, http://www.packetstormsecurity.org/papers/wir
Attaques Wi-Fi WPA Cédric Blancher 31/31 Bibliography III [HHEM09] FM. Halvorsen, O. Haugen, M. Eian, SF. Mjølnes, An Improved Attack On TKIP, 2009, http://books.google.com/books?id=msmsqoqufmoc