Aspetti di sicurezza dei protocolli Wireless
Upcoming SlideShare
Loading in...5
×
 

Aspetti di sicurezza dei protocolli Wireless

on

  • 2,571 views

 

Statistics

Views

Total Views
2,571
Slideshare-icon Views on SlideShare
2,567
Embed Views
4

Actions

Likes
0
Downloads
73
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Aspetti di sicurezza dei protocolli Wireless Aspetti di sicurezza dei protocolli Wireless Presentation Transcript

    • 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
    • Indice 1 Le reti Wireless 2 1.1 Lo standard IEEE 8O2.111 . . . . . . . . . . . . . . . . . . . . 3 1.2 I protocolli di trasmissione dello standard IEEE 802.11 .... 4 1.3 I problemi di sicurezza delle reti WLAN ............ 6 2 Sicurezza nelle reti 802.11 7 2.1 Lo standard WEP . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.1 La teoria . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.2 Il WEP in dettaglio . . . . . . . . . . . . . . . . . . . . 9 2.2 Problemi di sicurezza del protocollo WEP ........... 10 2.2.1 WEP Key Recovery . . . . . . . . . . . . . . . . . . . . 10 2.2.2 IV Collision . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3 Airsnort . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4 Analisi di un attacco con AirSnort ........... 15 2.2.5 Il risultato dell'attacco con Airsnort . . . . . . . . . . . 16 2.2.6 AirCrack-ng . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.7 Analisi di un attacco con AirCrack ........... 18 2.2.8 Conclusione analisi protocollo WEP . . . . . . . . . . . 19 2.3 Il protocollo WPA ........................ 20 2.3.1 TKIP - Temporal Key Integrity Protocol . . . . . . . . 20 2.3.2 TKIP In dettaglio . . . . . . . . . . . . . . . . . . . . . 21 2.3.3 MIC - Message Integrity Code . . . . . . . . . . . . . . 21 2.3.4 802.1x ........................... 22 2.3.5 WPA-PSK . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.6 Analisi di un attacco WPA-PSK . . . . . . . . . . . . . 23 3 Lo standard 802.11i WPA2 25 4 Conclusione 26 Bibliograa 26 1
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • [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 RC4 Weaknesses in WEP Environments, David Hulton, February 22, 2002 [18] Cracking Wi-Fi Protected Access (WPA), CiscoPress, Seth Fogie, Mar 11, 2005 28