BadUSB: trasforma un dispositivo USB in arma informatica

Ogni periferica USB è dotata di un circuito integrato chiamato CONTROLLER. Quale è il suo compito? Facile, il controller si occupa di gestire attraverso un firmware su di esso salvato, lo scambio bidirezionale di dati con il computer al quale è collegato.

Come avrete ben capito quindi, anche la nostra “penna” USB nella quale memorizziamo migliaia di dati privati ha un suo controller e per di più, tenetivi forte, riprogrammabile! E’ da questa intuizione che Karsten Nohl e Jakob Lell, due ricercatori della Security Research Lab, hanno portato alla luce il progetto BadUSB. Con questo progetto hanno infatti dimostrato come controller USB possa essere riprogrammato per effettuare operazioni potenzialmente dannose, il tutto senza che il nostro antivirus se ne possa accorgere.

I nostri antivirus infatti, non hanno la possibilità di controllare i firmware installati su questi chip esterni, ed inoltre lo standard dei firmware USB non è firmato. Non esiste quindi nessuna garanzia di integrità, e conseguentemente non è possibile sapere se un nostro dispositivo USB è affetto da BadUSB, quindi alterato rispetto allo standard.

Partendo da quanto dimostrato dai due ricercatori durante Black Hat, la conferenza mondiale sulla sicurezza informatica svoltasi questo Luglio a Las Vegas, Adam Caudill e Brandon Wilson attraverso un lavoro di reverse engineering hanno individuato i dettagli di tale falla riproducendola e diffondendone il codice sorgente. L’intento di tale operazione, che a primo avviso sembrerà scellerata, è quella di spronare i costruttori di periferiche al rilascio di un fix adeguato fornendo loro i dettagli di tale falla. Per chi volesse approfondire, è possibile dare un occhio al lavoro svolto visitando il repository GitHub a questo indirizzo.

Nel frattempo, il rischio concreto è quello di avere in tasca un dispositivo infettato da BadUSB. Una volta iniettato nel controller del nostro dispositivo, tale falla potrebbe essere utilizzata per prendere controllo del nostro PC, eseguire diverse operazioni sui nostri file, o magari prendere il controllo del nostro traffico Internet veicolandolo e facendone mezzo per la trasmissione dei nostri dati.

Durante la conferenza Black Hat ad esempio, i ricercatori dimostrarono l’installazione di una backdoor all’interno di un PC, connettendo uno smartphone infettato da BadUSB. A questo indirizzo è possibile scaricare la presentazione pdf che i due ricercatori hanno mostrato per spiegare tale problematica.

Qui di seguito il video girato durante la presentazione nel quale è possibile vedere l’esempio di attacco BadUSB sopra riportato:

Come spiegato quindi, al momento non è possibile risolvere lato software tale bug. Le uniche vie per proteggersi allo stato attuale sono:

  1. disabilitare il boot mode nel firmware in modo da impedirne la riprogrammazione. Tale funzione è possibile solo con firmware USB 3.0 rilasciato da Phison, maggiore produttore mondiale di controller;
  2. tramite “pin shorting“, ovvero posizionando un pezzo di materiale conduttivo tra alcuni pin che collegano il controller al circuito integrato della pen drive USB. Con questa modifica viene infatti indotto un hard reset con conseguente possibilità di riprogrammare il firmware;
  3. evitare di connettere i propri dispositivi USB a PC dei quali non conosciamo l’integrita software;
  4. evitare di utilizzare dispositivi USB non fidati, sostituendo il trasferimento di file mediante penna USB con altri mezzi (wi-fi, bluetooth, rete ad esempio).

Senza dubbio, la soluzione definitiva sarà quella di adottare firmware firmato (code signing), in modo da rendere possibile la rilevazione di eventuali eventuali alterazioni.

Photo credit: oskay / Foter / CC BY

Michele Pierri

Sviluppatore android/web/desktop, blogger, nonchè sostenitore incallito dell'universo Cloud Computing, nel tempo libero amo fare sport e praticare arti marziali.