Dopo le falle note da tempo negli standard WEP e WPA di prima generazione, anche il WPA2 scoperto vulnerabile ad un nuovo tipo di attacco.

Mathy Vanhoef, ricercatore dell’Università belga di KU Leuven, ha recentemente scoperto gravi debolezze in WPA2, il protocollo che protegge la maggioranza delle moderne reti Wi-Fi. Un malintenzionato, trovandosi nel raggio di azione di una rete Wi-Fi protetta, può sfruttare tali debolezze usando una nuova tipologia di attacco, denominata KRACK (Key Reinstallation AttaCK). In pratica, è possibile utilizzare questa nuova tecnica per decifrare le comunicazioni che con WPA2 si assumeva fossero crittografate in modo sicuro. Tale vulnerabilità può essere potenzialmente sfruttata per accedere ad informazioni sensibili, come numeri di carta di credito, password, messaggi in chat, email, foto e così via. L’attacco funziona con tutte le moderne reti Wi-Fi protette, indipendentemente dalla complessità della password impostata. In alcune condizioni, oltre a fornire accesso in lettura, tale attacco consente di manipolare le comunicazioni: ad esempio, un malintenzionato potrebbe essere in grado di iniettare ransomware o altri malware nelle pagine web che richiedono gli ignari utenti della rete Wi-Fi.

A rendere particolarmente importante l’impatto di tale scoperta è il fatto che la vulnerabilità si applica allo standard Wi-Fi stesso e non solo ai singoli prodotti o alle specifiche implementazioni. Per prevenire l’attacco, gli utenti saranno costretti ad aggiornare i prodotti interessati appena sarà disponibile un aggiornamento. E’ stato verificato che la maggioranza dei dispositivi Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys e altri, sono tutti vulnerabili ad una delle varianti dell’attacco. La lista completa dei sistemi vulnerabili è stata censita dal CERT / CCIl lavoro di ricerca che ha portato alla scoperta della vulnerabilità sarà presentato il 1° Novembre a Dallas nella sessione F3 alla conferenza Computer and Communications Security (CCS) ed agli inizi di Dicembre a Londra alla conferenza Black Hat Europe. Il relativo articolo scientifico è già disponibile online.

Una dimostrazione pratica

Per dimostrare l’impatto della vulnerabilitàVanhoef ha realizzato un video in cui mostra la facilità con cui si può accedere ad informazioni sensibili inviate con uno smartphone Android attraverso una rete Wi-Fi protetta con WPA2. In particolare, l’attacco KRACK è estremamente efficace nei contronti dei sistemi Linux e Android 6.0 o superiore. Infatti, tali sistemi operativi possono essere forzati ad (ri)utilizzare una chiave crittografica nulla. Negli altri casi è più difficile decifrare tutti i pacchetti, ma nella maggior parte dei casi si riesce a fare per la maggioranza di essi. Si riporta di seguito il video:

Rischi derivanti dagli attacchi KRACK

Un attacco KRACK apre a numerosi utilizzi malevoli e non si limita al mero recupero di informazioni sensibili (ad es. indirizzi e-mail e password). In generale, tutti i dati o le informazioni che la vittima trasmette possono essere decifrati. Inoltre, a seconda del dispositivo utilizzato e della configurazione della rete, è possibile decifrare anche i dati inviati verso la vittima (ad es. Il contenuto di un sito web). Anche se i siti web o le applicazioni possono utilizzare HTTPS come ulteriore livello di protezione, tale protezione aggiuntiva può tuttora essere aggirata in un numero preoccupante di situazioni. Ad esempio, la protezione di HTTPS è stata già più volte aggirata nel caso di App iOS e Android, nonché in applicazioni bancarie e applicazioni VPN.

Dettagli sulla tecnica KRACK

L’attacco interessa la cosiddetta fase di 4-way handshake del protocollo WPA2, che viene eseguita quando un client siconnette ad una rete Wi-Fi protetta e il cui scopo è confermare che sia il client che l’access point possiedano le credenziali corrette. Durante tale fase viene negoziata una nuova chiave crittografica che verrà utilizzata per cifrare tutti i successivi messaggi. Siccome tutte le moderne reti Wi-Fi protette prevedono il 4-way handshake, tutte sono potenzialmente vulnerabili ad una possibile variante dell’attacco KRACK. Ad esempio, l’attacco funziona indistintamente con reti Wi-Fi personali e aziendali, con standard WPA e WPA2, anche nel caso in cui si utilizzi solo AES.

Come funziona un attacco di tipo KRACK

In pratica, l’attacco manipola e riproduce più volte i messaggi del 4-way handshake forzando la reinstallazione della stessa chiave crittografica. Quando la vittima reinstalla la chiave, i parametri ad essa associati, quale il contatore dei pacchetti trasmessi (nonce) e il numero di pacchetti ricevuti (replay counter) vengono reimpostati al loro valore iniziale. Essenzialmente, per garantire la sicurezza, una chiave dovrebbe essere installata una sola volta ed utilizzata in combinazione con nonce sempre diversi. Purtroppo tale condizione non è opportunamente garantita dal protocollo WPA2 e manipolando il 4-way handshake si può abusare di questa debolezza.

Quando un client si connette ad una rete W-Fi ed esegue il 4-way handshake per negoziare la chiave crittografica, esso installa tale chiave dopo aver ricevuto il terzo messaggio della sequenza. Una volta installata la chiave, essa viene utilizzata per cifrare i successivi messaggi, ma poiché tali messaggi possono essere persi o scartati, è previsto che l’access point possa ritrasmettere il terzo messaggio se non ha ricevuto una risposta appropriata come conferma. Di conseguenza, il client può ricevere il terzo messaggio più volte ed ogni volta reinstalla la stessa chiave crittografica, reimpostando di conseguenza il nonce e il replay counter. E’ stato dimostrato che riproducendo più volte il terzo messaggio del 4-way handshake un attaccante può forzare il reset del nonce, consentendo di decifrare e/o forgiare pacchetti. La stessa tecnica può essere utilizzata anche per attaccare altre chiavi utilizzate dal Wi-Fi in diversi scenari (group key, PeerKey, TDLS).

In particolare, l’attaccante può decodificare i pacchetti inviati dai client, riuscendo così ad intercettare informazioni sensibili quali password o cookie. Tale operazione è possibile perché l’azzeramento del contatore dei pacchetti trasmessi (noto anche come Initialization Vector (IV)) provoca l’utilizzo della stessa chiave crittografica con i valori nonce già utilizzati precedentemente. Di conseguenza la sequenza di byte (keystream) utilizzata per cifrare i pacchetti risulta sempre la stessa. Nel caso in cui sia noto a priori il contenuto di messaggio, diventa banale ricostruire il keystream utilizzato, che può quindi essere utilizzato per decifrare i messaggi cifrati con la stessa coppia (chiave, nonce). Qualora il contenuto dei messaggi non fosse noto risulta più difficile decifrare i pacchetti, anche se è possibile in molti casi procedere sulla base di alcune ipotesi, come la conoscenza del formato dei protocolli cifrati o del vocabolario utilizzato. In pratica, quindi, la ricerca di pacchetti con contenuto noto non è un problema e si deve supporre che qualsiasi pacchetto possa essere decifrato.

Impatto pratico degli attacchi KRACK

La capacità di decifrare i pacchetti può essere usata per ricostruire i numeri di sequenza di una connessione TCP e di agganciarsi ad esse per iniettare dati a piacere nella comunicazione. Ad esempio, uno degli attacchi più comuni contro le reti Wi-Fi aperte consiste nell’iniettare contenuti dannosi all’interno di connessioni HTTP non cifrate, come ransomware o malware. La direzione in cui i pacchetti possono essere decifrati (e forgiati) dipende dall’handshake attaccato: attaccando il 4-way handshake si possono decifrare (e forgiare) i pacchetti inviati dal client, mentre attaccando l’handshake del Fast-BSS transition si possono decifrare (e forgiare) i pacchetti inviati verso il client. Infine, la maggior parte degli attacchi KRACK consente anche la riproduzione di frame unicast, broadcast e multicast.

Nel caso in cui WPA sia utilizzato con protocolli di cifratura TKIP o GCMP l’impatto è ancora peggiore. Contro questi protocolli di crittografia, il riutilizzo del nonce consente non solo decifrare, ma anche di forgiare e iniettare pacchetti. Inoltre, GCMP utilizza la stessa chiave di autenticazione in entrambe le direzioni di comunicazione, rendendo così possibile all’attacco la decifratura di entrambe le direzioni delle comunicazioni. Si fa presente che il supporto per GCMP è associato al cosiddetto Wireless Gigabit (WiGig), che si diffonderà molto velocemente nei prossimi anni.

E’ importante sottolineare che gli attacchi KRACK non recuperano la password della rete Wi-Fi e neanche la chiave crittografica negoziata durante il 4-way handshake.