L'exploit BadUSB è mortale, ma pochi potrebbero essere colpiti

Nove anni fa, ho creato quello che credo fosse il primo worm USB al mondo. Giocando con una chiavetta USB e inserendovi un file nascosto, sono stato in grado di fare in modo che qualsiasi computer in cui era collegata l'unità USB "infetta" diffondesse automaticamente il file sul computer host, quindi di nuovo quando una nuova USB il dispositivo è stato collegato.

Ha funzionato con fotocamere digitali e telefoni cellulari. Sono stato in grado di ottenere qualsiasi dispositivo USB - in effetti, qualsiasi dispositivo multimediale rimovibile - per eseguire il mio file worm. Mi sono divertito un sacco a giocarci.

Ho segnalato la scoperta al mio datore di lavoro e ai fornitori coinvolti; a loro volta hanno chiesto il mio silenzio per una notevole quantità di tempo, in modo da poter chiudere il buco. Avevo programmato di presentare la mia scoperta a una grande conferenza sulla sicurezza nazionale e dovevo scegliere tra il credito di hacker e la sicurezza pubblica. Sono andato con quest'ultimo.

A dire il vero, non volevo far incazzare questo venditore perché era un possibile futuro cliente o datore di lavoro. Il buco è stato rattoppato e il pubblico non è stato più saggio. Molti anni dopo, sono rimasto sorpreso di vedere un metodo molto simile utilizzato nel programma malware Stuxnet.

Ma la mia esperienza mi ha fatto non fidarmi mai più di un dispositivo collegato. Da allora, non ho mai collegato un dispositivo USB o una scheda di memoria rimovibile a un computer di mia proprietà che non fosse originario e fosse rimasto sotto il mio controllo. A volte, la paranoia è appropriata.

BadUSB è una seria minaccia ora in circolazione

Questo mi porta ad oggi. Ora è stato pubblicato su GitHub il codice sorgente per BadUSB (da non confondere con un falso programma malware chiamato BadBIOS), che fa sembrare il mio esperimento di nove anni fa un gioco per bambini. BadUSB è una minaccia reale che ha gravi conseguenze per i dispositivi di input hardware del computer.

BadUSB scrive - o sovrascrive - il codice del firmware di un dispositivo USB per eseguire azioni dannose. Annunciato per la prima volta nel luglio 2014, BadUSB è stato scoperto da una coppia di ricercatori informatici presso i Security Research Labs di Berlino, che hanno poi mostrato la loro scoperta alla Black Hat Conference.

L'attacco è temuto perché tutti i metodi tradizionali di controllo della malizia su un dispositivo di archiviazione USB non funzionano. Il codice dannoso viene inserito nel firmware dell'USB, che viene eseguito quando il dispositivo viene collegato a un host. L'host non è in grado di rilevare il codice del firmware, ma il codice del firmware può interagire e modificare il software sul computer host.

Il codice del firmware dannoso potrebbe piantare altri malware, rubare informazioni, deviare il traffico Internet e altro ancora, il tutto aggirando le scansioni antivirus. L'attacco è stato considerato così praticabile e pericoloso che i ricercatori hanno solo dimostrato l'exploit. Con molta cautela, non hanno rilasciato il codice di prova o i dispositivi infetti. Ma altri due ricercatori hanno decodificato l'exploit, creato un codice dimostrativo e lo hanno rilasciato al mondo su GitHub.

Indica il dramma che è già apparso su siti di notizie e tecnologia di consumo come la CNN, l'Atlanta Journal-Constitution, il Register e PC Magazine, esclamando: "Il mondo sarà pieno di dispositivi USB dannosi!"

Perché l'exploit BadUSB va ben oltre l'USB

Innanzitutto, è importante riconoscere che la minaccia è reale. Il firmware USB può essere modificato per fare ciò che affermano i ricercatori. Gli hacker di tutto il mondo stanno probabilmente scaricando il codice proof-of-concept, realizzando dispositivi USB dannosi e utilizzando il codice proof-of-concept come punto di partenza per atti molto più dannosi dell'exploit di test dei ricercatori.

In secondo luogo, il problema non è limitato ai dispositivi USB. In effetti, i dispositivi USB sono la punta dell'iceberg. Qualsiasi dispositivo hardware collegato al computer con un componente firmware può probabilmente essere reso dannoso. Sto parlando di dispositivi FireWire, dispositivi SCSI, dischi rigidi, dispositivi DMA e altro ancora.

Affinché questi dispositivi funzionino, il loro firmware deve essere inserito nella memoria del dispositivo host dove viene quindi eseguito, in modo che il malware possa facilmente andare avanti per quel viaggio. Potrebbero esserci dispositivi firmware che non possono essere sfruttati, ma non so un motivo per cui no.

Il firmware è intrinsecamente nient'altro che istruzioni software memorizzate su silicio. Al suo livello di base, non è altro che programmazione software. E il firmware è necessario per consentire al dispositivo hardware di parlare con il dispositivo del computer host. La specifica API del dispositivo dice ai programmatori del dispositivo come scrivere il codice che fa funzionare correttamente il dispositivo, ma queste specifiche e istruzioni non sono mai assemblate tenendo presente la sicurezza. No, sono stati scritti per far parlare gli elementi tra loro (proprio come Internet).

Non sono necessarie molte istruzioni di programmazione per abilitare attività dannose. Puoi formattare la maggior parte dei dispositivi di archiviazione o "brickare" un computer con una manciata di indicazioni. Il più piccolo virus informatico mai scritto aveva una dimensione di soli 35 byte. Il carico utile nell'esempio del proof-of-concept di GitHub è di soli 14K e include un sacco di controllo degli errori e codifica fine. Credimi, 14K è minuscolo nel mondo del malware odierno. È facile incorporare e nascondere malware in qualsiasi controller quasi firmware.

In effetti, ci sono ottime possibilità che gli hacker e le nazioni conoscano e utilizzino da tempo queste backdoor del firmware. Gli osservatori della NSA hanno speculato a lungo su tali dispositivi e questi sospetti sono stati confermati da documenti della NSA recentemente pubblicati.

La verità spaventosa è che gli hacker hanno hackerato i dispositivi firmware e li hanno costretti ad azioni non autorizzate per tutto il tempo in cui il firmware è in circolazione.

BadUSB è la più grande minaccia che puoi eliminare dalla tua lista di panico

La realtà è che avresti dovuto essere almeno nervoso per qualsiasi dispositivo firmware collegato al tuo computer - USB o altro - per molto tempo. Sono stato così per quasi un decennio.

La tua unica difesa è collegare i dispositivi firmware di fornitori di cui ti fidi e tenerli sotto il tuo controllo. Ma come fai a sapere che i dispositivi che hai collegato non sono stati compromessi in massa o non sono stati manomessi tra il fornitore e i tuoi computer? Le fughe di notizie da Edward Snowden suggeriscono che la NSA ha intercettato i computer in transito per installare dispositivi di ascolto. Sicuramente altre spie e hacker hanno provato la stessa tattica per infettare i componenti lungo la catena di approvvigionamento.

Tuttavia, puoi rilassarti.

L'hardware dannoso è possibile e può essere utilizzato in alcuni scenari limitati. Ma è improbabile che sia diffuso. L'hacking dell'hardware non è facile. È dispendioso in termini di risorse. Diversi set di istruzioni vengono utilizzati per diversi chipset. Poi c'è il fastidioso problema di convincere le vittime designate ad accettare i dispositivi dannosi e inserirli nei loro computer. Per obiettivi di valore molto alto, tali attacchi in stile "Mission Impossible" sono plausibili, ma non tanto per il Joe medio.

Gli hacker odierni (comprese le agenzie di spionaggio negli Stati Uniti, nel Regno Unito, in Israele, in Cina, in Russia, in Francia, in Germania e così via) hanno molto più successo utilizzando i metodi tradizionali di infezione del software. Ad esempio, come hacker, puoi costruire e utilizzare uno strumento di attacco hypervisor Blue Pill supersoftistic e supersneaky o utilizzare un comune programma di Trojan software di tutti i giorni che ha funzionato bene per decenni per hackerare un numero molto più ampio di persone.

Ma supponiamo che firmware o dispositivi USB dannosi inizino ad apparire ampiamente? Puoi scommettere che i venditori risponderebbero e risolverebbero il problema. BadUSB non ha difese oggi, ma potrebbe essere facilmente difeso in futuro. Dopotutto, è semplicemente un software (memorizzato nel firmware) e il software può sconfiggerlo. Gli organismi di standard USB probabilmente aggiornerebbero le specifiche per prevenire tali attacchi, i fornitori di microcontrollori renderebbero meno probabile che si verifichi malizia dal firmware e i fornitori di sistemi operativi probabilmente risponderebbero anche prima.

Ad esempio, alcuni fornitori di sistemi operativi ora impediscono ai dispositivi DMA di accedere alla memoria prima che un computer si avvii completamente o prima che un utente acceda, solo per impedire attacchi scoperti provenienti da dispositivi DMA collegati. Windows 8.1, OS X (tramite password Open Firmware) e Linux hanno difese contro gli attacchi DMA, sebbene in genere richiedano agli utenti di abilitare tali difese. Gli stessi tipi di difese saranno implementati se BadUSB si diffonde.

Non temere BadUSB, anche se un amico hacker decide di farti uno scherzo usando la sua chiavetta USB codificata in modo dannoso. Fai come me: non utilizzare dispositivi USB che non sono stati sempre sotto il tuo controllo.

Ricorda: se sei preoccupato di essere violato, sii molto più preoccupato di ciò che viene eseguito nel tuo browser rispetto a ciò che viene eseguito dal tuo firmware.