WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place sur le point d'accès d'un réseau wifi

( Télécharger le fichier original )
par Cedrick KADIMA KALALA
Institut supérieur d'informatique programmation et d'analyse (ISIPA) RDC - Graduat 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

~ . . . Attaques FMS

En 2001, une attaque passive sur les IVs est publié par Scott FLURHER, Itsik MANTIN, Adi Shamir (le S de RSA). Son nom correspond d'ailleurs à leurs initiales : FMS. Cette attaque exploite le fait que l'algorithme RC4 présente des IVs dits faibles (ou encore favorables) qui permettent de prédire avec une probabilité raisonnable de nombreux bits dans la table d'état S. Cette attaque est connue sous le nom de «invariance weakness». Il faut donc identifier les circonstances dans lesquelles des IVs faibles peuvent apparaître et éviter de les utiliser.

La deuxième attaque de Fluhrer, Mantin et Shamir est la «known IV attack ». Elle nécessite la connaissance de l'IV ce qui est le cas puisqu'il circule en clair sur le réseau, et la connaissance du premier octet de M (à deviner). Dans un certain nombre de cas (« les cas résolus », suivant l'expression de Fluhrer, Mantin et Shamir ) , la connaissance de ces 2 éléments permet de déduire des informations sur la clé K. Pour cela, on travaille avec un IV faible. Chaque IV faible fournit une information sur le premier octet. Il faut correctement deviner chaque octet avant de pouvoir déterminer le suivant. Cela est dû à la nature des deux modules de RC4 : KSA et PRGA. La détermination de chaque octet à partir d'un seul IV favorable est statistique et donne une probabilité de succès de 5%. En cas de succès, on parle de cas résolu. C'est pourquoi l'on cherche a capturer un maximum de trame avec des IVs faibles.

Toutefois cette attaque théorique n'avait pas été testée par ses auteurs. La validité de cette attaque a été montrée par un étudiant américain, Adam Stubblefield, associé à deux spécialistes de la sécurité des laboratoires d'AT&T, John Ionnadis et Aviel Rubin. Leur principale difficulté a été de deviner le premier octet des données brutes. Malgré les différents types de protocoles utilisés (notamment ARP et IP), il s'est avéré que 802.11 rajoute une couche supplémentaire en encapsulant tous ses paquets (header SNAP). Ainsi, tous les paquets capturés commençaient par le même octet 0xAA. Selon les auteurs, 256 cas «résolus» suffisent pour retrouver l'intégralité de la clé de 128 bits.

Peu de temps après, des développeurs ont mis à disposition sur Internet les logiciels WEPCRACK et AIRSNORT capables de casser une clé WEP selon la technique FMS.

~ . . . Optimisation de FMS

Récupérer l'échantillon représentatif peut prendre un "certain temps", qui dépend principalement du trafic généré sur le réseau. La technique étant passive, si le réseau est peu utilisé (cas par exemple d'un réseau sans fil personnel, qui ne sert qu'à partager une connexion Internet pour deux ou trois clients), l'opération peut durer plusieurs semaines. L'expérience a montré que cette seule attaque nécessite la capture d'entre 5 et 6 millions de trames pour retrouver la clé. En 2002, ce nombre fut réduit à 1 million par David Hulton

(h1kari) qui ne prit pas en considération uniquement le 1er octet du keystream mais aussi les suivants.

Afin d'accélérer la recherche, des outils apparaissent, permettant la réinjection des paquets capturés, pour augmenter artificiellement le trafic et ainsi diminuer le temps pour casser la clé WEP. L'attaque devient alors active puisqu'on modifie le trafic sur le WLAN. Elle devient donc aussi plus facilement repérable pour l'administrateur.

Les constructeurs ont alors pensé à intégrer directement sur leurs nouveaux firmwares des mécanismes pour détecter les clés faibles et ne pas les utiliser. Airsnort devint dès lors inutilisable.

Le 8 août 2004, Korek, un hacker, diffuse sur le forum de Netstumbler l'outil CHOPPER (celui-ci n'est plus disponible) qui permet de casser la clé WEP, en capturant un nombre réduit d'IVs, faibles ou non. Il suffit d'environ 150000 trames pour retrouver une clé de 64 bits et de 500000 pour une clé de 128 bits. Il s'agit d'une attaque par cryptanalyse statistique des données chiffrées.

Des développeurs entreprirent de continuer le travail de Korek. Rapidement, la suite AIRCRACK (développé par le Français Christophe Devine) apparaît, combinant l'attaque FMS et celle de Korek. Il est le premier d'une longue série de logiciels (on peut citer WepLab, Aircrack-ng) démontrant les failles dues aux collisions des IVs. Une dizaine de minutes suffisent alors pour retrouver une clé WEP par ces moyens.

La suite d'outils Aircrack est constituée de 3 outils principaux : Airodump (équivalent de Kismet) qui collecte les trames sur le WLAN.

Aircrack qui casse les clés WEP.

Aireplay qui génère du trafic artificiel afin de diminuer le temps de collecte des trames chiffrées avec un même IV.

Aireplay exécute une attaque par rejeu, il essaie d'identifier les requêtes ARP (Adress Resolution Protocol) et les renvoie tels quels sur le réseau. Les autres clients répondront, générant ainsi du trafic.

Une fois que les trames sont collectées, la clé WEP est déterminée en quelques secondes. Le seul paramètre sur lequel il est nécessaire de travailler est le fudge factor qui détermine l'espace de recherche des clés.

Aircrack permet un autre type d'attaque. Autre création de Korek, elle s'appelle CHOPCHOP. Elle permet de décrypter un paquet chiffré avec le protocole WEP sans avoir connaissance de la clé. Le contrôle d'intégrité implémenté dans le protocole WEP permet à un attaquant de modifier à la fois le contenu chiffré du paquet et le CRC correspondant. On le verra plus en détail, plus loin. De plus, l'utilisation de l'opérateur XOR au sein du protocole WEP implique qu'un octet dans le message chiffré dépend toujours du même octet du texte en clair. En coupant le message chiffré de son dernier octet, le message devient corrompu mais il est possible de faire un choix sur la valeur de l'octet correspondant du texte en clair et de corriger le texte chiffré. On construit donc 256 trames modifiées, une pour chaque valeur possible de l'octet, et on les soumet à l'AP pour voir s'il les relaie ou non. Si c'est le cas, on a la bonne valeur, sinon la trame sera supprimée. On transforme donc l'AP en oracle. En répétant l'attaque sur tous les octets du message chiffré, il est possible de décrypter l'intégralité du paquet et de retrouver le keystream. Il est important de noter que l'incrémentation de l'IV n'est pas obligatoire dans le protocole WEP, il est donc possible de réutiliser le keystream pour forger d'autres paquets (en réutilisant le même IV).

. 3.4.5. Attaque par fragmentation

En 2004, encore, dans un contexte où le WEP prédomine toujours (et ce malgré sa vulnérabilité), Andrea BITTAU, Mark HANDLEY du collège of London et Joshua LACKEY de chez Microsoft publièrent un article (The Final Nail in WEP's Coffin - Le clou final au cercueil du WEP) sur une nouvelle attaque : l'attaque par fragmentation qui se base sur la réutilisation des keystreams. L'attaque a été implémentée sur le logiciel Wesside disponible a l'origine uniquement sur l'OS FreeBSD. On a vu que l'on pouvait par attaque à clés apparentées récupérer des keystreams de 8 ou 22 octets. Cela permet de chiffrer des messages très courts. En soit ce n'est pas très intéressant, il nous faudrait des keystreams ayant la taille maximum d'une trame (MTU ou maximum transmission unit). Le standard 802.11 prévoit un mécanisme qui permet de fragmenter une trame en 16 fragments au plus, chiffrés

indépendamment les uns des autres (chacune a donc un CRC distinct). On peut dès lors augmenter la portée du keystream. Prenons un keystream de 22 octets. On chiffre 16 fragments avec ces 22 octets. A chaque fois, 4 octets sont réservés pour le CRC32, on chiffre donc de manière effective (22-4)*16=288 octets de données avec seulement 22 octets de keystream. Mieux encore, lorsqu'un AP reçoit une trame 802.11 fragmentée qu'il doit relayer, il la défragmente (il déchiffre chaque fragment et rassemble tout en une trame). On se retrouve alors en situation de clair connu et on peut de cette manière récupérer un keystream plus long. En itérant ce processus, on récupère un keystream qui permet de chiffrer n'importe quelle trame (et de déchiffrer toutes celles associés au IV). On appelle cette phase : « le bootstrap », elle dure environ 30 secondes. De manière générale, si on dispose d'un keystream de N octets de X fragments, on obtient un keystream de longueur L=(N-4)*X+4.

Dans le schéma qui suit, on a pris un exemple simplifié où à partir de 8 octets de keystream et 4 fragments, on récupère un keystream de 20 octets.

Augmentation du keystream par fragmentation :

Il existe plusieurs façons d'exploiter cette attaque :

On peut dans un premier temps faire du mapping (dresser une carte du plan d'adressage et l'adresse de passerelle) du réseau. Pour cela, il nous suffit d'émettre des requêtes ARP, cela prend environ 5 minutes. On

pourra alors émettre des requêtes vers Internet et faire de l'IP Forwarding (vu précédemment).

On peut générer du trafic avec n'importe quel paquet IP (contrairement à Aireplay qui nécessite des paquets ARP) et le fournir à Aircrack. Cette méthode est implémentée dans Aircrack-ng.

On peut constituer une table IV/Keystream (la clé étant statique) qui permettra de chiffrer de déchiffrer n'importe quel message. La taille de cette table de keystream devrait être de 25 Gigaoctets . Cela prend 17 heures alors qu'Aircrack permet de casser la clé WEP en quelques minutes. L'attaque par fragmentation n'est donc pas une révolution mais une nouvelle faiblesse WEP.

Une autre méthode pour l'attaquant de constituer une table de décryptage est d'envoyer un message de type « ping ~ en clair, l'attaquant peut voir comment celui est chiffré. En confrontant les 2 versions, il obtient le keystream. Il suffit alors d'associer chaque keystream avec chaque IV.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry