Decodifica gratuita di Frame
Un’altra forma di attacco contro il protocollo WEP può essere condotta tramite redirezione dei pacchetti IP trasmessi sulla rete wireless.
Se l’access point è in grado di inoltrare i messaggi ricevuti via wireless a una prestabilita stazione controllata dall’attaccante, direttamente attestata alla rete aziendale cablata e/o connessa a Internet pubblica, può non essere necessario alcuno sforzo di crittoanalisi per decodificare il messaggio cifrato.
La decodifica viene lasciata allo stesso AP legittimo.
Per ottenere la decodifica di un precedente messaggio cifrato trasmesso da un soggetto legittimo è sufficiente riproporre il messaggio all’access point, anche attribuendolo a una sorgente diversa da quella che l’ha generato.
Se il pacchetto viene riproposto come è stato generato dal client wireless legittimo il frame appare come una semplice duplicazione di un messaggio precedente.
Mentre, se il pacchetto è stato manipolato e/o in parte modificato, il suo inoltro dipende dalla verifica della checksum effettuata dall’AP che lo riceve.
Se la verifica ha successo il datagramma IP contenuto nel frame wireless viene accettato e instradato verso la destinazione definitiva.
Per poter dirigere il pacchetto prodotto da una sorgente legittima verso una stazione remota controllata dall’hacker, l’attaccante wireless deve andare a modificare parte dell’intestazione IP contenuta all’interno del messaggio cifrato.
Modificare l’indirizzo destinazione contenuto nell’intestazione del messaggio cifrato non è difficile se si conosce a priori il reale indirizzo IP destinazione.
Le regole base che vengono seguite dal protocollo IP per costruire i diversi datagrammi impongono che l’indirizzo destinazione si venga a trovare sempre nella stessa posizione rispetto al primo bit trasmesso.
Nota la posizione dei bit che occorre modificare, l’alterazione del messaggio C può essere fatta tramite una semplice operazione di XOR bit a bit.
Il messaggio finale C’ = C XOR Δ, dove Δ rappresenta una opportuna sequenza di bit, di lunghezza pari al messaggio cifrato e con una disposizione di bit a uno in corrispondenza di tutti quei bit del messaggio originale che si intendono modificare.
Per esempio, se l’indirizzo originale è 10.10.10.1 e il nuovo indirizzo deve essere 10.10.10.128, risulta necessario modificare solo il quarto byte.
La codifica binaria del quarto byte dell’indirizzo originale è 00000001, mentre quella del nuovo indirizzo è 10000000.
Per ottenere questo risultato, indipendentemente dalla chiave K e dal vettore IV, è sufficiente utilizzare un Δ = …10000001… (infatti 10000000 = 00000001 XOR 10000001).
Per superare il controllo dell’access point è indispensabile modificare coerentemente anche la checksum allegata al frame prima della sua codifica.
Questa operazione non rappresenta un problema in quanto il processo utilizzato per produrre la checksum dallo standard IEEE 802.11 gode della seguente proprietà: la checksum di C XOR Δ è uguale al risultato dell’operazione di XOR bit a bit tra la checksum di C e la checksum di Δ.
Sfruttando questa dipendenza lineare tra il messaggio e la checksum prodotta è possibile modificare ad hoc il messaggio cifrato in modo che le alterazioni non possano essere rilevate dall’access point (che agisce fondamentalmente da bridge di livello 2).
La manipolazione dell’indirizzo IP destinazione da parte dell’attaccante genera invece come effetto collaterale un errore nella verifica della checksum inserita nel datagramma IP.
Tale verifica è effettuata sia dalla stazione destinazione (controllata dall’attaccante) sia da eventuali router intermedi.
Se la stazione dell’attaccante appartiene alla stessa subnet IP della stazione sorgente l’impossibilità di verificare la checksum IP del pacchetto ricevuto può essere superata adottando un opportuno driver di ricostruzione dei pacchetti che semplicemente non effettui tale verifica.
Se l’attaccante si trova su un’altra sottorete occorre convincere i router posti sul percorso verso la stazione remota che il datagramma IP è integro.
Per ottenere questo risultato occorre modificare anche la checksum presente all’interno dell’intestazione IP.
Ciò può essere fatto, seguendo il principio generale appena descritto, ma con estrema difficoltà ( derivante dalla mancata conoscenza a priori del valore iniziale della checksum esatta).
Si può concludere che, per rendere praticamente inapplicabile questo attacco, è sufficiente che tutte le stazioni attestate alla rete aziendale cablata si trovino su una sottorete IP diversa da quella utilizzata per la parte wireless.