Le WPS (Wi-Fi Protected Setup) est une norme de plus en plus utilisée dans les points d’accès Wi-Fi, parce qu’elle a le mérite d’être simple à utiliser et « sécurisée ». Pourtant, une faille a été découverte dans son fonctionnement. Avant de nous intéresser à celle-ci, expliquons d’abord ce qu’est le WPS.
Le WPS est une technologie qui va créer une clé WPA aléatoire, ce qui rend celle-ci plus « solide » qu’une clé classique et évite de communiquer le mot de passe. Il y a plusieurs méthodes, qui vont permettre au point d’accès d’accepter un périphérique.
La première, c’est une méthode par code PIN. Un code de 8 chiffres est à entrer sur l’appareil à inclure au réseau. Elle est obligatoire dans la norme. La seconde, c’est un bouton à presser sur les deux appareils, pour accepter la communication. Le bouton peut être virtuel et cette méthode est obligatoire sur les points d’accès. Les deux suivantes sont optionnelles : la première est le NFC, qui nécessite d’approcher les deux appareils, la seconde nécessite une clé USB contenant les informations.
Beaucoup de constructeurs (Belkin, Linksys, etc.) et de FAI (Free, Orange, SFR) proposent le WPS dans leurs appareils, la norme est en effet pratique et les systèmes d’exploitation récents la supportent.
Tout le problème vient du code PIN. La première vulnérabilité est que même si le code est composé de 8 chiffres, le dernier est en fait une somme de contrôle, donc connue par l’attaquant. La seconde, c’est que le système prévient quand les quatre premiers caractères sont faux. Au départ, on considère donc qu’il y a 108 possibilités de code (100 000 000), une valeur élevée compte tenu du fait qu’il y a une communication obligatoire entre le point d’accès et l’ordinateur et qu’il est donc impossible de simplement tester en local.
Avec la faille, on se rend compte qu’il n’y a en fait que 104 possibilités (10 000) pour trouver la première partie du code PIN et ensuite 103 (1 000 possibilités) pour la seconde partie, ce qui donne au maximum 11 000 possibilités. Et dans la pratique, on est évidemment fréquemment sous cette limite, ce qui rend l’attaque utilisable.
Le script utilisé pour déterminer le code n’est pas encore connu, mais les personnes (comme votre serviteur) qui utilisent des appareils WPS seraient bien inspirées de désactiver cette technologie en attendant un correctif de la part des constructeurs de points d’accès.