Vous êtes ici : Accueil Wireless Wi-Fi : pour bien débuter Le WEP : Wireless Encryption Protocol
Actions sur le document

Le WEP : Wireless Encryption Protocol

Par bluetouff - Dernière modification 15/01/2006 10:27

Le Wireless Encrytion Protocol (Wep pour les les intimes) est basé sur le standard RC4 auquel Microsoft a largement contribué. Le wep est un cryptage "léger" (clef de 64 ou 128 bits) dont le plus gros défaut est celui d'être statique. Mais attention car sur ces 64 ou 128 bits 24 passent en clair ! Ce qui nous donne un cryptage effectif en 40 bits pour du 64 et du 104 pour le 128 !
D'où viennent ces 24 bits non cryptés ? Il s'agit des vecteurs d'initialisation(IV).

Comment le wep agit sur les paquets ?

> il laisse passer les entêtes en clair (headers), en dessous les IV sont les vecteurs d'initialisation, ils passent également en clair... et c'est également le cas de l'ID qui correspond aux identifiants du paquets.
> Le wep est fondé sur une clef secrète partagée en noeuds du réseau. Petit problème de conception à l'origine de bien des maux : cette clef secrète utilise 24 bits du vecteur d'initialisation (qui passe en clair).

Qu'en déduisons nous ?
1/ qu'une clef de 64 bits ne fait en fait que 40 bits qui seront extrapolables des 24 qui passent en clair
2/Qu'une clef de 128 ne fait que 104 bits qui seront extrapolables des 24 qui passent en clair

----------------802.11 Header----------------------
---IV 0---|---IV1---| --- IV 2 ---|--------ID---------- |
---snap0---|---snap1---|---snap2---|---Protocole ID---|
====================================
--------------Couche des données--------------------|
====================================
----------checksum (contrôle des datas)----------------
====================================

Toutes les attaques sur cet algorythme reposent sur le seul fait que le champ IV soit en clair. Une simple analyse de traffic avec ethereal renseigne ainsi sur les services disponibles, mais aussi sur la méthode de chiffrement et d'authentification... et même la taille de la clef wep. La négociation d'adresses mac apparait aussi assez clairement et on peut en déduire ou non la restriction à l'authentification sur les adresses mac.

Les paquets à intercepter deviennent intéressants lorsque l'on obtient deux paquets ayants le même IV. Cette étape peut être longue si le traffic est trop faibles, dnas quel cas un bidouilleur ingénieux injectera du traffic artificiel en ayant préalablement déterminé la taille de la clef utilisée pour se "forger" un paquet à insérer dans tout ce traffic : un outil comme AirJack fait ce genre de petites gâteries.

Pour les non initiés un cryptage dit "statique" implique que les clefs générées doivent être changées manuellement. On estime un cryptage fiable à partir du moment où le temps nécessaire pour casser cette clef est supérieur à celui du renouvellement de la cette même clef.
Le gros hic du WEP, c'est que pour avoir la paix, il faudrait changer manuellement cette clef tous les 1/4 d'heures, puisqu'à peine 20 minutes sont nécessaires si la qualité de la clef n'est pas satisfaisante . Dans un tel contexte, il s'avère que le WEP est, disons le avec des mots simples, un cryptage non satisfaisant.

* Airsnort :

Airsnort est un logiciel qui détecte les points d'accès Wlan, sniff les packets qui y transitent, puis par analyse statistique à l'aide d'un script perl, WEPCrack, qui comme son nom l'indique, chargé au démarage de Airsnort, analysera les paquets crytés et effectuera un calcul statistique pour déterminer la clef Wep du réseau écouté. WEPCRACK est une implementation Perl de la faille décrite par Fluhrer, Mantin, et Shamir.

Cet outil se compose de 4 scripts :

# WeakIVGen.pl
Ce premier scrippt vous permet de spécifier une clef pour que WEPCrack génère le fichier "IVFile.log"

# prism-getIV.pl
ce script permet la lecture des dumps Prism (prismdump) ou de votre capture ethereal pour tenter d'y retrouver les intervals les plus faibles dans le traffic encrypté. SI ces intervals faibles sont trouvés, ils sont placés dans le fichier "IVFile.log"
Voici les commandes:
prismdump | prism-getIV.pl
prismdump > votre fichier de capture
prism-getIV.pl votre fichier de capture

# WEPCrack.pl
c'est lui qui lit le IVFile.log, et utilise les sorties encryptées avec les intervals faibles pour analyser statistiquement et déterminer par cette approche la clef privée WEP, ça ne marche pas toujours du premier coup, il vous faut de temps à autre réaliser des vérifications additionnelles pour renforcer l'interval de confiance.

# prism-decode.pl
Ce script lit les fichiers capturés par prismdump ou Ethereal puis décode les trames hexadécimales. Ce script accepte les entrée STDIN ou celles d'un fichier spécifié
ex
prismdump | prism-decode.pl
ou
prismdump > votre fichier de capture
puis enfin
prism-decode.pl votre fichier de capture



Toonux is powered By FreeBSD, Zope & Plone and owned by Bluetouff ]-- Pilot Systems ring website

Toonux contents are copyleft under the WTFPL licence