La sécurité Wifi en détail

Dans cet article nous verrons en détail comment fonctionne la sécurité dans un réseau Wifi.

Nous verrons les différentes techniques de sécurité qui existent, et nous évaluerons leur efficacité.

 

Nous verrons le masquage de SSID, le filtrage d’adresse MAC, mais surtout nous détaillerons le fonctionnement de WEP,  afin de comprendre ses faiblesses.

Bien entendu, nous finirons par parler de WPA, tout en exposant son fonctionnement.

 

1) Introduction

 

Tout d’abord, si vous ne l’avez pas déjà fait, je vous invite à lire l’article traitant des généralités sur les réseaux Wifi (composition d’un WLAN, channels, fréquences, normes, etc…).

 

Première chose, pourquoi la sécurité d’un réseau sans fil est importante ?

 

Deux raisons :

  • Le réseau est accessible dans une large zone, sans connexion physique
  • Les données peuvent être captées par tout le monde

 

Le premier point nécessite donc de restreindre l’accès aux personnes autorisées.

Si un étranger peut accéder au réseau, cela pose de sérieux problèmes de sécurité.

 

Le deuxième point est tout aussi important.

En effet, les données peuvent être captées par n’importe quelle machine à portée.

Il est donc important de chiffrer les données transmises.

 

Nous avons là les deux axes principaux de la sécurité d’un réseau sans fil.

 

Il existe aujourd’hui différentes méthodes de sécurité, dont l’efficacité n’est pas forcément satisfaisante.

 

Attention tout de même, la mise en place de sécurités doit permettre de conserver le côté pratique du réseau sans fil.

 

Parmi les méthodes de sécurité, nous retrouvons les suivantes :

  • Masquage de SSID
  • Filtrage d’adresse MAC
  • WEP
  • WPA
  • WPA 2

 

2) Masquage de SSID

 

Commençons par parler du masquage de SSID.

Le principe est simple : ne pas annoncer le SSID du réseau.

 

Une personne se plaçant à portée ne verra donc pas notre réseau dans la liste des réseaux disponibles.

Cela peut sembler intéressant, mais cette technique est presque inutile face à un attaquant aguerri.

En effet, le SSID sera tout de même annoncé à un moment.

 

Quand un client voudra s’associer avec l’AP (borne wifi), il va envoyer une Probe Request, contenant le SSID en question.

Si le SSID est bien défini sur l’AP, ce dernier va répondre par une Probe Response, indiquant qu’il prend en charge ce SSID.

 

C’est comme si dans un groupe de personnes, vous cherchez une personne prénommée Simon.

Si en annonçant à voix haute, « Est-ce que Simon est ici ? », ce dernier vous répond « Oui je suis ici », alors tout le monde est au courant de la présence de Sinon, même si celui-ci ne s’est pas annoncé au départ.

 

Vous l’aurez compris, masquer son SSID n’est pas très efficace.

 

Un rapide scan des réseaux disponibles ne révélera pas forcement la présence d’un SSID masqué (surtout si le réseau est faiblement utilisé).

Mais un scan un tout petit peu plus long le relèvera très probablement.

 

Du point de vu de la sécurité, l’intérêt est faible.

 

Certes les personnes lambda ne verront pas le réseau, mais après tout, cela ne poserait pas de problème de sécurité si elles le voyaient.

 

Mais le pire dans tout cela, c’est le côté non-pratique du masquage de SSID.

Comme le réseau ne s’affiche plus dans a liste des réseaux disponibles, il faudra l’ajouter à la main dans la liste.

Le côté pratique et simple du Wifi s’en trouve alors diminué.

 

Pour faire simple, le masquage de SSID n’a que peu d’intérêt en termes de sécurité.

Néanmoins, il n’est pas forcement inutile.

 

3) Filtrage d’adresse MAC

 

Parlons à présent du filtrage par adresse MAC.

 

Le principe est simple : l’AP possède une liste des adresses MAC autorisées à entrer sur le réseau.

Si un client tente de se connecter au réseau, et que celui-ci n’a pas une adresse MAC valide, l’accès lui sera refusé.

L’adresse MAC étant sensé être fixe, cette sécurité devrait être fiable.

 

Sauf qu’il est très facile de changer l’adresse MAC d’une carte réseau.

 

Deux solutions s’offrent alors à vous :

  • Trouver une adresse MAC autorisée
  • Utiliser l’adresse MAC d’un client connecté au réseau

 

Bien entendu, la deuxième solution est la plus simple.

Pour cela, il suffit de trouver un client qui est associé à l’AP voulu, et d’usurper son adresse MAC.

Encore une fois, cette sécurité n’est pas fiable contre un attaquant un minimum qualifié.

 

Mais surtout, la gestion du filtrage par adresse MAC peut être fastidieuse.

En effet, avant de pouvoir connecter une machine au réseau, il faudra modifier la table de filtrage.

 

Encore une fois, nous perdons un peu du côté pratique d’un réseau wifi.

 

Nous pourrions aussi parler de la désactivation du DHCP sur un réseau wifi, mais le discours est plus ou moins le même : peu de sécurité, beaucoup de désagréments.

 

4) WEP – Wired Equivalent Privacy

 

Parlons à présent de WEP.

WEP est un protocole de sécurité pour les réseaux Wifi.

Pour s’authentifier au réseau, il requiert que les clients fournissent le mot de passe (la clé WEP).

 

De plus, les messages transitant sur un réseau sécurisé par WEP seront chiffrés.

 

Sur le papier WEP peut sembler être une bonne solution, mais nous allons voir que des failles ont été découvertes, ce qui diminue fortement sa sécurité.

 

Commentons donc par détailler le fonctionnement de WEP.

 

En WEP, les deux paires (client et AP) connaissent la clé WEP.

Cette clé partagée est le « mot de passe » du réseau. Elle est au format hexadécimal, et a une longueur de 40 ou 104 bits, selon le niveau de sécurité choisi.

 

Contrairement à ce que l’on pourrait croire, ce n’est pas cette clé qui est directement utilisée pour chiffrer les données.

La raison est simple : WEP utilise un chiffrement par flot (fourni par le protocole RC4).

Dans un chiffrement par flot, la même clé de chiffrement ne doit jamais être utilisée deux fois.

 

Sinon, en utilisant les deux données chiffrées par la même clé, il est possible de retrouver cette clé.

 

Cela pose alors un problème. Il faut que la clé soit renouvelée à chaque frame envoyée.

 

Pour pallier à ce problème, WEP fait appel à un vecteur d’initialisation.

 

Ce vecteur d’initialisation va évoluer à chaque frame envoyée.

La clé de chiffrement sera alors conçue à partir de la clé WEP + le vecteur d’initialisation (aussi appelé IV – Initialisation Vector).

 

Comme l’IV évolue à chaque frame envoyée, la clé de chiffrement est à chaque fois différente.

 

Pour ce qui est de la clé de chiffrement, ce n’est pas simplement une concaténation de la clé WEP et de l’IV.

 

Le protocole utilisé pour le chiffrement par flot est RC4.

RC4 permet de créer une clé de chiffrement à partir de la clé WEP et de l’IV.

 

Voici un schéma représentant le fonctionnement de WEP :

Chiffrement WEP

D’un côté, l’hôte A souhaite envoyer une donnée chiffrée.

Pour cela, il prendre la clé WEP et l’IV, et utilise RC4 pour générer une clé de chiffrement.

A l’aide de cette clé, il chiffre la donnée, et l’envoie à l’hôte B.

De plus, il envoie l’IV à l’hôte B.

 

De son côté, l’hôte B fait le processus inverses, en utilisant l’IV reçu.

Pour la prochaine frame à envoyer, l’IV aura changé.

 

La clé WEP peut être de 40 ou 104 bits. L’IV fait une taille de 24 bits.

 

La clé de chiffrement aura alors une taille de 64 ou 128 bits.

 

Nous touchons ici à la première faille de WEP.

L’IV est trop court. 24 bits permettent un total d’environ 16.7 millions de possibilités.

Ce qui fait qu’au bout d’un moment, nous serons obligés de réutiliser des IV déjà utilisés.

Si nous réutilisons un IV, nous aurons alors une clé de chiffrement qui a déjà été utilisée, ce qui est très mauvais dans un chiffrement par flot.

 

Il existe 2 méthodes pour renouveler l’IV :

  • L’incrémenter de 1 à chaque frame
  • En choisir un aléatoirement à chaque frame

 

Dans le cas où l’IV est choisi aléatoirement, les chances de tomber sur un IV déjà utilisé sont significatives après quelques milliers de changements.

Il faut donc privilégier l’incrémentation.

 

Pour faire simple, comme la clé WEP ne change jamais, le caractère aléatoire de la clé de chiffrement repose sur l’IV.

Et malheureusement un IV de 24 bits ne permet pas suffisamment de possibilités.

 

Tôt ou tard nous aurons une répétition dans les clés de chiffrement.

 

Mais il ne s’agit pas de la principale faille de WEP.

La principale faille est due aux clés faibles générées par RC4.

 

En effet, sur les 16.7 millions d’IV possibles, environs 9 000 donnent lieu à des clés dites faibles.

 

Ces clés de chiffrement (générées par RC4 à partir de la clé WEP et de l’IV) posent problème.

En effet, quand un message est chiffré avec une clé faible, il y a une faible chance qu’il révèle une partie de la clé WEP.

En collectant suffisamment de messages chiffrés par une clé faible, il est possible de reconstituer la clé WEP.

 

Certains constructeurs n’utilisent plus les IV connus pour mener à des clés faibles.

Malheureusement, tous les constructeurs ne le font pas.

Et il suffit qu’un client utilise ces IV pour que le problème persiste.

 

C’est donc cette faille qui pose de sérieux problèmes au WEP.

 

Il existe même une technique pour mener une attaque plus rapidement.

Vous l’aurez compris, pour infiltrer un réseau WEP, il faut collecter un maximum de données, pour pouvoir reconstruire la clé WEP.

 

Pour rendre l’attaque plus rapide, il faut donc injecter du trafic sur le réseau.

Mais comment faire cela alors que nous ne connaissons pas la clé WEP ?

 

Et bien il suffit d’analyser le trafic chiffré qui circule, jusqu’à détecter une requête ARP (grâce à la taille de la frame).

Une fois la requête ARP capturée, il ne reste plus qu’à s’associer avec l’AP, puis de renvoyer cette requête ARP, encore et encore.

 

Cela aura pour effet de générer une grande quantité de trafic.

Il ne reste plus qu’à collecter ce trafic, puis rechercher les frames chiffrés avec des clés faibles.

 

Nous appelons cela l’injection de paquets.

 

Vous aurez peut-être noté que pour réaliser une injection de paquet, il est nécessaire de s’associer avec l’AP.

Mais pourquoi l’association n’est-elle pas contrôlée ?

 

Il existe une méthode de contrôle d’authentification, mais elle possède une très grande faille, qui fait qu’il est préférable de ne pas l’utiliser.

Comment fonctionne ce contrôle ?

L’AP envoie un challenge au client désireux de s’authentifier.

Ce client doit renvoyer le challenge chiffré à l’aide de la clé WEP.

Si le challenge a bien été chiffré avec la clé WEP l’AP authentifiera le client.

 

Le problème est que si un attaquant capture les paquets de l’authentification, il aura à sa disposition un message et son équivalent chiffré.

Il sera alors très simple d’en déduire la clé WEP.

 

L’authentification en WEP n’est pas à utiliser.

C’est pourquoi l’injection de paquets est possible.

 

 

Pour résumer, WEP à principalement deux failles :

  • L’IV est trop court donc les clés vont se répéter
  • Certains IV donnent lieu à des clés faibles, qui permettent de deviner la clé WEP

 

De plus, il est possible de faire de l’injection de paquets, pour rendre les attaques encore plus rapides.

 

Aujourd’hui, il est possible d’infiltrer un réseau WEP en quelques minutes, voir moins !

 

Enfin, une fois qu’un attaquant s’est introduit dans un réseau WEP, il pourra déchiffrer tout le trafic.

 

Le constat est simple et bien connu, WEP est à proscrire.

 

5) WPA – Wi-Fi Protected Access

 

Le WEP n’étant plus suffisant pour assurer la protection d’un réseau sans fil, le WPA a fait son apparition.

Le but était de fournir une protection suffisante, tout en garantissant la compatibilité avec le matériel prévu pour WEP.

Le fonctionnement de WPA est donc très proche de celui de WEP.

Pour qu’un équipement supporte le WPA, il suffit (en général) d’une mise à jour logicielle.

Cela a permis de réaliser de grandes économies.

 

Nous verrons qu’il existe deux versions de WPA : WPA et WPA 2.

Le fonctionnement de WPA 2 est bien différent de celui de WPA. De plus, le matériel doit être prévu pour supporter WPA 2.

Nous reviendrons dessus plus tard.

 

Parlons donc de WPA dans sa première version.

 

Celui-ci s’appuie sur le protocole TKIP – Temporal Key Integrity Protocol pour assurer la sécurité.

 

L’avantage de TKIP est qu’il fournit un mécanisme puissant de renouvellement des clés.

 

Etant donné que WPA s’appuie toujours sur RC4, il y a toujours la contrainte des clés qui ne doivent pas être réutilisées.

Voyons donc comment les clés fonctionnent.

Comme pour WEP, nous avons une clé partagée. Celle-ci n’est plus au format hexadécimal, mais au format alphanumérique.

 

A partir de cette clé, l’AP et le client vont négocier une clé de session.

Cette clé de session est propre à chaque client.

Elle sera renouvelée toutes les 10 000 frames.

 

A partir de cette clé de session, de l’adresse MAC du client et de l’IV, une clé par paquet est générée en faisant un hash du tout.

Cette clé a une longueur de 128 bits, et changera totalement à chaque frame, grâce à l’incrémentation de l’IV.

 

Chaque frame sera donc chiffrée avec sa propre clé.

Nous respectons alors le principe de sécurité d’un chiffrement par flot (RC4).

Quant à l’IV, il a une taille de 48 bits, ce qui permet bien plus de possibilités que l’IV de 24 bits de WEP.

De plus, les IV connus pour donner des Weak Keys ne sont pas utilisés.

 

Pour résumer, nous avons une clé par session, propre à chaque client, qui est renouvelée toutes les 10 000 frames.

A partir de cette clé, de l’adresse MAC du client et de l’IV, nous aurons une clé propre à chaque frame.

Le tout sans Weak Keys.

 

Il en résulte une sécurité largement accrue par rapport à WEP.

 

De plus, WPA propose un meilleur mécanisme de contrôle d’intégrité des frames (appelé MIC).

 

Aussi, WPA est résistant à l’injection de données. En effet, WPA fait appel à des numéros de séquence, ce qui empêche de rejouer du trafic.

 

Au final, WPA propose une sécurité très correcte.

Au fil du temps, des attaques ont étés élaborées pour infiltrer un réseau WPA.

Notamment l’attaque Beck et Tews.

 

Mais cette attaque est encore loin d’être réellement efficace. Et surtout, elle n’est pas réalisable par le grand public.

 

Mais quand bien même un intrus aurait pu se connecter à notre réseau WPA, peut-il déchiffrer le trafic ?

Oui est non.

Pour déchiffrer le trafic, il faut qu’il connaisse la clé WPA, et qu’il capte l’échange permettant de créer la clé de session.

Et il faudra faire de même pour tous les clients.

 

En bref, WPA est une solution qui est toujours relativement fiable (du moins en 2014).

Mais il y a fort à parier qu’une attaque efficace verra le jour d’ici quelques temps.

A partir du moment où cette attaque est réalisable par le grand public, il deviendra très dangereux d’utiliser WPA.

 

6) WPA 2

 

Finissons par évoquer WPA 2.

WPA 2 est la solution la plus fiable à ce jour.

Aucune faille n’a pour le moment été découverte.

Pour la sécurité, WPA 2 s’appuie sur CCMP.

CCMP utilise AES pour le chiffrement des données.

AES est une méthode de chiffrement par bloc.

Il est donc possible de conserver la même clé de chiffrement au fil des transferts.

 

Bien entendu, CCMP fourni une méthode de contrôle de l’intégrité des messages.

Le champs de contrôle d’intégrité est chiffré et dépendant du champs de contrôle de la frame précédente.

 

AES est donc plus sûr, mais aussi plus gourmand en ressources.

Il faut donc des équipements prévus pour supporter le WPA 2.

 

Mais le WPA 2 est-il parfaitement fiable ?

Non. Il est possible de faire une attaque par brut force pour pénétrer un réseau protégé par WPA 2.

Pour cela il faut capturer le Handshake entre un client est un AP, au moment de l’authentification.

 

Il sera ensuite possible de tenter de déchiffrer ce Handshake, en testant toutes les clés possibles.
C’est pourquoi il est important de choisir une clé fiable.

 

Si la clé WPA est un mot courant, une attaque par dictionnaire permettra de la découvrir.

Il est donc important de choisir une clé fiable.

 

7) Conclusion

 

Pour conclure, le seul mécanisme de sécurité fiable à ce jour est le WPA 2.

Aucune faille n’a encore été découverte.

Le WPA peut faire l’affaire, faute de mieux.

 

Quant au WEP, il ne vous protégera pas des vrais attaquants.

 

Les autres méthodes de sécurisation sont en général plus contraignantes qu’autre chose.

 

Pour bien évaluer les sécurités précédemment citées, je vous invite à lire l’article expliquant comment s’introduire dans un réseau Wifi.

 

Tagués avec : , , , ,
Publié dans Wifi
2 commentaires pour “La sécurité Wifi en détail
  1. kalité dit :

    merci pour tout le site. C’est vraiment super!

  2. Sel dit :

    Très intéressant. Merci bien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.