Se connecter avec
S'enregistrer | Connectez-vous

Comment protéger votre réseau WPA

WiFi : le WPA est-il sûr ?
Par

Il n’y a donc pas de souci à vous faire pour l’instant : en pratique, le WPA est encore sûr. Le nombre de hashes à traiter est beaucoup trop important ; la Wi-Fi Alliance a bien fait son travail, du moins sur ce plan. Même avec deux Radeon HD 6990, nous ne pouvons traiter qu’environ 200 000 clés par seconde, ce qui signifie qu’un mot de passe de plus de sept caractères alphanumériques est presque impossible à cracker en moins d’un an. Cela fait tout de même un peu long pour avoir Internet gratuit aux frais du voisin (cela ira plus vite avec un grand sourire et un pack de bières...). Ajoutez quelques caractères spéciaux et les attaques par force brute deviennent totalement impraticables sur les mots de passe de plus de six caractères.

Malheureusement, il y a un problème : la plupart des utilisateurs se contentent de mots de passe composés de simples mots, et ceux-ci sont vulnérables aux attaques par dictionnaire. Les langues française et anglaise ne comptent que quelques centaines de milliers de mots, or il ne faut qu’une seule GeForce GTX 590 pour traiter au moins 50 000 mots de passe WPA par seconde… Même avec quelques variations, il ne faut qu’un jour ou deux pour casser un mot de passe composé d’un mot. Pourquoi ? Parce que dans le cas des attaques par dictionnaire, un mot complet se traite comme une seule lettre ; « lamatrice » est donc aussi facile à casser que « a ».

Idéalement, nous vous conseillons donc d’éviter les pièges suivants si vous souhaitez rendre votre réseau plus sûr :

  • Évitez les mots du dictionnaire. Le Petit Robert contient moins de 100 000 entrées. Autant dire rien pour une GeForce GTX 590 ou un Radeon HD 6990.
  • Si vous ajoutez des chiffres, ne les mettez pas à la fin. Ajouter un 1 à la fin de votre mot de passe ne le rend pas plus sûr. Nous pouvons toujours traiter l’intégralité du dictionnaire plus quelques chiffres en moins d’une demi-journée avec une paire de cartes graphiques.
  • Évitez les mots répétés et les simples substitutions de lettres. « motdepassemotdepasse » ne fait que doubler le nombre de mots à chercher, ce qui reste assez simple au vu de la vitesse de traitement qu’autorisent les attaques par dictionnaire. Et « m0td3p@ss3 » n’est guère plus sûr : les hackers connaissent le l33tsp33k, donc cette option est à éviter.
  • Évitez les séquences de touches sur le clavier. Il n’est pas difficile d’ajouter AZERTY au dictionnaire des mots de passe à vérifier. Un autre raccourci à éviter, donc.
  • Évitez les séquences de chiffres connues. Le nombre 314159 est sans doute facile à retenir (c’est Pi !), mais il est également facile à essayer.
  • Évitez tout ce qui vous touche personnellement, par exemple votre numéro de plaque, de carte d’identité, votre ancien numéro de téléphone, votre anniversaire, etc. Nous vivons dans un monde où énormément d’informations sont publiques. Si vous avez un compte Facebook ou Twitter, la quantité d’informations auxquelles tout le monde a accès est potentiellement énorme.


Contre le hacker moyen, le WPA s’en tire remarquablement bien. Même si votre mot de passe est court, pour autant qu’il soit aléatoire (c’est-à-dire non vulnérable à une attaque par dictionnaire), les vitesses de traitement qu’offrent les cartes graphiques sont encore trop faibles pour être utiles. La fonction de dérivation de clé fait bien son travail.

La véritable menace, cependant, provient du calcul distribué. Quatre Radeon HD 6990 permettent de traiter près d’un demi-million de mots de passe par seconde, mais coûtent à peu près 3000 €. Par contre, il nous suffirait de modifier légèrement le code de Pyrit pour obtenir les mêmes performances sur dix instances d’Amazon EC2 à un prix de 8 $ ! Et même sans modifier le code afin d’automatiser la répartition des charges de travail, il reste possible de le faire manuellement.

Les offres actuelles en matière de calcul distribué ne sont peut-être pas si impressionnantes que cela en termes de performances, mais la véritable menace réside dans leurs tarifs. Moxie Marlinspike, un hacker, propose un service nommé WPACracker que l’on peut utiliser pour cracker une capture d’établissement de liaison en WPA-PSK ; il se compose de 400 clusters CPU hébergés au sein du cloud Amazon EC2. Ce genre de puissance de traitement lui permet d’effectuer une recherche basée sur un dictionnaire de 135 millions de mots spécifiquement créé pour les mots de passe WPA en moins de 20 minutes. Le prix : 17 $, bien que cela représente environ 112 500 mots de passe par seconde (l’équivalent d’une GeForce GTX 590).

Durée totale de la recherche à 1 million de mots de passe WPA par seconde (tarif Amazon EC2 Instances réservées)
Mots de passe de 1 à 4 caractères
Mots de passe de 1 à 6 caractèresMots de passe de 1 à 8 caractèresMots de passe de 1 à 12 caractères
Chiffres
Instantané
Coût estimé : 0,74 $
Instantané
Coût estimé : 0,74 $
2 minutes
Coût estimé : 0,74 $
12,75 jours
Coût estimé : 226 $
Minuscules
Instantané
Coût estimé : 0,74 $
5 minutes
Coût estimé : 0,74 $
2,5 jours
Coût estimé : 44,40 $
3147 ans
Minuscules, majuscules et chiffres (alphanumérique)
Instantané
Coût estimé : 0,74 $
16 heures
Coût estimé : 11,84 $
7 ans103 981 388 ans
Tous les caractères ASCII imprimables
2 minutes
Coût estimé : 0,74 $
9 jours
Coût estimé : 159,84 $
231 ansD’ici le prochain Big Bang, peut-être

Thomas Roth, un expert en sécurité qui a contribué à mettre en lumière les failles du PlayStation Network de Sony, semble à ce jour être la seule personne à avoir fait la démonstration publique d'un crackage sur GPU distribué en réseau dont les performances évoluent linéairement avec le nombre de nœuds. Sa configuration repose sur des instance de clusters GPU EC2 optimisées afin d’équilibrer la charge et de réduire les goulots d’étranglement. Donc, alors qu’il nous faudrait environ dix Radeon HD 6990 réparties dans trois ordinateurs de bureau pour atteindre la vitesse d’un millions de mots de passe WPA traités par seconde, nous pouvons obtenir les mêmes performances pour 60 $ en louant 20 instances de clusters GPU (et encore, la limite est récemment passée à 64 serveurs…). Le seul problème consiste à optimiser son code pour le cloud d’Amazon. Ne comptez pas sur nous pour faire un article là-dessus…

Les services de calcul par cloud comme l’Amazon EC2 ont à l’origine été conçus pour aider les développeurs et les scientifiques à résoudre des problèmes mathématiques complexes sans avoir à investir dans un centre de données. Nous doutons qu’Amazon ait pensé au piratage lorsqu’il a lancé son offre, mais le fait est qu’il est possible de l’utiliser pour casser des mots de passe et qu’il n’y pas le moindre doute que des hackers vont s’en servir à cette fin. Si quelqu’un veut vraiment pénétrer dans votre réseau, la qualité de votre mot de passe est probablement la seule chose qui pourra les en empêcher.

C’est au final pour cette raison qu’il vaut mieux renforcer ses mots de passe. La plupart des utilisateurs se contentent de mots de passe alphanumériques pour verrouiller leur réseau WiFi, ce qui les fragilise considérablement. Et combien d’entre nous connaissent des amis ou des parents qui n’ont jamais modifié le mot de passe par défaut de leur routeur ? On sait par exemple qu’aux États-Unis, les routeurs AT&T U-verse (dont le SSID par défaut est toujours 2Wirexxx, xxx étant trois chiffres) sont livrés avec des mots de passe composés uniquement de chiffres et d’une longueur de 10 caractères maximum. Avec deux Radeon HD 6990, cela se casse en moins de 14 heures.

Bref, changez le SSID que votre fournisseur vous donne par défaut et utilisez un mot de passe WPA qui suit les règles suivantes :

  • Entièrement aléatoire
  • Long d’au moins huit caractères
  • Contient au moins une majuscule
  • Contient au moins une minuscule
  • Contient au moins un caractère spécial (par exemple @ ou !)
  • Contient au moins un chiffre


Pour ceux d’entre vous qui travaillent dans l’informatique, mieux vaut investir dans un serveur d’authentification : cela ajoute une couche de protection supplémentaire, car la clé primaire est générée de manière dynamique et n’est pas accessible à l’utilisateur. La clé PMK est donc une clé symétrique spécifique à chaque session entre le client et le point d’accès, ce qui accroît à l’infini la complexité des attaques par force brute. En fait, si vous êtes responsable informatique d’une société, vous avez probablement plus à craindre que quelqu’un soudoie un employé ou vole un ordinateur portable non chiffré.

Remettons quand même les choses en perspective

Dès que l’on parle de sécurité, il est facile de s’emballer : avant de cadenasser un réseau à triple tour, il peut être bon de se demander si l’on a quoi que ce soit à voler.

Évidemment, tout le monde a des données qui doivent rester privée, raison pour laquelle tout le monde doit au moins essayer de ne pas faciliter la tâche aux intrus. La plupart du temps, les indiscrets vont simplement voir que votre point d’accès est verrouillé et passer au suivant. Les utilisateurs du forum Netstumbler estiment que 10 à 20 % des réseaux sont encore chiffrés en WEP. Si un pirate cherche à détourner un réseau, il va probablement commencer par chercher l’un de ceux-là. Si quelqu’un est prêt à passer des heures, des jours, voire des années à donner des coups de boutoir dans votre forteresse renforcée au WPA, c’est probablement qu’elle contient des secrets qui en valent la peine.

Le fait est que pour la plupart, nous ne sommes tout simplement pas suffisamment intéressants à attaquer, pour autant que nous ayons pris la peine de chiffrer notre réseau avec le bon protocole. Nos collègues américains nous disent souvent que la meilleure arme pour se protéger des intrus est un fusil à pompe, non parce qu’il est plus puissant qu’une arme de poing, mais parce que le bruit qu’il fait quand on l’arme suffit généralement à faire fuir les voleurs. Considérez le WPA comme votre fusil à pompe (et puis c’est moins violent).