特定のUSBポートで、USB大容量ストレージ機能のみを受け入れ、それ以外は受け入れません。HIDデバイス、Bluetoothアダプター、RS232コンバーター、何もありません。たとえばudevを使用してこれを行う方法はありますか?特定のデバイスまたは特定のポートのドライバーを含めるためのカスタムudevルールを作成できることは知っていますが、他のすべてのドライバーを何らかの方法で除外できますか?1つのクラスのデバイス、つまりUSB大容量ストレージのみを許可しようとしています。このクラスには無数の異なるデバイスモデルがあり、どのポートに接続するのかわかりません(クライアントが自分で持ってくるので、これに影響を与える方法はありません)。
再プログラムされたUSBファームウェアからの脅威は、予見可能な将来にのみ悪化するでしょう。私はこのユースケースのためにそれらを軽減しようとしています:内部的に接続されたUSB周辺機器(ネットワークカード、専用周辺機器、キーボード)と1つの公共向けUSBポートを備えたコンピューターがあり、ファイル転送にのみ使用されることになっています。したがって、他のUSBモジュールをすべてブラックリストに登録することはできません。しかし、その特定のポートを「サニタイズ」したいので、異なるデバイスタイプを接続しても何も起こりません。
ケースは物理的にロックされているため、この1つの特定のUSBポートのみが外部からアクセスでき、ケースに干渉したり、キーボードケーブルに接続したりすると、物理的なセキュリティ応答がトリガーされます。さらに、ほとんどのユーザーが積極的に悪意があるとは思わないが、再フラッシュされたUSBドライブの無意識のキャリアの数が増えると予想される(以前のフロッピーブートセクタ感染のように)。セキュリティに関しては、ユーザーが「武器化された」USBディスクを悪意を持って持ち込むか、それが「感染」したことを知らないかは問題ではありません。
ここでは完璧なセキュリティを実現することは不可能であり、ユーザーがシステムと何らかの方法でやり取りできるようにすることはリスクが高いことを承知しています。また、私はこれでターゲットを絞った攻撃者に対して防御しようとはしていません。むしろ、私はこれを緩和技術の1つとして使用しているため、システムはハングアップしません。