29

Aspetti di sicurezza dei protocolli Wireless

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Aspetti di sicurezza dei protocolli Wireless

Aspetti di sicurezza dei protocolli per wireless(WEP - WPA - TKIP)

Paolo Mainardi ([email protected])Andrea Giacomini ([email protected])

15 giugno 2006

Page 2: Aspetti di sicurezza dei protocolli Wireless

Indice

1 Le reti Wireless 21.1 Lo standard IEEE 8O2.111 . . . . . . . . . . . . . . . . . . . . 31.2 I protocolli di trasmissione dello standard IEEE 802.11 . . . . 41.3 I problemi di sicurezza delle reti WLAN . . . . . . . . . . . . 6

2 Sicurezza nelle reti 802.11 72.1 Lo standard WEP . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.1 La teoria . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.2 Il WEP in dettaglio . . . . . . . . . . . . . . . . . . . . 9

2.2 Problemi di sicurezza del protocollo WEP . . . . . . . . . . . 102.2.1 WEP Key Recovery . . . . . . . . . . . . . . . . . . . . 102.2.2 IV Collision . . . . . . . . . . . . . . . . . . . . . . . . 112.2.3 Airsnort . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.4 Analisi di un attacco con AirSnort . . . . . . . . . . . 152.2.5 Il risultato dell'attacco con Airsnort . . . . . . . . . . . 162.2.6 AirCrack-ng . . . . . . . . . . . . . . . . . . . . . . . . 172.2.7 Analisi di un attacco con AirCrack . . . . . . . . . . . 182.2.8 Conclusione analisi protocollo WEP . . . . . . . . . . . 19

2.3 Il protocollo WPA . . . . . . . . . . . . . . . . . . . . . . . . 202.3.1 TKIP - Temporal Key Integrity Protocol . . . . . . . . 202.3.2 TKIP In dettaglio . . . . . . . . . . . . . . . . . . . . . 212.3.3 MIC - Message Integrity Code . . . . . . . . . . . . . . 212.3.4 802.1x . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3.5 WPA-PSK . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.6 Analisi di un attacco WPA-PSK . . . . . . . . . . . . . 23

3 Lo standard 802.11i WPA2 25

4 Conclusione 26

Bibliogra�a 26

1

Page 3: Aspetti di sicurezza dei protocolli Wireless

Capitolo 1

Le reti Wireless

Le reti Wireless (WLAN) negli ultimi hanni hanno subito una notevoleespansione, che sta portanto progressivamente la migrazione delle attuali reticablate alle più moderne tecnologie senza �li, tutto questo è dovuto a diversifattori che sono principalmente il costo ridotto delle apparecchiature e ilprogressivo aumento della larghezza di banda paragonabile alle attuali reticablate, ed inoltre fattore chiave del successo è anche la facilità e la velocitàcon cui queste reti senza �li possono essere installate/con�gurate ed integratecon le attuali infrastrutture di rete.

Le attuali reti WLAN hanno diverse modalità di impiego, vengono nor-malmente utilizzate in ambito aziendale come integrazione di infrastutturedi reti wired esistenti per portare connetività in punti di�cili (o troppo co-stosi) da cablare. Inoltre con la recente legislazione e liberalizzazione dellefrequenze radio su cui operano le reti Wireless, è stato possibile creare unasituazione in cui società di telecomunicazioni utilizzano la tecnologia wirelessper fornire accesso Internet nelle zone non coperte da collegamenti a bandalarga oppure impossibili da raggiungere con le normali rete a cavo.

Inoltre il protocollo standard IEEE 802.11 prevede una possibilità dicollegamento diversa da quella usuale che è de�nita ad-hoc, che permettedi creare collegamenti punto-punto tra 2 Host, dando quindi la possibilitàdi poter creare tante piccole sottoreti indipendenti e non coordinate da ununico punto di accesso.

2

Page 4: Aspetti di sicurezza dei protocolli Wireless

1.1 Lo standard IEEE 8O2.111

802.11 si riferice ad una famiglia di speci�che sviluppate dallo IEEE (In-stitute of Electrical and Electronics Engineers, Inc.) per le reti wireless LAN,il protocollo è stato accettato ed u�cilizzato nel 1997. Questa famiglia diprotocolli include tre protocolli dedicati alla trasmissione delle informazio-ni(a,b,g), la sicurezza è stata inclusa in uno standard a parte 802.11i. Glialtri standard della famiglia (c, d, e, f, h, ...) 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 de�nita e delimitata,che formano un BSS (Basic Distribution System), che sarebbe una zonaall'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 sitrovano all'interno di una stessa BSS si con�gurano in modo tale dacomunicare direttamente formando una piccola rete privata.

Figura 1.1: 2 BSS collegate ad-hoc

Infrastucture Based : Questa con�gurazione è più complessa rispetto al-la precedente, che permette di creare una rete WLAN di dimensioniarbitrarie, in questo caso le stazioni che si trovano all'interno di unastessa BSS creano un collegamento ad un DS (Distribution Sy-stem) (solitamente un Access Point) che ha il compito di instradare lecomunicazioni verso altre BSS, dando di conseguenza la possibilità diestendere la rete senza nessuna limitazione.

3

Page 5: Aspetti di sicurezza dei protocolli Wireless

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 speci�che e ra-ti�carle come standard, ma non non si occupa in nessun modo di testare ocerti�care i prodotti che implementano tali protocolli, ed è per questo che ènata un'associazione la Wi-Fi Alliance, che si occupa di rilasciare le cer-ti�cazioni solo per gli standard 802.11a,802.11b,802.11g e dei protoccli disicurezza WEP del WPA e del nuovo standard 802.11i conosciuto anchecon il nome di WPA2.

I principali protocolli di trasmissione dello standard IEEE 802.11 sonoquesti:

802.11 Legacy La prima versione dello standard 802.11 venne presentatanel 1997 e viene chiamata 802.1y, speci�cava velocità di trasferimen-to comprese tra 1 e 2 Mbit/s e utilizzava i raggi infrarossi o le onderadio nella frequenza di 2.4 Ghz per la trasmissione del segnale. Latrasmissione infrarosso venne eliminata dalle versioni successive datolo scarso successo. La maggior parte dei costruttori infatti aveva op-tato per lo standard IrDA. Il supporto di questo standard per quantoriguarda la trasmissione via onde radio è incluso delle evoluzioni dellostandard 802.11 per ragioni di compatibilità. Poco dopo questo stan-dard vennero prodotti da due produttori indipendenti delle evoluzionidello standard 802.1y che una volta riunite e migliorate portarono allade�nizione 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

Page 6: Aspetti di sicurezza dei protocolli Wireless

CA) come metodo di trasmissione delle informazioni. Una buona par-te della banda disponibile viene utilizzata dal CSMA/CA. In praticail massimo trasferimento ottenibile è di 5.9 Mbit/s in TCP e di 7.1Mbit/s in UDP. Metallo, acqua e in generale ostacoli solidi riduconodrasticamente la portata del segnale. Il protocollo utilizza le frequenzenell'intorno dei 2.4Ghz.

Utilizzando antenne esterne dotate di alto guadagno si è in grado distabilire delle connessioni punto a punto del raggio di molti chilometri.Utilizzando ricevitori con guadagno di 80 decibel si può arrivare a 8chilometri o se le condizioni del tempo sono favorevoli anche a distanzemaggiori ma sono situazioni temporanee che non consentono una co-pertura a�dabile. Quando il segnale è troppo disturbato o debole lostandard prevede di ridurre la velocità massima a 5.5, 2 o 1 Mbit/s perconsentire al segnale di essere decodi�cato 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 chiamate802.11b+ e portano la banda teorica a 22,33 o addirittura a 44 Mbit/s.

802.11a Nel 2001 venne rati�cato il protocollo 802.11a approvato nel 1999.Questo standard utilizza lo spazio di frequenze nell'intorno dei 5 Ghze 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 interferenzeelettromagnetiche lo impongono. Lo standard de�nisce 12 canali nonsovrapposti, 8 dedicati alle comunicazioni interne e 4 per le comunica-zioni punto a punto. Quasi ogni stato ha emanato una direttiva diversaa per regolare le frequenze ma dopo la conferenza mondiale per la ra-diocomunicazione del 2003 l'autorità federale americana ha deciso direndere libere le frequenze utilizzate dallo standard 802.11a.

801.11g Nel giugno del 2003 questo standard venne rati�cato. Utilizza lestesse frequenze del b cioè la banda di 2.4 Ghz e fornisce una bandateorica di 54 Mbit/s che nella realtà si traduce in una banda netta di24.7 Mbit/s, simile a quella dello standard 802.11a. È totalmente com-patibile con lo standard b ma quando si trova a operare con perifericheb deve ovviamente ridurre la sua velocità a quella dello standard b.

Alcuni produttori introdussero delle ulteriori varianti chiamate g+ oSuper G nei loro prodotti. Queste varianti utilizzavano l'accoppiata

5

Page 7: Aspetti di sicurezza dei protocolli Wireless

di due canali per raddoppiare la banda disponibile anche se questoindiceva interferenze con le altre reti e non era sopportato da tutte leschede.

1.3 I problemi di sicurezza delle reti WLAN

Come nelle comuni reti LAN cablate, che consentono per natura l'accessomultiplo al canale generando di conseguenza la possibilità per ogni host dipoter catturare tutto il tra�co di rete, anche per le reti Wireless è presentequesta problematica, dovuta anche alla natura del segnale che è a RadioFrequenza.

Viene a crearsi dunque uno scenario, dove la possibilità di intercettare,monitorare e modi�care il tra�co di rete diventa un operazione semplice e allaportata di chiunque sia in possesso di una attrezzatura adeguata allo scopo,creando quindi una situazione ad alto rischio per l'integrità e la privacy dellecomunicazioni della rete stessa.

Dunque le principali problematiche delle reti Wireless possono essereriassunte in questi punti fondamentali:

Privacy Impedire la possibilità di intercettare il tra�co 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

Page 8: Aspetti di sicurezza dei protocolli Wireless

Capitolo 2

Sicurezza nelle reti 802.11

Lo standard IEEE 802.11 prevede 2 meccanismi per l'autenticazione, chesono:

Open System Authentication Questo meccanismo è l'algoritmo standardper l'autenticazione, non prevede essenzialmente una vera autenticazio-ne ed e�etivamente nessun tipo di algoritmo viene utilizzato, nel draftdello IEEE viene de�nito appunto come un algoritmo Null.

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 conun authentication veri�cation frame

Questo meccanismo non prevede nessun tipo di sicurezza, l'unica pos-sibilità in questo caso è con�gurare l'AP in modo da tale da creareuna ACL per gli indirizzi MAC, quindi di autenticare solo le stazioniritenute a�dabili. E' facile superare questa restrizione semplicementevenendo a conoscenza di uno degli indirizzi MAC validi che possonoautenticarsi.

Shared Key Authentication Questo meccanismo di autenticazione, è ba-sato su una chiave segreta e come sistemaprevede nello standard 802.11che questa sia distribuita a tutti i client che partecipano nell'autenti-cazione, in canali de�niti sicuri che siano totalmente indipendenti dalletrasmissioni wireless. Praticamente, gli utenti devono conoscere e�eti-vamente la chiave coinvolta nell'autenticazione e scriverla a mano nellacon�gurazione della propria stazione.

7

Page 9: Aspetti di sicurezza dei protocolli Wireless

L'autenticazione avviene in questo modo:

1. Il client invia un frame che contiene la propria identità e unarichiesta 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 dallashared key

4. L'autenticazione risulta positiva solamente se il nodo riceventedetermina che il challenge text decriptato corrisponde al challengetext originale inviato nel secondo freme. A questo punto vieneinviato 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 crittogra�a WEP.

2.1 Lo standard WEP

Lo standard IEEE 802.11 de�nisce un meccanismo per garantire la pri-vacy nelle comunicazioni, questo meccanimo è il WEP che sta per WiredEquivalence Protocol, come suggerisce il nome si pone l'obiettivo di garantireun sistema di sicurezza equivalente a quello delle reti cablate.

2.1.1 La teoria

Il processo di modi�ca dei dati (binari) allo scopo di nascondere le info-mazioni contenute è chiamato crittogra�a (che indichiamo con E).I dati che non sono criptati sono chiamati plaintext (che indichiamo con P),mentre i dati criptati sono chiamati chypertext (che indichiamo con C).Il processo di convertire un cyphertext in un plaintext viene de�nito decritto-grafare (che indichiamo con D). Un algoritmo di crittogra�a è una funzionematematica usata per crittografare o decrittografare i dati. I moderni al-goritmi di crittogra�a usano una chiave (key) (che indichiamo con K) permodi�care il loro output.La funziona di crittogra�a 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

Page 10: Aspetti di sicurezza dei protocolli Wireless

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 concatenatacon un initialization vectore (IV) e che la stringa risultante costituisca il semedi un generatore di numeri pseudocasuali, chiamato pseudo-random numbergenerator (PNRG).L'output del PNRG e un keystream k la cui lunghezza è esattamente ugualea quella del messaggio che sarà trasmesso in rete.Per proteggere dalla modi�ca del messaggio durante la trasmissione, gli siapplica un algoritmo di controllo di integrità. Nel caso speci�co del WEPviene utilizzato CRC-32. Il risultato di questa operazione chiamato IntegrityCheck Value (ICV) e sara contatenato al messaggio stesso. Il processo dicifratura termina quindi calcolando lo XOR tra il keystream k ed il testo inchiaro concatenato con lo ICV.

Il messaggio �nale, pronto per la trasmissione viene ottenuto unendo alcifrato lo IV iniziale in chiaro. E' necessario che lo IV sia inviato in chiaroper permettere la decodi�ca al destinatario.

La decodi�ca di un messaggio ricevuto, prevede una fase iniziale in cui sigenera lo stesso keystream k utilizzato per la codi�ca.

Questo avviene prendendo lo IV del messaggio ricevuto, concatenadoloalla chiave segreta ed in�ne utilizzando la stringa ottenuta come input delPNRG.

Quindi si calcolerà lo XOR tra il keystream ottenuto ed il messaggiocifrato.

9

Page 11: Aspetti di sicurezza dei protocolli Wireless

Figura 2.2: Diagramma di decodi�ca WEP

In�ne la corretta decifratura deve essere veri�cata dall'algoritmo CRC-32sul 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'algoritmodi crittogra�a che permette la possibilità di recuperare la shared secret key.Questo è possibile considerando il fatto che alcuni valori dello IV produconochiavi WEP deboli. Quando una chiave WEP debole è usata per criptare, ilprimo byte della stringa pseudo-casuale potrebbe contenere delle correlazionicon la chiave WEP debole.

Ogni chiave WEP debole utilizzata permette di avere un byte della chiavesegreta shared secret key con la probabilità del 5%

. Dato che questo valore non è molto alto, un attacker è costretto acatturare una grande quantità di pacchetti nell'ordine dai 5 ai 10 millionidi pacchetti per aumentare il numero di probabilità per avere successo nelcracking 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'e�cacia della scoperta FMS sonoAirsnort e Wepcrack, che sono stati portati sui principali sistemi operativi.

10

Page 12: Aspetti di sicurezza dei protocolli Wireless

2.2.2 IV Collision

Un altro modo di infrangere la sicurezza del WEP senza conoscere lashared secret key, consiste nel catturare passivamente una grande quantitàdi pacchetti, ma questa volta ponendo attenzione alla collisione degli IV. Unacollissione IV avviene quando 2 o più pacchetti sono codi�cati con lo stessovalore dello IV, quindi la stessa chiave WEP.

Quando una collissione si veri�ca, facendo uno XOR logico con i 2 pac-chetti, possiamo eliminare la codi�ca (Borisov, Goldberg, & Wagner, 2001).

Questa procedura puo essere dimostrata con questa semplice equazionematematica:

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, facendosemplicemente lo XOR tra i 2 plaintexts: P1⊗ P2

Le collissioni IV avvengono molto frequentemente, grazie a determinatifattori:

Lo IV-keyspace di 24-bit non è abbastanza grande per garantire che non cisiano collissioni per un periodo di tempo molto lungo. Infatti un APche invia pacchetti di 1500 byte a 11Mbps sicuramente consumerà ilkeyspace dell'IV in meno di 5 ore. Borisov, Goldberg, & Wagner, 2001

Molte schede Wireless (NIC) resettano gli IV a 0 ogni volta che la scheda èinizializzata e viene incrementato di 1 ogni per ogni pachetto. Stubble-�eld, Ioannidis, & Rubin, 2001. Questo signi�ca che ogni trasmissioneinizia con un ben determinato e ripetitivo IV, dando quindi l'oppor-tunità per avere collissioni IV e garantire ad un attacker di scoprirel'IV.

La sicurezza WEP è basata sull'assunzione che la chiave segreta debba esserecambiata molto di frequente, cosa che in realtà non accade per la sua

11

Page 13: Aspetti di sicurezza dei protocolli Wireless

natura manuale dell'operazione, cioè cambiare la chiave segreta a tuttigli host che partecipano ad una determinata struttura di rete.

Grazie a tutti questi fattori, abbiamo la certezza che le collissioni IVavvengono molto di frequente.

Alla luce di queste vulnerabilità molti Produttori di prodotti Wireless,hanno o�erto aggiornamenti per i loro prodotti, migliorando la generazionee la casualità dello IV e di conseguenza riducendo il numero di chiavi WEPidentiche.

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 disponibilepubblicamente la vulnerabilità descritta nell'articolo Weaknesses in the KeyScheduling 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, quindidi 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 con�gurare lascheda wireless NIC in una modalità particolare detta Monitor, poi eseguiresulla stessa interfaccia di rete Airsnort, il quale non farà altro che raccoglierein maniera passiva tutti i pacchetti che vengono inviati/ricevuti da un APcon crittogra�a WEP.Per avere e�etto il numero dei pacchetti deve essere molto alto, nell'ordinedei 5-10 millioni di pacchetti criptati, solo a questo punto airsnort sarà ingrado di eseguire l'algoritmo per la decodi�ca della shared-key, che non im-piegherà più di 1/2 secondi.

Avendo a disposizione il codice sorgente, è interessante mostrare come incon poche routine scritte in linguaccio C, sia possibile infrangere il sistemadi sicurezza su cui si basa il WEP, nella prossima pagine il listato completodi RC4.C, la libreria impiegata da Airsnort per e�ettuare il cracking dellashared Key.

12

Page 14: Aspetti di sicurezza dei protocolli Wireless

void RC4init (RC4 ∗ t h i s ) {memcpy( th i s−>S , Ident i ty , s izeof (unsigned char ) ∗ N) ;th i s−>i = th i s−>j = 0 ;

}

void keyStep (RC4 ∗ th i s , unsigned char ∗K, int l ) {th i s−>j += ( th i s−>S ) [ th i s−>i ] + K[ th i s−>i % l ] ;SWAP( th i s−>i , th i s−>j ) ;( th i s−>i )++;

}

void keyWith (RC4 ∗ th i s , unsigned char ∗K, int l ) {int a ;for ( a = 0 ; a < N; a++) keyStep ( th i s , K, l ) ;th i s−>i = th i s−>j = 0 ;

}

int s tep (RC4 ∗ t h i s ) {( th i s−>i )++;th i s−>j += th i s−>S [ th i s−>i ] ;SWAP( th i s−>i , th i s−>j ) ;return ( th i s−>S [NORM( th i s−>S [ th i s−>i ] + th i s−>S [ th i s−>j ] ) ] ) ;

}

/∗∗ The S ^ −1 func t i on from FMS 7.1∗/int SInver se (RC4 ∗ th i s , int x ) {int a ;for ( a = 0 ; a < N; a++) {

i f ( th i s−>S [ a ] == x) return ( a ) ;}

p r i n t f ( " Rea l i ty Error #1" ) ;e x i t ( 1 ) ;

}

int keyGuess (RC4 ∗ th i s , int B, int out ) {return (NORM( SInver se ( th i s , out ) − th i s−>j − th i s−>S [ IV_SIZE+B ] ) ) ;

}

13

Page 15: Aspetti di sicurezza dei protocolli Wireless

int isOk (RC4 ∗ th i s , int B) {return ( th i s−>S [ 1 ] < IV_SIZE &&

NORM( th i s−>S [ 1 ] + th i s−>S [ th i s−>S [ 1 ] ] ) == IV_SIZE + B) ;}

int tryIV (RC4 ∗ th i s , unsigned char ∗key , int B, int out ) {int a ;for ( a = 0 ; a < IV_SIZE ; a++) {

keyStep ( th i s , key , 1 6 ) ;}

i f ( ! isOk ( th i s , B) ) return (−1);for ( a = IV_SIZE ; a < IV_SIZE+B; a++) {

keyStep ( th i s , key , 1 6 ) ;}return keyGuess ( th i s , B, out ) ;

}

void s e tup Iden t i t y ( ) {int a ;for ( a = 0 ; a < N; a++) {

Id en t i t y [ a ] = a ;}}

14

Page 16: Aspetti di sicurezza dei protocolli Wireless

2.2.4 Analisi di un attacco con Airsnort

Per i nostri test, abbiamo simulato una situazione reale di una piccolarete 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 e�ettuati su una macchina Linux e con i tool standardda linea di comando per la con�gurazione della scheda NIC.

La scheda NIC è stata con�gurata in modalità Monitor:

Airsnort dispone di una comoda GUI che ci permette di vedere in realtimel'elaborazione e lo sni�ng dei pacchetti:

15

Page 17: Aspetti di sicurezza dei protocolli Wireless

Una volta attivato Airsnort, bisogna attendere diverse ore prima di ar-rivare alla decodi�ca della shared key, bisogna anche porre attenzione alparametro breadth presente nell'interfaccia di airsnort. Tramite questo pa-rametro è possibile indicare quanto grande lo spazio di ricerca della chiavedeve essere. Se il breadth è settato ad 1, Airsnort proverà statisticamente ipiù probabili byte in ogni posizione della chiave, quindi 113 oppure 1 chiave,se venisse scelto un valore di 2, il sistema proverebbe ogni combinazione deidue bytes più probabili ad ogni posizione della chiave, quindi 213 oppure 8chiavi.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'e�cacia del algoritmo dicracking 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) dimuendoquindi 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 di�cile prevedere un attacco dove la computazione deidati a disposizione dell'attacker possa venire computati in un ambiente dicalcolo distribuito, o�rendo una capacità di calcolco virtualmente illimitata.

2.2.5 Il risultato dell'attacco con Airsnort

Purtroppo, anche dopo circa 10 ore di sni�ng nella rete WLAN, non sia-mo riusciti ad ottenere il risultato, cioè di ottenere in chiaro la nostra SharedKey.

Le motivazioni del fallimento tramite questo famoso tool, sono da impu-tare allo scarso sviluppo di questo tool e al minimo supporto HW dei chipsetdi ultima generazione.

Per raggiungere l'obbiettivo, analizzando gli altri strumenti di CrackingWEP disponibili, abbiamo scelto ed utilizzato con successo il tool AirCrack-ng.

16

Page 18: Aspetti di sicurezza dei protocolli Wireless

2.2.6 AirCrack-ng

Aircrack è un tool di ultima generazione in grado di e�ettuare il crackingdelle chiavi sia WEP che WPA-PSK. E' in grado di sfruttare l'attaccostandard sull'RC4 (come nel caso di AirSnort), con alcune ottimizzazioni chelo rendono uno dei tool di cracking più veloci oggi esistenti, in e�etti nellenostre prove in poco meno di 2 ore di sni�ng siamo riusciti ad ottenere consuccesso la shared Key.

Anche Aircrack-ng è un tool OpenSource e multipiattaforma, disponibile perla quasi totalità dei moderni Sistemi Operativi, a di�erenza di quanto suc-cede per Airsnort questo tool non dispone di un'interfaccia gra�ca 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 Sni�ng, Logging e Cracking.

Nel nostro caso abbiamo utilizzato:

1. Airodump-ng

2. Aircrack-ng

Le con�gurazioni dell'AP e dell'host utilizzato per il cracking sono rima-ste identiche.

17

Page 19: Aspetti di sicurezza dei protocolli Wireless

2.2.7 Analisi di un attacco con AirCrack

La prima fase dell'attacco è quella di sni�are il tra�co di rete generatodall'AP, in questo caso utilizziamo il tool Airodump-ng :

Analizziamo il comando eseguito:

airodump-ng: Tool di dumping

-c 6: Selezionamo il canale 6

-w wep: Pre�sso per i �le di logging wep

eth0: Interfaccia di rete da utilizzare per il dumping

18

Page 20: Aspetti di sicurezza dei protocolli Wireless

La seconda fase, consiste nel lanciare il vero e proprio tool di crackingAircrack-ng sul �le di log generato da Airodump dopo 2 ore continue didumping del tra�co di rete:

In questo caso sono bastati pochi secondi e 389256 IVs collezionati, peravere l'esito sperato e quindi avere �nalmente in chiaro la nostra Shared Key.

E�etuando altri simulazioni, abbiamo scoperto che il tool e l'algoritmodi cracking per essere e�caci, hanno bisogno di almeno 250.000 IVs per unachiave 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 ina�dabile, 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 attivoun punto di accesso Wireless.

19

Page 21: Aspetti di sicurezza dei protocolli Wireless

Ed è per questo che molte aziende e professionisti si sono mossi per crea-re velocemente un sostituto del WEP, tentando prima di tutto di garantirepiena compatibilità con tutti gli apparati Wireless esistenti e principalmen-te di garantire Sicurezza e a�dabilità e la soluzione alle vulnerabilità con ilprotocollo WEP.

Questo nuovo protoccolo è conosciuto come WPA.

2.3 Il protocollo WPA

Il protocollo WPA è un sottoinsieme del protocollo 802.11i (conosciutoanche come WPA2), nasce dal lavoro della Wi-Fi Alliance in collaborazionecon l'IEEE, come sostituto u�ciale del protocollo WEP, che come abbiamovisto non garantiva nessuna garanzia di sicurezza.

Le caratteristiche del WPA sono molto interessanti anche per i produttoridi Hardware dedicato, in quanto è totalmente integrabile con le con�gurazioniesistenti 802.11 e nella maggiorparte dei casi si tratta solamente di fare degliupgrade ai �rmware degli apparati, tutto questo è possibile per un motivofondamentale, cioè che l'algoritmo di codi�ca utilizzato nel WPA è ancora ilnoto R4 Stream Cipher.

Lo scopo principale è quello di risolvere tutti i problemi riscontrati nelprotocollo WEP, quindi un nuovo meccanismo per la gestione delle chiavi(TKIP) e un protocollo ben de�nito per l'autenticazione degli utenti coinvoltinella rete WLAN, cosa molto importante in quanto nel WEP l'autenticazionenon era garantita.

2.3.1 TKIP - Temporal Key Integrity Protocol

Questo protocollo è il sostituto u�ciale 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 protoccoloWEP, in quanto utilizzata una funzione di generazione delle chiavi per ognipacchetto, invece che una concatenazione dello IV con la Shared Key.Per garantire compatibilità e prestazioni con l'Hardware gia esistente, TKIPutilizza ancora RC4, ma cambiando il sistema con cui viene utilizzato questo

20

Page 22: Aspetti di sicurezza dei protocolli Wireless

speci�co algoritmo, infatti adesso invece di usare la chiave segreta (SharedKey) direttamente alla codi�ca dei dati, viene utilizzata solamente come se-me per generare alrte chiavi.Grazie a questo approccio si minimizza l'esposizione della chiave segreta adun qualunque tipo di attacco.La prima chiave che viene generata è la Session Key, questa poi viene asua 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 chiavediversa per ogni pacchetto che viene creata utilizzando una funziona di hashsull'indirizzo MAC del client, lo IV e la Session Key.Per diminuire la potenza di calcolo necessaria per generare una chiave perogni pacchetto, la funzione di key mixing è divisa in 2 fasi:

1. Fase 1: In quesa fase, l'indirizzo MAC del client, la chiave di sessionetemporanea e i 32-Bit più signi�cativi dello IV vengono passati allafunzione di Hash. Il risultato di questa fase �no a quando la chiavedi sessione viene cambiata oppure ogni volta che cambiano i 32Bit piùsigni�cativi dello IV.

2. Fase 2: Questa fase è molto simile al processo di codi�ca del protocolloWEP, le di�erenze sono che il campo di 24-Bit della chiave WEP vienesostituito con i 16-Bit meno signi�cativi dello IV del WPA con undummy byte inserito nel mezzo, la chiave WEP invece viene sostituitacon la chiave per pacchetto generata dall'algoritmo di mixing.

Quindi utilizzando TKIP, la chiave di codi�ca è da 128-Bit completamentedinamica, un grande passo avanti rispetto al WEP dove la chiave era generataun 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 quantoriguarda l'integrità dei dati che vengono elaborati in una trasmissioneWLAN.

Questo protocollo è una funzione di Key-Hashing speci�catamente stu-diata per le apparecchiature a bassa potenza, che viene calcolata sui dati del

21

Page 23: Aspetti di sicurezza dei protocolli Wireless

pacchetti da inviare prima che venga codi�cato, ed ha un valore di 8-Byte, ilrisultato dell'operazione di hashing è equivalente ad una chiave a 20-Bit, cheè considerata universalmente nel mondo della sicurezza, come una chiave abassa protezione.

Grazie a questo protoccolo MIC, quando all'interno della rete WLAN vie-ne individuato qualche pacchetto corrotto, vengono attivate immediatamentedelle contromisure, prima di tutto viene disabilito per 60 secondi il link dovesi è indivuato il dato corrotto e ogni device coinvolto è forzata a richiedereuna chiave di sessione (Session Key).

Anche in questo caso ci sono dei potenziali problemi che coinvolgono que-sto protocollo, infatti un attacker potrebbe scatenare verso la rete Wlan unattacco di tipo DOS (Denial of Service), inserendo nella rete pacchetti nonvalidi o corrompendo i messaggi tra gli Host e l'AP, generando quindi daparte dell'AP una serie di contromisure, bloccando il tra�co di rete.

2.3.4 802.1x

L'802.1x è uno standard IEEE basato sul controllo delle porte di accessoad una rete LAN, nelle reti cablate il controllo viene e�etuato direttamentedallo Switch mentre nelle Reti Wireless il protocollo è implementato diretta-mente dagli AP ,fa parte della famiglia degli standard IEEE 802.

Il protoccolo utilizzato per l'autenticazione è l'EAP Extensible Authen-tication Protocol, ed è l'unico tra�co di rete permesso tra un nodo e l'APprima della vera e propria autenticazione alla rete.

Il protoccolo divide in 3 rouli ben distinti le interfacce di rete:

1. Supplicant: Il client che vuole autenticarsi alla rete

2. Authenticator: E' il punto di collegamento dove il Client è �sicamenteconnesso, generalmente in una situazione wireless è l'Access Point.

3. Authentication Server: E' il server che si occupa di gestire e�eti-vamente l'autenticazione del Client alla rete, puo essere un Server diAutenticazione di qualsiasi tipo (es: LDAP), ma il più usato in questoambito è il server Radius

22

Page 24: Aspetti di sicurezza dei protocolli Wireless

WPA implementa completamente questo protoccolo, garantendo quindiuna maggiore sicurezza e a�dabilità nelle connessioni di rete Wireless, ag-giungendo una funzionalità importante che è quella dell'autenticazione, chemancava completamente al protoccolo WEP e che si rende necessaria persituazioni di reti WLAN di grande dimensioni.

2.3.5 WPA-PSK

Il protoccolo WPA prevede la possibilità di operare anche in assenza delframework di autenticazione 802.1x.

In questa modalità il WPA permette ai client wireless di poter utilizzareuna passphrase come Pre Shared Key, dove ogni Client ha una sua PSKassociata al proprio indirizzo MAC, ma la maggiorparte dei produttori HWutilizzano 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 siusano nel protocollo WEP sono inutili, ma questo sistema so�re di una gravevulnerabilità, infatti un attaccker in questo caso potrebbe mettersi in ascoltosulla rete e catturare il messaggio di autenticazione di un qualsiasi Host epoi fare un brute-force sulla PSK per trovare quella corretta.

Per testare questa vulnerabilità, è possibile utilizzare lo stesso tool cheabbiamo usato per crackare la chiave WEP, cioè AirCrack.

2.3.6 Analisi di un attacco WPA-PSK

Per testare questa vulnerabilità, abbiamo utilizzato lo stesso HW di Retedegli esperimenti precedenti ma con�gurando l'AP in modalità WPA-SPK ecome passphrase: 12345667890

La cosa importante per questo attacco è quello di sni�are i messaggi diautenticazione di uno degli Client collegati alla rete, per ottenere questi pac-chetti ci sono 2 possibilità, rimanere in ascolto �no a quando un Client nonsi autentica, oppure forzare la deautenticazione di Host gia collegato, utiliz-zando il tool Aireplay-ng che fa parte della suite Aircrack-ng.

23

Page 25: Aspetti di sicurezza dei protocolli Wireless

Dopo aver sni�ato e memorizzato in un apposito �le di dump, il traf-�co di rete e i messaggi di autenticazione, è possibile lanciare il bruteforcesulla passphrase tramite il tool Aircrack-ng e un dizionario di possibili parole.

I nostri ripetuti tentativi sono purtroppo falliti, perchè non ci è stato pos-sibile in nessun modo sni�are i messaggi di autenticazione degli Host collegatialla rete, neanche forzando la deautenticazione degli Host collegati in quantoil tool Airplay-ng necessità di Hardware speci�co per poter funzionare.

Queste immagini dimostrano il funzionamento del tool Aircrack-ng conWPA-PSK:

Da notare nella seconda �gura il �le con il dizionario e con la passphrasein chiaro, opportunamente creato per testare la vulnerabilità.

24

Page 26: Aspetti di sicurezza dei protocolli Wireless

Capitolo 3

Lo standard 802.11i WPA2

Dopo aver immesso sul mercato le speci�che del protoccolo WPA, unsottoinsieme delle speci�che 802.11i, il 24 Giugno 2004 è stato �nalmenterati�cato questo standard.

Ancora oggi questo standard non è molto di�uso in ambito picole/mediaimprese o in ambito privato, dato che passare a questo protocollo signi�casostiuire completamente le attuali interfacce di Rete, cosa che non è fattibiledove sono stati fatti grandi investimenti, ed è per questo che ancora oggi sipreferisce mettere in sicurezza i vecchi apparati WEP/WPA.

Il punto chiave del nuovo protocollo è la sostituzione dell'algoritmo dicodi�ca RC4 con l'algoritmo AES, che è uno degli algoritmi di cifratura piùforti e famoso per essere utilizzato dal NIST (National Institute of Standardand 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 statepresentate con il protoccolo WPA.

25

Page 27: Aspetti di sicurezza dei protocolli Wireless

Capitolo 4

Conclusione

Ad oggi non esiste ancora un'unica soluzione Standard che puo essereritenuta a�dabile, anche se sono stati rati�cati 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 deveessere studiata a livelli, quindi seguendo i protocolli ISO/OSI dell'architettu-ra di Rete, bisogna garantire ad ogni livello un determinato e a�dabile livellodi 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, quindiFirewall e tra�co di dati criptati con i procolli SSL e strutture di rete pri-vate VPN.

26

Page 28: Aspetti di sicurezza dei protocolli Wireless

Bibliogra�a

[1] Scott Fluhrer, Itsik Mantin, and Adi Shamir. Weaknesses in the key sche-duling algorithm of RC4. Lecture Notes in Computer Science, 2259:1�24,2001.

[2] Adam Stubble�eld, John Ioannidis, and Aviel D. Rubin. A key recoveryattack on the 802.11b wired equivalent privacy protocol (wep). ACMTrans. Inf. Syst. Secur., 7(2):319�332, 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 hasNo Clothes. Department of Computer Science University of MarylandCollege 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 June2002).

[10] Geier, J. �802.11 WEP: Concepts and Vulnerability.� 802.11 Planet. 20June 2002.

[11] The evolution of wireless security in 802.11 networks: WEP, WPA and802.11 standards, Stanley Wong, May 20, 2003

27

Page 29: Aspetti di sicurezza dei protocolli Wireless

[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=353735&seqNum=6&rl=1

[17] Practical Exploitation of RC4Weaknesses in WEP Environments, DavidHulton, February 22, 2002

[18] Cracking Wi-Fi Protected Access (WPA), CiscoPress, Seth Fogie, Mar11, 2005

28