I dispositivi USB sono normalmente identificati dal fornitore e dall'ID del dispositivo e, in Linux, il supporto per i dispositivi USB viene gestito con udev . Potresti scrivere le regole di udev per rifiutare tutti i dispositivi, salvo per uno specifico elenco (bianco). Vedi ad esempio questa domanda .
Tuttavia, questo potrebbe non portare la sicurezza che desideri. In effetti, tutti i dispositivi di un modello specifico di un determinato fornitore condivideranno lo stesso ID. Se consenti, tramite la tua lista bianca, un dispositivo con ID 08e6: 3438, allora anche qualsiasi dispositivo che afferma di avere quell'ID sarà consentito. Un dispositivo ostile può annunciare perfettamente qualunque ID desideri mostrare. Per avere una whitelist reale, è necessario che ogni singolo dispositivo contenga un identificatore specifico che l'utente malintenzionato non può indovinare (cioè un tasto ). Non c'è nulla di simile nel protocollo e nei dispositivi USB esistenti.
Tale lista bianca sarebbe, in ogni caso, ridondante con controllo fisico. Come utente tangibile di fronte alla macchina, spetta a te decidere se inserire o meno un dispositivo specifico nella porta USB. Se vuoi inserire un dato dispositivo che hai in mano, allora puoi modificare le regole per permetterlo; e se ti astieni dall'inserire il dispositivo, allora non hai nemmeno bisogno della lista bianca. Il filtraggio dei dispositivi USB sarebbe molto utile nelle situazioni in cui gli utenti non fidati possono accedere alle porte fisiche. Questa è, discutibilmente, una situazione piuttosto brutta per cominciare, poiché ciò significa che gli utenti non fidati hanno un certo livello di accesso fisico all'hardware. Questo potrebbe essere applicato ai chioschi self-service nei negozi di fotografia, ma in questi casi l'utente non fidato dovrebbe portare il proprio dispositivo USB, quindi la whitelist non ha più senso.