Nelle lezioni precedenti abbiamo fatto un’analisi (abbastanza approfondita) del protocollo WEP. In questa lezione analizzeremo le carenze di questo protocollo che comportano una totale insicurezza della segretezza della Wep Key.
Il WEP utilizza, come abbiamo appena visto, l’algoritmo RC4 il quale, appartenendo alla famiglia degli algoritmi di tipo stream cipher, soffre di una carenza ben nota e cioè quella che se vengono cifrati due messaggi utilizzando lo stesso key stream dai rispettivi ciphertext è possibile ricavere informazioni sui due messaggi originari. Infatti, se effettuaiamo lo XOR tra due testi cifrati, che usano lo stesso keystream, otterremo lo XOR dei due pacchetti in chiaro.
Supponendo di conoscere almeno uno dei due pacchetti in chiaro, se effettuassimo lo XOR del risultato precedente con il pacchetto conosciuto otterremo il secondo pacchetto in chiaro. Supponendo, inoltre, di conoscere un testo in chiaro e il relativo testo cifrato, facendone lo XOR otterremo il keystream relativo. Ottenuto il keystream sappiamo che quest’ultimo è funzione del vettore di inizializzazione IV e della Wep Key, ma dato che la Wep Key, in quasi tutte le reti, viene modificata raramente possiamo approssimare il keystream in funzione di una sola variabile: il vettore di inizializzazione IV.
Dato che la dimensione di questo vettore di inizializzazione IV non è poi così grande, ipotizzando di avere a disposizione una certa quantità di traffico sulla rete, potremo ricavarne un duplicato nel giro di sole 5 ore.
Avendo a disposizione due messaggi cifrati con lo stesso keystream, una volta noto anche una parte di questi messaggi, è banale ricavarne la Wep Key. Parte dei messaggi, infatti, può essere ricavata sfruttando il traffico IP dove si hanno header abbastanza corposi, per quantità di bit, e con struttura ben nota. All’atto pratico un attaccante che vuole accedere ad una rete Wireless protetta da protocollo WEP seguirà queste quattro operazioni:
- Preliminarmente lo scopo dell’attaccante è quello di rilevare quali reti siano disponibili nel luogo in cui si trova.
- L’attaccante sceglie una rete da attaccare e procede con l’acquisire più traffico, in termini di pacchetti che transitano nella rete, possibile. Catturando i pacchetti inviati dall’Access Point e quelli scambiati tra i vari client si può determinare il tipo di protezione presente nella rete.
- A questo punto alcuni dei pacchetti catturati in precedenza vengono modificati appositamente e vengono poi spediti ai client connessi alla rete e all’Access point. Dato che non si è autenticati, i pacchetti inviati verranno scortati e verrà notificato all’attaccante un messaggio di errore. Registrando anche questi pacchetti che contengono il messaggio di errore è possibile raccoglie, in breve tempo, una quantità di dati enorme che verranno utilizzati nell’utima fase.
- L’ultima fase consiste nell’andare a processare i dati precedentemente raccolti per mezzo di software specifichi che porteranno, al termine dell’analisi, alla Wep Key utilizzata nella rete. Solitamente la fase di sniffing dei pacchetto e l’analisi da parte del software viene fatta in contemporanea diminuendo sensibilmente il tempo nel quale verrà trovata la Wep Key.
Queste funzioni, sopra citate, vengono tutte svolte da software specifici ma i più performanti e migliori, anche dal punto di vista delle prestazioni, sono raccolti nella suite Aircrack-ng. Per chi fosse interessato a visionare un esempio di attacco pratico ad una rete Wi-Fi protetta da WEP, consiglio la lettura del seguente articolo pubblicato su questo sito.
Alla luce di quanto detto è altamente sconsigliato utilizzare il protocollo WEP il quale, come detto, è caratterizzato da un livello di sicurezza quasi nullo: con l’analisi del traffico la Wep Key può essere sempre individuata. L’unica cosa di cui non si è certi è il tempo necessario per individuarla in quanto esso dipende fortemente dal quantitativo di traffico che circola nella rete bersaglio.