web-dev-qa-db-ja.com

MacBookでUSBキーボードの接続機能を無効にする

コンピューターのロックを解除しようとしているとき、またはコンピューターのロックが解除されているときに、USBデバイスがMacBookラップトップに物理的に接続されていることを心配しています。

私の脅威モデルには、約200ドルを費やして私のラップトップ、特に自分のユーザーアカウントまたはルートにアクセスすることをいとわない攻撃者が含まれています。したがって、複雑なハードウェアの変更や物理的なラップトップの交換などの高度な物理的攻撃は不可能です。

しかし、私はできるようになりたいです:

  1. 私がコーヒーショップのバスルームを使用している間、コンピューターを無人のまま数分間ロックしておきます。

  2. 分離されたVMを起動したり、ゲストユーザーアカウントを使用したりすることなく、外部USBストレージデバイスをプラグインします。信頼できないケーブルを使用してUSBポートから携帯電話を充電できます。ユーザーアカウントからコンピューターを同時に使用し、USB経由で信頼できない外部モニターを使用できるようにします。

  3. ログインを入力する前に、USBポートに物理的に触れて、何も接続されていないことを確認する必要がないようにします。

私が心配している攻撃は、明らかにBadUSB、またはキーボードのように機能する(そして200ドル未満で製造できる)カスタム設計のUSBデバイスです。これらのデバイスは、ノートパソコンを放置したままでも差し込まれる可能性があり、小さすぎる(ユビキーサイズを考える)とすぐに気付かない可能性があります。または、画面に何かを表示したときに、隣に座っている人が電源に接続することもできます。

私はすでに、FDE、ファームウェアパスワード、頻繁に変更されるユーザーアカウントパスワード、不在時に常にコンピューターをロックする、パスワードを再利用しない、信頼できるバイナリのみを実行するなど、基本的なopsecプラクティスを採用しています。

私が考えている解決策は、新しいUSBデバイスが接続されたときにそれらを "承認"する必要があるということです。そして、私はそれらのタイプを見ることができるはずです(例:キーボードVSカメラVSマイクVS充電ケーブルVSストレージデバイス)。 USBデバイスを承認し、プラグを抜いて再度差し込んだ場合、デバイスを再承認するか、承認を解除するかを選択する必要があり、決定するまで動作できません。また、デバイスが別のタイプとして再登録しようとする場合は、承認されるまでブロックする必要があります。

それを可能にするシステムを知っていますか?ありがとう!

10
dionyziz

BadUSBや同様の攻撃が心配な場合は、コンピュータを離れた後、戻ってくるたびにすべてのポートをチェックする必要があります。ただし、これでもBadUSBから保護されないことに注意してください。

BadUSBとは、通常のUSB機器を使用し、カスタムファームウェアをフラッシュし、それに大混乱をもたらすことができるということです。問題のデバイスのUSBチップセットが事前にわかっている場合、これは比較的迅速に実行できます。攻撃者はWiFiドングルを盗んでBadUSBを取得し、コンピューターに戻すことができます。 BadUSBはさらに悪い:攻撃者はカスタムファームウェアを1つのデバイスにフラッシュし、コンピューターに感染し、そこから最終的に感染するall USBデバイスがBadUSBである限り、将来の任意の時点でコンピューターに接続される持続する。

BadUSBの最善の解決策は、次のことを行う一種のハブです。

  1. ハブ自体はneverにファームウェアをフラッシュできるようにするか、少なくともすべてのファームウェアに暗号で署名することを義務付ける必要があります。
  2. ハブは、それに接続されているすべてのデバイスの権限リストを維持する必要があります。デバイスを接続すると、ハブはコンピューターに、それ自体がマウスとして記述されているUSBデバイスが接続されたことをコンピューターに通知する必要があります。
    • キーボードなどのリクエストがあった場合は、通知を受け取る必要があります。
  3. ファームウェアのフラッシュなしthroughハブを許可する必要があります。これにより、デバイスがBadUSBされるのを防ぎます。

BadUSBは悪いです。十分に言った。

少なくとも一部のオペレーティングシステムは、pwnageデバイスと呼ばれる特定のUSBデバイスをブラックリストに載せていることに注意してください。ただし、これは十分ではありません。USBの「ID」は弱く、簡単に偽造できるためです。Logitechカメラは、Apple Keyboard。

1
Naftuli Kay

私が共有するあなたのニーズに対する部分的な解決策を書きました。

例外的な場合にのみUSBを有効にしたい。 USBキーの使用が許可されていないコンピューターを実行しています。

私は、必要なときにUSBマスストレージの可視性を有効にするために必要な拡張機能のみをオンにするシェルスクリプトusbを書きました。ここに男があります:

Usage: usb [on|off|]

USBマスストレージを有効にするには:

usb on

uSBマスストレージを無効にするには:

usb off

uSBマスストレージを認識できるかどうかを確認するには:

usb

このシェルスクリプトは、以下に基づいています。

kextstat
kextunload

これにより、USBポートを使用してiPhoneをリロードできますが、BadUSB攻撃からは保護されません。

1
dan

私は一度に1つのUSBポートのみを使用したいと思います(いくつかのケースではさらに多くのポートが必要な場合は、このポートへのハブを使用できます)。このMacbookがサービスを停止するまで保持する予定です。 (たとえば、一部のUSBポートが破壊されても問題ありません)。

次に、すべてのUSBポートを1つを除くをExpoxy接着剤で埋めることをお勧めします。開くように選択したポートは、簡単に表示またはアクセスできるので、後でこの開いているUSBポートへの改ざんを検出できます。

次に、USBロックを使用します。数多くのUSBロックが利用可能です。すべてのUSBロックに適合する「一般的な」キーを備えているもの、同じ色のUSBロックにのみ適合する色分けされたキーを備えているもの、完全に一意のキーを備えているものがあります。

必要に応じて、キーとUSBポートにロックするUSB​​「トーン」を備えたラップトップケーブルロックの1つを購入し、デバイスを変更してロックケーブルを取り外し、「ロック」のみを残すことができます。したがって、「ロック」を開いたUSBポートにロックします。その後、キーまたは力を使用せずに取り外すことはできません。力を使用すると、USBポートが破壊され、操作が有効であったという証拠が残ります。

まれにしかUSBポートを使用しない場合は、シリアル番号の付いた「USBシール」の1つを使用することもできます。これは、開いているUSBポートに挿入する小さなプラスチック製のデバイスです(エクスポキシしないように選択します)。永久にスタックします。シールを取り外すには、シールを破棄する必要があり、プラスチックシールは再利用できません。すべてのシールにはシリアル番号があり、「安全に」したいときに、安全な情報源(たとえば、常に身に着けている財布の中の紙)と照合します。

1