2.0 INTRODUZIONE

La sicurezza in una rete wireless è un aspetto fondamentale che non deve essere sottovalutato e nemmeno lasciato al caso, ma va affrontato attentamente. Si deve quindi partire dal presupposto che il wireless è per sua natura insicuro, vista l'impossibilità di confinare le onde radio all'interno di uno spazio ben delimitato.
Le Wireless LAN, a differenza delle reti Ethernet, sono perciò maggiormente esposte al rischio di attacchi ad opera di hacker. Il loro obbiettivo, spesso, più che il furto o la manomissione di informazioni sensibili a scopi criminali, è limitato alla dimostrazione della vulnerabilità della stessa tecnologia wireless adottata o, più semplicemente, all'utilizzo gratuito della connessione Internet.
Per introdursi illegalmente in una Wireless LAN è "sufficiente" disporre di un notebook dotato di scheda wireless in grado di ricevere il segnale radio emesso da un Access Point, e di un software adeguato (sniffer) in grado di intercettare i dati crittografati.
Occorre quindi definire preventivamente il livello di sicurezza che si vuole raggiungere e ricorrere all'integrazione di diverse tecnologie, anche se questo potrebbe portare a topologie più complesse e costose.
Vediamo ora quali sono i livelli di protezione adottabili e riconosciuti nelle specifiche dell'802.11 e applicabili in tutte le Wireless LAN che supportano tale standard.

Quando si parla di sicurezza nelle reti wireless 802.11, due sono gli aspetti da analizzare: autenticazione e riservatezza.

 

2.1 AUTENTICAZIONE

Lautenticazione è un meccanismo che permette, solo a chi ha i permessi adeguati, di spedire e ricevere dati sulla rete, e rappresenta il primo passo per un dispositivo che si connetta ad una Wireless LAN. Tutte le stazioni 802.11 devono usare questo meccanismo prima di poter comunicare con un’altra stazione. Una volta che una stazione ha eseguito la scansione e ottenuto le informazioni sulle celle esistenti, dovrà scambiare quelle di autenticazione: tale procedura avviene tra l’Access Point alla portata (l'AP più vicino o, comunque, quello a cui si connette il client secondo le politiche applicate nella rete) e la stazione.
L’802.11 definisce due tipi di autenticazione: a sistema aperto e a chiave condivisa.

Lautenticazione a sistema aperto (Open System Authentication) consiste semplicemente nello scambio delle reciproche identità tra le due parti e non offre alcun vantaggio in termini di sicurezza. In questo sistema, un client invia all’Access Point un frame di controllo MAC, chiamato frame di autenticazione (authentication request). Il frame indica che questo è un tipo di autenticazione a sistema aperto. L’Access Point risponde con il proprio frame di autenticazione (authentication response) e la procedura è completa.

Lautenticazione a chiave condivisa (Shared Key Authentication) assume che ogni stazione abbia ricevuto una chiave segreta condivisa attraverso un canale sicuro indipendente dalla rete 802.11. La procedura di autenticazione che si svolge tra il client e l’Access Point è la seguente:
1. il client invia all’Access Point un frame di richiesta di autenticazione con l’identificazione “Shared Key” e con il proprio identificatore di stazione.
2. l’Access Point risponde con un frame contenente una stringa di testo di prova. Il testo di prova è generato utilizzando un generatore di numeri pseudocasuali.
3. il client copia la stringa di testo in un frame che viene codificato con l’algoritmo di crittografia WEP usando la chiave segreta condivisa, ed inviato all’Access Point.
4. l’Access Point riceve il frame crittografato e lo decodifica utilizzando lo stesso algoritmo WEP e la chiave segreta condivisa con il client, dopodichè confronta il testo di prova in arrivo con il testo inviato nel secondo messaggio. Quindi l’Access Point invia un messaggio di autenticazione al client con il codice di stato che indica il successo o il fallimento della procedura.

Un esempio di quest'ultima tipologia di autenticazione l'abbiamo con lo standard IEEE 802.1x che integra un framework di autenticazione, l'EAP, per fornire al client e all'Access Point un servizio versatile e sicuro, permettendo loro di autenticarsi vicendevolmente e di negoziare l'algoritmo di cifratura.

2.1.1 IEEE 802.1x

Lo standard IEEE 802.1x é un “Port-based access control mechanism”, ovvero un sistema in grado di autenticare un utente collegato ad una determinata porta ethernet o ad un Access Point ed applicare di conseguenza il livello di sicurezza necessario.
IEEE 802.1x è nato per l'identificazione e l'autorizzazione dell'utente su reti wireless e più in generale su reti Ethernet, permettendo servizi personalizzati quali il raggruppamento di una classe di utenti in una determinata Virtual LAN.

Il protocollo è basato su Extensive Authentication Protocol Over Lan (EAPOL) che prevede differenti tipologie di autenticazione, tra cui MD5 e TLS. Sebbene questo protocollo sia l'ideale per riconoscere un utente e dare l'accesso alla rete, si possono evidenziare tre sue problematiche.
La prima é che IEEE 802.1x non definisce un sistema di crittografia: questo protocollo si limita ad autenticare l’utente.
Il secondo problema é che molti degli Access Point esistenti non dispongono di 802.1x. Quegli Access Point che non dispongono della possibilità di essere aggiornati via software devono essere sostituiti. Inoltre é probabile che i futuri Access Point a basso costo, tipicamente pensati per l’utenza domestica e piccoli uffici, non disporranno di 802.1x, che necessita comunque di una infrastruttura RADIUS.
Infine, fino a poco tempo fa, solamente alcuni sistemi operativi, ad esempio Windows 2000 e Windows XP, supportavano nativamente IEEE 802.1x. I sistemi Apple con MacOS e chi disponeva di sistemi Windows 95/98/ME/NT dovevano acquistare un client compliant con IEEE 802.1x, assumendosi costi aggiuntivi.

Al fine di poter identificare e autorizzare l’utente finale, IEEE ha scelto di incapsulare su ethernet il protocollo EAP (Extensible Autentication Potocol). Esso é un framework di autenticazione inizialmente pensato per il Point-to-Point Protocol (PPP) che supporta differenti schemi di autenticazione. EAP non definisce uno specifico metodo di autenticazione, bensì permette di negoziare il protocollo di autenticazione tra i due interlocutori, ovvero l’utente e il server di autenticazione (tipicamente un server RADIUS). Attraverso EAP, lo standard IEEE 802.1x permette la distribuzione di chiavi WEP attraverso un frame EAPOL-Key: questo tipo di messaggio EAP permette di inviare una o più chiavi WEP al client. Grazie a EAPOL-Key é possibile, su alcuni Access Point, usare chiavi WEP totalmente differenti per ogni sessione, ridimensionando il problema, affrontato in seguito, relativo alla derivazione delle stesse.
Sono stati definiti alcuni schemi di autenticazione EAP, i più famosi dei quali sono: MD5, TLS, TTLS, LEAP, PEAP, SecurID, SIM e AKA.

Vediamone alcuni in dettaglio.

EAP-MD5 . Si tratta di un’autenticazione basata su MD5 dove un algoritmo di hash one-way viene usato in combinazione ad uno shared secret e un challenge. Il suo uso é sconsigliabile in ambiente Wireless perché gli hash delle password possono essere soggetti ad un attacco di tipo “dictionary attack”. Se un potenziale intruso riesce ad ottenere il challenge e l’hash fornito come risposta, questo può provare a ricavare la password off-line con appositi programmi. Inoltre, EAP-MD5 fornisce solo un’autenticazione del client non verificando la rete a cui ci si sta autenticando. In questo caso è possibile che un potenziale intruso, attraverso l’uso di un falso Access Point, possa redirigere l’utente in una falsa rete e prendere informazioni preziose.

EAP-TLS . Il Transport Layer Security (TLS) offre un’autenticazione sicura, che sostituisce le password con una autenticazione basata sui certificati digitali X.509. Al contrario di EAP-MD5, EAP-TLS supporta la “mutual authentication”, ovvero sia il client che il server vengono verificati, evitando frodi relative all’inserimento di falsi Access Points. EAP-TLS é un’ottima scelta per la sicurezza dell’autenticazione in 802.1x quando una Public Key Infrastructure (PKI) é già stata adottata. Il grosso svantaggio di EAP-TLS é il costo elevato generato dalla manutenzione di una PKI: essa infatti richiede licenze software, personale qualificato e corsi di formazione. Tra i vari meccanismi EAP, il TLS é lo standard più diffuso per l’autenticazione basata su 802.1x.

EAP-LEAP. Light EAP (LEAP), chiamato anche Cisco EAP, é una implementazione proprietaria di Cisco che permette la “mutual authentication” e permette di usare username e password come meccanismo di autenticazione. Anche se una buona politica delle password può fare di LEAP un protocollo sicuro, esso é soggetto ad attacchi di tipo “dictionary attack”, così come EAP-MD5. Nonostante LEAP sia un protocollo proprietario di Cisco Systems, la casa di San Francisco si sta orientando verso i protocolli EAP-TLS e EAP-PEAP.

EAP-TTLS. Tunneled Transport Layer Security (TTLS) é un estensione di EAP-TLS che é stata creata per evitare la necessità di certificati per i client. Come per altri sistemi di autenticazione “tunneling”, TTLS é basato su un autenticazione a due fasi. Nella prima fase un algoritmo asimmetrico basato sulla chiave del server é usato per verificare le credenziali del server e la creazione di un tunnel sicuro. Nella seconda fase, il client viene riconosciuto usando un secondo metodo di autenticazione che verrà fatto passare attraverso il tunnel sicuro creato precedentemente. Può essere usato un qualsiasi schema di autenticazione per la seconda fase.

EAP-PEAP. Il Protected EAP (PEAP) é un protocollo di autenticazione progettato per Internet da Cisco, Microsoft e RSA. PEAP é simile al TTLS, in quanto sono gli unici due protocolli EAP di tipo “tunneling”. Come per TTLS, viene creato un tunnel sicuro tra il server e il client in cui viene incapsulata l’autenticazione del client. Al contrario di TTLS, PEAP non supporta i sistemi legacy.

IEEE 802.1x é un ottimo protocollo, in quanto risolve problematiche relative all’autenticazione degli utenti e al cambio delle chiavi WEP, tuttavia i problemi relativi alla privacy dei dati inviati via Wireless rimangono. Come vedremo in seguito, il WEP ha una crittografia debole ed é possibile comunque derivare le chiavi su una sessione Wireless di lunga durata, pertanto sarebbe comunque necessaria una crittografia aggiuntiva quale IPSec.

Come menzionato precedentemente, EAP-TLS é attualmente lo schema di autenticazione più diffuso per 802.1x/EAP. I componenti che svolgono un ruolo durante l’autenticazione 802.1x sono il supplicant, ovvero il computer dell’utente, l’authenticator (l’Access Point) ed infine l’authentication server, ovvero il RADIUS server. Durante l’autenticazione, sia il supplicant che il RADIUS devono supportare EAP-TLS, mentre l’Access Point deve supportare solamente 802.1x/EAP: l’Access Point non é a conoscenza del tipo di schema di autenticazione EAP.

Nella figura a destra é illustrato come funziona il processo di autenticazione 802.1x con EAP-TLS.

Processo di autenticazione 802.1x con EAP

Sequenza di autenticazione 802.1x con EAP

In dettaglio, durante la conversazione EAP, il RADIUS server manda il proprio certificato al client e richiede il certificato del client. Il client valida il certificato del server e risponde con un messaggio EAP contenente il proprio certificato. Il client inizia contestualmente anche la negoziazione per la crittografia, ovvero algoritmi di cifratura e compressione. Dopo che il certificato del client viene validato, il server risponde con le specifiche crittografiche della sessione.

Nella figura a sinistra viene illustrata in dettaglio questa sequenza.

 

Durante l’handshake TLS tra client e server, il client genera un pre-master secret che viene crittografato con la chiave pubblica del server e lo manda successivamente al server. Il pre-master secret, dei valori casuali tra client e server e il master secret vengono usati per generare una chiave per la sessione.

La pseudo-random function (PRF), che serve per generare la chiave della sessione é definita nel RFC 2246 (TLS), mentre l’RFC 2716 specifica come derivare la chiave della sessione. Successivamente viene riusata la funzione PRF insieme al master secret, congiuntamente a dei valori casuali (del server e del client) e alla stringa relativa al tipo di crittografia EAP proposta dal client per generare le chiavi di sessione, le chiavi Message Authentication Code (MAC) e il vettore di inizializzazione (IV). É importante sottolineare che, sia il client che il RADIUS server, derivano le chiavi di sessione in modo indipendente anche se la lunghezza della chiave di sessione é determinata dall’Access Point ed é inviata attraverso un messaggio di tipo EAPOL-Key.
La figura a destra riassume le fasi di derivazione della chiave WEP.

Uso della PRF per derivare le chiavi WEP

Per configurare IEEE 802.1x con EAP-TLS é necessario configurare per primo un RADIUS server che fungerà da server di autenticazione. Gli utenti wireless che si collegheranno all’access point verranno autenticati attraverso questo server che, per poter permettere l’accesso, deve supportare l’autenticazione di tipo EAP-TLS.

 

2.2 RISERVATEZZA

La riservatezza dei dati è una problematica estremamente importante in una rete wireless. Infatti è sufficiente un dispositivo capace di ascoltare sulla stessa frequenza di trasmissione per essere intercettati. Poichè qualunque dispositivo 802.11 è capace di ricevere su una qualunque delle frequenze utilizzabili secondo lo standard e, data la crescente diffusione di tali dispositivi, è chiaro come le intercettazioni indesiderate siano quasi una certezza. Proprio per evitare questi inconvenienti, sono stati messi a punto diversi potocolli per la cifratura.
Di seguito illustreremo i tre principali: il WEP, il WPA ed il WPA2.

2.2.1 WEP

Il Wired Equivalent Privacy (WEP) è una cifratura opzionale definita dallo standard IEEE 802.11, applicata ai dati trasmessi. Come si evince dal suo acronimo, il WEP è stato inizialmente concepito per dare una protezione all'utente finale simile a quella disponibile attraverso una rete cablata di tipo tradizionale. Recenti studi (il più importante dei quali è “Using the Fluhrer, Mantin, and Shamir Attack to Break WEP” di Stubblefield, Ioannidis e Rubin) hanno dimostrato che si puo' ricavare la chiave di cifratura WEP dall'osservazione del traffico di rete.

In basso, possiamo osservare lo schema di cifratura del WEP. Alla chiave (segreta) WEP di 40 o 104 bit viene aggiunto un vettore di inizializzazione (IV) di 24 bit in modo da formare una chiave intermedia di 64 o 128 bit. L’IV è un numero che viene generato dall’Access Point o dalla Stazione, spesso è un registro che viene incrementato di 1 ogni volta che viene utilizzato. La chiave intermedia è l’input dell’algoritmo RC4 che genera una Chiave di Cifratura (o Stream) di lunghezza fissa. Contemporaneamente i dati da cifrare vengono divisi in blocchi di lunghezza fissa, e di ogni blocco viene calcolata una checksum CRC a 32 bit che viene aggiunta in coda al blocco. Il blocco di dati più la checksum forma il Plaintext ed ha la stessa lunghezza della Chiave di Cifratura.
Nell’ultimo passaggio si esegue un XOR del Plaintext con la chiave di cifratura per ottenere il Ciphertext, o messaggio cifrato. Il vettore IV cambia periodicamente a ogni trasmissione ed ogni volta che cambia il vettore IV, cambia la sequenza pseudocasuale, complicando le operazioni di intercettazione.

Cifratura WEP

All’estremità ricevente, il ricevitore, come si può osservare dalla figura sottostante, preleva il vettore IV dal blocco di dati e lo concatena con la chiave segreta condivisa per generare la stessa sequenza utilizzata dal mittente. Questa sequenza viene poi unita con uno XOR al blocco in arrivo, in modo da recuperare il testo in chiaro. Questa tecnica utilizza la proprietà che A XOR B XOR B=A.
Pertanto, se si prende un testo in chiaro, si esegue lo XOR con una sequenza segreta e poi di nuovo uno XOR con la stessa sequenza segreta, si ottiene nuovamente il testo in chiaro.
Infine il ricevitore confronta il codice CRC in arrivo con il codice CRC calcolato, per verificare l’integrità dei dati.

Decifratura WEP

Purtroppo, l'uso dell'algoritmo RC4 ha determinato la maggior debolezza del protocollo WEP, dato che esso risulta vulnerabile se vengono utilizzate le chiavi più di una volta.

Questo è esattamente quello che accade con il WEP: il vettore di inizializzazione è lungo soltanto 24 bit, quindi ammette uno spazio di 16.777.216 combinazioni (2 elevato alla 24). In aggiunta, il protocollo WEP prevede la reinizializzazione del IV ogni qual volta si origini una collisione nella trasmissione dei pacchetti dati.
In una rete di medie dimensioni e con un discreto volume di traffico, sono sufficienti pochi minuti affinché vengano riutilizzate le stesse chiavi di cifratura. Tramite meccanismi di criptoanalisi differenziata si può risalire in poco tempo alla chiave WEP e decifrare tutto il traffico tramite la chiave individuata.

Oltre alle debolezze intrinseche del WEP, bisogna riscontrare che lo standard IEEE 802.11 non fornisce alcun meccanismo sulla custodia e configurazione delle chiavi WEP. Nei casi peggiori alcuni produttori hanno optato nel conservare la chiave WEP nel registro dei sistemi Windows o in un file di testo in Linux, completamente in chiaro; solo in pochi produttori hanno optato per custodire la chiave WEP nel firmware della scheda di rete. È da sottolineare che la configurazione delle chiavi WEP è manuale, con un notevole sforzo da parte degli amministratori di sistema che sono costretti ad impostare la chiave WEP su ogni singola stazione wireless e punto di accesso. Questo implica una scarsa variazione nel tempo delle chiavi WEP, che è una delle cause principali di penetrazione nei sistemi per i motivi sopra discussi.

Il meccanismo WEP dà, quindi, una falsa sensazione di sicurezza all'utente finale, pertanto tutti i dati non criptati, ad esempio attraverso SSL, possono essere facilmente intercettati da eventuali intrusi.

La configurazione standard delle case produttrici sono uno dei maggiori fattori di rischio per la sicurezza delle Wireless LAN. Gli amministratori di rete, molto spesso per mancanza di tempo, non configurano gli Access Point in maniera dettagliata.

I diversi produttori implementano lo standard IEEE 802.11 con caratteristiche differenti, alcune volte anche con estensioni proprietarie, e quindi con diversa modalità di configurazione. Le password degli Access Point, gli SSID e le chiavi WEP di default sono pertanto facile preda di potenziali aggressori.

2.2.2 WPA
Il protocollo Wi-Fi Protected Access (WPA) é uno sforzo dei produttori nel tentativo di colmare le lacune derivate da WEP. WPA é un sottoinsieme dello standard IEEE 802.11i; quest’ultimo chiamato anche WPA2 è stato rilasciato nel corso dell’anno 2004 ed è pienamente compatibile con WPA.

Il WPA è integrato in tutti i nuovi prodotti certificati Wi-Fi, mentre la maggior parte dei dispositivi Wi-Fi esistenti possono facilmente essere aggiornati via software per essere compatibili con esso.
Il WPA ha lo scopo di fornire una migliore crittografia dei dati rispetto al WEP e anche un meccanismo per l’autenticazione dell’utente, funzione quest’ultima assente nel WEP.
Per migliorare il criptaggio, WPA utilizza il Temporary Key Integrity Protocol (TKIP) per crittografare i dati, aumentando la chiave dai 40/104-bit di WEP, fino a 128-bit. Esso fornisce importanti ampliamenti di crittografia dei dati: genera periodicamente e automaticamente una nuova chiave per ogni client; implementa un meccanismo di controllo dell’integrità dei dati (MIC) di 8 byte che permette di evitare le alterazioni dei pacchetti trasmessi attraverso la rete wireless, più robusto di quanto non faccia il WEP con ICV (Integrity Check Value, 4 byte). Il MIC viene calcolato separatamente dal client e dall’Access Point e se risultasse differente il pacchetto verrebbe scartato; usa un vettore di inizializzazione IV di 48 bit anziché 24.
Il WEP non ha pressoché nessun meccanismo di autenticazione dell’utente. Per fornire questo servizio, WPA implementa i protocolli 802.1x e EAP, che insieme formano una forte struttura di autenticazione.

L’autenticazione di tipo mutuo evita il rischio che un utente wireless non entri accidentalmente in una rete non sicura, nella quale le sue credenziali di autenticazione presso un’altra rete possano essere rubate da un utente malintenzionato.
WPA supporta 2 metodi: Personal e Enterprise.
Il modo Personal (anche chiamato preshared key mode) è appropriato per piccoli uffici e case che non hanno esistenti infrastrutture di autenticazione. Una password settata manualmente viene inserita nell’AP così come nei client.
Se si ha necessità di gestire più di 10 utenti conviene optare per il WPA Enterprise il quale usa il RADIUS per l’autenticazione. In questo caso si dovrà selezionare l’EAP così come l’802.1x nelle stazioni wireless.
Nella figura sottostante è data una rappresentazione del funzionamento del WPA con TKIP. La chiave cambia dopo un numero prefissato di pacchetti ed è derivata da chiave temporanea + MAC address sorgente + IV di RC4.

Rappresentazione del funzionamento del WPA con TKIP

IEEE 802.1x é la metodologia di autenticazione preferita di WPA, in quanto è proprio grazie a questo protocollo che si ha la migliore resa di autenticazione e cifratura. WPA però necessita che il metodo EAP selezionato dall’amministratore supporti la mutual authentication, ad esempio TLS, TTLS, LEAP e PEAP. Durante il processo di autenticazione un Pairwise Master Key (PMK) viene generato sia sulla stazione che sul RADIUS server. Quest’ultimo manderà il PMK all’Access Point in maniera sicura. Questo processo é simile a quello della pre-WPA authentication, ma la differenza stà nel fatto che il PMK non é mai usato direttamente nelle funzioni di cifratura o di hash, ma viene usato per generare chiavi temporanee che verranno usate in queste funzioni. L’uso di chiavi temporanee é utile al fine di evitare attacchi alla chiave, come succede con WEP dove la chiave viene derivata dall’osservazione dei pacchetti in transito.

Le maggiori modifiche apportate a IEEE 802.1x da parte del WPA sono relative al formato di EAPOL-key. Questo non significa che il processo di autenticazione 802.1x venga stravolto, ma vengono apportate modifiche alla distribuzione delle chiavi WPA che avvengono solamente dopo che un client si sia autenticato correttamente alla rete. Il processo dello scambio delle chiavi viene chiamato 4-way and Group Key Handshake. Il 4-way handshake determina il PMK usato per il traffico unicast, mentre il Group Key handshake determina e distribuisce il PMK usato per il traffico di broadcast. Il processo di creazione delle chiavi é stato struttruato per evitare attacchi di tipo man in the middle, in dettaglio:

1. Gli indirizzi dell’Access Point e del client vengono usati in ogni calcolo del MIC durante il 4-way handshake. Questo restringe il processo di scambio di chiavi ad un determinato authenticator e supplicant.

2. Vengono usati gli nonces (valori usati una volta sola) durante il calcolo del MIC. Nuovi nonces vengono usati durante ogni 4-way handshake per generare le chiavi temporanee, congiuntamente al PMK.

3. Gli nonces assicurano che né il client né l’Access Point siano nella posizione di essere sotto attacchi di tipo replay. Ovvero, quando i nonces sono usati durante il processo di key authentication, il supplicant e l’authenticator devono essere in possesso del nuovo PMK dopo l’autenticazione, in modo da calcolare il valore corretto del MIC.

Un altro cambiamento é l’aggiunta del parametro PortSecure: quando questo valore é impostato, sia l’authenticator che il supplicant sanno che le chiavi per unicast e broadcast sono valide e pertanto possono essere programmate nel firmware della scheda di rete wireless, in modo da non sovraccaricare il processore principale per la cirttografia. Dopo la programmazione della scheda di rete, le successive autenticazioni IEEE 802.1x avvengono in maniera cifrata.

Prima dell’avvento di WPA, ogni autenticazione 802.1x avveniva in chiaro con l’effetto di essere soggetti ad attacchi di tipo EAPOL Logoff messages, con il risultato che il client veniva disconnesso dall’Access Point. Una volta che la scheda wireless ha le chiavi di crittografia inserite, tale tipologia di attacco non é più possibile.

Inoltre WPA definisce anche un frame di tipo EAPOL MIC error. Questo pacchetto permette al client di informare l’Access Point quando é soggetto ad un attacco.

Questo pacchetto é inviato all’AP quando il client ha un errore durante la comparazione del MIC nei dati in transito. Quando il client riceve frequentemente pacchetti con errori, allora desume di essere sotto attacco e apposite contromisure vengono prese dall’Access Point, ad esempio attraverso la notifica ad un amministratore.

Precedentemente si é accennato che il metodo di cifratura preferito da WPA é TKIP. Il Temporary Key Integrity Protocol usa l’algoritmo RC4, lo stesso usato da WEP, ma ne aggiunge tecniche di protezione per evitare i problemi derivati da WEP. Ad esempio, viene aggiunto una funzione di cambio di chiavi ad ogni pacchetto, un vettore di inizializzazione (IV) più lungo e un Message Integrità Code (MIC). La funzione di cambio di chiavi per ogni pacchetto (detta originariamente key mixing) viene usata nel TKIP per evitare gli attacchi su chiavi deboli. Durante la generazione del testo cifrato, la chiave di crittografia non é mai usata direttamente nella funzione RC4, ma viene usata una chiave temporanea per ogni pacchetto spedito. Per ovviare invece all’osservazione dei pacchetti con IV identico, TKIP aumenta la grandezza di IV da 24 a 48 bit. La funzione di hash usata per verificare l’integrità dei dati é detta Message Integrity Code (MIC o per gli addetti Michael), e la sua funzione é quella di verificare che i pacchetti non siano stati modificati da un client non autorizzato che finge di essere il legittimo client.

Oltre al TKIP, WPA supporta anche l’AES come metodo di cifratura, anche se inizialmente non é obbligatorio per la certificazione del consorzio Wi-Fi Alliance.
Anche se AES é nettamente migliore rispetto a TKIP, esso necessita di nuovo hardware che lo supporti. TKIP invece é un buon compromesso che permette di avere una maggiore sicurezza rispetto a WEP, mentre i prodotti che supportano AES verranno immessi sul mercato e adottati dagli utenti.

2.2.3 WPA2
Il WPA2 è l’implementazione approvata dalla Wi-Fi Alliance basata sullo standard 802.11i e tutti i prodotti certificati per WPA2 sono basati su tale standard. Come il WPA, anche WPA2 assicura un alto livello di protezione dei dati e un accesso alla rete ristretto agli utenti autorizzati.
Così come il suo predecessore, WPA2 utilizza 802.1x e EAP per l’autenticazione e prevede entrambi i modi Personal e Enterprise, per venire incontro alle diverse esigenze dei consumatori e delle aziende.
La differenza sostanziale con WPA è che il WPA2 fornisce un più forte meccanismo di criptaggio attraverso l’AES (Advanced Encryption Standard) piuttosto che il TKIP. AES è un block cipher, nel senso che la crittografia viene fatta su blocchi di dati invece che bit a bit (come in RC4). Questo richiede capacità computazionali più elevate da parte dell’hardware, per cui non tutti i dispositivi che supportano WPA possono essere aggiornati via software per essere compatibili con WPA2, mentre invece è garantita l’interoperabilità di WPA2 con WPA.
WPA2 crea delle nuove chiavi ad ogni associazione proprio come WPA. I vantaggi sono che le chiavi di criptaggio usate per ogni utente sulla rete sono uniche e specifiche dell’utente stesso. Ogni pacchetto che viaggia in aria è criptato con un’ unica chiave. L’abilità di evitare il riuso della chiave e fornire delle chiavi di criptaggio uniche e nuove è il principio base di una buona pratica di sicurezza ed è il motivo per cui WPA e WPA2 offrono una tale sicurezza.

2.3 TIPOLOGIA DEGLI ATTACCHI

I rischi descritti precedentemente possono rendere vulnerabile la propria rete ad attacchi. Possiamo evidenziare tre macro tipologie di attacchi: all'apparato radio, alla rete aziendale o interna e al client wireless.

Attacchi agli apparati radio.
Le insicurezze del WEP permettono agli intrusi di eludere la crittografia dei dati trasmessi, così da poter analizzare il traffico wireless e da poter ricavare il contenuto dei dati trasmessi (es: login e password) per futuri attacchi. Inoltre, si possono eseguire attacchi più specifici, come la modifica dei dati in transito, il “replay” di sessioni eseguite dai client e il disturbo del segnale radio (Radio Jamming). Un altro tipo di attacco è l'inserimento di un finto Access Point. Per dirottare la connessione dei dispositivi wireless verso la rete pirata, gli hacker installano un punto di accesso con un segnale più potente nelle loro vicinanze. Gli utenti tenteranno di collegarsi ai falsi server, fornendo nome utente e password e qualsiasi altra informazione riservata.

Attacchi alla rete aziendale o interna.
Il WEP è l'unico protocollo nello standard IEEE 802.11 per autenticare gli utenti, pertanto un aggressore può facilmente entrare nella rete aziendale senza dover preoccuparsi di autenticarsi alla rete. Inoltre, non esiste nessun controllo di accesso verso le risorse della rete interna: un intruso puo' effettuare qualsiasi operazione sulla rete senza nessuna limitazione.

Attacchi ai client wireless.
Molte architetture prevedono che i client wireless vengano visti come risorse interne, anzichè risorse esterne (o untrusted).
Eventuali aggressori possono compromettere i client wireless per ottenere preziose informazioni o per usarli come “ponte” per penetrare nella rete aziendale.

2.3.1 CONFIGURAZIONI

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 collegando.

Cambiare gli SSID di default.
Il Service Set Identifier (SSID) identifica univocamente ogni punto di accesso all’ interno della rete. Tramite una configurazione opportuna, soltanto i dispositivi che utilizzano la corretta SSID possono comunicare con i punti di accesso. Molti dei dispositivi hanno già preconfigurato un SSID di default: un intruso può usare questi nomi per cercare di accedere ad AP che hanno ancora la configurazione di fabbrica.
Utilizzare SSID non descrittivi.
Usare SSID descrittivi facilita il compito di un eventuale intruso nell'individuare luoghi o aziende e nel ricavare maggiori informazioni su come entrare, ragion per cui è consigliabile utilizzare nomi anonimi o altamente scoraggianti.
Disabilitare il Broadcast SSID.
Gli AP mandano ad intervalli regolari Beacon Frames per la sincronizzazione con i client, i quali contengono il SSID. Queste frames servono ai client per configurarsi automaticamente la rete di accesso, ma servono anche a potenziali aggressori durante la ricerca delle reti wireless. È auspicabile disabilitare il Broadcast SSID qualora l'AP supporti questa opzione. Il client dovrà essere configurato manualmente con il SSID corretto per poter accedere alla rete.

Cambiare le password.
Come per gli SSID, è importante cambiare le password di default degli AP. È buona norma che la password sia lunga almeno otto caratteri e che includa caratteri speciali e numeri.

Aggiornare il firmware.
Nella scelta di un Access Point, è preferibile orientarsi verso un apparato che abbia la possibilità di aggiornare il suo firmware. È bene pertanto assicurarsi che l'Access Point abbia l'ultimo livello di firmware consigliato dal produttore.
Chiavi WEP.
Anche se è stato dimostrato che il WEP non è adeguato a proteggere una rete wireless, rappresenta comunque un deterrente per gli intrusi occasionali. Serve catturare dai 100 Mb a 1 Gb di traffico per provare a ricavare la chiave WEP, pertanto l'aggressore deve essere ben motivato per tentare l'intrusione. Cambiare spesso le chiavi WEP di crittografia sugli AP fa in modo che una rete compromessa, non lo sia a tempo indeterminato: un intruso, infatti, dovrebbe provare nuovamente a ricavare la chiave WEP, e questo dovrebbe farlo desistere da un secondo tentativo.
Cambiare le chiavi WEP è abbastanza oneroso: alcuni Access Point supportano la dynamic WEP-key exchange per cambiare la chiave WEP per ogni adattatore. È consigliato controllare dal produttore degli Access Point la disponibilità di questa feature. Alcuni Access Points, ad esempio, non dispongono di questa feature, ma è possibile specificare fino a quattro differenti chiavi per facilitare il cambio periodico della chiave.
Abilitare il MAC filtering.
Molti produttori includono nei loro Access Point la possibilità di abilitare soltanto alcune schede di rete, usando come metodo discriminatorio il loro MAC address. Alcuni Access Point permettono di fornire l'elenco dei MAC addresses abilitati attraverso una GUI, linea di comando o RADIUS. Si suggerisce di usare la GUI o la linea di comando nel caso di implementazione con pochi AP, RADIUS in un contesto più ampio. È necessario pero' comprendere che il MAC address di una scheda puo' essere facilmente cambiato, pertanto il MAC filtering non puo' essere usato come solo metodo di protezione.
Spegnere l'AP quando non serve.
Gli intrusi agiscono solitamente durante la notte e il fine settimana, ovvero quando la rete ed i sistemi non sono controllati. È consigliato, quando possibile, collegare gli Access Point ad un timer, in modo da spegnerli quando non vengono utilizzati.
Minimizzare l'intensità del segnale.
Gli intrusi sfruttano il fatto che le onde radio non si possono limitare a dei luoghi ben definiti, esempio l'ufficio vendite, ma riescono ad espandersi fuori dalle mura perimetrali dall'ufficio. Da qui la definizione del nome “parking lot attack”, o più semplicemente attacchi provenienti dal parcheggio. È pertanto importante scegliere un'adeguata collocazione dell'Access Point all'interno dell'edificio, in modo che il segnale sia sufficiente a garantire il collegamento solo ed esclusivamente alla zona interessata. Attraverso appositi strumenti radio o di audit, è necessario verificare che il segnale non sia visibile all'esterno del palazzo o della zona identificata. Per minimizzare l'intensità del segnale, è sufficiente non posizionare l'AP vicino alle finestre e usare antenne direzionali con basso guadagno in decibel. Alcuni AP inoltre hanno la possibilità di definire l'intensità del segnale via software.
Cambiare le community di default di SNMP.
Su molti AP risulta installato un agente SNMP (Simple Network Management Protocol). Se la community password non risulta correttamente configurata, un aggressore può leggere e scrivere dati di configurazione sull’AP, in maniera analoga ad altri sistemi che supportano SNMP.
Limitare il traffico di broadcast.
Alcuni protocolli, in particolare il NetBIOS su TCP/IP usato da Windows, usano assiduamente i messaggi di broadcast. Questi messaggi di broadcast contribuiscono ad incrementare il valore IV del sistema WEP, minimizzando per un intruso i tempi di raccolta dei dati per ricavare la chiave WEP. È consigliabile limitare il traffico di broadcast quando possibile, ad esempio disattivando il protocollo NetBIOS su TCP/IP dal binding con la scheda di rete Wireless.
Protezione del client.
Alcuni attacchi sono mirati ai client wireless in quanto vengono usati come ponte per entrare nella rete interna e per ricavare preziose informazioni. Ad esempio, alcuni client wireless scrivono in chiaro, nel registry di Windows o in un file di testo, le chiavi WEP di crittografia. È preferibile usare un personal firewall sui client in modo da ridurre i rischi di attacchi.
Non utilizzare il DHCP.
È consigliabile non utilizzare il DHCP per l'assegnazione dinamica degli indirizzi, ma considerare l'utilizzo di IP statici. Anche se è un ulteriore impegno per l'amministratore, è assai utile per evitare che la rete wireless attribuisca indirizzi IP validi a chiunque voglia associarsi con l'AP. Anche se un attaccante, utilizzando uno sniffer wireless, può facilmente ricavare gli IP, il fatto di non distribuirli via DHCP rappresenta un'ulteriore barriera. Inoltre, è consigliabile evitare di usare indirizzamenti di default facilmente intuibili come 192.168.1.0 o 192.168.0.0.
Uso di una VLAN separata.
È consigliabile utilizzare una Virtual LAN separata per il traffico wireless, separandola dalla rete intranet. Esistono varie metodologie, per unire in maniera sicura le due LAN, tra le più semplici ricordiamo l'uso di un router/swich con capacità di filtro IP o un proxy. In alcune piccole aziende e in ambienti SOHO (Small Office, Home Office) dove la protezione della rete non rappresenta un problema, queste semplici regole sono sufficienti a proteggere l'accesso wireless. In ambienti più critici, dove è necessario mantenere la confidenzialità dei dati, è necessario applicare delle regole più rigorose.