La SD-Card può essere un vettore di un attacco di tipo BadUSB quando viene utilizzato con un lettore USB?

17

Il firmware di un'unità flash USB può essere riscritto maliziosamente per farlo apparire come un dispositivo non autorizzato (come una tastiera, una scheda di rete, ecc.). Poiché diversi tipi di dispositivi possono essere collegati simultaneamente alla stessa porta USB, è molto difficile (se non impossibile) per il sistema operativo del computer distinguere i dispositivi originali da quelli non autorizzati. Questo è chiamato attacco BadUSB.

Le schede SD si basano sulla stessa tecnologia delle chiavette USB: la stessa memoria NAND, lo stesso controller, lo stesso tipo di firmware che funziona insieme. Quindi, teoricamente, il firmware stesso dovrebbe essere vulnerabile allo stesso tipo di attacco.

Tuttavia , almeno quando il computer fornisce un lettore SD-Card interno non USB (come si può trovare su laptop dove il lettore SD-Card è collegato direttamente al bus PCI), il Il sistema operativo non si aspetterebbe mai di vedere una tastiera o qualsiasi altra cosa da collegare allo slot del lettore SD-Card, il protocollo non consente nemmeno questo tipo di cose strane, quindi un attacco di tipo BadUSB contro schede SD sarebbe discutibile.

Tuttavia, mi chiedo se questo rimane vero quando si utilizza un lettore di schede SD USB esterno? La scheda SD può essere infettata in modo tale che, se utilizzata insieme a un lettore USB sano, sarà in grado di attivare un attacco di tipo BadUSB contro il computer? Oppure un lettore di SD-Card può essere considerato un "proxy" sicuro tra il computer e una SD-Card potenzialmente dannosa?

    
posta WhiteWinterWolf 02.01.2016 - 19:46
fonte

1 risposta

15

Non posso dire che sia sempre così, ma tutti i lettori di schede SD interni che ho visto erano in realtà dispositivi USB - questo li mette in campo per BadUSB.

Internamente, una scheda SD è effettivamente molto simile a una pen drive - e ci sono stati attacchi contro di loro rilasciati. Quindi possono essere riprogrammati per cambiare il modo in cui si comportano, proprio come si può fare con un thumbdrive. Quindi, c'è sicuramente qualcosa in questo.

Io e Brandon Wilson abbiamo rilasciato il primo codice pubblico BadUSB - quando lo facevamo, abbiamo anche guardato le schede SD, cercando di vedere come potrebbero essere sfruttati per eseguire attacchi simili. La risposta che ci è venuta in mente era che non c'era un modo affidabile per farlo.

Il vettore di attacco qui sarebbe una scheda SD malevola si comporterebbe in un modo non standard per sfruttare una vulnerabilità nel firmware del lettore - come è la cosa collegata a USB, e potenzialmente in grado per fare cose più interessanti - per prendere direttamente il controllo dell'interfaccia USB o applicare modificare il firmware del lettore per facilitare ulteriori attacchi.

Il problema con questo? Devi scegliere come target lettori specifici (per controller e versione firmware), il che significa che ha un certo valore come attacco mirato, ma non può essere reso affidabile o generico abbastanza da avere un impatto su larga scala. Quindi non l'abbiamo perseguito nella nostra ricerca. Naturalmente, vale la pena notare che non esiste un numero enorme di aziende che sviluppano i controller utilizzati dai lettori, quindi esiste un potenziale per indirizzare un numero relativamente piccolo di combinazioni comuni di controller / firmware e coprire una percentuale decente del mercato.

Quindi, per rispondere alla tua domanda - non è un proxy sicuro, ma è un proxy complicato. Se un utente malintenzionato è in grado di conoscere la tua configurazione specifica ed è disposto a spendere i soldi per la ricerca e lo sviluppo, è possibile. Ma, detto questo, se stai affrontando quel tipo di aggressore, ci sono quasi certamente delle opzioni migliori per loro.

In generale, praticamente tutto ciò che si connette a USB, dai mouse all'hub root interno, sono potenziali bersagli degli attacchi BadUSB. Alcuni sono più difficili da sfruttare rispetto ad altri - le thumbdrive sono onnipresenti e facili da modificare, quindi diventano il volto dell'attacco, ma sono ben lungi dall'essere da soli. Se è collegato al bus, c'è sempre il rischio che possa essere modificato con firmware dannoso.

È stato sottolineato molte volte, ma tieni presente che BadUSB non è veramente una vulnerabilità, è una funzione . Tutto ciò che vedi in un attacco di BadUSB è conforme alle specifiche: ecco perché non esiste una difesa efficace. L'host non ha modo di sapere se il comportamento è desiderato o meno.

È inoltre importante ricordare che BadUSB non è solo un dispositivo che si presenta come un altro tipo di dispositivo: può modificare il modo in cui il dispositivo si comporta, mentre sembra che agisca normalmente. Una delle demo che abbiamo rilasciato era una partizione nascosta che era accessibile solo se si conosceva il trucco giusto: ci eravamo anche divertiti con le unità autodistruggenti e le unità che facevano una copia di backup di qualsiasi cosa cancellata, così anche se l'unità è formattato, può ancora contenere informazioni sensibili (non le abbiamo rilasciate).

    
risposta data 03.01.2016 - 00:55
fonte

Leggi altre domande sui tag