Su una determinata porta USB, voglio solo accettare le funzionalità di archiviazione di massa USB e nient'altro. Nessun dispositivo HID, nessun adattatore Bluetooth, nessun convertitore RS232, niente. C'è un modo per farlo, ad esempio usando udev? Sono consapevole di poter scrivere una regola udev personalizzata per includere un driver per un determinato dispositivo o una determinata porta, ma posso in qualche modo escludere tutti gli altri driver? Sto cercando di consentire solo una classe di dispositivi, ovvero USB Mass Storage; ci sono una miriade di diversi modelli di dispositivi in questa classe, e non so quale sarà la connessione alla porta (i client porteranno i propri, non c'è modo per me di influire su questo).
Le minacce del firmware USB riprogrammato peggioreranno solo nel prossimo futuro. Sto cercando di mitigarli per questo caso d'uso: ho un computer con periferiche USB collegate internamente (scheda di rete, periferiche specializzate, tastiera) e una porta USB rivolta al pubblico, che dovrebbe essere utilizzata solo per il trasferimento di file. Quindi, non posso inserire nella lista nera gli altri moduli USB del tutto; ma mi piacerebbe "disinfettare" quella particolare porta, in modo che collegare un diverso tipo di dispositivo non farebbe nulla.
Il case è fisicamente bloccato, in modo che solo questa specifica porta USB sia accessibile dall'esterno, e immischiarsi nella custodia o collegare il cavo della tastiera dovrebbe essere abbastanza sospetto da innescare una risposta di sicurezza fisica; inoltre, non mi aspetto che la maggior parte degli utenti sia attivamente maliziosa, ma mi aspetto che aumenti il numero di portatori inconsapevoli di unità USB re-flash (com'era con le infezioni del settore di floppy boot di un tempo). Per quanto riguarda la sicurezza, non importa se l'utente porta il disco USB "armato" con intenzioni dannose, o semplicemente non sa che è "infetto".
Sono consapevole che qui la sicurezza perfetta non è fattibile e consentire agli utenti di interagire con il sistema in qualsiasi modo è rischioso, ma purtroppo devo bilanciare la sicurezza con l'usabilità: il computer deve essere utilizzabile dal cliente. Inoltre, con questo non sto cercando di difendermi da un attaccante mirato e determinato; piuttosto, lo sto usando come una delle tecniche di mitigazione, in modo che il sistema non sia a basso consumo.