. 3.4. Les faiblesses du IV
. 3.4.1. Réutilisation du Keystream
En 2001, Borisov, Goldberg et Wagner (Intercepting Mobile
Communications : the insecurity of 802.11) montrèrent que les
utilisateurs se servent parfois des mêmes keystreams du fait que la
clé est statique.
En effet, le IV est sensé fournir une information
aléatoire qui rend une clé unique dans le temps. Sa longueur de
24 bits, soit moins de 17 millions de combinaisons est trop courte.
Le paradoxe des anniversaires nous dit qu'il y a une forte
probabilité (50% pour 5000 trames, 99% pour 12000 trames) de trouver
dans un nombre raisonnable de trames cryptées 2 trames cryptées
ayant le même IV. Dans le même ordre d'idées, certaines
implémentations initialisent le IV à zéro au
redémarrage, ce qui facilite l'attaque sur les trames chiffrées
avec le même IV. D'autres utilisent un générateur
aléatoire pour constituer le IV.
Dans un réseau d'entreprise, 5 a 8 heures de trafic
peuvent suffire à transmettre un tel nombre de trames. En effet pour un
AP qui envoie des paquets de 1500 octets à un débit de 11 Mbps,
le calcul est simple, il suffit approximativement de : 1500*8/ (11*106)*224 =
18000 secondes soit bien 5 heures en moyenne avant qu'un IV soit rejoué.
L'information de chiffrement perd son caractère aléatoire et des
cryptogrammes chiffrés avec une même clé circulent à
intervalles réguliers. On parle alors de collisions. Les collisions sont
facilement détectables, étant donné que l'IV circule en
clair.
Le principe employé afin de trouver la clé WEP,
est basé sur l'analyse des trames chiffrées. Une écoute
passive des communications permet de capturer les trames. On peut utiliser pour
cela le logiciel KISMET (on appelle ce type de logiciel : un analyseur de
protocoles) ou encore ETHEREAL, WIRESHARK. Lorsqu'on sniffe (écoute) le
réseau, on doit mettre la carte Wi-Fi en mode monitor, dans ce mode, la
carte ne se comporte plus comme une interface réseau normal mais capture
tout le trafic dans le voisinage. La phase d'écoute doit donc nous
permettre de récupérer un nombre important de trames
cryptées avec la même clé. Lorsqu'une collision survient,
on obtient de l'information sur la différence entre les clairs. La
connaissance de cette attaque permet des attaques statistiques qui donnent
accès au clair.
. 3.4. 2. Attaque par clé apparentée
Imaginons que pour une clé WEP K, nous avons deux
messages clairs, M1 et M2, et leurs versions chiffrées C1 et . On a
alors les identités suivantes :
M1 xor K= C1'
M2 xor K= '
On en déduit que:
M1 xor M2 = C1 xor
Cette donnée apporte des informations que l'on peut
utiliser dans certaines conditions. S'il l'on connaît l'un des deux
textes en clair, par exemple, mais pas ce n'est pas là l'unique
possibilité. En effet, il faut savoir qu'on connaît souvent le
début des trames en clair car elles contiennent des informations
redondantes (les adresses des stations qui communiquent notamment) la plupart
du temps. On sait par exemple que la majorité du trafic d'un
réseau WiFi est constitué de trafic IP et à partir de
cela, on en déduit ce que contiennent les headers des trames. On
identifie par exemple les paquets ARP par leur taille et leur adresse de
destination qui est l'adresse broadcast Ethernet (FF : FF : FF : FF). On
connaît ensuite la structure et les valeurs courantes de certains champs
des paquets ARP (8 octets d'en-tête LLC/SNAP, 8 octets d'en-tête
ARP, 6 octets d'adresse MAC de la source). On parle d'attaque par clé
apparentée ou encore d'attaque active des extrémités.
Le fait de disposer de toutes ces informations nous permet de
retrouver avec une forte probabilité avec les premiers octets du Key
Stream (22 pour un paquet ARP, 8 pour un paquet IP) et progressivement la
clé WEP et ainsi de déchiffrer tous les autres messages
chiffrés avec cette clé. Notre progression est liée,
rappelons-le, au nombre de trames capturées. Si on dispose de n messages
chiffrés, on parle de problème de profondeur n.
Il est important d'obtenir est l'adresse IP de destination.
L'attaquant va alors pouvoir modifier les bits appropriés pour changer
l'adresse de destination et envoyer le paquet vers un hôte (une station)
sous son contrôle. Si l'installation dispose d'une connexion Internet,
l'AP va déchiffrer le contenu des paquets pour les envoyer à la
passerelle reliée à Internet, qui à son tour les renverra
vers l'attaquant. Cela s'appelle l'IP Redirection (ou IP Forwarding).En
modifiant le message, on change également le contrôle
d'intégrité (contrôle de conformité). Pour que la
trame forgée soit valide, on peut utiliser les propriétés
du CRC (détaillées plus loin), des attaques statistiques ou alors
compenser la modification du champ de l'adresse de destination (par exemple
avec l'IP source) de manière à ce que le CRC reste identique.
Il existe une autre méthode appelée attaque
avec test de validité (Reaction Attack ou attaque par réaction)
qui utilise l'AP pour déchiffrer la trame. Contrairement a l'IP
Redirection, elle fonctionne même si le réseau n'est pas
relié à Internet. En revanche, elle ne déchiffre que le
trafic TCP/IP. Elle consiste à forger des messages et à tester
les réactions du destinataire selon qu'il l'accepte en renvoyant un
accusé de réception (ACK pour acknowledgement) ou non, en la
rejetant. Le destinataire est qualifié d'oracle. Selon la
réaction (qui dépend de la validité du TCP Checksum), on
peut déduire des octets du plaintext.
|