PCでUSB自動再生をオフにしていない場合、感染したUSBドライブを接続すると、システムにマルウェアがインストールされる可能性があります。 Stuxnetによってウラン精製遠心分離機が爆破されたエンジニアは、その困難な方法を知りました。 ただし、USBデバイスを武器化できるのは自動再生マルウェアだけではないことがわかりました。 Black Hat 2014カンファレンスで、ベルリンに拠点を置くSRLabsの2人の研究者が、USBデバイスのコントローラーチップを変更して、「コンピューターの制御、データの流出、またはユーザーのスパイを行うために他のさまざまなデバイスタイプを偽装する」技術を明らかにしました」 それはちょっと悪いように聞こえますが、実際には本当に恐ろしいです。
ダークサイドに目を向ける
「私たちは通常、組み込みセキュリティに焦点を合わせたハッキングラボです」と研究者Karsten Noll氏は満員の部屋で話した。 「これは、角度が埋め込まれたコンピューターセキュリティを初めて見たものです。USBを悪意のある方法でどのように再利用できますか?」
リサーチャーのJakob Lellはすぐにデモに参加しました。 彼はUSBドライブをWindowsコンピューターに接続しました。 予想通り、ドライブとして表示されました。 しかししばらくして、USBキーボードとして自身を再定義し、リモートアクセストロイの木馬をダウンロードするコマンドを発行しました。 拍手!
「USBストレージ内のウイルスについて話すつもりはありません」とNoll氏は言います。 「当社の手法は空のディスクで機能します。再フォーマットすることもできます。これはパッチを当てられる可能性があるWindowsの脆弱性ではありません。トロイの木馬ではなく展開に重点を置いています。」
コントローラーの制御
「USBは非常に人気があります」とNollは言いました。 「ほとんどの(すべてではないにしても)USBデバイスにはコントローラーチップがあります。チップと対話することも、OSが認識することもありません。しかし、このコントローラーは「USBと通信する」ものです。」
USBチップはデバイスタイプをコンピューターに識別し、いつでもこのプロセスを繰り返すことができます。 Nollは、ビデオ用のドライバーと接続されたマイク用のドライバーを備えたWebカメラなど、1つのデバイスが複数のデバイスとして表示される正当な理由があることを指摘しました。 また、シリアル番号はオプションであり、固定フォーマットがないため、USBドライブの真の識別は困難です。
Lellは、特定の種類のUSBコントローラーでファームウェアを再プログラムするためにチームが行った正確な手順を順を追って説明しました。 簡単に言うと、ファームウェアの更新プロセスをスヌープし、ファームウェアをリバースエンジニアリングしてから、悪意のあるコードを含むファームウェアの修正バージョンを作成する必要がありました。 「USBの すべてを 壊したわけではありません」とNoll氏は述べています。 「非常に人気のある2つのコントローラーチップをリバースエンジニアリングしました。最初のチップはおそらく2か月、2枚目は1か月かかりました。」
自己複製
2番目のデモでは、Lellは最初のデモから感染したPCに新しい空のUSBドライブを挿入しました。 感染したPCは、空のUSBドライブのファームウェアを再プログラムし、それによって自分自身を複製しました。 まあ。
彼は次に、感染したばかりのドライブをLinuxノートブックに接続し、目に見えてキーボードコマンドを発行して悪意のあるコードをロードしました。 繰り返しになりますが、デモは聴衆から拍手を送りました。
パスワードを盗む
「これは、1つのUSBが別のデバイスタイプをエコーする2番目の例でしたが、これは氷山の一角にすぎません。次のデモでは、USB 3ドライブを再検出して、検出しにくいデバイスタイプにしました。よく見てください、見ることはほとんど不可能です。」
確かに、ネットワークアイコンのちらつきを検出できませんでしたが、USBドライブを接続すると、新しいネットワークが現れました。 Nollは、ドライブがイーサネット接続をエミュレートし、コンピューターのDNSルックアップをリダイレクトしていると説明しました。 具体的には、ユーザーがPayPal Webサイトにアクセスすると、パスワードを盗むサイトに目に見えないようにリダイレクトされます。 悲しいかな、デモデーモンはこれを主張しました。 うまくいきませんでした。
USBの信頼
「USBに対する信頼について少し話しましょう」とNoll氏は語ります。 「使いやすいため人気があります。USBを介したファイル交換は、暗号化されていないメールやクラウドストレージを使用するよりも優れています。USBは世界を征服しました。USBドライブのウイルススキャン方法を知っています。USBキーボードをさらに信頼しています。その信頼を破壊します。」
「誰かがあなたにUSBを渡したというだけの状況ではない」と彼は続けた。 「デバイスをコンピューターに接続するだけで感染する可能性があります。最後のデモでは、最も簡単なUSB攻撃者であるAndroidスマートフォンを使用します。」
「この標準のAndroidフォンをコンピューターに接続してみましょう」とLell氏は語ります。「何が起こるか見てみましょう。突然、追加のネットワークデバイスがあります。PayPalにアクセスしてログインしましょう。エラーメッセージは表示されません。ユーザー名とパスワード!」 今回は、拍手が激しかった。
「Androidフォンがイーサネットデバイスになったことを検出しますか?」 ノルに尋ねた。 「デバイス制御またはデータ損失防止ソフトウェアはそれを検出しますか?私たちの経験では、ほとんどは検出しません。また、ほとんどは他のデバイスタイプではなくUSBストレージのみに焦点を当てています。」
ブートセクターの感染者の帰還
「BIOSは、オペレーティングシステムとは異なる種類のUSB列挙を行います」とNoll氏は述べています。 「2台のドライブとキーボードをエミュレートするデバイスでこれを利用できます。オペレーティングシステムは1台のドライブのみを表示します。2台目はBIOSにのみ表示され、設定されている場合はBIOSから起動します。 、デバイスからの起動を可能にするために、F12などのキーストロークを送信できます。」
Nollは、ルートキットコードがオペレーティングシステムの前に読み込まれ、他のUSBドライブに感染する可能性があることを指摘しました。 「これはウイルスにとって完璧な展開です」と彼は言いました。 「ウイルス対策ソフトウェアが読み込まれる前に既にコンピュータ上で実行されています。ブートセクタウイルスの復活です。」
何ができますか?
Nollは、USBファームウェアに存在するウイルスを削除することは非常に難しいだろうと指摘しました。 USBフラッシュドライブから取り出すと、USBキーボードから再感染する可能性があります。 PCに組み込まれたUSBデバイスでさえ感染する可能性があります。
「残念ながら、簡単な解決策はありません。保護のための私たちのほとんどすべてのアイデアは、USBの有用性を妨げるでしょう」とNoll氏は言います。 「信頼できるUSBデバイスをホワイトリストに登録できますか?まあ、USBデバイスが一意に識別可能である場合は可能ですが、そうではありません。」
「USBを完全にブロックできますが、それは使いやすさに影響します」と彼は続けました。 「重要な種類のデバイスをブロックできますが、非常に基本的なクラスでも悪用される可能性があります。それらを削除すると、あまり残っていません。マルウェアのスキャンはどうですか?残念ながら、ファームウェアを読み取るには、ファームウェア自体の機能に依存する必要があるため、悪意のあるファームウェアが正当なものを偽装する可能性があります。」
「他の状況では、ベンダーはデジタル署名を使用して悪意のあるファームウェアの更新をブロックします」とNoll氏は述べています。 「しかし、セキュアな暗号化は小さなコントローラーに実装するのは困難です。いずれにしても、数十億の既存のデバイスは脆弱なままです。」
「私たちが考え出した実行可能なアイデアの1つは、工場でファームウェアの更新を無効にすることでした」とNoll氏は述べています。 「最後のステップは、ファームウェアを再プログラムできないようにすることです。ソフトウェアで修正することもできます。それ以降の更新をすべてブロックする新しいファームウェアアップグレードを1つ焼き付けます。信頼できるUSBデバイスの範囲を取り戻すことができます。 」
Nollは、ここで説明したコントローラー変更手法のいくつかの肯定的な使用法を指摘することで締めくくりました。 「これで遊んでいる人々のために作られるべきケースがあります」と彼は言いました、「しかし、信頼できる環境ではありません。」 私は、以前と同じようにUSBデバイスを決して見ません。