
BadUSBは、悪意のあるソフトウェアが仕組まれているUSBデバイスを用いたコンピュータセキュリティ攻撃である 。マウスやキーボード、ヘッドホン、ディスプレイ、USBハブ、USBメモリ、OMGケーブルなど、USBポートに接続する機器からサイバー攻撃をする。USB Type-CがHDMIに対応しているため、HDMIからも攻撃できる。
マウスやキーボードなどHIDのなりすましによるキーインジェクションやディスプレイのミラーリング、カメラからの映像の撮影、QRコードによる決済ができ、対象デバイスを完全に攻撃者のコントロール下に置くことができる。パソコンだけではなく、AndroidやiPhoneなどスマートフォンに対しても攻撃可能である。代表的な攻撃方法として、Rubber Duckyやスタックスネット、Flipper Zeroが存在する。 一般的に、オフライン環境の場合はサイバー攻撃できないとされているが、オフライン環境であっても攻撃が可能である。APT攻撃にも使用される。
USBポートにUSBデバイスを挿さずに攻撃することのできる、ワイヤレスBadUSBも存在する。キーボードになりすまして無線接続して、悪意のあるコードを実行させる。
2014年8月に行われたセキュリティイベント「ブラックハット USA 2014」にて、研究家のカルステン・ノール、ヤコブ・レルらによってこの攻撃方法が明らかにされた。この攻撃は「BadUSB」と名付けられ、実際にデモを行ってみせた。ノールはこの危険性をUSB機器を製造するメーカーに伝えているが、今のところ対応を予定しているメーカーはないという。またUSBの普及率の高さを鑑み、具体的な攻撃コードは公表しなかった。
対応の難しい強力な攻撃ができることについて、ノールは「これはシンプルさとセキュリティのジレンマです。 USBの最大の魅力は、ただ差し込むだけで簡単に使えることです。ですが、このシンプルさがまさにこの攻撃を可能にしてしまっているのです」と述べている。
講演の2か月後、別のセキュリティ研究者2名がこの脆弱性を悪用するためのコードをソフトウエア開発プロジェクトホスティングサイトの「GitHub」にて公開した。2人はコードを公開した理由を「USBハードウェアメーカーにプレッシャーをかけるため」としている。
2015年、ロシアのセキュリティ研究家ダーク・パープルが「USBキラー」というマルウェアを開発した。これは220ボルトの負電荷をUSBポートの信号線に送信することで、数秒でマザーボードが焼き付き破壊されるというものだった。
2016年4月、ドイツの核施設でスタクスネットというマルウェアを含んだUSBメモリが18本発見された
2022年1月6日、FBIはマルウェアが仕込まれたUSBメモリが、貨物・保険・防衛産業の企業を中心に郵送で送られてくるという事態が発生しているとして警告を行った。
USB機器には、プログラム可能なマイクロコントローラーが搭載されている。 つまりUSBデバイスはそれぞれが小型コンピューターでもあり、その動作は「ファームウェア」というプログラムで定義されている。これを書き換えることで様々なことができてしまうが、基本的にどのUSB機器もこの攻撃を防ぐことはできない。それはUSBの規格でファームウエアがユーザーの同意なしに書き換えできるためである。これはUSBからPCだけではなく、逆にPCからUSBにも感染できる事も意味し、PC接続に接続されているUSBデバイスにも感染を広げられる。このような仕様はUSBの最大の特長である多用途性を意識したもので、書き換え不能にしてしまうと正規のファームウェアのアップデートも行うことが出来なくなってしまう。
ファームウェアはPCのセキュリティソフトではスキャンすることができない 。こうしたマルウェアはUSBのコントローラーに埋め込まれており、一般的なアンチウイルス製品がスキャンする層よりもさらに深い層にいるため、検知することができない。カスペルスキーは「一般的なアンチウイルス製品はシステムをハードウェアレベルでスキャンしないため、OSに対する攻撃よりもハードウェアに対する攻撃の方が恐ろしさは上」としている。
ネットワークカードになりすまして通信の傍受ができる。また、被害者のデバイスがDNSの問い合わせをしたときにDNSプロキシサーバとして攻撃者のDNSサーバへリダイレクトすることで、悪意のある偽サイトやフィッシングサイトへリダイレクトすることもできる(DNSハイジャック)。
バーチャルマシン環境から抜け出してホストのPCのOSに対して攻撃することもできる。バーチャルマシンに接続されたUSBデバイスのファームウェアを悪意のあるファームウェアにアップデートして、悪意のあるHIDデバイスかネットワークカードをUSBデバイスの中に作り出す。この時、元から存在した通常のUSBデバイスも残される。通常のUSBデバイスがバーチャルマシンに接続したまま、生み出された悪意のあるUSBデバイスはホストのPCと接続して、ホストのOSに対して攻撃することができる。
USBデバイスに、ブート起動できる隠された悪意のあるセクターを作成する。USBデバイスのファームウェアをアップデートして、接続したPCに偽の情報を表示させ、ブート起動する隠されたセクターの情報を表示させないように改ざんする。USBデバイスが嘘の情報をPCに伝えるため、PCのユーザーには隠されたセクターは表示されない。PCが起動したときにBIOSが悪意のあるブートセクターを読み込んでしまい、マルウェアに感染してしまう。
PCにUSBデバイスを接続すると、電力供給を受けたUSBコントローラが起動し、プログラムを読み出して実行する。悪意ある挙動であっても、正規のユーザーの操作として認識されるため、振る舞いベースの防御手法でも防ぐことはできない。 例えば送られてきたのがUSBフラッシュドライブ(USBメモリ)だった場合でも、これらはHID(ヒューマン・インタフェース・デバイス)に偽装されているため、接続されたPCはUSBデバイスをHIDと認識してしまい、「USBの自動実行機能(Auto Run)」をオフにしていても動作してしまう。 2025年の報告では、Avast PremiumがBadUSBによるキーインジェクションの検出に成功したとしている。
HIDになりすましたUSBデバイスは、キーインジェクションにより悪意のあるコードをPCに実行させる。 キーインジェクションは、WindowsやLinux、MacOSなど様々なOSに対して使用することができる。 Windowsに対するキーインジェクションをした後にLinuxのキーインジェクションを実行するなど、一つのUSBデバイスで複数のOSに対して攻撃することも可能である。 攻撃の一例として、Windowsに対するキーインジェクションでは、「ウインドウズボタン」+「R」のショートカットキーでRunダイアログボックスを呼び出し、Runダイアログボックスからcmd.exeやPowerShellを呼び出す。起動したcmd.exeやPowerShellに悪意のあるコマンドを打ち込み、実行させる。このとき、被害者のWindows PCではRunダイアログボックスやcmd.exeが一瞬だけ表示されて、攻撃が発覚する場合もある。
無線接続のUSBキーボードになりすましてPCに接続して、悪意のあるコードをキーインジェクションする「ワイヤレスBadUSB」も存在する。
USBデバイスの内部に攻撃用のマイクロチップを組み込んで改造し、攻撃に用いる。カフェの充電用USBポートを改造して、充電のために接続したモバイル機器を攻撃するJuice jackingという攻撃方法が存在する。
USBデバイスを接続したときに自動実行する機能(Auto Run)を用いる攻撃に対しては、Auto Runを無効化することで防ぐことができる(Windows はデフォルトでオフの設定)。ワイヤレスBadUSBにも有効な対策となる。ただし、HIDに擬装してキーインジェクションを行う攻撃は、前述のとおり防ぐことはできない。
使用できるUSBデバイスをホワイトリストで制限することで、HIDの擬装によるキーインジェクション攻撃にも対応できる。
管理者権限でcmd.exeやPowerShellを実行できないように権限を制限することで、キーインジェクションによる悪意のあるコードの実行を阻止できる。グループポリシーの制限も有効である。ワイヤレスBadUSBにも有効な対策となる。
USBデバイスを接続する前に、サーバ・PCのドライブを読み取り専用の設定に変えておく。USBデバイスを接続してスキャンするときに読み取り専用であれば、エクスプロイトを防ぎながらスキャンできる。
不要なUSBデバイスをUSBポートに接続できないようにする。USBポートにUSBデバイスを接続するタイプの攻撃には有効である。USBポートにはめ込んでUSBポートへの接続を物理的に防ぐことのできる製品も存在する。
サーバ・PCに接続する前に、USBスキャン用のハードウェア製品に接続する。USBの挙動を専用ハードウェアからスキャンして調べることにより、BadUSBを検知できる。
エクスプロイトの後では、EDRによる振る舞い検知や多層防御が有効である。ワイヤレスBadUSBに対しても有効な方法である。
サーバ・PC製品の中にはセキュリティチップを搭載しファームウェアの改ざんを検出する製品も登場している。 カスペルスキーは2016年7月にUSBデバイスのふるまいを自動追跡し、不審な振る舞いをするデバイスをブロックする技術を開発し、法人向けセキュリティ製品に実装した。
2017年には、ニュージーランドの電子技術者Robert FiskはUSBアダプタ「USG」のバージョン1.0を開発。USBデバイスはこのUSGを仲介してPCに接続され、ファイアウォールのような役目を果たす。ただこのドングルは、ローレベルでのUSBデバイスとPCとのやり取りを遮断し、不審な命令を実行させないことで安全性を確保しているだけで、ウイルスのスキャン機能は備わっていない。さらに1MB/s程度しか転送速度が出せず、大容量転送には向かないという欠点もある。
パスワードロック機能やウイルス対策機能が搭載されているセキュリティ機能の搭載されているUSBデバイスも存在する。ただし、セキュリティ企業Palo Alto Networksの報告によると、2018年6月に「Tick」と呼ばれるハッカーグループによるセキュアUSBの脆弱性を悪用するマルウェアが発見されており、イタチごっこが続いている。
また過去の実例から攻撃者は既に悪意のあるプログラムが仕込まれたUSB機器を配布して攻撃してくることが多いため、差出人のはっきりしない郵便物、無料で配られたUSB機器、拾ったUSBメモリなどを不用意にPCに挿入しないのが最大の防御策となる。
無料の充電用USBポートで充電する場合には、充電専用USBケーブルを用いるとJuice jacking攻撃を防ぐことができる。充電専用USBケーブルにはデータの通信用のケーブルが内部に存在しないため、攻撃を受けない構造になっている。
2008年、ロシアの工作員とみられる人物が、アフガニスタンに駐留している米軍基地の駐車場に「agent.btz」という悪意あるマルウェアが仕込まれたUSBを意図的に置いていった。するとロシア側の思惑通りに米軍関係者がそれを拾い、基地のPCに差し込んでしまった。そして感染したPCから機密情報などの内部情報が盗まれていた。
2016年5月、Google・イリノイ大学・ミシガン大学の合同チームがセキュリティ研究のために、イリノイ大学のキャンパス内のあちこちに300本のUSBメモリを意図的にばらまいた。そして拾った大学生たちの何人がPCに挿入するかを調査した。その結果、約半数の48%が配布されたUSBメモリを挿入し、中にあったファイルをクリックしていた。怪しんでウィルス対策ソフトでスキャンした学生はわずか16%に過ぎなかった。
2018年6月12日に行われた米朝首脳会談のために集まった約3000人プレス関係者に配られたノベルティの中に入っていたUSBで給電できる扇風機について、あるジャーナリストが「暑いシンガポールではありがたい」とつぶやいたが、すぐに「安易につなぐべきではない」と注意が方々から行われた。
この他、アメリカ国家安全保障局(NSA)がUSB接続ケーブルにマルウェアを埋め込むサイバー攻撃ツール「コットンマウスI」を開発していたことも内部資料から判明している。
ZDNetの作者Catalin Cimpanuは、BadUSB攻撃に遭う確率は「非常にまれ」であると語っている。しかし2020年に、ホスピタリティプロバイダーが偽のギフトカードを使用した攻撃を受けたことが確認されている。この攻撃は、USBメモリにプログラムされたキー操作によってPowerShellコマンドが実行されマルウェアがPC上にダウンロードされてしまった。
2020年、ロシアのハッカー集団FIN7がアメリカの家電量販店を装い、USBメモリと偽のギフトカードを送りつけた。同封のメッセージにはUSBメモリにこのギフトカードで引き換えられる商品のリストが入っていると書かれていた。標的の警戒心を解くためにテディベアなどのぬいぐるみが含まれていることもあった。
2021年8月にアメリカの運輸業界と保険業界、11月には防衛企業にUSBメモリが郵送されてきた。郵便物は2パターンあり、1つは保険福祉省を装ったもので「新型コロナ感染症対策のガイドライン」と書かれた手紙とUSBメモリが同封されている。もう1つは、Amazonのプレゼント用のパッケージで偽装され、感謝を記した手紙と、偽のギフトカード、そしてやはりUSBメモリが同封されていた。これらのUSBメモリはUSB接続のHIDキーボードに偽装しており、侵入したシステムにマルウェアのペイロードをインストールするために、キーストロークの注入を開始する。侵入者サイドの最終目標は、被害者のネットワークにアクセスし、Metasploit、Cobalt Strike、Carbanakマルウェア、Griffonバックドア、PowerShellスクリプトなど、さまざまなツールを使用して、侵入したネットワーク内にBlackMatterやREvilなどのランサムウェアを配備することである。 これらの一連の攻撃を行ったのもFIN7だったと考えられている。