Bad USB とは何か(そして何が Bad USB ではないか)

原文(2014年10月6日投稿):What BadUSB is and isn’t by Bernie Thompson

Bad USB によるUSBの悪用は、いくつかのUSB機器にはファームウェアが搭載されており、それらの機器ではファームウェアが更新できることがある、という事実を最大限に活かすアイディアとその実働例を提示しているにすぎません。

「Bad USB」に関するニュースがここ数日で大きな話題になっています。例えば Wired のこの記事(The Unpatchable Malware That Infects USBs Is Now on the Loose)や、CNBC のこの記事(Why USB malware just became a big problem)、さらにはThe Verge のこちらの記事(This published hack could be the beginning of the end for USB)です。

2014-10-06-Phison-Flash-Storage-Controller
たぶんご想像になれる通り、当初話題となった記事にはいくつかの誤りが含まれていました。元マイクロソフト社の USB 開発チームのマネージャーであり、現在は USB 機器を製造販売している Plugable Technologies 社の創設者の立場から、この情報についていくつか捕捉したいと思います。

まず初めに、これはセキュリティ問題の根本そのものであるということです。プログラムコードが実行される限りどんなものであれ、それが悪用される可能性は消えません。このインターネット全盛時代において、どんな場所にでもプログラムは実行されています。我々が単なる周辺機器だと思っているものは、今や実際にはほとんどすべてがコンピュータです。進化していく技術に対応するため、これら周辺機器が、よりソフトウェア的に柔軟で更新可能である方が望ましいことはおわかりでしょう。しかしそれは同時に、緩和していかねばならないリスクを内包しています。

(Bad USB 理論が主張するように)USB 機器を使ってコンピュータをハッキングするためには、少なくとも以下の 2 つが正しくなければなりません。
1. その USB 機器がファームウェアを持ち、そのファームウェアが更新可能であり、かつその更新ロジックが安全でないこと。これはいくつかの USB 機器に当てはまりますが、それ以外のものは該当しません。
2. かりにその機器が上記の脆弱性を持つとして、ハッキング用の悪意あるプログラムは、そのデバイス内の USB コントローラに特化したものである必要があります。機器上のファームウェアの消去手順と実行命令セットは、そのコントローラごとに違います。現在公開された Bad USB のコードは、特定の USB フラッシュコントローラ(Phison 社製)のもので、それ以外の USB 機器には関係がありません。つまり他の全 USB 機器対しては何の影響もありません。

上記の 2 つが正しいかそうでないかは、特定の US B機器に依存します。Plugable 社製 USB ハブ製品ラインを例にとってみましょう。弊社製品は Phison コントローラを使用していないため、現在公開されている Bad USB コードにより悪用されることは一切ありません。しかしながら、弊社の USB 機器が使用しているコントローラを特にターゲットとした攻撃をされた場合には、影響を受けることはあるでしょう。

main_512
例えば Plugable 社の USB 2.0 機器はすべて Termius Technology 社製のチップセットを使用していますが、このチップセットは特定用途向け集積回路(ASIC)で、ファームウェアを更新したりプログラムを実行させたりすることはできません。ですから、Bad USB タイプの攻撃は全く通じないのです。

一方で、弊社の USB 3.0 SATA ドッキングステーションは、8 ビットのマイクロコントローラを内蔵した ASMedia 社製の 1051E と 1053E チップセットを使用しています。また、この機器はファームウェアの更新が可能です。したがって、現在公開されている Bad USB コードそのものによる影響はないものの、理論上はBad USB に使用されたのと同じような方法で攻撃対象になりえます。

3 つめの興味深い例として、弊社の Plugable USB 3.0 ドッキングステーショングラフィックス・アダプタがあります。これらの製品は DisplayLink 社の DL-3×00 や DL-5×00 チップセットを使用しています。これらチップセットは更新可能なファームウェアを使用しています。しかしながら、DisplayLink 社はこれらチップセットにチップ内蔵で認証、暗号化およびファームウェア検証を実装しているため、第三者がファームウェアを書き換えるのは非常に困難です。現在までのところ、DisplayLin k社のチップセットに第三者がアクセスできたケースはありません。これが、DisplayLink 社製チップセットが Windows と Mac でしか稼働しない理由の一つです。DisplayLink 社がこれらの OS 用のドライバしか提供していないためなのです。どんなソフトウェア的なセキュリティも完璧にはなりえませんが、非常に強力なものにすることは可能なのです。

弊社の製品がどの USB コントローラを使用しているかは、ウェブサイトの製品ページや、アマゾンでの商品説明等で確認していただくことができます。我々がそうしていくるのは、製品の詳細な互換性を確認するためにチップセット情報が必要だからですが、同時にこうしたセキュリティ上の機能について理解する上で重要だからです。弊社は今後もこのようなセキュリティ情報や機能について、より詳細な情報をご提供するよう努めていきます。

上記の情報が、Bad USB が何であり、そして何でないかを理解するのにお役にたてば幸いです。Bad USB がどのようにして作成されたのかについての詳細な内容はこちらのビデオで知ることができます。もしも何かご質問等がありましたら、どうぞこのブログにご意見を投稿してください。我々が知る情報をご提供してまいります。

Plugable Technologies 創設者
バーニー・トンプソン