web-dev-qa-db-ja.com

OpenBSD / LinuxでFirewireを無効にして、Firewireを介した攻撃を防ぐ方法は?

Firewireにはセキュリティがない なので、プラグインされたデバイスがホストメモリにアクセスできるようにするため、完全に無効にすることをお勧めします。 BIOSを使用してFirewireポートを無効にしていない場合、「ソフトウェアメソッド」を使用してそれをどのように実行できますか? PCで実行されているOSは、OpenBSD、Fedora、またはUbuntuです。

編集:オペレーティングシステムでFirewireサポートを無効にして、Firewire攻撃デバイスがメモリにアクセスするのを防ぐのに十分ですか?この種の脅威を防ぐには、どの手順が必要ですか?

11
LanceBaynes

OpenBSDはデフォルトでFirewireをサポートしていません:

https://en.wikipedia.org/wiki/Comparison_of_open_source_operating_systems#Supported_hardware

1
LanceBaynes

ソフトウェアによる方法:

  • Firewireドライバーを無効にする/カーネルを再コンパイルする

Firewireドライバーを無効にすると、firewireハードウェアコントローラーが無効になるため、firewireデバイスを使用できなくなります。攻撃が機能するには、いくつかの要件が存在します。コントローラーが初期化されるようにドライバーをロードする必要があります(バスマスタリングなど)。デバイスごとではなく、「オープンアクセス」に構成する必要があり、dmaを有効にする必要があります。 (ohci1394にはdisable dmaオプションがありました)。

Ubuntuでは、firewireドライバーはカーネルモジュールです。それらをブラックリストに登録する簡単な方法があります:/etc/modprobe.d/blacklist-firewire.confを開くと、ブラックリストに登録するモジュールのリストがあります。

blacklist ohci1394
blacklist sbp2
blacklist dv1394
blacklist raw1394
blacklist video1394
#blacklist firewire-ohci
#blacklist firewire-sbp2

すべての前の#を削除して保存します。次にSudo update-initramfs -k all -uを実行します

その他の方法:

  • BIOSでFirewireポートを無効にする
  • 一部の環境ではUSBポートでよく行われるように、実際のポートを封印します。
9
john

Firewireインターフェースのデバイスサポートがないカスタムカーネルをコンパイルするだけで十分です。権限設定によってこれらのデバイスへのアクセスを制限できないのは何ですか。

ドライバーを削除すると、プラグインされたデバイスがDMA転送を確立できなくなります。

3
Jeff Ferland

.../etc/fbtabを使用してデバイスへのアクセスを微調整することもできます

http://www.openbsd.org/cgi-bin/man.cgi?query=fbtab&sektion=5&apropos=0&manpath=OpenBSD+Current&Arch=i386

firewire/usb /その他のポートを介したログインに基づいて、すべてを無効にすることができます

1
maurice