1. Aspetti di sicurezza dei protocolli per wireless
(WEP - WPA - TKIP)
Paolo Mainardi (pmainard@cs.unibo.it)
Andrea Giacomini (giacomin@cs.unibo.it)
15 giugno 2006
3. Capitolo 1
Le reti Wireless
Le reti Wireless (WLAN) negli ultimi hanni hanno subito una notevole
espansione, che sta portanto progressivamente la migrazione delle attuali reti
cablate alle più moderne tecnologie senza li, tutto questo è dovuto a diversi
fattori che sono principalmente il costo ridotto delle apparecchiature e il
progressivo aumento della larghezza di banda paragonabile alle attuali reti
cablate, ed inoltre fattore chiave del successo è anche la facilità e la velocità
con cui queste reti senza li possono essere installate/congurate ed integrate
con le attuali infrastrutture di rete.
Le attuali reti WLAN hanno diverse modalità di impiego, vengono nor-
malmente utilizzate in ambito aziendale come integrazione di infrastutture
di reti wired esistenti per portare connetività in punti dicili (o troppo co-
stosi) da cablare. Inoltre con la recente legislazione e liberalizzazione delle
frequenze radio su cui operano le reti Wireless, è stato possibile creare una
situazione in cui società di telecomunicazioni utilizzano la tecnologia wireless
per fornire accesso Internet nelle zone non coperte da collegamenti a banda
larga oppure impossibili da raggiungere con le normali rete a cavo.
IEEE 802.11
Inoltre il protocollo standard prevede una possibilità di
ad-hoc,
collegamento diversa da quella usuale che è denita che permette
di creare collegamenti punto-punto tra 2 Host, dando quindi la possibilità
di poter creare tante piccole sottoreti indipendenti e non coordinate da un
unico punto di accesso.
2
4. 1.1 Lo standard IEEE 8O2.111
(In-
802.11 si riferice ad una famiglia di speciche sviluppate dallo IEEE
stitute of Electrical and Electronics Engineers, Inc.) per le reti wireless LAN,
il protocollo è stato accettato ed ucilizzato nel 1997. Questa famiglia di
protocolli include tre protocolli dedicati alla trasmissione delle informazio-
802.11i.
ni(a,b,g), la sicurezza è stata inclusa in uno standard a parte Gli
(c, d, e, f, h, ...)
altri standard della famiglia riguardano estensioni dei ser-
vizi base e miglioramenti di servizi già disponibili.
L'architettura 802.11 è costituita da un gruppo di stazioni radio che inte-
ragisco e comunicano all'interno di una rete locale ben denita e delimitata,
BSS (Basic Distribution System), zona
che formano un che sarebbe una
all'interno della quale le stazioni sono in grado di comunicare, le modalità
principali di funzionamento sono:
IBSS (ad-hoc) : Come descritto in precedenza, questa è la modalità più
semplice di una rete WLAN 802.11, avviene quando 2 stazioni che si
BSS
trovano all'interno di una stessa si congurano in modo tale da
comunicare direttamente formando una piccola rete privata.
Figura 1.1: 2 BSS collegate ad-hoc
Infrastucture Based : Questa congurazione è più complessa rispetto al-
la precedente, che permette di creare una rete WLAN di dimensioni
arbitrarie, in questo caso le stazioni che si trovano all'interno di una
BSS DS (Distribution Sy-
stessa creano un collegamento ad un
stem) (solitamente un Access Point) che ha il compito di instradare le
comunicazioni verso altre BSS, dando di conseguenza la possibilità di
estendere la rete senza nessuna limitazione.
3
5. Figura 1.2: Distribution Systems e Access Point
1.2 I protocolli di trasmissione dello standard
IEEE 802.11
La IEEE si occupa solamente di rilasciare un insieme di speciche e ra-
ticarle come standard, ma non non si occupa in nessun modo di testare o
certicare i prodotti che implementano tali protocolli, ed è per questo che è
Wi-Fi Alliance,
nata un'associazione la che si occupa di rilasciare le cer-
802.11a,802.11b,802.11g
ticazioni solo per gli standard e dei protoccli di
WEP WPA 802.11i
sicurezza del e del nuovo standard conosciuto anche
WPA2.
con il nome di
I principali protocolli di trasmissione dello standard IEEE 802.11 sono
questi:
802.11 Legacy La prima versione dello standard 802.11 venne presentata
nel 1997 e viene chiamata 802.1y, specicava velocità di trasferimen-
to comprese tra 1 e 2 Mbit/s e utilizzava i raggi infrarossi o le onde
radio nella frequenza di 2.4 Ghz per la trasmissione del segnale. La
trasmissione infrarosso venne eliminata dalle versioni successive dato
lo scarso successo. La maggior parte dei costruttori infatti aveva op-
tato per lo standard IrDA. Il supporto di questo standard per quanto
riguarda la trasmissione via onde radio è incluso delle evoluzioni dello
standard 802.11 per ragioni di compatibilità. Poco dopo questo stan-
dard vennero prodotti da due produttori indipendenti delle evoluzioni
dello standard 802.1y che una volta riunite e migliorate portarono alla
denizione dello standard 802.11b
802.11b 802.11b ha la capacità di trasmettere al massimo 11Mbit/s e utiliz-
za il Carrier Sense Multiple Access con Collision Avoidance (CSMA/-
4
6. CA) come metodo di trasmissione delle informazioni. Una buona par-
te della banda disponibile viene utilizzata dal CSMA/CA. In pratica
il massimo trasferimento ottenibile è di 5.9 Mbit/s in TCP e di 7.1
Mbit/s in UDP. Metallo, acqua e in generale ostacoli solidi riducono
drasticamente la portata del segnale. Il protocollo utilizza le frequenze
nell'intorno dei 2.4Ghz.
Utilizzando antenne esterne dotate di alto guadagno si è in grado di
stabilire delle connessioni punto a punto del raggio di molti chilometri.
Utilizzando ricevitori con guadagno di 80 decibel si può arrivare a 8
chilometri o se le condizioni del tempo sono favorevoli anche a distanze
maggiori ma sono situazioni temporanee che non consentono una co-
pertura adabile. Quando il segnale è troppo disturbato o debole lo
standard prevede di ridurre la velocità massima a 5.5, 2 o 1 Mbit/s per
consentire al segnale di essere decodicato correttamente.
Sono state sviluppate delle estensioni proprietarie che utilizzando più
canali accoppiati consentono di incrementare la velocità di trasmissio-
ne a scapito della della compatibilità con le periferiche prodotte da-
gli altri produttori. Queste estensioni normalmente vengono chiamate
802.11b+ e portano la banda teorica a 22,33 o addirittura a 44 Mbit/s.
802.11a Nel 2001 venne raticato il protocollo 802.11a approvato nel 1999.
Questo standard utilizza lo spazio di frequenze nell'intorno dei 5 Ghz
e opera con una velocità massima di 54 Mbit/s sebbene nella realtà
la velocità reale disponibile all'utente sia di circa 20 Mbit/s. La velo-
cità massima può essere ridotta a 48, 36,34,18,9 o 6 se le interferenze
elettromagnetiche lo impongono. Lo standard denisce 12 canali non
sovrapposti, 8 dedicati alle comunicazioni interne e 4 per le comunica-
zioni punto a punto. Quasi ogni stato ha emanato una direttiva diversa
a per regolare le frequenze ma dopo la conferenza mondiale per la ra-
diocomunicazione del 2003 l'autorità federale americana ha deciso di
rendere libere le frequenze utilizzate dallo standard 802.11a.
801.11g Nel giugno del 2003 questo standard venne raticato. Utilizza le
stesse frequenze del b cioè la banda di 2.4 Ghz e fornisce una banda
teorica di 54 Mbit/s che nella realtà si traduce in una banda netta di
24.7 Mbit/s, simile a quella dello standard 802.11a. È totalmente com-
patibile con lo standard b ma quando si trova a operare con periferiche
b deve ovviamente ridurre la sua velocità a quella dello standard b.
g+
Alcuni produttori introdussero delle ulteriori varianti chiamate o
Super G nei loro prodotti. Queste varianti utilizzavano l'accoppiata
5
7. di due canali per raddoppiare la banda disponibile anche se questo
indiceva interferenze con le altre reti e non era sopportato da tutte le
schede.
1.3 I problemi di sicurezza delle reti WLAN
Come nelle comuni reti LAN cablate, che consentono per natura l'accesso
multiplo al canale generando di conseguenza la possibilità per ogni host di
poter catturare tutto il traco di rete, anche per le reti Wireless è presente
questa problematica, dovuta anche alla natura del segnale che è a Radio
Frequenza.
Viene a crearsi dunque uno scenario, dove la possibilità di intercettare,
monitorare e modicare il traco di rete diventa un operazione semplice e alla
portata di chiunque sia in possesso di una attrezzatura adeguata allo scopo,
creando quindi una situazione ad alto rischio per l'integrità e la privacy delle
comunicazioni della rete stessa.
Dunque le principali problematiche delle reti Wireless possono essere
riassunte in questi punti fondamentali:
Privacy Impedire la possibilità di intercettare il traco di rete per la sta-
zioni non autorizzate
Autenticazione Possono accedere alla rete solo gli utenti autorizzati
Integrità Impedire qualsiasi forma di manomissione dei dati trasmessi
6
8. Capitolo 2
Sicurezza nelle reti 802.11
Lo standard IEEE 802.11 prevede 2 meccanismi per l'autenticazione, che
sono:
Open System Authentication Questo meccanismo è l'algoritmo standard
per l'autenticazione, non prevede essenzialmente una vera autenticazio-
ne ed eetivamente nessun tipo di algoritmo viene utilizzato, nel draft
Null.
dello IEEE viene denito appunto come un algoritmo
L'autenticazione avviene in questo modo:
1. Il client che vuole autenticarsi invia un IEEE 802.11 authentica-
tion management frame che contiene la sua identità
2. Il ricevente wireless AP controlla il frame inviato e risponde con
un authentication verication frame
Questo meccanismo non prevede nessun tipo di sicurezza, l'unica pos-
sibilità in questo caso è congurare l'AP in modo da tale da creare
una ACL per gli indirizzi MAC, quindi di autenticare solo le stazioni
ritenute adabili. E' facile superare questa restrizione semplicemente
venendo a conoscenza di uno degli indirizzi MAC validi che possono
autenticarsi.
Shared Key Authentication Questo meccanismo di autenticazione, è ba-
sato su una chiave segreta e come sistemaprevede nello standard 802.11
che questa sia distribuita a tutti i client che partecipano nell'autenti-
cazione, in canali deniti sicuri che siano totalmente indipendenti dalle
trasmissioni wireless. Praticamente, gli utenti devono conoscere eeti-
vamente la chiave coinvolta nell'autenticazione e scriverla a mano nella
congurazione della propria stazione.
7
9. L'autenticazione avviene in questo modo:
1. Il client invia un frame che contiene la propria identità e una
richiesta di autenticazione
2. Il nodo ricevente risponde con un challenge-test
3. Il client risponde con il challenge text che è stato criptato utiliz-
zando il protocollo WEP e una chiave di criptaggio derivata dalla
shared key
4. L'autenticazione risulta positiva solamente se il nodo ricevente
determina che il challenge text decriptato corrisponde al challenge
text originale inviato nel secondo freme. A questo punto viene
inviato al client il risultato dell'autenticazione.
Per gestire la privacy e garantire la sicurezza questo tipo di autentica-
zione prevede l'utilizzo del protocollo di crittograa WEP.
2.1 Lo standard WEP
Lo standard IEEE 802.11 denisce un meccanismo per garantire la pri-
Wired
vacy nelle comunicazioni, questo meccanimo è il WEP che sta per
Equivalence Protocol, come suggerisce il nome si pone l'obiettivo di garantire
un sistema di sicurezza equivalente a quello delle reti cablate.
2.1.1 La teoria
Il processo di modica dei dati (binari) allo scopo di nascondere le info-
crittograa
mazioni contenute è chiamato (che indichiamo con E).
plaintext (che indichiamo con P),
I dati che non sono criptati sono chiamati
chypertext (che indichiamo con C).
mentre i dati criptati sono chiamati
Il processo di convertire un cyphertext in un plaintext viene denito decritto-
grafare (che indichiamo con D). Un algoritmo di crittograa è una funzione
matematica usata per crittografare o decrittografare i dati. I moderni al-
goritmi di crittograa usano una chiave (key) (che indichiamo con K) per
modicare il loro output.
La funziona di crittograa E opera su P per produrre C:
Ek (P ) = C
Il processo inverso, la funzione di decriptaggio D operate su C per pro-
durre P:
8
10. Dk (C) = P
La stessa chiave inoltre che il processi di crifratura e decifratura è simme-
trico, infatti con la stessa chiave è possibile eseguire entrambe le operazioni:
Dk (Ek (P )) = P
2.1.2 Il WEP in dettaglio
Figura 2.1: Diagramma di cifratura WEP
Il primo passo dell'algoritmo prevede che la chiave segreta sia concatenata
con un initialization vectore (IV) e che la stringa risultante costituisca il seme
di un generatore di numeri pseudocasuali, chiamato pseudo-random number
generator (PNRG).
L'output del PNRG e un keystream k la cui lunghezza è esattamente uguale
a quella del messaggio che sarà trasmesso in rete.
Per proteggere dalla modica del messaggio durante la trasmissione, gli si
applica un algoritmo di controllo di integrità. Nel caso specico del WEP
viene utilizzato CRC-32. Il risultato di questa operazione chiamato Integrity
Check Value (ICV) e sara contatenato al messaggio stesso. Il processo di
cifratura termina quindi calcolando lo XOR tra il keystream k ed il testo in
chiaro concatenato con lo ICV.
Il messaggio nale, pronto per la trasmissione viene ottenuto unendo al
cifrato lo IV iniziale in chiaro. E' necessario che lo IV sia inviato in chiaro
per permettere la decodica al destinatario.
La decodica di un messaggio ricevuto, prevede una fase iniziale in cui si
genera lo stesso keystream k utilizzato per la codica.
Questo avviene prendendo lo IV del messaggio ricevuto, concatenadolo
alla chiave segreta ed inne utilizzando la stringa ottenuta come input del
PNRG.
Quindi si calcolerà lo XOR tra il keystream ottenuto ed il messaggio
cifrato.
9
11. Figura 2.2: Diagramma di decodica WEP
Inne la corretta decifratura deve essere vericata dall'algoritmo CRC-32
sul testo in chiaro recuperato.
Si controlla se lo ICV contenuto nel messaggio ricevuto corrisponde esat-
tamente allo ICV appena calcolato.
Lo standard 802.11 prevede che si utilizzi RC4 come algoritmo di PNRG.
Inoltre il protocollo permette di cambiare il valore dello IV di ogni mes-
saggio in modo che RC4 usi una chiave diversa ogni volta.
2.2 Problemi di sicurezza del protocollo WEP
2.2.1 WEP Key Recovery
Il protoccolo WEP contiene una grave falla di sicurezza nell'algoritmo
di crittograa che permette la possibilità di recuperare la shared secret key.
Questo è possibile considerando il fatto che alcuni valori dello IV producono
chiavi WEP deboli. Quando una chiave WEP debole è usata per criptare, il
primo byte della stringa pseudo-casuale potrebbe contenere delle correlazioni
con la chiave WEP debole.
Ogni chiave WEP debole utilizzata permette di avere un byte della chiave
shared secret key
segreta con la probabilità del 5%
. Dato che questo valore non è molto alto, un attacker è costretto a
catturare una grande quantità di pacchetti nell'ordine dai 5 ai 10 millioni
di pacchetti per aumentare il numero di probabilità per avere successo nel
cracking della chiave segreta.
Questa falla è stata pubblicata da Fluhrer, Mantin and Shamir in Wea-
knesses in the Key Scheduling Algorithm in RC4 .
Attualmente ci sono molti strumenti che permettono di testare queste vul-
nerabilità, i primi tools che hanno provato l'ecacia della scoperta FMS sono
Airsnort e Wepcrack, che sono stati portati sui principali sistemi operativi.
10
12. 2.2.2 IV Collision
Un altro modo di infrangere la sicurezza del WEP senza conoscere la
shared secret key, consiste nel catturare passivamente una grande quantità
di pacchetti, ma questa volta ponendo attenzione alla collisione degli IV. Una
collissione IV avviene quando 2 o più pacchetti sono codicati con lo stesso
valore dello IV, quindi la stessa chiave WEP.
Quando una collissione si verica, facendo uno XOR logico con i 2 pac-
(Borisov, Goldberg, Wagner, 2001).
chetti, possiamo eliminare la codica
Questa procedura puo essere dimostrata con questa semplice equazione
matematica:
C1 = P1 ⊗ RC4(k, v)
C2 = P2 ⊗ RC4(k, v)
C1 ⊗ C2 = (P1 ⊗ RC4(k, v)) ⊗ (P2 ⊗ RC4(k, v))
C1 ⊗ C2 = P1 ⊗ P2
La prima e la seconda equazione mostrano che i 2 ciphertexts sono cal-
colati facendo lo XOR tra il testo in chiaro e lo stesso keystream RC4(v,k),
dove v è lo IV e K è la chiave segreta (secret key).
Una semplice manipolazione algebrica dimostra che i 2 ciphertexts che usa-
no lo stesso keystream (RC4(v,k), in realtà annullano il keystream, facendo
P1 ⊗ P2
semplicemente lo XOR tra i 2 plaintexts:
Le collissioni IV avvengono molto frequentemente, grazie a determinati
fattori:
Lo IV-keyspace di 24-bit non è abbastanza grande per garantire che non ci
siano collissioni per un periodo di tempo molto lungo. Infatti un AP
che invia pacchetti di 1500 byte a 11Mbps sicuramente consumerà il
Borisov, Goldberg, Wagner, 2001
keyspace dell'IV in meno di 5 ore.
Molte schede Wireless (NIC) resettano gli IV a 0 ogni volta che la scheda è
Stubble-
inizializzata e viene incrementato di 1 ogni per ogni pachetto.
eld, Ioannidis, Rubin, 2001. Questo signica che ogni trasmissione
inizia con un ben determinato e ripetitivo IV, dando quindi l'oppor-
tunità per avere collissioni IV e garantire ad un attacker di scoprire
l'IV.
La sicurezza WEP è basata sull'assunzione che la chiave segreta debba essere
cambiata molto di frequente, cosa che in realtà non accade per la sua
11
13. natura manuale dell'operazione, cioè cambiare la chiave segreta a tutti
gli host che partecipano ad una determinata struttura di rete.
Grazie a tutti questi fattori, abbiamo la certezza che le collissioni IV
avvengono molto di frequente.
Alla luce di queste vulnerabilità molti Produttori di prodotti Wireless,
hanno oerto aggiornamenti per i loro prodotti, migliorando la generazione
e la casualità dello IV e di conseguenza riducendo il numero di chiavi WEP
identiche.
2.2.3 Airsnort
Il tool che abbiamo utilizzato per testare la vulnerabilità algoritmo RC4
(Wep Key Recovery) è AirSnort.
Questo tool è stato il primo (insieme a WEPCRACK) a rendere disponibile
Weaknesses in the Key
pubblicamente la vulnerabilità descritta nell'articolo
Scheduling Algorithm of RC4 di Scott Fluhrer, Itsik Mantin and Adi Shamir.
Questo tool è rilasciato sotto licenza GPL, quindi il codice sorgente è visi-
bile pubblicamente, inoltre è in grado di essere platform-indipendent, quindi
di essere eseguito sulla maggiorparte dei sistemi operativi oggi esistenti.
Il funzionamento è molto semplice, non richiede nessun Hardware partico-
lare o conoscenze tecniche in materia di Sicurezza, tutto sta nel congurare la
Monitor, poi eseguire
scheda wireless NIC in una modalità particolare detta
sulla stessa interfaccia di rete Airsnort, il quale non farà altro che raccogliere
in maniera passiva tutti i pacchetti che vengono inviati/ricevuti da un AP
con crittograa WEP.
Per avere eetto il numero dei pacchetti deve essere molto alto, nell'ordine
dei 5-10 millioni di pacchetti criptati, solo a questo punto airsnort sarà in
grado di eseguire l'algoritmo per la decodica della shared-key, che non im-
piegherà più di 1/2 secondi.
Avendo a disposizione il codice sorgente, è interessante mostrare come in
con poche routine scritte in linguaccio C, sia possibile infrangere il sistema
di sicurezza su cui si basa il WEP, nella prossima pagine il listato completo
RC4.C,
di la libreria impiegata da Airsnort per eettuare il cracking della
shared Key.
12
14. void ∗this )
R C 4 i n i t (RC4 {
sizeof ( unsigned char ) ∗
memcpy ( t h i s −S , Identity , N) ;
t h i s −i = t h i s −j = 0 ;
}
void unsigned char ∗K, int
∗ this
k e y S t e p (RC4 , l) {
t h i s −j += ( t h i s −S ) [ t h i s −i ] + K [ t h i s −i % l ] ;
SWAP( t h i s −i , t h i s −j ) ;
( t h i s −i )++;
}
void keyWith (RC4 ∗ t h i s , unsigned char ∗K, int l ) {
int a ;
for ( a = 0 ; a N ; a++) k e y S t e p ( t h i s , K, l ) ;
t h i s −i = t h i s −j = 0 ;
}
int ∗this )
s t e p (RC4 {
( t h i s −i )++;
t h i s −j += t h i s −S [ t h i s −i ] ;
SWAP( t h i s −i , t h i s −j ) ;
return ( t h i s −S [N R
O M( t h i s −S [ t h i s −i ] + t h i s −S [ t h i s −j ] ) ] ) ;
}
/∗
∗ The S ^ −1 f u n c t i o n from FMS 7 . 1
∗/
int S I n v e r s e (RC4 ∗ t h i s , int x ) {
int a ;
for ( a = 0 ; a N ; a++) {
i f ( t h i s −S [ a ] == x ) return ( a ) ;
}
printf (quot; Reality E r r o r #1quot; ) ;
exit (1);
}
int k e y G u e s s (RC4 ∗ t h i s , int B , int o u t ) {
return (NORM( S I n v e r s e ( t h i s , o u t ) − t h i s −j − t h i s −S [ IV_SIZE+ ] ) ) ;
B
}
13
15. int i s O k (RC4 ∗ t h i s , int B) {
return ( t h i s −S [ 1 ] IV_SIZE
O M( t h i s −S [ 1 ] + t h i s −S [ t h i s −S [ 1 ] ] )
NR == IV_SIZE + B ) ;
}
int t r y I V (RC4 ∗ t h i s , unsigned char ∗ key , int int
B, out ) {
int a ;
for ( a = 0 ; a IV_SIZE ; a++) {
keyStep ( t h i s , key , 16);
}
i f ( ! i s O k ( t h i s , B ) ) return ( −1);
for ( a = IV_SIZE ; a IV_SIZE+B ; a++) {
keyStep ( t h i s , key , 16);
}
return keyGuess ( t h i s , B, out ) ;
}
void s e t u p I d e n t i t y ( ) {
int a ;
for ( a = 0 ; a N ; a++) {
Identity [ a ] = a;
}
}
14
16. 2.2.4 Analisi di un attacco con Airsnort
Per i nostri test, abbiamo simulato una situazione reale di una piccola
rete Lan, con i seguenti apparati:
1. Access Point con crittografria WEP a 64BIT (Shared Key) ESSID:
PsycoAP key (hex): 1234567890
2. NIC wireless IPW2200 (Centrino)
I test sono stati eettuati su una macchina Linux e con i tool standard
da linea di comando per la congurazione della scheda NIC.
La scheda NIC è stata congurata in modalità Monitor:
Airsnort dispone di una comoda GUI che ci permette di vedere in realtime
l'elaborazione e lo sning dei pacchetti:
15
17. Una volta attivato Airsnort, bisogna attendere diverse ore prima di ar-
rivare alla decodica della shared key, bisogna anche porre attenzione al
breadth
parametro presente nell'interfaccia di airsnort. Tramite questo pa-
rametro è possibile indicare quanto grande lo spazio di ricerca della chiave
deve essere. Se il breadth è settato ad 1, Airsnort proverà statisticamente i
13
più probabili byte in ogni posizione della chiave, quindi 1 oppure 1 chiave,
se venisse scelto un valore di 2, il sistema proverebbe ogni combinazione dei
13
due bytes più probabili ad ogni posizione della chiave, quindi 2 oppure 8
chiavi.
Di conseguenza aumentando questo valore di breadth la computazione a cui
è sottoposta la macchina di un attacker è molto più alta ed avere un bread-
th troppo elevato rischierebbe di compromettere l'ecacia del algoritmo di
cracking RC4, che ricordiamo è più un algoritmo statistico che di brute-force,
ma avendo una macchina molto potente è possibile aumentare la profondità
dell'albero no ad un numero molto elevato (nel nostro caso 15) dimuendo
quindi il tempo per ottenere la nostra shared key.
Inoltre è da sottolineare che non si puo basare la sicurezza di questi dispositi-
vi in base al tempo e alla potenza di calcolo che un attacker ha a disposizione,
perchè non è molto dicile prevedere un attacco dove la computazione dei
dati a disposizione dell'attacker possa venire computati in un ambiente di
calcolo distribuito, orendo una capacità di calcolco virtualmente illimitata.
2.2.5 Il risultato dell'attacco con Airsnort
Purtroppo, anche dopo circa 10 ore di sning nella rete WLAN, non sia-
mo riusciti ad ottenere il risultato, cioè di ottenere in chiaro la nostra Shared
Key.
Le motivazioni del fallimento tramite questo famoso tool, sono da impu-
tare allo scarso sviluppo di questo tool e al minimo supporto HW dei chipset
di ultima generazione.
Per raggiungere l'obbiettivo, analizzando gli altri strumenti di Cracking
AirCrack-
WEP disponibili, abbiamo scelto ed utilizzato con successo il tool
ng.
16
18. 2.2.6 AirCrack-ng
Aircrack è un tool di ultima generazione in grado di eettuare il cracking
WEP WPA-PSK.
delle chiavi sia che E' in grado di sfruttare l'attacco
standard sull'RC4 (come nel caso di AirSnort), con alcune ottimizzazioni che
lo rendono uno dei tool di cracking più veloci oggi esistenti, in eetti nelle
nostre prove in poco meno di 2 ore di sning siamo riusciti ad ottenere con
successo la shared Key.
Anche Aircrack-ng è un tool OpenSource e multipiattaforma, disponibile per
la quasi totalità dei moderni Sistemi Operativi, a dierenza di quanto suc-
cede per Airsnort questo tool non dispone di un'interfaccia graca propria,
puo essere quindi utilizzato solamente tramite linea di comando (CLI ).
Ha una struttura modulare molto comoda, che permette di separare com-
pletamente le principali funzioni di Sning, Logging e Cracking.
Nel nostro caso abbiamo utilizzato:
1. Airodump-ng
2. Aircrack-ng
Le congurazioni dell'AP e dell'host utilizzato per il cracking sono rima-
ste identiche.
17
19. 2.2.7 Analisi di un attacco con AirCrack
La prima fase dell'attacco è quella di sniare il traco di rete generato
Airodump-ng:
dall'AP, in questo caso utilizziamo il tool
Analizziamo il comando eseguito:
airodump-ng: Tool di dumping
-c 6: 6
Selezionamo il canale
-w wep: wep
Presso per i le di logging
eth0: Interfaccia di rete da utilizzare per il dumping
18
20. La seconda fase, consiste nel lanciare il vero e proprio tool di cracking
Aircrack-ng sul le di log generato da Airodump dopo 2 ore continue di
dumping del traco di rete:
389256 IVs collezionati, per
In questo caso sono bastati pochi secondi e
avere l'esito sperato e quindi avere nalmente in chiaro la nostra Shared Key.
Eetuando altri simulazioni, abbiamo scoperto che il tool e l'algoritmo
di cracking per essere ecaci, hanno bisogno di almeno 250.000 IVs per una
chiave WEP a 40-Bit e almeno 800.000 IVs per una chiave WEP a 104-Bit.
2.2.8 Conclusione analisi protocollo WEP
Abbiamo dimostrato come il protocollo WEP allo stato attuale sia total-
mente insicuro e inadabile, non ponendo nessun tipo di garanzia sulla sicu-
rezza dei dati e dell'autenticazione degli utenti che fanno parte della WLAN,
quindi mettendo a rischio tutta la struttura di rete in cui sia presente e attivo
un punto di accesso Wireless.
19
21. Ed è per questo che molte aziende e professionisti si sono mossi per crea-
re velocemente un sostituto del WEP, tentando prima di tutto di garantire
piena compatibilità con tutti gli apparati Wireless esistenti e principalmen-
te di garantire Sicurezza e adabilità e la soluzione alle vulnerabilità con il
protocollo WEP.
WPA.
Questo nuovo protoccolo è conosciuto come
2.3 Il protocollo WPA
Il protocollo WPA è un sottoinsieme del protocollo 802.11i (conosciuto
Wi-Fi Alliance
anche come WPA2), nasce dal lavoro della in collaborazione
con l'IEEE, come sostituto uciale del protocollo WEP, che come abbiamo
visto non garantiva nessuna garanzia di sicurezza.
Le caratteristiche del WPA sono molto interessanti anche per i produttori
di Hardware dedicato, in quanto è totalmente integrabile con le congurazioni
esistenti 802.11 e nella maggiorparte dei casi si tratta solamente di fare degli
upgrade ai rmware degli apparati, tutto questo è possibile per un motivo
fondamentale, cioè che l'algoritmo di codica utilizzato nel WPA è ancora il
R4 Stream Cipher.
noto
Lo scopo principale è quello di risolvere tutti i problemi riscontrati nel
protocollo WEP, quindi un nuovo meccanismo per la gestione delle chiavi
(TKIP) e un protocollo ben denito per l'autenticazione degli utenti coinvolti
nella rete WLAN, cosa molto importante in quanto nel WEP l'autenticazione
non era garantita.
2.3.1 TKIP - Temporal Key Integrity Protocol
Questo protocollo è il sostituto uciale del WEP, lo scopo principale è
quello di essere retrocompatibile con lo standard 802.11 e di eliminare le prin-
cipali vulnerabilità riscontrate appunto con il procollo WEP.
Il protoccolo TKIP garantisce maggiore sicurezza rispetto al protoccolo
WEP, in quanto utilizzata una funzione di generazione delle chiavi per ogni
pacchetto, invece che una concatenazione dello IV con la Shared Key.
Per garantire compatibilità e prestazioni con l'Hardware gia esistente, TKIP
utilizza ancora RC4, ma cambiando il sistema con cui viene utilizzato questo
20
22. specico algoritmo, infatti adesso invece di usare la chiave segreta (Shared
Key) direttamente alla codica dei dati, viene utilizzata solamente come se-
me per generare alrte chiavi.
Grazie a questo approccio si minimizza l'esposizione della chiave segreta ad
un qualunque tipo di attacco.
Session Key,
La prima chiave che viene generata è la questa poi viene a
sua volta utilizzata come seme per generare le chiavi per i pacchetti.
Vediamo come funziona questo protocollo in dettaglio.
2.3.2 TKIP in dettaglio
Come abbiamo detto in precedenza, questo protoccolo genera una chiave
hash
diversa per ogni pacchetto che viene creata utilizzando una funziona di
MAC del client, lo IV Session Key.
sull'indirizzo e la
Per diminuire la potenza di calcolo necessaria per generare una chiave per
ogni pacchetto, la funzione di key mixing è divisa in 2 fasi:
Fase 1:
1. In quesa fase, l'indirizzo MAC del client, la chiave di sessione
temporanea e i 32-Bit più signicativi dello IV vengono passati alla
funzione di Hash. Il risultato di questa fase no a quando la chiave
di sessione viene cambiata oppure ogni volta che cambiano i 32Bit più
signicativi dello IV.
Fase 2:
2. Questa fase è molto simile al processo di codica del protocollo
WEP, le dierenze sono che il campo di 24-Bit della chiave WEP viene
sostituito con i 16-Bit meno signicativi dello IV del WPA con un
dummy byte inserito nel mezzo, la chiave WEP invece viene sostituita
con la chiave per pacchetto generata dall'algoritmo di mixing.
Quindi utilizzando TKIP, la chiave di codica è da 128-Bit completamente
dinamica, un grande passo avanti rispetto al WEP dove la chiave era generata
un valore dinamico di 24-Bit(IV) e una chiave statica da 40 oppure 104-Bit.
2.3.3 MIC - Message Integrity Code
Il protocollo WPA introduce un ulteriore livello di sicurezza per quanto
riguarda l'integrità dei dati che vengono elaborati in una trasmissione WLAN.
Questo protocollo è una funzione di Key-Hashing specicatamente stu-
diata per le apparecchiature a bassa potenza, che viene calcolata sui dati del
21
23. pacchetti da inviare prima che venga codicato, ed ha un valore di 8-Byte, il
risultato dell'operazione di hashing è equivalente ad una chiave a 20-Bit, che
è considerata universalmente nel mondo della sicurezza, come una chiave a
bassa protezione.
Grazie a questo protoccolo MIC, quando all'interno della rete WLAN vie-
ne individuato qualche pacchetto corrotto, vengono attivate immediatamente
delle contromisure, prima di tutto viene disabilito per 60 secondi il link dove
si è indivuato il dato corrotto e ogni device coinvolto è forzata a richiedere
Key).
una chiave di sessione (Session
Anche in questo caso ci sono dei potenziali problemi che coinvolgono que-
sto protocollo, infatti un attacker potrebbe scatenare verso la rete Wlan un
attacco di tipo DOS (Denial of Service), inserendo nella rete pacchetti non
validi o corrompendo i messaggi tra gli Host e l'AP, generando quindi da
parte dell'AP una serie di contromisure, bloccando il traco di rete.
2.3.4 802.1x
L'802.1x è uno standard IEEE basato sul controllo delle porte di accesso
ad una rete LAN, nelle reti cablate il controllo viene eetuato direttamente
dallo Switch mentre nelle Reti Wireless il protocollo è implementato diretta-
mente dagli AP ,fa parte della famiglia degli standard IEEE 802.
Extensible Authen-
Il protoccolo utilizzato per l'autenticazione è l'EAP
tication Protocol, ed è l'unico traco di rete permesso tra un nodo e l'AP
prima della vera e propria autenticazione alla rete.
Il protoccolo divide in 3 rouli ben distinti le interfacce di rete:
Supplicant:
1. Il client che vuole autenticarsi alla rete
Authenticator:
2. E' il punto di collegamento dove il Client è sicamente
connesso, generalmente in una situazione wireless è l'Access Point.
Authentication Server:
3. E' il server che si occupa di gestire eeti-
vamente l'autenticazione del Client alla rete, puo essere un Server di
LDAP), ma il più usato in questo
Autenticazione di qualsiasi tipo (es:
ambito è il server Radius
22
24. WPA implementa completamente questo protoccolo, garantendo quindi
una maggiore sicurezza e adabilità nelle connessioni di rete Wireless, ag-
giungendo una funzionalità importante che è quella dell'autenticazione, che
mancava completamente al protoccolo WEP e che si rende necessaria per
situazioni di reti WLAN di grande dimensioni.
2.3.5 WPA-PSK
Il protoccolo WPA prevede la possibilità di operare anche in assenza del
framework di autenticazione 802.1x.
In questa modalità il WPA permette ai client wireless di poter utilizzare
Pre Shared Key,
passphrase
una come dove ogni Client ha una sua PSK
associata al proprio indirizzo MAC, ma la maggiorparte dei produttori HW
utilizzano una PSK unica per tutti i Device, tornando quindi ad una solu-
zione molto vicina a quella WEP.
Ovviamente in questo caso tutti gli attacchi statistici sugli IV di RC4 che si
usano nel protocollo WEP sono inutili, ma questo sistema sore di una grave
vulnerabilità, infatti un attaccker in questo caso potrebbe mettersi in ascolto
sulla rete e catturare il messaggio di autenticazione di un qualsiasi Host e
poi fare un brute-force sulla PSK per trovare quella corretta.
Per testare questa vulnerabilità, è possibile utilizzare lo stesso tool che
AirCrack.
abbiamo usato per crackare la chiave WEP, cioè
2.3.6 Analisi di un attacco WPA-PSK
Per testare questa vulnerabilità, abbiamo utilizzato lo stesso HW di Rete
degli esperimenti precedenti ma congurando l'AP in modalità WPA-SPK e
passphrase:
come 12345667890
La cosa importante per questo attacco è quello di sniare i messaggi di
autenticazione di uno degli Client collegati alla rete, per ottenere questi pac-
chetti ci sono 2 possibilità, rimanere in ascolto no a quando un Client non
si autentica, oppure forzare la deautenticazione di Host gia collegato, utiliz-
Aireplay-ng Aircrack-ng.
zando il tool che fa parte della suite
23
25. Dopo aver sniato e memorizzato in un apposito le di dump, il traf-
co di rete e i messaggi di autenticazione, è possibile lanciare il bruteforce
passphrase tramite il tool Aircrack-ng
sulla e un dizionario di possibili parole.
I nostri ripetuti tentativi sono purtroppo falliti, perchè non ci è stato pos-
sibile in nessun modo sniare i messaggi di autenticazione degli Host collegati
alla rete, neanche forzando la deautenticazione degli Host collegati in quanto
il tool Airplay-ng necessità di Hardware specico per poter funzionare.
Queste immagini dimostrano il funzionamento del tool Aircrack-ng con
WPA-PSK:
Da notare nella seconda gura il le con il dizionario e con la passphrase
in chiaro, opportunamente creato per testare la vulnerabilità.
24
26. Capitolo 3
Lo standard 802.11i WPA2
Dopo aver immesso sul mercato le speciche del protoccolo WPA, un
sottoinsieme delle speciche 802.11i, il 24 Giugno 2004 è stato nalmente
raticato questo standard.
Ancora oggi questo standard non è molto diuso in ambito picole/media
imprese o in ambito privato, dato che passare a questo protocollo signica
sostiuire completamente le attuali interfacce di Rete, cosa che non è fattibile
dove sono stati fatti grandi investimenti, ed è per questo che ancora oggi si
preferisce mettere in sicurezza i vecchi apparati WEP/WPA.
Il punto chiave del nuovo protocollo è la sostituzione dell'algoritmo di
AES, che è uno degli algoritmi di cifratura più
codica RC4 con l'algoritmo
Institute of Standard
forti e famoso per essere utilizzato dal NIST (National
and Technologies. L'utilizzo di tale protocollo richiede un coprocessore mate-
matico dedicato, quindi la sostituzione delle attuali apparecchiature Wireless.
Per il resto condivide tutte le caratteristiche di sicurezza che sono state
presentate con il protoccolo WPA.
25
27. Capitolo 4
Conclusione
Ad oggi non esiste ancora un'unica soluzione Standard che puo essere
ritenuta adabile, anche se sono stati raticati i nuovi standard per la sicu-
rezza, non c'è la garanzia totale che le comunicazioni siano realmente sicure.
La sicurezza in questo ambito è un componente fondamentale, che deve
essere studiata a livelli, quindi seguendo i protocolli ISO/OSI dell'architettu-
ra di Rete, bisogna garantire ad ogni livello un determinato e adabile livello
di sicurezza, senza aumentare troppo l'overhead di dati e di conseguenza di-
minuendo le prestazioni.
Quindi oltre ai protocolli qui presentati, bisogna studiare soluzioni alter-
native gia conosciute ed integrarle alle infrastutture di rete senza li, quindi
Firewall e traco di dati criptati con i procolli SSL e strutture di rete pri-
vate VPN.
26
28. Bibliograa
[1] Scott Fluhrer, Itsik Mantin, and Adi Shamir. Weaknesses in the key sche-
duling algorithm of RC4. Lecture Notes in Computer Science, 2259:124,
2001.
[2] Adam Stubbleeld, John Ioannidis, and Aviel D. Rubin. A key recovery
attack on the 802.11b wired equivalent privacy protocol (wep). ACM
Trans. Inf. Syst. Secur., 7(2):319332, 2004.
[3] Jeremy Bruestle, Blake Hegerle, and Snax. Airsnort.
http://airsnort.shmoo.com/.
[4] Aircrack-ng http://www.aircrack-ng.org
[5] An Overview of 802.11 Wireless Network Security Standards
Mechanisms Luis Carlos Wong 21 October 2004
[6] J. Philip Craiger. 802.11, 802.1x, and Wireless Security 23 June 2002
[7] Arbaugh., W. An inductive chosen plaintext attack against WEP/WEP2.
IEEE Document 802.11-01/230, May, 2001.
[8] Arbaugh, W., Shankar, N., Wan, J. Your 802.11 Wireless Network has
No Clothes. Department of Computer Science University of Maryland
College Park, Maryland, March, 2001.
[9] Conover, J. Anatomy of IEEE 802.11b Wireless 7 August 2001.
URL:http://www.networkcomputing.com/1115/1115ws2.html. (7 June
2002).
[10] Geier, J. 802.11 WEP: Concepts and Vulnerability. 802.11 Planet. 20
June 2002.
[11] The evolution of wireless security in 802.11 networks: WEP, WPA and
802.11 standards, Stanley Wong, May 20, 2003
27
29. [12] Wireless security beyond WEP and WPA. Eric Peeters, 20 May 2004
[13] Sicurezza nelle Wireless LAN, Giuseppe Paternò,
http://gpaterno.free.fr/publications/index.html
[14] National institute of standards and tecnology. Gaithersburg, Maryland,
http://www.nist.gov/.
[15] Anton T. Rager. Wepcrack. http://wepcrack.sourceforge.net/.
[16] Wireless Hacking: Breaking Through,
http://www.awprofessional.com/articles/article.asp?p=353735seqNum=6rl=1
[17] Practical Exploitation of RC4 Weaknesses in WEP Environments, David
Hulton, February 22, 2002
[18] Cracking Wi-Fi Protected Access (WPA), CiscoPress, Seth Fogie, Mar
11, 2005
28