Nous trouvons beaucoup d’articles sur internet, rédigés par des passionnés, hackeurs plus ou moins éthiques et chevronnés , bidouilleurs, ou réelles menaces :/
Qu’en est-il exactement ?
Après avoir travaillé le hacking des réseaux wifi pendant quelques jours, je vous fais part de ma synthèse de la situation :
– Les compétences nécessaires : être un bon petit bidouilleur, assez bien connaître Linux, autant dire déjà, ce n’est pas donné à tout le monde, genre un voisin Lambda, quoique 🙂
– Dans les zones fortement peuplées, forcément, le risque augmente.
– Le matériel nécessaire ? N’importe quel PC ou Mac, même le moins puissant… quoique :), avec un Linux maison, ou une distribution toute faite comme le célèbre Kali ( anciennement Backtrack ) par exemple.
Et dans le principe ?
– Facile, mais limité : le hackeur doit se trouver à portée de votre réseau, et avoir de la chance, pour déjà résumer. Tout le monde n’est pas vulnérable !
– Réussir à se connecter à un réseau, permettra d’avoir accès ( tout ou partie ) aux machines sur le réseau, et d’écouter ( via un sniffer ) les échanges : Le Web, les mails, essentiellement, qui passent par des canaux non protégés ( http au lieu du https, et smtp de base, sans le TLS ), PC avec compte d’administrateur sans mot de passe ( genre Windows XP… ), les périphériques média qui partagent leurs disques sans compte utilisateur, …
Ok, et plus concrètement ?
Allez, un peu de technique. Votre réseau Wifi ( particulier, ou entreprise ), peut être protégé via :
– Open, sans mot de passe : tout le monde peut se connecter à votre réseau. Un réseau d’entreprise pourrait utiliser un filtrage MAC désuet, a banir !
– Un peu crypté : le WEP – Attention danger !!! – un réseau Wifi protégé en WEP peut être craqué en quelques minutes…
– Mieux crypté : le WPA, mais a remplacer par le WPA2 ( simple paramétrage du point d’accès sans fil – Access point, AP ) – l’utilisation de cette sécurité permet de crypter tous les échanges sur votre réseau sans fil, et donc de ne permettre aucune écoute ni connexion dans votre réseau.
Quid de l’authentification ?
– En général et pour une infrastructure simple, beaucoup de monde utilise un mot de passe, ou clé pré-partagée ( PSK, pre-shared key ) : risque mitigé, on va revenir la dessus un peu plus loin.
– Une authentification sans transmettre le mot de passe est possible, via le système Wifi Protected Setup ( WPS ) : un appui sur un bouton, ou un code pin valable 2 minutes par exemple, et vous permettez à une personne de se connecter à votre réseau ( pendant ce temps, si le hackeur est sur place, il pourra récupérer le mot de passe ! Mais il faut une sacrée chance… a quelle fréquence associe-on un périphérique en WPS en général ? )
– Une authentification d’entreprise ( MGT – Management ) qui utilise un service Radius d’authentification, qui peut aussi être attaqué, mais très difficile, et nécessite une certaine infrastructure ( quoique très facile a mettre en oeuvre avec un NAS Synology par exemple )
Bon, cet article se doit d’être accessible à tout le monde…
Ok ok, alors simplifions un peu….
Vous montez votre réseau Wifi, et utilisez le protocole WPA2 ( n’utilisez rien d’autre ). Très bien. Quid du mot de passe ?
Et c’est la que tout va se jouer !
Les attaques en force brute se sont pas utilisables en Wifi WPA, qu’on le sache de suite. Les hackeurs utilisent des dictionnaires de mot de passe, et pour ceux qui essayent de générer leurs dictionnaires, ce n’est pas jouable, sérieusement. Je vais démontrer pourquoi.
Soit vous utilisez un mot de passe assez simple qui se trouve dans un de ces dictionnaires ( Si on cherche, on trouve ), soit il est assez complexe, et risque fort de ne pas s’y trouver, et le tour est joué.
Je m’explique, avec des chiffres, désolé les filles 😉 :
– Le WPA nécessite un mot de passe de au moins 8 caractères.
– Il existe 26 lettres, plus majuscules, 10 chiffres, et j’ai recensé 32 caractères exploitables ( { # $ € & @ par exemple et j’en passe… ) soit disons 94 caractères a utiliser pour un mot de passe complexe.
– la formule des combinaisons est le nombre de caractères possibles, puissance le nombre de caractères utilisés. Comme le binaire sur 8 bits, 2^8=256 possibilités
Quelques exemples :
– mot de passe super simple sur 8 caractères : 26^8=209 milliard de possibilité ( pas mal, mais ce n’est rien pour un ordinateur ! )
– mot de passe complexe sur 8 caractères : 94^9 = 6 million de milliard de possibilités ( déjà beaucoup plus conséquent )
– mot de passe complexe sur 14 caractères : 94^14 = 4,2 milliard de milliard de milliard de possibilités 😉
Mais ce n’est pas suffisant ! Le dictionnaire !
Un bon dictionnaire ( j’en ai un qui semble correct… ) contient plusieurs milliard de mots de passes différents. Je vais vous dire en combien de temps on arrive a cracker un réseau WPA avec mot de passe complexe mais indexé….
J’ai monté une station de calcul, ça a nécessité quelques opérations un peu plus complexes et un peu plus de matériel. Equipé d’un PC avec deux bonnes cartes graphiques en SLI, je recompile un noyau linux en intégrant la bibliothèque de calcul CUDA de nVidia, car les processeurs graphiques sont vraiment beaucoup plus performants que les processeurs à cela. A cela j’utilise un logiciel qui les exploite, dédié au calcul des blocs de clés maîtres ( PMK ou Pairwise Master Key ) afin de retrouver le mot de passe d’origine.
Pour faire simple : Vous définissez un mot de passe, qui servira a crypter les paquets de données en wifi. A partir d’un dictionnaire, ou d’une liste de mots de passe et du nom de la borne wifi ( le SSID, ESSID – Service Set Identifier ), nous calculons tous les blocs cryptés possibles, restera ensuite à retrouver, si le mot de passe utilisé fait partie de notre dictionnaire, le bloc qui ressemblera complètement, et on aura retrouvé le mot de passe !
Pour résumer
- Protégez votre réseau Wifi en WPA2
- Utilisez un mot de passe constitué de tous les caractères possibles, minuscules, majuscules, chiffres, et caractères tels que $ ^ { } ( ) [ ] ‘ » # etc…..
- utilisez au moins 12 caractères, ce sera suffisant !
- Les preuves de hacking de la TV ou les preuves de concept, ne sont que des preuve de concept, souvent des démonstrations préparées. Dans la vraie vie, c’est quand même moins facile, pour l’avoir expérimenté.
Quelques chiffres supplémentaires ( concernant le chiffrement 😉 )
- Avec ma station et deux cartes graphiques, je calcule 150000 blocs cryptés par seconde ( Deux cartes nVidia GTX980M en SLI ), quand un « simple cpu puissant » arrive a en calculer 2500 ( core i7 )
- J’arrive donc a cracker un mot de passe qui se trouve dans mon dictionnaire de 2 milliards d’occurences ( pour des mdp compris entre 8 et 15 caractères ), en 2 heures, quand il faudra 5 jours pour un seul bon PC, si j’ai réussi a capture le paquet qu’il faut ( Authentification sur l’AP, que l’on peut toutefois forcer )
- Si un mot de passe ne se trouve pas dans un dictionnaire, alors générer un dictionnaire de combinaisons possible n’est pas jouable, et ne sera pas jouable sauf pour des entreprises employant de très gros moyens ( Genre, la NSA, les services de renseignements avec des datacenters dédiés, ok… ) : un dictionnaire de combinaison de 8 caractères consommera 100 mille disques de 10 Téra-octets… qu’il faudra ensuite faire calculer… les blocs précalculés pour un SSID donné consommant beaucoup plus de place que cela !
- Quid de la sécurité de la livebox d’orange ? Orange est une société sérieuse. Les réseaux wifi emploient une PSK de 26 caractères héxadécimaux ( de 0 a 9 et de A a F ), soit 26^16 = 43 milliard de milliard de possibilité. J’ai souri quand j’ai vu sur des forums, des apprentis hackers s’échanger des fichiers de clés orange. Il faut entre 1 seconde ( si on a de la chance 😉 ) et plusieurs siècles ( pour ne pas dire, millénaires 😉 ) pour cracker la clef d’un réseau Orange, certes pénible quand il s’agit de transmettre la clef à un ami qui souhaite se connecter avec votre réseau…. Allez, je fais le calcul, rien que pour les clef : 43,608,742,899,428,874,059,776 combinaisons x 26 lettres = 1,133,827,315,385,150,725,554,176 = 113,382,731,538 disques de 10To. soit un budget de…. 34 mille milliard d’euros pour les disques. Ensuite, il faudra calculer les clefs 🙂
Glossaire :
- AP : Point d’accès sans fil
- WEP : protocole de chiffrage, qui n’est plus sécurisé
- WPA/WPA2 : bon protocole de chiffrage ( WPA2 )
- WPS : technologie d’association simplifiée à un réseau Wifi
- PSK : clef pré partagée, un mot de passe que vous transmettez pour permettre une connexion à votre réseau
- Sniffer : logiciel qui capture tous les paquets, les décode, pour afficher le contenu des mails, pages web visitées, … pourvu qu’elles ne soient pas en https ou mail sécure
- Http : protocole de navigation web non sécurisé
- Https : Http, sécure 🙂
- SSID : Nom textuel, d’un point d’accès ( Exemple : Freebox, LiveBox, … )
- BSSID : SSID, mais en adresse hexadécimal
- MAC : identifiant unique d’une carte réseau ( y compris en Wifi )
- CUDA : Technologie de calcul dédiée et à très haute performance, équipant les cartes graphiques
- SSL : terme obsolète depuis fin 90, remplacé par TLS
- TLS : Transport Layer Security, cryptage avec échange de clefs, non crackable ( sauf dans la théorie… )
- Cryptage asymétrique : nécessite deux clefs ( clé publique, clé privée ) pour un haut niveau de sécurité ( AES, … )
- Cryptage symétrique : clef unique, pour crypter et décrypter pour un assez haut niveau de sécurité ( 3DES, … )
- Hashage : empreinte unique permettant de vérifier qu’une donnée n’a pas été altérée ( CRC pour l’intégrité de données, mais MD5 ou SHA1 et maintenant SHA2 pour la sécurité )
- …