An einem bestimmten USB-Anschluss möchte ich nur USB-Massenspeicherfunktionen akzeptieren und ansonsten nichts. Keine HID-Geräte, keine Bluetooth-Adapter, keine RS232-Konverter, nichts. Gibt es eine Möglichkeit, dies zB mit udev zu tun? Ich bin mir bewusst , dass ich eine benutzerdefinierte udev - Regel für schreiben , einschließlich einem Treiber für ein bestimmtes Gerät oder einem bestimmten Port, aber kann ich irgendwie ausschließen alle anderen Fahrer? Ich versuche, nur eine Klasse von Geräten zuzulassen , nämlich USB-Massenspeicher; Es gibt unzählige verschiedene Gerätemodelle in dieser Klasse, und ich weiß nicht, welche mit dem Port verbunden werden sollen (Clients bringen ihre eigenen mit, ich kann dies nicht beeinflussen).
Bedrohungen durch neu programmierte USB-Firmware werden sich in absehbarer Zeit noch verschlimmern. Ich versuche, sie für diesen Anwendungsfall zu entschärfen: Ich habe einen Computer mit intern angeschlossenen USB-Peripheriegeräten (Netzwerkkarte, spezielle Peripheriegeräte, Tastatur) und einen öffentlich zugänglichen USB-Anschluss, der nur für die Dateiübertragung verwendet werden soll. Daher kann ich die anderen USB-Module nicht auf eine schwarze Liste setzen. Aber ich möchte diesen bestimmten Port "bereinigen", damit das Anschließen eines anderen Gerätetyps nichts bewirkt.
Das Gehäuse ist physisch verriegelt, sodass nur auf diesen einen bestimmten USB-Anschluss von außen zugegriffen werden kann. Ein Eingriff in das Gehäuse oder ein Spleißen in das Tastaturkabel sollte verdächtig genug sein, um eine physische Sicherheitsreaktion auszulösen. Darüber hinaus erwarte ich nicht, dass die meisten Benutzer aktiv böswillig sind, aber ich erwarte, dass die Anzahl der unwissenden Datenträger für neu geflashte USB-Laufwerke zunimmt (wie es früher bei Infektionen des Disketten-Bootsektors der Fall war). Was die Sicherheit anbelangt, spielt es keine Rolle, ob der Benutzer die "bewaffnete" USB-Festplatte mit böswilliger Absicht mitbringt oder einfach nicht weiß, dass sie "infiziert" ist.
Mir ist bewusst, dass perfekte Sicherheit hier nicht möglich ist und dass es riskant ist , dem Benutzer auf irgendeine Weise die Interaktion mit dem System zu ermöglichen. Leider muss ich die Sicherheit mit der Benutzerfreundlichkeit in Einklang bringen: Der Computer muss vom Client aus bedienbar sein. Außerdem versuche ich damit nicht, mich gegen einen gezielten, entschlossenen Angreifer zu verteidigen. Vielmehr verwende ich dies als eine der Abschwächungstechniken, damit das System keine niedrig hängenden Früchte trägt.