Con questo articolo ho voluto raccontare la scoperta della vulnerabilità che mette a rischio la riservatezza delle persone e delle aziende, un caso emblematico dell’ennesimo fallimento di una tecnologia in uso in tutto il pianeta su miliardi di dispositivi. Ho voluto anche spiegare come funziona l’attacco informatico, quali rischi e impatti comporta e come contrastare una vulnerabilità che è rimasta latente per quasi 15 anni. Infine, a fronte del colpevole silenzio dei mainstream media, chiamo pubblicamente all’azione gli enti governativi affinché facciano pressione sui produttori e informino tempestivamente la popolazione.
Le tecnologie, prima o poi, falliscono. Lo dico sempre durante gli eventi di educazione e sensibilizzazione sulla sicurezza delle informazioni e sull’uso sicuro e responsabile delle moderne tecnologie digitali di comunicazione. Alcune tecnologie sono più a rischio di fallimento per loro stessa natura ed è bene tenerlo sempre nella dovuta considerazione e comportarsi di conseguenza.
Quella che voglio raccontarti è la storia di uno di questi casi, di recentissima scoperta e fra i più eclatanti di questi ultimi anni, in cui una tecnologia diffusissima si è rivelata vulnerabile. Una storia altamente indicativa di come un errore concettuale, piuttosto semplice, possa persistere senza che nessuno se ne accorga, nonostante il medesimo codice applicativo venga utilizzato da miliardi di dispositivi digitali in tutto il mondo per quasi 15 anni.
Storia della scoperta della vulnerabilità
La storia inizia a metà febbraio di quest’anno presso la Katholieke Universiteit di Leuven, capoluogo della provincia del Brabante Fiammingo, a soli 30 chilometri da Bruxelles e più o meno al centro delle Fiandre e del Belgio, una città universitaria di quasi centomila anime in cui risiede la multinazionale maggiore produttrice di birra al mondo. Quel giorno, un ricercatore di sicurezza del gruppo di ricerca imec-DistriNet, mentre stava svogliatamente lavorando ad un documento dedicato alla ricerca di vulnerabilità logiche del processo di accoppiamento fra dispositivi Wi-Fi (PDF), si soffermò sulle funzioni del codice applicativo di gestione del processo.
Mathy Vanhoef quel codice l’aveva già visto e rivisto centinaia di volte, lo conosceva bene, eppure quel giorno la sua attenzione cadde sulla chiamata alla funzione ic_set_key relativa alla gestione della terza fase di quattro del processo di handshake fra dispositivi, quella in cui l’access point – tipicamente il modem o il router Wi-Fi – trasmette al dispositivo che sta per connettersi (cosiddetto supplicante), la chiave crittografica che verrà da quel momento utilizzata da entrambi per la cifratura delle comunicazioni scambiate.
Come spesso accade, è proprio nei momenti di maggiore distacco, in cui si è sovrappensiero e la mente è libera di spaziare e utilizzare in modi creativi le informazioni in proprio possesso, che nascono le migliori idee, quelle che possono cambiare il mondo, nel bene e nel male. Così, guardando distrattamente il codice, pensò: “chissà cosa accadrebbe se questa funzione venisse chiamata due volte…”. Fu in quel momento che realizzò che una nuova chiamata a quella specifica funzione avrebbe potuto innescare l’azzeramento del numero casuale utilizzato per la generazione della chiave di cifratura di sessione utilizzata per la protezione delle comunicazioni fra i dispositivi.
Una delle regole fondamentali del magico mondo della sicurezza informatica prevede che una chiave crittografica univoca e non ripetibile non venga mai riutilizzata, al fine di garantire che i procedimenti crittografici di identificazione, autenticazione ed accesso vengano svolti con il grado di sicurezza previsto.
Per lo standard Wi-Fi la chiave crittografica utilizzata nel processo di handshake fra dispositivi è chiamata nonce e indica un numero casuale o pseudo-casuale che deve essere utilizzato una volta sola. Nonce, infatti, deriva dal termine inglese “for the nonce” che significa appunto “per l’occasione”. La chiave nonce viene spesso utilizzata nei protocolli di autenticazione per garantire che i dati scambiati nelle precedenti comunicazioni fra i dispositivi non possano essere riutilizzati per violare la riservatezza, ad esempio in attacchi di tipo replay attack. Per essere sicuri che il nonce venga realmente utilizzato solo una volta, esso deve necessariamente variare nel tempo, ad esempio includendo nel calcolo la data e l’ora di generazione oppure deve essere generato con un numero di bit casuali sufficiente a rendere statisticamente insignificante la probabilità che uno stesso valore sia ripetuto più di una volta.
Mathy Vanhoef sapeva, però, che il modello generale di implementazione dello standard Wi-Fi prevede effettivamente la possibilità che il messaggio inviato dall’access point nella terza fase del processo di handshake venga ritrasmesso al dispositivo supplicante se necessario, ad esempio in caso di mancata conferma di ricezione per la perdita o il blocco dei pacchetti di dati sulla rete. Quindi, sebbene la ritrasmissione del messaggio di invio della chiave di cifratura al supplicante fosse prevista esclusivamente in casi specifici e controllati, essa poteva essere forzata in tempi successivi.
In tale evenienza, il dispositivo supplicante può ricevere più volte il messaggio e, ogni volta che lo riceve, procede con la reinstallazione della medesima chiave crittografica di sessione, al contempo azzerando il numero incrementale dei pacchetti di dati trasmessi e ricevendo nuovamente il contatore utilizzato dal protocollo di protezione dei dati scambiati. Un attaccante che catturi la trasmissione del messaggio della terza fase dell’handshake nel momento in cui un dispositivo tenta di connettersi ad una rete wireless, può ritrasmetterlo al dispositivo per innescare l’azzeramento della chiave crittografica nonce. A quel punto, la chiave di sessione riutilizzata (o azzerata) viene sfruttata per attaccare la riservatezza delle comunicazioni scambiate fra i dispositivi.
In quel momento, Vanhoef accantonò l’idea per concentrarsi sulla conclusione del documento che era ormai a buon punto, ma qualche giorno più tardi riprese l’investigazione di quel meccanismo che avrebbe potuto scardinare la riservatezza delle connessioni Wi-Fi di tutto il mondo. I test realizzati nei mesi che seguirono confermarono la possibilità di violare le comunicazioni Wi-Fi su diversi dispositivi, su alcuni in maniera addirittura più agevole che su altri. A metà luglio il gruppo di ricerca inviò una notifica sulla vulnerabilità scoperta ai produttori dei dispositivi fino a quel momento utilizzati nei test, ma in seguito si accorsero che non era un problema dei singoli dispositivi: era generalizzato. Informarono quindi il CERT Coordination Center (CERT/CC) che il 28 agosto scorso inviò una notifica generale ad un centinaio di produttori.
Dopo aver lasciato oltre un mese di tempo ai produttori per aggiornare firmware e driver dei loro dispositivi, finalmente Vanhoef ha deciso di rendere nota la vulnerabilità con la pubblicazione di un documento intitolato “Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2” (PDF), nel quale sono spiegati in dettaglio il meccanismo di violazione del protocollo di handshake e tutti i possibili conseguenti impatti sui dispositivi interessati. Il documento è stato reso pubblico il 16 ottobre scorso con un tweet dello stesso autore ed è stato aperto un sito dedicato su KrackAttacs.com. Le vulnerabilità verranno presentate formalmente in un intervento previsto per il 1° novembre alla ACM Conference on Computer and Communications Security a Dallas (USA) da Mathy Vanhoef e Frank Piessens della KU Leuven e imec-DistriNet, Maliheh Shirvanian e Nitesh Saxena dell’Università dell’Alabama a Birmingham, Yong Li della Huawei Technologies a Dusseldorf e Sven Schäge della Ruhr-Universität di Bochum in Germania.
Questa è la storia di una vulnerabilità rimasta latente per tanto tempo e di un nuovo attacco che è stato chiamato “KRACK” (da Key Reinstallation AttaCK).
Spesso si pensa che gli attacchi informatici siano opera di criminali addestratissimi, in possesso di strumenti fantascientifici, fondi illimitati e tecniche sofisticatissime e dannatamente efficaci. La realtà è invece un mix di tecnologie fallaci, produttori senza scrupoli, organi di certificazione e controllo disattenti, aziende impreparate e utenti generalmente ignari dei rischi cui sono quotidianamente soggetti.
KRACK: come funziona e quale impatto ha sugli utenti
Dicevo che le tecnologie falliscono: lo standard di protezione crittografica Wi-Fi Protected Access 2 (codice IEEE 802.11i, generalmente chiamato “WPA2”) è stato emesso il 24 giugno 2004 per sostituire i precedenti standard Wired Equivalent Privacy (WEP) e Wi-Fi Protected Access (WPA) basati sull’algoritmo crittografico RC4 ed entrambi agevolmente violabili (qui le differenze). Dal 13 marzo 2006 la certificazione dello standard WPA2 è obbligatoria su tutti i dispositivi Wi-Fi di nuova produzione ed è oggi utilizzata sulla quasi totalità dei dispositivi dotati di connessione senza fili.
C’è quindi bisogno di un nuovo standard di protezione? No, il WPA2 è uno standard tuttora sufficientemente sicuro, il problema è solo nel modello di implementazione generalmente adottato sui dispositivi.
Infatti, Wi-Fi Alliance, l’ente che promuove la tecnologia Wi-Fi e ne certifica i prodotti affinché ne sia garantita l’interoperabilità universale, ha già in previsione di modificare lo standard internazionale di implementazione per prevenire espressamente l’attacco KRACK. La ragione principale è che lo standard IEEE 802.11i descrive come determinati messaggi del processo di handshake devono essere processati, ma non quando, in particolare non prevede che il supplicant respinga messaggi di handshake quando è già nello stato “PTK-DONE“.
Oltre al WPA2, la vulnerabilità affligge anche il precedente standard WPA, entrambi in configurazione sia Personal (quella generalmente usata a casa) che Enterprise (nelle aziende), indipendentemente che il protocollo di protezione dati adottato sia WPA-TKIP, CCMP o GCMP. Quest’ultimo, peraltro, sebbene costituisca una novità piuttosto recente per lo standard Wi-Fi, verrà largamente adottato sui dispositivi di nuova produzione nei prossimi anni. In sostanza, risultano oggi vulnerabili i dispositivi Android, Linux, Apple (MacOS), Windows, OpenBSD, MediaTek, LinkSys, ecc.
C’è anche da dire che, al momento, lo sfruttamento della vulnerabilità richiede una certa competenza di sviluppo applicativo e di conoscenza dei protocolli di comunicazione coinvolti, ma non è da escludere che in un futuro molto prossimo venga sviluppato e reso disponibile uno strumento informatico guidato per consentire anche ai più profani di predisporre ed eseguire l’attacco.
La scoperta è una bomba: parliamo di miliardi di dispositivi in tutto il mondo che utilizzano il medesimo standard di comunicazione e di protezione crittografica, tutti potenzialmente vulnerabili da diversi anni ad una metodologia di attacco che, negli ambienti underground, potrebbe essere già da tempo conosciuta ed utilizzata all’insaputa degli utenti.
Giusto per far comprendere meglio la dimensione del problema, fra questi dispositivi sono quasi sicuramente inclusi tutti i tuoi computer fissi e portatili, il tuo tablet e i tuoi smartphone, siano essi personali o aziendali, oltre a qualsiasi altro dispositivo che utilizza una connessione Wi-Fi, ad esempio telecamere, Smart TV, TV box, console di gioco, sensori remoti, lettori multimediali, ecc. In estrema sintesi, l’intera Internet of Things (IOT) che oggi comprende miliardi di dispositivi in tutto il mondo in settori come domotica, robotica, avionica, industria automobilistica, sanità e biomedicale, monitoraggio industriale, telemetria, sorveglianza, allarmistica, smart grid e smart city, telematica, agricoltura, zootecnia.
La violazione del protocollo di protezione consente di decifrare i messaggi scambiati fra il dispositivo supplicante e il punto di accesso Wi-Fi (tipicamente un modem o un router), replicare dati precedentemente trasmessi, intercettare e modificare il traffico Internet, nonché iniettare codice malevolo sui dispositivi connessi (virus, malware, ransomware, spyware, ecc.). Un tipico attacco adottato per realizzare tutto questo è chiamato Man-in-the-Middle (MITM) e consiste nel sostituire l’access point legittimo con uno artefatto che agisce al suo posto come punto di transito, cattura e modifica dei messaggi scambiati dai dispositivi.
Tutte le informazioni scambiate via Wi-Fi dai dispositivi vulnerabili possono essere intercettate e utilizzate nei modi più disparati, ad esempio per lanciare nuove forme di attacco, per perpetrare frodi o per colpire la reputazione della vittima.
Si tratta, ad esempio, di credenziali d’accesso, codici segreti, coordinate di pagamento, codici delle carte di credito e messaggi riservati. Ciò significa aprire la strada a furti d’identità, violazione dei sistemi informativi, sottrazione di dati aziendali, cattura di ulteriori credenziali d’accesso (fra cui quelle degli stessi access point la cui interfaccia di amministrazione spesso non adotta l’HTTPS per la cifratura) e molte altre forme di crimine informatico.
Linee guida: cosa fare e cosa non fare
Fortunatamente qualche aspetto positivo da considerare c’è. Ad esempio, per sferrare l’attacco è indispensabile che l’attaccante si trovi nel raggio d’azione della rete Wi-Fi, quindi la prossimità fisica è fondamentale. Di conseguenza è consigliabile, soprattutto per le aziende, verificare la propagazione del segnale Wi-Fi all’esterno del perimetro dei locali fisici e rilevare proattivamente la presenza di dispositivi Wi-Fi attivi non autorizzati (cosiddetti rogue access points).
Meglio adottare una qualsiasi forma di crittografia punto-punto delle comunicazioni scambiate (es. HTTPS, VPN, SSH, ecc.) al fine di mantenere la riservatezza delle informazioni scambiate dai dispositivi attraverso la rete wireless. È importante, ad esempio, fare la massima attenzione alla corretta attivazione dell’HTTPS sui siti visitati in cui inseriamo credenziali o dati riservati. L’HTTPS in particolare potrebbe costituire un ulteriore protezione, sebbene può essere comunque violato in determinate situazioni, ad esempio in software diversi dai comuni browser, in Apple iOS e MacOSX, nelle app di Android, nelle app di mobile banking e in app di VPN.
L’attacco non consente di risalire alle credenziali di accesso alla connessione Wi-Fi (ad esempio la cosiddetta Pre-Shared Key o PSK) ma “solo” di decifrare i dati scambiati; esso è, infatti, il primo attacco al WPA2 che non è volto a recuperare la password di accesso alla rete Wi-Fi con tecniche di password cracking o password guessing.
Dal 16 ottobre scorso si è aperta quindi una vera e propria corsa per uscire il prima possibile dal folto gruppo degli utenti in possesso di dispositivi potenzialmente a rischio di attacco KRACK.
Per fare questo è consigliabile abbandonare temporaneamente, ove possibile, il ricorso a connessioni Wi-Fi sui propri dispositivi a favore di connessioni cablate, in attesa che i rispettivi produttori rilascino gli aggiornamenti del software di gestione, del firmware o del sistema operativo. È importante anche installare tempestivamente gli aggiornamenti di sicurezza man mano rilasciati per i propri dispositivi, possibilmente attivando la funzionalità di aggiornamento automatico del software. Fortunatamente, tutti gli aggiornamenti dovrebbero essere retrocompatibili e non dovrebbero modificare il funzionamento dei dispositivi.
Sebbene l’attacco KRACK non sia indirizzato espressamente agli access point (modem e router), bensì ai dispositivi che si collegano a reti Wi-Fi già attive, è consigliabile aggiornare comunque anche gli access point non appena verranno pubblicati aggiornamenti del firmware. Non sperate né date per scontato che il vostro fornitore di accesso ad Internet (il vostro ISP) provveda ad aggiornare in remoto i vostri modem router: il perché è spiegato in un altro mio recente articolo.
Sia chiaro che, in assenza di precise imposizioni governative, il rilascio degli aggiornamenti è da intendersi a totale discrezione e convenienza del singolo produttore, perciò è facile immaginare che la maggior parte dei dispositivi non verranno aggiornati con la dovuta tempestività e molti di essi, in particolare quelli meno costosi, fuori produzione e fuori manutenzione, non verranno aggiornati affatto.
Quanto a lungo gli utenti dovranno restare soggetti al rischio di violazione della propria rete Wi-Fi? Dipende da diversi fattori, fra i quali la scelta dell’utente stesso fra l’opportunità di attendere il rilascio di un aggiornamento o quella di sostenere il costo di sostituzione del dispositivo con uno di nuova produzione che sia però già aggiornato al nuovo modello di implementazione dello standard WPA2. Non sarà neanche così semplice capire se gli aggiornamenti ricevuti risolvono effettivamente il problema né da quali nuove versioni dei software si potrà stare tranquilli.
Secondo Fortune, Microsoft ha già risolto la vulnerabilità in un aggiornamento rilasciato il 10 ottobre, Apple sta testando ed è quasi pronta ad emettere un aggiornamento per i sistemi operativi iOS e MacOS, mentre Google dichiara di essere attiva sul tema e promette di aggiornare Android su ogni dispositivo affetto dalla vulnerabilità nelle prossime settimane, sebbene gli aggiornamenti dovranno poi passare al vaglio dei produttori di telefonia mobile prima di essere rilasciati sui dispositivi. Cisco ha reso disponibili gli aggiornamenti per alcuni prodotti ma sta ancora lavorando su altri, mentre Intel ha pubblicato una lunga lista di prodotti vulnerabili con i relativi driver aggiornati. Anche i produttori di access point stanno pubblicando aggiornamenti, comprese grandi aziende come Netgear.
Il gruppo di ricerca imec-DistriNet, che ha scoperto la vulnerabilità, intende sviluppare e rilasciare uno strumento (molto probabilmente un semplice script) che consenta agli utenti più “esperti” di verificare se un dispositivo è effettivamente vulnerabile all’attacco KRACK. Sarà mia cura includere in questo testo o nei commenti i link da cui sarà possibile scaricare questo strumento e qualsiasi altro metodo di verifica: consiglio ai lettori di procedere tempestivamente con il controllo dei propri dispositivi prima di decidere quali sostituire e quali aggiornare, risparmiando così spese inutili.
Penso sia il caso di indicare anche cosa non fare: come già anticipato, non è necessario cambiare la password di accesso alla connessione Wi-Fi, sebbene sia un’ottima prassi da adottare con una certa frequenza (almeno una volta all’anno). Molto più pericoloso è ritornare all’adozione dei vecchi standard WPA o WEP in quanto nettamente più vulnerabili del WPA2. Per il momento non sarà necessario nemmeno sostituire i propri dispositivi o il proprio modem-router Wi-Fi, quantomeno finché non saranno disponibili nuovi modelli analoghi non affetti dalla vulnerabilità.
Call to Action: fare pressione sui produttori
e informare urgentemente gli utenti!
Ricapitolando: pressoché tutti i dispositivi dotati di Wi-Fi sono attualmente vulnerabili ad un attacco che mette a rischio la privacy e l’incolumità degli utenti, nonché la sicurezza e il business delle aziende, senza che la maggior parte dell’utenza sia in grado di rilevarlo o di farvi fronte in maniera efficace. Penso all’utente medio, alle piccole e medie imprese, a tutte quelle realtà che ogni giorno si limitano ad utilizzare le moderne tecnologie di comunicazione senza disporre di un’adeguata conoscenza dei meccanismi insiti e dei relativi rischi.
Quanti utenti avranno la consapevolezza necessaria per comprendere i rischi cui sono soggetti a causa di questa vulnerabilità generalizzata e, soprattutto, la competenza per reperire ed applicare gli aggiornamenti man mano rilasciati dai vari produttori dei loro dispositivi? Quanti sapranno gestire la propria sicurezza identificando, con cognizione di causa, quali dispositivi aggiornare e quali necessariamente sostituire in quanto non più supportati?
Il problema deve essere portato immediatamente all’attenzione dei più alti livelli governativi affinché impongano opportune contromisure ai produttori e mettano a conoscenza l’intera popolazione, nel rispetto dei dettami delle normative italiane ed europee sulla privacy, delle vigenti leggi in materia di crimini informatici e del Quadro Strategico Nazionale per la Sicurezza dello Spazio Cibernetico.
Un ottimo metodo di imposizione potrebbe consistere nel vietare ai produttori di commercializzare prodotti vulnerabili a partire da una data ben precisa, ad esempio dal 1 gennaio 2018.
Infine, forse a causa della mia costante spinta all’evoluzione degli utenti, ritengo che sia indispensabile ed urgente lanciare una campagna governativa volta ad innalzare la consapevolezza dei cittadini e delle imprese sul caso, affinché prendano coscienza del problema, dei rischi conseguenti e dei potenziali impatti sulla tutela della privacy e sulla salvaguardia della propria vita, della propria immagine e del proprio business.
Finora neanche una piccola menzione del problema nei telegiornali nazionali, a dimostrazione che la sicurezza informatica non è ancora un tema sentito da governo e organi di informazione.
La Presidenza del Consiglio dei Ministri, il Ministero dell’Interno, l’Agenzia per l’Italia Digitale, il Nucleo per la Sicurezza Cibernetica, il Garante Privacy e la Polizia Postale e delle Comunicazioni sono i principali enti governativi chiamati ad avviare con la massima urgenza una campagna massiva e a fornire chiare e precise linee guida di comportamento alla popolazione.
Non c’è tempo da perdere.
Ettore Guarnaccia