Introduction
L’HADOPI a annoncé avoir envoyé ses premiers emails d’avertissement aux internautes téléchargeant illégalement films, musiques et autres oeuvres protégées par le droit d’auteur. Ces emails se fondent sur l’observation des adresses IP utilisées pour le téléchargement. Du coup, certains pirates peu scrupuleux peuvent chercher à mettre à profit la bande passante de leurs voisins en se connectant à leur réseau WiFi. Ne dit-on pas qu’une clé WEP se casse en cinq minutes ? Il était temps de faire le point sur la sécurité des mots de passe WiFi.
Mais c’est quoi le WEP ?
Pourquoi encore utiliser le WEP ?
Si vous êtes un pionnier du Wi-Fi et que votre réseau ne prend en charge que la norme 802.11b, il se limite peut-être uniquement au WEP. De même, quelques rares appareils ne prennent en charge que le WEP. Enfin, vous êtes peut-être en WEP sans le savoir, certains FAI ayant configuré les bornes sur cette norme.
Le WEP (Wired Equivalent Privacy) est un procédé de chiffrement qui a été intégré à la norme 802.11 (Wi-Fi) en 1997. Prévu pour offrir la même sécurité qu’un réseau filaire (à l’époque), le WEP existe en deux versions : une avec une clé de 40 bits (WEP 64 bits) et une autre avec une clé de 104 bits (WEP 128 bits).
Le fonctionnement est « simple » : la clé utilisateur et un vecteur d’initialisation (IV) de 24 bits sont concaténés pour former une clé de 64 ou 128 bits, utilisée pour chiffrer les données avec un algorithme RC4. Le point d’accès chiffre les données avec la clé et les envoie au client, avec le vecteur d’initialisation en clair, qui permet au client de reconstituer la clé et donc de décoder le message.
Le problème, c’est que seuls les 24 bits du vecteur d’initialisation varient, la partie « clé WEP » ne changeant jamais. Avec 5 000 paquets, on a déjà 50 % de chances que le même vecteur d’initialisation soit utilisé, ce qui pose des problèmes de sécurité. Comme seul le vecteur d’initialisation change il est donc possible, en analysant des trames reçues (sachant que l’IV n’est pas chiffré) de créer une « collection » d’IV et les résultats RC4 correspondants.
En disposant d’assez de paquets chiffrés (entre un et deux millions) et les IV correspondants, il est possible de récupérer la clé WEP rapidement, et sans tomber dans les problèmes de la « force brute » : une clé de 128 bits se casse environ deux fois moins vite qu’une clé 64 bits, alors qu’en force brute le rapport est bien plus grand. Globalement, le problème est d’obtenir assez de paquets, pas de casser la clé elle-même. Dans la pratique, l’attaque de base nécessite généralement 1 heure d’écoute au moins, sur un réseau avec des clients (idéalement une personne qui télécharge un gros fichier, par exemple) puis environ une minute pour casser la clé elle-même.
Depuis 2007, il est même possible de se limiter à 40 000 paquets capturés et d’avoir environ 50 % de chances de calculer la clé (à 85 000 paquets, il y a 95 % de chances de trouver la clé). Et avec les techniques modernes, il est possible de générer du trafic artificiellement, en réinjectant des données dans le réseau, qui seront en partie relayées par le point d’accès et donc utilisables pour la capture des paquets. Les données sont en fait les paquets d’identifications, qui ne sont pas authentifiés par le point d’accès et donc réutilisables à volonté. Typiquement, une injection permet d’envoyer environ 600 paquets par secondes et donc d’atteindre les 40 000 paquets très rapidement (environ 1 minute sur un réseau avec du trafic).
Comme on le voit, le WEP manque singulièrement de sécurité et le WPA ou mieux le WPA2 sont bien plus efficaces et pour le moment difficilement attaquable, sauf si vous utilisez un mot de passe simple et présent dans un dictionnaire (on évite donc password, motdepasse, passw0rd, etc.).
Après cette (petite) explication théorique, passons à la pratique.
Cracker du WEP ? Facile ! Ou pas…
Une clé WEP se casse en 5 minutes, voilà ce qu’on peut lire et entendre régulièrement. Chiche ! Pour le vérifier, nous avons configuré notre routeur WiFi pour créer un réseau WEP basique : clé de 128 bits, pas de filtrage sur les adresses MAC. Un PC client était connecté dessus.
Top départ des cinq minutes. Une rapide requête sur notre moteur de recherche préféré nous fournit une liste de liens vers des logiciels spécialisés et autres tutoriaux. Il en ressort que l’outil le plus adapté est une suite de logiciels – la bien nommée Aircrack-ng. Nous apprenons aussi que ces logiciels fonctionnent idéalement sous Linux, alors que leur développement et leur support sous Windows ou Mac OS sont très limités. Qu’à cela ne tienne, les outils Aircrack-ng sont intégrés dans une distribution Linux disponible en LiveCD, BackTrack. Plus embêtant, nous découvrons que Aircrack-ng ne peut exploiter qu’un petit nombre de cartes WiFi. Et bien sûr, le chipset équipant notre PC de test, une Broadcom BCM4312, n’en fait pas partie. Par chance nous disposions de deux autres cartes WiFi Mini-PCI : une RaLink RT2700, et une Atheros R5008X. Seule cette dernière fonctionna du premier coup avec AirCrack. Pour les autres, des drivers patchés existent sans doute, mais ce genre de manipulation n’est vraiment pas réalisable en cinq minutes par le premier pirate venu.
Une fois ces prérequis logiciels et matériels satisfaits, le crackage n’est en effet plus qu’une question de temps et d’application méthodique des tutoriaux disponibles sur la toile. Airmon pour passer la carte en mode moniteur, airodump pour recueillir les informations de base sur le réseau à attaquer (adresse MAC du point d’accès et des clients, canal d’émission, etc.) et enregistrer le trafic, aireplay pour capturer un paquet authentique et le réinjecter dans le réseau, accélérant ainsi la collecte des vecteurs d’initialisation par airodump, puis Aircrack pour calculer la clé à partir des milliers de paquets enregistrés.
Dans le cas le plus favorable (matériel compatible, logiciel disponible, réseau actif), le cassage d’une clé WEP est bien une affaire de quelques minutes. Il peut demander un peu plus de temps si d’autres mesures de protection sont en place. Ainsi, si le routeur n’accepte que certains clients selon leur adresse MAC, il faudra une étape supplémentaire pour relever l’adresse MAC d’un client autorisé et l’attribuer au PC attaquant le réseau. De même, si aucun client n’utilise le réseau WiFi cible, le crackage prendra nettement plus de temps puisqu’il n’y aura quasiment pas de trafic à collecter. D’autres attaques sont néanmoins possibles (fragmentation, chop-chop…) et dans tous les cas, nous avons pu pirater notre réseau de test.
Vous l’aurez compris, si vous souhaitez empêcher l’accès à votre réseau WiFi, ne faites pas confiance aux clés WEP, la seule mesure de protection efficace de votre réseau étant l’incompatibilité matérielle du PC du pirate avec les outils de piratage !
Cracker du WPA ?
WPA ou WPA2 ?
Le WPA est un protocole de transition renforçant en urgence le WEP, en attendant le WPA2. Plus récent, le WPA2 améliore le WPA sur un point principal : il rend obligatoire le chiffrement CCMP AES, là où le WPA tolérait le RC4 au sein du protocole TKIP (dans lequel les deux chercheurs allemands Beck et Tews ont trouvé une faille en 2008). Le WPA2 facilite également le déploiement en entreprises en légitimant d’autres méthodes d’authentification que l’EAP-TLS. Enfin, le WPA2 accélère la reconnexion aux points d’accès récemment quittés. Le WPA2 est préférable au WPA mais peut se révéler incompatible avec certains matériels anciens, car sa gestion n’est exigée que depuis 2006.
Face à la débâcle du WEP, la WiFi Alliance mit en place le WPA Wireless Protected Access, suivi du WPA2. Ces protocoles nourrissent un véritable mythe puisqu’ils sont annoncés tour à tour inviolables ou crackés en 10 minutes. Essayons de trier le vrai du faux.
Derrière le WPA et WPA2 se cachent de nombreuses variantes. Distinguons d’une part le WPA/WPA2 “personnel” et le WPA/WPA2 “entreprise”. Dans le premier cas, l’authentification sur le réseau passe par un mot de passe principal, commun à tous les périphériques accédant au réseau. Ce mot de passe est baptisé la PSK ou Pre-Shared Key, la clé prépartagée. Les différents membres du réseau s’authentifient au travers d’une Pairwise Transient Key, générée pour chaque périphérique à partir de nombres aléatoires et de la Pairwise Master Key, elle-même générée à partir du nom du réseau et de la PSK.
Ce système a l’avantage d’être plus robuste que le WEP : la clé PSK n’est jamais transmise directement sur le réseau, et chaque périphérique possède sa propre clé qui est périodiquement renouvelée. Le WPA est également protégé contre les injections de paquets, si efficaces contre le WEP. Cependant, cette méthode d’authentification n’est pas exempte de défaut. Ainsi, si elle est mieux protégée d’un attaquant externe, elle ne l’est pas du tout d’un attaquant interne, un “Man in the middle” comme on dit outre-Atlantique : dès que l’on connaît la PSK, on peut déduire en “écoutant” le trafic la PTK de n’importe quel membre du réseau, et ainsi voler des informations.
Pour éviter ces problèmes, les réseaux dits d’entreprise reposent sur une autre méthode d’authentification, ou plutôt sur de nombreuses autres méthodes. Les plus courantes sont EAP-TLS, et PEAP. Toutes deux nécessitent un serveur d’authentification, et des certificats (un propre au serveur et un propre à chaque poste client dans le cas d’EAP-TLS), une infrastructure trop complexe pour le particulier.
Que ce soit WPA/WPA2 PSK ou EAP, ces réseaux ne sont pas crackables, dans la mesure où aucune faille ne permet de récupérer le mot de passe. Ils ne sont pas totalement inviolables pour autant. D’une part, il est toujours envisageable de trouver la clé par l’attaque la plus bête qu’on puisse imaginer : force brute, qui consiste à essayer une à une toutes les clés possibles.
Cette méthode est envisageable théoriquement mais irréaliste à l’heure actuelle. Une clé WPA mesure 256 bits, et est le plus souvent rentrée sous la forme d’un mot de passe de 8 à 63 caractères, choisi parmi 95 caractères ASCII. Au maximum, il y a donc 9563 clés possibles. Soit environ 4 x 10124. Rappelons que 1 milliard (1 Giga-) vaut 1 x 109. Malgré la puissance des processeurs actuels, les meilleurs logiciels de crackage ne parviennent à effectuer que quelques milliers d’essais à la seconde. En optimisant le code pour les GPU, on accélère énormément le traitement. En utilisant le logiciel de la société Elcomsoft qui avait fait grand bruit à sa sortie sur une Geforce GTX 480, nous avons obtenu une vitesse moyenne de 25 000 clés à la seconde. Les développeurs de l’utilitaire Open Source Pyrit sont même parvenus à tester jusqu’à 280 000 clés par seconde (ce record fut tout de même obtenu grâce à 4 Radeon HD 5970, soit 8 GPU). Mais même à cette vitesse, il faudrait attendre 4,5 x 10111 années pour être sûr de trouver une clé.
Cependant, peu d’entre nous sont prêts à retenir une clé de 63 caractères aléatoires. Dans le cas le plus courant, la clé sera composée de seulement 8 caractères, pris uniquement parmi les chiffres et les lettres (minuscules et majuscules). Il n’y a alors plus que 628 = 2,2 12 clés possibles. Avec un seul CPU, le temps de calcul est toujours hors de portée (1400 ans environ) mais avec 8 GPU, on descend à moins de 25 ans. Le cassage par force brute devient donc tout à fait envisageable à moyen terme par une grille de calcul rassemblant quelques centaines de PC.
La force brute n’est toutefois pas la seule méthode envisageable. Les pirates savent très bien que rares sont les utilisateurs à faire l’effort d’inventer un mot de passe aléatoire et incompréhensible. Nous autres, pauvres humains à la mémoire limitée, aimons bien utiliser des codes faciles à mémoriser : date de naissance, noms propres, prénoms aimés, phrases rigolotes. Du coup, les hackers ont pensé à compiler des listes de ces mots de passe courants. Il est facile de télécharger ces dictionnaires plus ou mois complets, disponibles dans plusieurs langues, comprenant uniquement des noms, ou aussi des chiffres ou encore des combinaisons connues de l33t sp43k comme Passw0rd.
Si jamais votre mot de passe se trouve dans ces dictionnaires, votre réseau n’est qu’à quelques minutes de se faire cracker.
Conclusion
Alors que les premiers emails d’avertissement ont été envoyés par l’HADOPI, il est plus que jamais temps de sécuriser son accès à Internet. Or c’est un sujet très vaste dont nous n’avons fait ici que gratter la surface. Une chose est certaine : un réseau WiFi n’est pas sécurisé par un chiffrement WEP. Les protocoles WPA et WPA2 offrent une réelle protection pour encore quelques années, avant que la puissance de calcul des GPU ne donne les moyens à tout un chacun de les casser par force brute.
Cependant, le meilleur des protocoles de chiffrement ne peut rien contre la faiblesse humaine qui incite à choisir un mot de passe simple à retenir. Pour sécuriser réellement votre réseau, forcez-vous à mémoriser une clé composée de chiffres, lettres minuscules et majuscules et caractères spéciaux dans un ordre aléatoire. Votre réseau WiFi sera alors protégé des attaques directes. Sauvé ? Non pas encore.
Nous ne pouvons clore ce dossier sans attirer votre attention sur les autres brèches potentiellement présentes dans votre réseau. La première est bien entendue votre PC. La présence d’un logiciel espion est une faille encore plus grave que le cassage de la clé de votre réseau WiFi puisque cette clé et sans doute nombre de vos mots de passe et identifiants sont stockés quelque part sur votre disque dur.
La seconde brèche est moins évidente : c’est votre Box. Les FAI sont en effet assez négligents quant à la sécurité de votre Box. Nombre d’entre elles fonctionnent avec un système d’exploitation issu de logiciels libres, lui-même susceptible d’être piraté. Les NeufBox furent par exemple la cible d’une attaque de ce type. Dans le cas des premières BBox, la clé WPA d’origine était déduite du nom du réseau par défaut (de type BBox-123456) via un algorithme connu. Bouygues a dû combler cette faille par une mise à jour du firmware. Pire, certaines box sont encore livrées avec un mot de passe d’administration ridicule, le fameux “admin/admin”. De là, il est enfantin de prendre le contrôle de votre connexion, de retrouver le mot de passe du WiFi, etc. On trouve également des routeurs dont l’interface de configuration est accessible depuis l’extérieur et dont le mot de passe d’administration est inscrit en clair dans le code source de la page html. L’équivalent de cacher les clés de sa porte sous le paillasson en somme.
Moralité, après avoir choisi une bonne clé WPA, pensez donc à aller faire un tour dans les pages de configuration de votre Box.