USB è sicuramente lo standard più diffuso in assoluto, essendo utilizzato da milioni di dispositivi in tutto il mondo. In alcuni casi, può essere sfruttato per infettare un computer (ad esempio, tramite una pen drive), ma quasi sempre il malware viene rilevato e/o eliminato. Due ricercatori di sicurezza, Karsten Nohl e Jakob Lell, hanno però scoperto una grave vulnerabilità praticamente impossibile da risolvere, in quanto dipende dal modo in cui USB è stato progettato.
Durante la conferenza Black Hat, in programma la prossima settimana a Las Vegas, Nohl e Lell mostreranno il funzionamento di BadUSB, un software che può essere installato su un dispositivo USB per prendere il controllo del PC ed eseguire diverse operazioni, come cancellare i file o redirezionare il traffico Internet. BadUSB non risiede nella memoria flash del device, ma nel firmware del controller, il chip che gestisce lo scambio bidirezionale dei dati. Ciò significa che il malware non può essere rilevato e non può essere eliminato.
I due ricercatori hanno effettuato il reverse engineering del firmware, aggiunto il codice del malware e riprogrammato il controller USB. Il chip è integrato in tutti i dispositivi, non solo nelle comuni pen drive. Usando uno smartphone connesso al computer, Nohl e Lell sono riusciti a sostituire il software installato con una versione contenente una backdoor. BadUSB può essere programmato per cambiare i DNS oppure eseguire attacchi man-in-the-middle, registrando le comunicazioni dell’utente. Come la trasmissione dei dati, anche l’infezione può viaggiare nei due sensi, dal dispositivo USB al PC e viceversa.
Lo standard non prevede la verifica del firmware mediante una firma digitale, ovvero l’uso di una tecnologia crittografica. Chiunque abbia accesso alla porta USB di un computer potrebbe eseguire azioni pericolose per la sicurezza. Matt Blaze, professore di informatica alla University of Pennsylvania, sospetta che la scoperta fatta dai due ricercatori venga già sfruttata dalla NSA. In attesa di una ipotetica modifica dello standard, per adesso l’unica opzione disponibile è usare solo device USB di cui si conosce la provenienza.