BadUSBエクスプロイトは致命的ですが、ヒットする可能性はほとんどありません

9年前、私は世界初のUSBワームであると信じているものを作成しました。USBサムドライブをいじって隠しファイルを置くことで、「感染した」USBドライブが接続されているコンピューターをホストコンピューターに自動的に拡散し、新しいUSBがあれば再び元に戻すことができました。デバイスが接続されました。

それはデジタルカメラと携帯電話で機能しました。ワームファイルを実行するために、任意のUSBデバイス(実際には、任意のリムーバブルメディアデバイス)を入手できました。私はそれで遊んでたくさんの楽しみを持っていました。

私はその結果を雇用主と関係するベンダーに報告しました。彼らは順番にかなりの時間私の沈黙を求めたので、彼らは穴を塞ぐことができました。私は自分の発見を大きな国家安全保障会議で発表することを計画していて、獲得したハッカーの信用と公安のどちらかを選ばなければなりませんでした。私は後者と一緒に行きました。

正直なところ、将来の顧客または雇用者になる可能性があるため、このベンダーを怒らせたくありませんでした。穴は修正され、大衆は賢明ではありませんでした。何年も後、Stuxnetマルウェアプログラムで非常によく似た方法が使用されているのを見て驚いた。

しかし、私の経験から、プラグインされたデバイスを二度と信用することはありませんでした。それ以来、自分が所有しているコンピューターにUSBデバイスやリムーバブルメディアカードを接続したことはありません。時々、パラノイアが適切です。

BadUSBは、現在、深刻な脅威となっています

それが今日に私をもたらします。現在、GitHubにBadUSBのソースコードが投稿されています(BadBIOSと呼ばれる偽のマルウェアプログラムと混同しないでください)。これにより、9年前の私の実験は子供のゲームのように見えます。BadUSBは、コンピューターのハードウェア入力デバイスに深刻な影響を与える本当の脅威です。

BadUSBは、悪意のあるアクションを実行するためにUSBデバイスのファームウェアコードを書き込む(または上書きする)。2014年7月に最初に発表されたBadUSBは、ベルリンのSecurity Research Labsの2人のコンピューター研究者によって発見され、Black HatConferenceでその発見のデモを行いました。

USBストレージデバイスの悪意をチェックする従来の方法がすべて機能しないため、攻撃が懸念されます。悪意のあるコードはUSBのファームウェアに組み込まれ、デバイスがホストに接続されたときに実行されます。ホストはファームウェアコードを検出できませんが、ファームウェアのコードはホストコンピューター上のソフトウェアと対話して変更することができます。

悪意のあるファームウェアコードは、ウイルス対策スキャンをバイパスしながら、他のマルウェアを仕掛けたり、情報を盗んだり、インターネットトラフィックを迂回させたりする可能性があります。攻撃は非常に実行可能で危険であると見なされたため、研究者はエクスプロイトのデモのみを行いました。十分な注意を払って、彼らは概念実証コードや感染したデバイスをリリースしませんでした。しかし、他の2人の研究者は、エクスプロイトをリバースエンジニアリングし、デモコードを作成して、GitHubで世界にリリースしました。

CNN、アトランタジャーナルコンスティテューション、レジスター、PCマガジンなどのニュースや消費者向け技術サイトにすでに登場しているドラマをキューに入れ、「世界は悪意のあるUSBデバイスでいっぱいになるでしょう!」と叫びます。

BadUSBエクスプロイトがUSBをはるかに超える理由

まず、脅威が現実のものであることを認識することが重要です。USBファームウェア、研究者が主張することを実行するように変更できます。世界中のハッカーは、おそらく概念実証コードをダウンロードし、悪意のあるUSBデバイスを作成し、研究者のテストエクスプロイトよりもはるかに悪意のある行為の開始点として概念実証コードを使用しています。

第二に、問題はUSBデバイスに限定されていません。実際、USBデバイスは氷山の一角です。ファームウェアコンポーネントを使用してコンピューターに接続されているハードウェアデバイスは、悪意のあるものになる可能性があります。私はFireWireデバイス、SCSIデバイス、ハードドライブ、DMAデバイスなどについて話しています。

これらのデバイスが機能するには、ファームウェアをホストデバイスのメモリに挿入して実行する必要があります。これにより、マルウェアが簡単にその乗り物に乗ることができます。悪用できないファームウェアデバイスがあるかもしれませんが、その理由はわかりません。

ファームウェアは本質的に、シリコンに保存されたソフトウェア命令にすぎません。基本的なレベルでは、それはソフトウェアプログラミングに他なりません。また、ハードウェアデバイスがホストコンピューターデバイスと通信できるようにするには、ファームウェアが必要です。デバイスのAPI仕様は、デバイスを正しく機能させるコードの記述方法をデバイスのプログラマーに指示しますが、これらの仕様と命令はセキュリティを念頭に置いて組み立てられることはありません。いいえ、それらはアイテムを互いに対話させるために書かれました(インターネットのように)。

悪意のあるアクティビティを有効にするために、多くのプログラミング手順は必要ありません。ほとんどのストレージデバイスをフォーマットしたり、いくつかの指示でコンピューターを「ブリック」したりできます。これまでに作成された最小のコンピュータウイルスは、サイズがわずか35バイトでした。GitHubの概念実証の例のペイロードはわずか14Kであり、多くのエラーチェックとフィネスコーディングが含まれています。私を信じてください、14Kは今日のマルウェアの世界では小さいです。ほぼすべてのファームウェアコントローラーにマルウェアを埋め込んだり隠したりするのは簡単です。

実際、ハッカーや国がこれらのファームウェアバックドアについて長い間知っていて使用していた可能性は非常に高いです。NSAウォッチャーはそのようなデバイスについて詳細に推測しており、これらの疑惑は最近リリースされたNSA文書によって確認されました。

恐ろしい真実は、ハッカーがファームウェアデバイスをハッキングし、ファームウェアが存在する限り、それらを不正なアクションに強制しているということです。

BadUSBは、パニックリストから外すことができる最大の脅威です

現実には、コンピュータに接続されているファームウェアデバイス(USBなど)については、少なくとも長い間神経質になっているはずです。私は10年近くそのようにしています。

唯一の防御策は、信頼できるベンダーのファームウェアデバイスを接続し、それらを管理下に置くことです。しかし、プラグインしているデバイスが大量に侵害されていないこと、またはベンダーとコンピューターの間で改ざんされていないことをどのようにして知ることができますか?エドワードスノーデンからのリークは、NSAがリスニングデバイスをインストールするために転送中のコンピューターを傍受したことを示唆しています。確かに、他のスパイやハッカーは、サプライチェーンに沿ってコンポーネントに感染するために同じ戦術を試みました。

それでも、あなたはリラックスすることができます。

悪意のあるハードウェアが発生する可能性があり、一部の限られたシナリオで使用される可能性があります。しかし、それが広まる可能性は低いです。ハードウェアのハッキングは簡単ではありません。これはリソースを大量に消費します。チップセットごとに異なる命令セットが使用されます。次に、意図された被害者に悪意のあるデバイスを受け入れさせ、それをコンピュータに挿入させるという厄介な問題があります。非常に価値の高いターゲットの場合、このような「ミッションインポッシブル」スタイルの攻撃はもっともらしいですが、平均的なジョーにとってはそれほどではありません。

今日のハッカー(米国、英国、イスラエル、中国、ロシア、フランス、ドイツなどのスパイ機関を含む)は、従来のソフトウェア感染方法を使用してはるかに多くの成功を収めています。たとえば、ハッカーとして、非常に洗練された、非常に卑劣なBlue Pillハイパーバイザー攻撃ツールを構築して使用したり、何十年にもわたってうまく機能してはるかに多くの人々をハッキングしてきた一般的な日常のソフトウェアトロイの木馬プログラムを使用したりできます。

しかし、悪意のあるファームウェアまたはUSBデバイスが広く出現し始めたとしたらどうでしょうか。ベンダーが対応して問題を解決することは間違いありません。 BadUSBには現在防御機能がありませんが、将来的には簡単に防御できる可能性があります。結局のところ、それは単なるソフトウェア(ファームウェアに格納されている)であり、ソフトウェアはそれを打ち負かすことができます。 USB標準化団体はおそらくそのような攻撃を防ぐために仕様を更新し、マイクロコントローラーベンダーはファームウェアから悪意が発生する可能性を低くし、オペレーティングシステムベンダーはおそらくもっと早く対応するでしょう。

たとえば、一部のオペレーティングシステムベンダーは、プラグインされたDMAデバイスからの攻撃の発見を防ぐためだけに、コンピューターが完全に起動する前、またはユーザーがログインする前にDMAデバイスがメモリにアクセスするのを防ぐようになりました。Windows 8.1、OS X(Open Firmwareパスワード経由)、およびLinuxには、DMA攻撃に対する防御がありますが、通常、ユーザーはこれらの防御を有効にする必要があります。BadUSBが普及した場合、同じ種類の防御が実装されます。

ハッカーの友人が悪意を持ってエンコードされたUSBサムドライブを使用してあなたをだまそうと決心したとしても、BadUSBを恐れないでください。私のようにしてください-常にあなたの管理下にないUSBデバイスを使用しないでください。

注意:ハッキングされることを心配している場合は、ファームウェアから実行されるものよりも、ブラウザーで実行されるものについてはるかに心配してください。