Un computer non è solo un processore, una RAM e un disco rigido. Ci sono molti processori all'interno di un computer, inclusi processori host USB, processori di tastiera, processori di clock, processori bus di indirizzi, processori IDE / SATA e altro.
Una chiavetta USB "completamente vuota" potrebbe riportare 0 file e cartelle in una singola partizione, anche se fosse, ad esempio, una tastiera programmata per pubblicizzarsi come dispositivo di archiviazione di massa.
C'è molta fiducia a livello di hardware per la maggior parte dei processori. Il firmware su molte penne USB è progettato con l'idea che non saranno programmati dagli utenti finali. Il firmware su molti host USB assume anche che non saranno programmati dagli utenti finali.
In altre parole, un utente con competenze tecniche sufficienti potrebbe scrivere il proprio codice su una chiavetta USB, che a sua volta potrebbe scrivere un carico utile sul processore host USB, che a sua volta potrebbe essere utilizzato per sovvertire altri sistemi tramite bus comuni .
Questo ambiente esiste solo in primo luogo perché molti processori includono RAM non volatile che usano come ROM per memorizzare il loro codice. Ciò consente ai produttori di costruire prima l'hardware, quindi rilasciare il software in un secondo momento. È molto più economico che costruire il software direttamente nell'hardware.
Quindi, con tutto questo in mente, ecco le risposte che probabilmente non vuoi sentire:
How can "empty" USB sticks contain malware?
Solo perché il sistema operativo vede qualcosa come vuoto non significa che lo sia. Al minimo, ha un codice firmware in esecuzione in un processore che avvia il millisecondo del dispositivo. Tutti i dispositivi USB hanno memoria, anche tastiere, mouse e schede audio. Se fosse veramente vuoto, il dispositivo non funzionerebbe.
Tuttavia, se il dispositivo si segnala come dispositivo di archiviazione e il sistema operativo esegue una query sulla tabella delle partizioni, il dispositivo può quindi semplicemente inviare i dati desiderati, incluso apparire vuoti o disporre di una capacità di archiviazione arbitraria, ecc. , puoi trovare truffatori che vendono dispositivi di archiviazione con capacità insufficiente che sono riprogrammati per riportare più capacità di quella che hanno. Ad esempio, potresti acquistare una chiavetta da 32 GB che in realtà ha solo 2 GB di spazio fisico. Il firmware risiede nel sistema operativo, che alla fine risulta in dati corrotti quando l'utente tenta di utilizzare più (ad esempio) 2 GB di spazio di archiviazione.
Is this only a problem for (legacy) Windows systems?
No. Questo è un problema praticamente per ogni dispositivo hardware sul mercato. Alcune persone stimano che questo possa raggiungere il 90% o più di dispositivi, inclusi laptop, tablet, telefoni, desktop, lettori mp3 e qualsiasi altra cosa che contenga firmware USB. C'è almeno un produttore di cui ho sentito parlare che ha "indurito" il loro firmware contro la riprogrammazione. Una semplice ricerca su Google troverà dispositivi di archiviazione resistenti alla riprogrammazione.
Is there some way to use these sticks while protecting yourself?
No. Infatti, a meno che non si esamini il codice di ogni firmware prima di collegarlo al computer e, di fatto, di leggere il codice del firmware del computer prima di collegarlo, non si può essere certi. È possibile che il tuo dispositivo sia stato infettato dalla NSA prima che fosse spedito al tuo negozio e venduto a te. Potrebbe persino essere infetto anche se hai acquistato tutto l'hardware in modo frammentario e l'hai creato da solo. A meno che tu non abbia creato e programmato fisicamente ogni aspetto del tuo computer, non c'è assolutamente alcun modo di essere perfettamente al sicuro.
Il meglio che puoi fare è stabilire un certo livello di fiducia ed evitare comportamenti rischiosi. Evita di acquistare hardware aperto su e-bay, a meno che tu non abbia ragionevolmente fiducia nel venditore. Preferisco acquistare parti di computer di marca invece di imitazioni knockoff, a meno che non si possa essere ragionevolmente sicuri che siano al sicuro (cioè fare ricerche). Usa il minor numero di dispositivi possibile ed evita di condividere i tuoi dispositivi con persone che non conosci. In altre parole, prendi le stesse precauzioni che prendi quando cerchi di comprare cibo, un'auto o qualsiasi altra cosa. La maggior parte dell'hardware non è attualmente infetto, solo perché ci sono modi più semplici per ottenere i dati di qualcuno, ma devi evitare l'esposizione casuale ai rischi.