TLDR

  • BadUSB funziona perché un dispositivo può presentarsi al computer come qualcosa di diverso da una semplice memoria.
  • Il caso più famoso è la keystroke injection: il dispositivo si comporta come una tastiera e invia input molto rapidamente.
  • La difesa non è una singola impostazione: servono policy USB, allowlist, blocco porte, formazione e log degli eventi device.
  • Il test va fatto solo in laboratorio o con autorizzazione: il confine fisico non rende l'attacco meno serio.

La porta più normale del computer

USB è comoda perché non fa domande.

Colleghi una cosa, il sistema la riconosce, carica un driver, espone funzioni, ti lascia lavorare.

È proprio questa educazione automatica a renderla interessante dal punto di vista della sicurezza.

Nei numeri recenti di Hacker Journal compaiono spesso gadget fisici, BadUSB e strumenti da laboratorio. Il motivo è chiaro: la sicurezza non passa solo dalla rete. A volte entra dalla porta laterale del laptop, quella che usi per caricare il telefono.

Dispositivo USB anonimo vicino alla porta di un laptop, scena di difesa endpoint
Scena ricostruita: in un attacco BadUSB il dettaglio importante non è la forma della chiavetta, ma il modo in cui il dispositivo si presenta al sistema operativo.

Il trucco: non essere una chiavetta

Quando dici "chiavetta USB", pensi a una memoria.

Il computer, però, non ragiona così. Vede classi di dispositivo: storage, tastiera, mouse, rete, audio, seriale, composito. Un singolo oggetto fisico può dichiarare più funzioni.

BadUSB abusa di questa fiducia.

Il caso più noto è la keystroke injection: un dispositivo si presenta come tastiera e invia input molto velocemente. Dal punto di vista del sistema, non è "malware in un file". È una periferica HID che digita.

Questo cambia il modello mentale.

Se aspetti che l'antivirus trovi un eseguibile sospetto, potresti essere nel posto sbagliato.

Rubber Ducky e il fascino della semplicità

USB Rubber Ducky ha reso popolare l'idea: un oggetto piccolo che il computer interpreta come tastiera programmabile. Hak5 lo presenta come strumento per auditing autorizzato, con un ecosistema di script e DuckyScript.

La parte interessante, per chi difende, non è imitare le sequenze.

È capire la superficie.

Un computer fidato può essere messo sotto pressione da un input estremamente rapido. Una finestra si apre, un comando parte, un'impostazione cambia, un browser visita qualcosa, una sessione viene usata.

Il punto non è "la chiavetta cattiva".

Il punto è che molte postazioni trattano qualunque nuovo dispositivo di input come se fosse benigno.

I segnali che puoi osservare

Un attacco di tipo BadUSB può lasciare tracce diverse da un malware tradizionale.

Puoi osservare eventi di collegamento dispositivo, comparsa improvvisa di una nuova tastiera, sequenze di input troppo rapide, apertura di processi a pochi secondi dall'inserimento, script o shell avviate senza normale interazione umana.

La ricerca su rilevamento forense delle keystroke injection insiste proprio su questo: correlare tempi, eventi plug-and-play, processi e comportamenti anomali.

Non basta chiedersi "quale file è stato eseguito?".

Bisogna chiedersi "quale dispositivo è comparso, con quale classe, e cosa è successo subito dopo?".

Difesa domestica

A casa la difesa è soprattutto procedura.

Non collegare dispositivi USB trovati, regalati senza contesto o passati di mano in mano.

Non usare lo stesso computer per esperimenti hardware e account importanti.

Tieni un vecchio portatile o una VM/lab per provare device sospetti, sapendo che alcune classi USB parlano comunque con l'host fisico.

Per la ricarica, usa cavi o adattatori pensati per solo alimentazione quando sei in contesti non fidati.

E soprattutto: tratta "caricare" e "trasferire dati" come due azioni diverse.

Difesa aziendale

In azienda serve più rigore.

Le contromisure sensate includono:

  • inventario dei dispositivi autorizzati;
  • blocco o limitazione delle classi USB non necessarie;
  • allowlist per tastiere, storage e adattatori di rete;
  • logging degli eventi di inserimento e rimozione;
  • alert quando una nuova periferica HID compare su una macchina sensibile;
  • policy chiare per sale riunioni, reception, desk condivisi e postazioni privilegiate;
  • porte fisicamente bloccate dove non servono;
  • formazione breve, concreta, senza terrorismo.

Su Linux, USBGuard è un progetto importante perché implementa allowlist e blacklist basate sugli attributi dei dispositivi. Non è una bacchetta magica, ma sposta la fiducia da "qualunque USB va bene" a "questo device è previsto".

L'errore più comune

L'errore più comune è considerare BadUSB una curiosità da conferenza.

In realtà parla di una cosa molto concreta: il computer si fida del corpo.

Si fida della tastiera perché sta davanti a te. Si fida del mouse perché serve per lavorare. Si fida della periferica perché senza periferiche l'informatica diventa scomoda.

Gli attacchi fisici vivono in quella zona grigia tra ergonomia e sicurezza.

Se rendi tutto impossibile, le persone aggirano le regole.

Se lasci tutto aperto, basta un oggetto da pochi euro per creare un incidente.

Una prova sana da fare

La prova sana non è costruire un attacco.

È aprire i log del tuo sistema dopo aver collegato dispositivi legittimi diversi: tastiera, mouse, chiavetta, adattatore Ethernet, webcam. Guarda come cambiano gli eventi. Guarda quali classi compaiono. Guarda quanto rumore produce una singola porta.

Poi chiediti: se domani compare una nuova tastiera su un server, qualcuno lo vede?

Se la risposta è no, il problema non è la chiavetta.

È l'assenza di occhi.

FAQ

Cos'è BadUSB?

BadUSB è una famiglia di attacchi in cui un dispositivo USB si presenta al sistema come una periferica diversa o più fidata, per esempio una tastiera, invece di limitarsi a essere una memoria.

USB Rubber Ducky è illegale?

Lo strumento in sé è venduto per auditing autorizzato. Diventa un problema quando viene usato su computer, account o ambienti senza permesso.

Un antivirus blocca BadUSB?

Non sempre. Se il dispositivo agisce come tastiera, il problema può essere a livello di input, policy e comportamento, non solo di file malware su disco.

Come ci si difende da BadUSB?

Con allowlist dei dispositivi, blocco delle porte non necessarie, USBGuard su Linux dove adatto, device control aziendale, logging degli eventi e regole chiare su cosa si può collegare.

Le porte USB-C sono più sicure?

No, il connettore non risolve il modello di fiducia. USB-C cambia forma, alimentazione e capacità, ma un dispositivo non fidato resta non fidato.

Fonti