Evolution de la sécurité WiFi

2

Dans le chapitre précédent, nous avons vu les 3 points importants sur la sécurité WiFi:

  • Authentification: il faut que le réseau identifie les entités qui souhaitent utiliser le WiFi
  • Chiffrement: il faut chiffrer les données WiFi pour les rendre illisibles car l’interception de trames WiFi est très facile à faire et très difficile à identifier et à géo-localiser
  • Disponibilité: il faut protéger l’infrastructure contre les attaques extérieures car aussi relativement facile à faire

 Regardons en détail chacun de ces points, attention c’est un article long, voir très long mais passionnant 🙂

Historique

La sécurité pour le WiFi a évolué avec le temps, allant du paramétrage d’une simple clé WEP, au WPA pour aboutir à ce jour au WPA2.

Nous allons détailler cette évolution pour en comprendre la finalité.

 

 

Filtrage par adresse MAC

Tout d’abord, pour sécuriser son réseau WLAN, il est tout à fait possible de définir au sein de la borne WiFi une liste “blanche” d’adresses MAC autorisées. On dit liste “blanche” pour une liste contenant des adresses MAC légitimes. A contrario, une liste “noire” contiendra des adresses qui seront considérées comme illégitimes et donc à interdire. D’où le terme de site web Blacklisté car peu recommandable.

Vous remplissez cette liste blanche de toutes les adresses MAC des cartes Wifi de vos ordinateurs portables, Iphone, Android, Ipad, tablettes… uniquement ces adresses MAC auront le droit de communiquer avec la borne Wifi. C’est aussi simple que ça !

Quels sont les inconvénients de cette liste blanche?

J’en vois deux importants:

  1. il faut identifier toutes les adresses MAC qui seront autorisées. Simple pour chez soi mais très dur à établir pour une entreprise qui intègre des centaines voir des milliers d’équipements!
  2. sans communiquer directement avec la borne d’accès, un pirate peut écouter le trafic WiFi qui transite dans les airs. En écoutant ce trafic, il peut récupérer assez facilement les adresses MAC qui discutent avec la borne d’accès  Il connait alors une adresse MAC qui appartient à la liste blanche. Que va-t-il faire avec?  Il va usurper cette adresse MAC en la configurant sur sa propre carte WiFi en utilisant un logiciel spécifique qui permet de changer l’adresse MAC de sa carte réseau WiFi (cf photo ci dessous):

Le fait de récupérer toutes les adresses MAC pour les insérer dans une liste blanche est aussi sécurisé que fermer une porte en laissant la clé sous le paillasson. Personne ne peut ouvrir la porte jusqu’au moment où une personne un peu futée soulèvera le paillasson 🙂
 
Donc on oublie le filtrage par adresse MAC dans le monde entreprise mais on le retient comme étant une possible réponse pour le particulier.
 

Cacher le SSID

Sur certains bornes WiFi, vous avez la possibilité de cacher le SSID.

SSID, kezako?  Le SSIDService Set IDentifier – est l’identifiant de votre WLAN. Lorsque vous souhaitez vous connecter à un WLAN, votre carte WiFI vous affiche différents WLAN qui sont dans les alentours. Le nom de chacun est appelé SSID. Et ce SSID est diffusé régulièrement dans les airs par la borne pour avertir sa présence. Ce SSID est contenu dans un message WiFi appelé un “Beacon” (ou “Balise” en français).

Vous pouvez activer une option pour que le SSID ne soit pas diffusé dans les airs. Donc uniquement ceux qui connaissent exactement le nom de votre WLAN peuvent se connecter en configurant manuellement le SSID dans leur ordinateur portable.

Dans les contrôleurs WiFi de Cisco, cette option est appelée “Broadcast SSID” et il faut la décocher comme sur l’image de droite.

 

 

 

 

Pour configurer un WLAN sur son ordinateur lorsque le SSID est caché, sélectionnez “Manually create a network Profile” (exemple sur Windows Seven anglais)

 

Puis dans “Network Name” entrez le nom de votre SSID. Si vous avez des paramètres de sécurité (WEP, WPA…), vous devez aussi les configurer.

 

Si je cache mon SSID alors suis-je vraiment sécurisé ?

Et bien pas du tout ! 🙂

Cacher son SSID permet de cacher votre WLAN pour la majorité des personnes novices en WiFi et c’est déjà pas mal!

En utilisant un sniffeur comme Wireshark, vous pouvez récupérer les trames échangées entre un client légitime et une borne d’accès. Et au sein de ces trames se trouve la valeur du SSID. Donc en cherchant un peu, vous trouverez très rapidement la valeur SSID du réseau qui se veut être invisible 🙂

Il ne vous reste plus qu’a configurer manuellement le WLAN sur votre ordinateur comme explique dans les images ci-dessus.

 

Idem, on oublie l’option de cacher le SSID dans le monde entreprise mais on le retient comme étant une possible réponse pour le particulier.
NB: chez certains de mes clients, il cache le SSID dédié a la téléphonie. Pourquoi pas…

 

Sécurisation WEP

On a une possibilité pour retreindre l’accès à la borne Wifi ainsi que de rendre les communications illisibles entre clients légitimes et la borne d’accès: c’est l’utilisation du chiffrement.

Si on définit un mot de passe commun entre les clients et la borne d’accès alors seuls les clients qui connaissent le mot de passe peuvent transiter par la borne WiFi. Ce même mot de passe va être utilisé pour chiffrer les trames WiFi pour les rendre illisibles pendant le transport dans les airs.

La première application de cette notion de chiffrement pour le WLAN s’appelle la clé WEP – Wired Equivalency Privacy. On définit un mot de passe qu’on appelle (à tort) clé WEP et on la configure sur la borne d’accès et sur les clients WiFi. Lors de la communication, seuls ceux qui ont la bonne clé WEP sont acceptés par la borne.

Pour reprendre l’exemple de la porte d’une maison, c’est comme si la borne d’accès était la porte de maison et la clé WEP était la clé de la serrure, vous distribuez la clé de la serrure à chaque client légitime. Celui qui n’a pas cette clé ne peut pas ouvrir la porte. Logique et efficace ! Même si on va voir que ce n’est plus aujourd’hui une bonne solution de sécurité.

Remarque: beaucoup d’administrateurs ont la flegme de retenir le mot de passe alors il arrive que la clé WEP soit inscris sur le dos de la borne Wifi ou sur un post-it 🙂

Si on fait un schéma simplifié du fonctionnement du chiffrement utilisé pour une clé WEP, ce serait le suivant:

 

Explications du schéma:

  • clé secrète: c’est ici que vous définissez votre mot de passe
  • IV pour Vecteur d’Initialisation: pour ajouter un peu plus de complexité à votre mot de passe, l’ordinateur concatène à la clé secrète un nombre aléatoire qui est calculé automatiquement
  • Générateur: l’algorithme (ici RC4) va générer à partir de la clé secrète et de l’IV une séquence de clé. Dites vous que c’est un méga mot de passe 🙂
  • Données utilisateur: ici se trouve les données utilisateur (la trame Ethernet) à transférer dans les airs
  • XOR: c’est la fonction logique “OU exclusif” qui prend la séquence de clé et les données utilisateur et effectue un XOR entre eux
  • Le résultat de ce XOR donne un message binaire dit “chiffré” car incompréhensible
Une fois le XOR calculé, la carte Wifi envoi les données dans les airs en encapsulant le message chiffré dans l’entête WiFi, ou plus précisément dans l’entête 802.11 pour les puristes.
 
Vous remarquerez que l‘IV est ajouté en clair à coté du message chiffré.
C’est tout à fait logique: l’IV est calculé automatiquement par celui qui va chiffrer le message, par exemple votre carte WiFi. Il faut bien que la borne d’accès qui va recevoir ce message puisse le déchiffrer  Et pour le déchiffrer il lui faut 2 paramètres, la clé secrète que vous avez configurée manuellement des deux cotés et l’IV que la carte WiFi du client a généré automatiquement. Voila pourquoi l’IV est transmis en clair, c’est pour le destinataire.
 
Important à comprendre: Le XOR est une fonction réversible:
  • [séquence de clé] XOR [message en clair] = message chiffré
  • [séquence de clé] XOR [message chiffré] = message en clair
Donc on voit bien que dés qu’on connait la séquence de clé alors on peut déchiffrer un message chiffré !
 
 

Donc pour résumer:

  • le chiffrement WEP est un protocole chargé du chiffrement des trames et utilise l’ algorithme symétrique RC4
  • la clé secrète a une longueur de 40 ou 104 bits.
  • Cette clé secrète doit être déclarée au niveau du point d’accès et des clients
  • A cela s’ajoute 24 bits d’IV (d’où le fait que l’on voit souvent dans les configuration, clé WEP de 40+24=64 bits ou 104+24=128 bits)
 
 
Pourquoi le WEP est considéré comme obsolète?
 
Aujourd’hui, on n’utilise plus le WEP car le fait que son IV n’ait une taille que de 24 bits permet à des pirates de calculer toutes les possibilités de valeurs de cet IV très rapidement. Et oui, 24 bits, ça ne fait “que” 2^24 possibilités et avec les ordinateurs d’aujourd’hui, ça prends quelques secondes.
 
Pour ceux qui serait intéressés, je publierai un article pratique sur comment casser une clé WEP en quelques minutes sous Windows. Avant il fallait le faire sous Linux, jouer avec le driver du chipset de sa carte WiFi… maintenant, c’est à la portée de tout le monde sous Windows 🙂
Pour ceux qui ne peuvent pas attendre, je vous invite à lire cet article: http://www.tutofr.com/tutoriaux/tutorial-crack-wep-aircrack.php
 
 
 
 

Avant de parler du chiffrement WPA et WPA2, il faut s’arrêter sur une méthode d’authentification qui est inclue dans ces deux chiffrement: c’est le standard 802.1x

 

Authentification 802.1x

Le standard 802.1x est une solution de sécurisation, mise au point par l’IEEE en juin 2001, permettant d’authentifier (identifier) un utilisateur souhaitant accéder à un réseau (filaire ou WiFi) grâce à un serveur d’authentification. Ce serveur est souvent appelé Serveur RADIUS. De plus cette authentification est mutuelle dans le sens où le client identifie aussi le réseau dans lequel il entre.

Quand vous allez à la banque, vous allez dans une agence de votre banque et pas dans une agence d’une autre banque, c’est pareil ici.

Le standard 802.1x repose sur des protocoles EAP (Extensible Authentication Protocol) défini par l’IETF dont le rôle est de transporter les informations d’identification des utilisateurs.
 
Pourquoi je précise “des” protocoles EAP?

Car en fonction de votre infrastructure, vous allez peut être vouloir mettre en place une authentification des utilisateurs par un mot de passe, par des certificats numériques, par des Token… ce sont des protocoles EAP différents qui seront utilisés en fonction du mode d’authentification souhaité:

  • EAP-LEAP
  • EAP-FAST
  • EAP-PEAP
  • EAP-TLS

En cliquant sur l’image de droite pour l’agrandir, on peut voir la configuration d’une carte WiFi en EAP-PEAP. En fonction du type d’authentification, vous choisissez tel ou tel protocole EAP.

Fonctionnement du 802.1x

Le fonctionnement du standard 802.1x est en fait très simple malgré son nom barbare:

  1. Le client (votre ordinateur portable) se connecte en WiFi à la borne d’accès
  2. Cette borne d’accès est configurée pour appliquer le standard 802.1x via le protocole EAP, la borne vous demande de rentrer vos identifiants
  3. Dans la fenêtre Windows qui s’est affichée, vous entrez vos identifiants (par exemple: login = cyril  et mode passe = toto)
  4. Une fois que la borne a reçue vos identifiants, elle les transmet à un serveur d’authentification, dit serveur RADIUS
  5. C’est ce serveur qui va valider ou non vos identifiants. Supposons qu’il accepte vos identifiants, il avertit la borne d’accès qu’elle peut vous autoriser à entrer dans le réseau
  6. Vous avez désormais accès au réseau et vous pouvez surfer sur l’intranet et l’internet 🙂
 
Prenons un exemple dans la vraie vie pour faire un comparatif explicite:
  • Après un vol international, vous débarquez de l’avion et arrivez au contrôle d’immigration
  • la personne vous demande de vous identifier en vous demandant votre passeport, que vous lui donnez
  • elle scan le passeport, votre identité est transmise à un serveur qui vérifie si vous n’êtes pas sur une liste noire
  • il vous rend le passeport et vous entrez officiellement dans le pays
 
Dans cet exemple on identifie les 3 composants relatif au standard 802.1x:
  • le client (supplicant en anglais): c’est votre ordinateur portable qui souhaite accéder au réseau (ou vous qui descendez de l’avion)
  • la borne d’accès (authenticator en anglais): elle va vous demander de vous identifier afin de laisser vos trames transiter dans le réseau (c’est la personne du contrôle d’immigration)
  • le serveur d’authentification Radius (authentication server en anglais): c’est le serveur qui décide si vous avez le droit ou non d’utiliser le réseau (c’est le serveur de la douane avec sa liste noire)
 
 

Sécurisation WPA

Pour la petite histoire, lorsque les entreprises se sont rendues compte que le chiffrement WEP était inefficace, elles ont arrêté de déployer du WiFi. A ce moment là, un groupe d’étude appelé 802.11i a été créé pour définir une sécurité plus élevée que le WEP, ce groupe a sorti la norme du même nom.
Aujourd’hui la norme 802.11i est la référence pour la sécurisation du WiFi.
 
Mais à l’époque, ce groupe n’avait pas encore sorti leurs recommandations (fainéants!) alors l’alliance WiFi les a doublé et a préféré sortir une solution temporaire en attendant le 802.11i. Cette solution temporaire s’appelle le WPA !
 
Le WPA est une sorte de rustine en attendant le 802.11i. Il utilise:
  • le 802.1x pour l’authentification (mais reste optionnel)
  • l’algorithme de chiffrement TKIP (Temporary Key Integrity Protocol), plus robuste que l’algorithme RC4 du WEP. Il permet la génération aléatoire de clés et offre la possibilité de modifier la clé de chiffrement plusieurs fois pour une sécurité plus forte.
On a vu que l’utilisation de 802.1x impose la mise en place d’un serveur Radius, ce qui peut poser problème pour les petites entreprises car ça reste cher. On a donc 2 modes de fonctionnement du WPA (comme pour le WPA2):
  • Mode Personnel: dans ce mode, on définit un mot de passe partagé entre le client et la borne d’accès, ce mot de passe s’appelle PSK pour Pre-Shared Key. C’est quasiment le même principe que la clé WEP mais avec un algorithme plus puissant. Pas besoin d’un serveur Radius.
  • Mode Entreprise: dans ce mode, on utilise le standard 802.1x donc la mise en place d’un serveur Radius est nécessaire.
 

 

Sécurisation WPA2

Le 802.11i a été ratifié le 24 juin 2004 afin de fournir une solution de sécurisation poussée des réseaux WiFi. Il s’appuie sur l’algorithme de chiffrement TKIP, comme le WPA, mais supporte également le chiffrement symétrique AES (Advanced Encryption Standard), beaucoup plus robuste que TKIP.

La Wi-Fi Alliance a alors créé une nouvelle sécurisation baptisée WPA2 pour les nouveaux matériels supportant le standard 802.11i.

Et comme pour le WPA, on peut l’utiliser selon que l’on souhaite mettre en place un serveur Radius ou non pour l’authentification 802.1x:

  • Mode Personnel: utilisation d’un PSK
  • Mode Entreprise: utilisation du 802.11x donc d’un serveur Radius
 
 

Résumé WPA et WPA2

Ce tableau résume les 2 modes de configuration que l’on peut trouver dans les sécurisations WPA et WPA2.
 
 
 
Mais il existe aussi des attaques qui impacte le Wifi, non pas dans le sens vol de données et pénétration dans le réseau mais plutôt dans le sens de la la disponibilité du service.
 

Sécurisation W-IDS

Le standard 802.11i intègre des mécanismes de protection contre les attaques extérieures visant à faire tomber l’infrastructure Wifi. Ces mécanismes sont appelés W-IDS pour Wireless Intrusion Detection System.
Les W-IDS permettent entre autre de détecter:
  • les bornes pirate qui se font passer pour une borne légitime
  • les demandes excessives d’association de client sur une borne d’accès (le fameux jeune saoul qui essai tant bien que mal de rentrer en discothèque).
  • les attaques MITM – Man In The Middle dont la philosophie est pour le pirate d’être au milieu d’une communication entre un client légitime et la borne d’accès
  • l’usurpation d’adresse MAC
  • les dénis de service contre les bornes d’accès
 
Des mécanismes de prévention sont aussi possibles pour se protéger comme:
  • effectuer un déni de service contre une borne pirate (la revanche de la contre-attaque!)
  • mettre en liste noire (blacklist) l’adresse MAC d’un client pirate
  • réduire la couverture Wifi pour interdire que les voisins voit le réseau Wifi
 

Conclusion

La sécurité pour le Wifi est importante du fait que n’importe qui peut analyser les trames niveau 2, il faut alors protéger son infrastructure sans-fil selon les principes suivants:

  • le filtrage par adresse MAC est facilement contournable
  • cacher le SSID ne sert strictement à rien car en analysant le trafic, on le retrouve en clair dans les trames Wifi
  • la sécurisation WEP est aujourd’hui à bannir car cassable en quelques minutes avec n’importe quel portable
  • l’authentification 802.1x est aujourd’hui recommandée pour une authentification mutuelle (serveur radius et client) et utilise des protocoles dit EAP: EAP-PEAP, EAP-Fast…
  • la sécurisation WPA est une solution temporaire qui utilise l’authentification robuste 802.1x mais un chiffrement pas optimal
  • la sécurisation WPA2 qui suit la norme 802.11i est la solution optimale
  • la protection contre les attaques extérieures par la mise en place de W-IDS

 

 

 

2 COMMENTAIRES

  1. Franchement bravo pour ton site et tes explications claires et nettes. Elles permettent à un débutant d’aborder le WiFi dans les meilleures conditions. Franchement continue comme ça ! J’ai vraiment hâte de lire tes chapitres sur les normes 802.11n et 802.11ac.
    Du coup je lis tous les autres articles et j’apprends encore plein de choses !!

LAISSER UNE RÉPONSE

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.