数十億台の機器で使われたBluetoothチップで未文書化バックドアが発見
(bleepingcomputer.com)- IoT機器で広く使われる ESP32 で、公開文書にないBluetoothコマンドが見つかり、2023年時点で10億台以上の機器に搭載されたチップである点から影響範囲が大きい
- Tarlogic SecurityはRootedCONで、ESP32 Bluetoothファームウェアの vendor-specific command 29個 を公開し、RAM・Flashの読み書きやMACアドレスのスプーフィング、LMP/LLCPパケット注入の可能性を指摘した
- これらのコマンドは、信頼された機器へのなりすまし、無断データアクセス、ネットワーク内での横移動、長期的な永続性確保につながる可能性があり、CVE-2025-27840 として追跡されている
- 実際のリモート悪用可能性は、機器のBluetoothスタックがHCIコマンドをどう処理するかに依存し、悪性ファームウェア・悪意ある更新・すでに確保されたrootアクセスがある場合により関連性が高い
- Espressifは、これは内部テスト用の デバッグコマンド であり、それ自体でESP32のセキュリティリスクを生むものではないとした一方、今後のソフトウェア更新で未文書化コマンドを削除する予定だとしている
ESP32に残されていた未文書化Bluetoothコマンド
- 中国メーカー Espressif のESP32マイクロチップには、公開文書にないBluetoothコマンドが含まれている
- ESP32はIoT機器にWi-FiとBluetooth接続を提供するマイクロコントローラであり、2023年時点で10億台以上の機器に使われている
- 発見されたコマンドは次の行為に利用できる可能性がある
- 信頼された機器のように見せる スプーフィング
- 無断データアクセス
- ネットワーク内の別の機器への移動
- 長期的な永続性の確保
Tarlogicの発見と研究ツール
- スペインのTarlogic SecurityのMiguel Tarascó Acuña氏とAntonio Vázquez Blanco氏が、マドリードの RootedCON で研究結果を発表した
- 研究チームは、Bluetoothセキュリティ研究への関心は薄れているが、それはプロトコルや実装がより安全になったからではないとみている
- 最近公表された多くの攻撃は、動作するツールがなかったり、汎用ハードウェアで動かなかったり、古く保守されていないツールに依存していて最新システムとうまく適合していなかった
- TarlogicはCベースの新しい USB Bluetoothドライバ を開発した
- ハードウェア非依存でクロスプラットフォームに動作する
- OSごとのAPIに依存せずハードウェアへ直接アクセスできる
- Bluetoothトラフィックへの生のアクセスを可能にする
コマンドが許す低レベル制御
- ESP32 Bluetoothファームウェアで隠された vendor-specific command が確認された
- Opcodeは
0x3F - Bluetooth機能を低レベルで制御できる
- Opcodeは
- 発見された未文書化コマンドは合計29個である
- 主な機能は次の項目に関係する
- RAMとFlashに対する メモリ操作
- MACアドレスのスプーフィングによる機器のなりすまし
- LMP/LLCPパケット注入
- Espressifがこれらのコマンドを公開文書化していなかったため、アクセス可能にする意図はなかったか、誤って残された可能性がある
- この問題は CVE-2025-27840 として追跡されている
攻撃可能性と現実的な制約
- 研究チームは、このコマンドがOEMレベルの悪意ある実装や サプライチェーン攻撃 のリスクにつながる可能性があるとみている
- リモート悪用可能性は、機器のBluetoothスタックがHCIコマンドを処理する方式によって変わる
- 次の条件ではリモート悪用の可能性がより高まることがある
- 攻撃者がすでにrootアクセスを確保している場合
- マルウェアが仕込まれている場合
- 低レベルアクセスを開く悪意ある更新が配布された場合
- 悪性ファームウェアやrogue Bluetooth接続が関与する場合
- 一般的には、機器のUSBまたはUARTインターフェースへの 物理アクセス のほうがより現実的な攻撃シナリオである
- Tarlogicは、ESP32を含むIoT機器が侵害されると、ESPメモリ内にAPTを隠し、Wi-Fi/Bluetoothで機器を制御しながら他の機器に対するBluetoothまたはWi-Fi攻撃を行えるとみている
- RAMとFlashを変更できるコマンドは、ESP32チップの完全制御とチップレベルの永続性確保につながり得る
Espressifの説明と修正計画
- BleepingComputerは当初Espressifにコメントを求めたが、すぐには回答を得られなかった
- その後Espressifは、Tarlogicの発見について公式見解を示した
- 同社は、見つかった機能は内部テスト目的の デバッグコマンド だと説明した
- このコマンドは、Bluetooth技術で使われるHCI(Host Controller Interface)プロトコル実装の一部である
- HCIは製品内部でBluetooth層間の通信に使われる
- Espressifは、デバッグコマンドの存在自体がESP32チップにセキュリティリスクを生むものではないとみている
- ただし、未文書化コマンドを削除する ソフトウェア修正 を提供する予定である
用語修正と記事更新
- 2025年3月9日の更新で、未文書化コマンドを「backdoor」と呼ぶ表現への懸念を反映して、タイトルと本文が修正された
- 2025年3月8日にはTarlogicの立場が追加された
- 2025年3月9日にはCVE IDが追加された
- 2025年3月10日にはEspressifの公式見解が追加された
1件のコメント
Hacker Newsの意見
タイトルは少し誤解を招くと思う。私の読み方が正しければ、ここでいうバックドアとは、コンピューターが自分のUSB Bluetoothアダプターのメモリや低レベル機能を読み書きできるようにするもののこと
これは無線経由で悪用できるようには見えない。こうした文書化されていないデバッグコマンドはよくあるもので、WiFiアダプターやGPS受信機でも似た機能を見たことがある。チップのファームウェアやベンダードライバーをリバースエンジニアリングして見つけただけで、文書化されていなかったというだけであり、それ自体で大きな影響のある問題ではない。署名なしファームウェアを許可するものなら同じように脆弱だ
もしホスト以外の場所から使えるものなら、話はまったく別になる
Espressifはこの分野ではほとんど例外的にオープンだった。自社チップ向けのオープンソースRustツールチェーンにも貢献していたし、ライセンスコードのため公開できないモデムスタックについては、公然とリバースエンジニアリングを推奨さえしていた。少しでもオープンな姿勢を見せた代償が、悪く有害な宣伝になるのは嫌だ
「デバイス上でBluetoothスタックがHCIコマンドを処理する方法によっては、悪意あるファームウェアや悪意あるBluetooth接続を通じて、バックドアをリモートで悪用できる可能性がある。」
簡単に言えば、安全なドライバースタックがあり、ローカルコードをすべて信頼しているなら、HCIベンダー拡張は問題にならない
ただしHCI拡張は簡単にセキュリティホールになり得る。問題は、HCIが攻撃者の制御する入力と複雑なインターフェース、厄介なパース処理を混ぜ合わせる点にある。数年前のBleedingTooth脆弱性が示したように、ミスが起きやすい
こうした機能があると、別の脆弱性からピボットするのも容易になるが、ほとんどのシステムではそれは低く垂れた果実に近い
[0] https://google.github.io/security-research/pocs/linux/bleedi...
Web APIという最悪のケースを除いて考えても、半信頼のソフトウェアをリスク回避のため3重に入れ子にしたVM内で動かすとしよう。そのソフトウェアがBluetoothアクセスが必要だというもっともらしい理由を示し、例外を許可する。結果が気に入らず、そのソフトウェアを削除し、3つのVM層もすべて初期化する。終わったように見えるが、アクセス権があったときにマルウェアがESPにインストールしたものがまだ残っている可能性がある
自分の下位デバイスへの文書化されていないアクセスは、とくに永続性が絡むと本当に悪いことになり得る
ESP32がスタンドアロンSoCではなく、ホストシステムにシリアルリンクで接続されたWiFi/Bluetooth「モデム」として使われる状況を考えられる
理論上、攻撃者は文書化されていないコマンドで周辺のBluetoothデバイスをスキャンしたり、スプーフィングしたり、攻撃したりできる。場合によっては、ESP32をホストしているデバイスでroot権限を得なくても可能かもしれない
root権限でOS内からディスクドライブのファームウェアを書き換えられると知ったら驚くだろうね
研究者たちが見つけたのは、すでにコード実行権限を持っている人がESP32のWiFiスタックに予想以上に深い低レベルアクセスをできるようにする、文書化されていないハードウェア機能だ
これを「バックドア」と呼ぶのは純粋なクリックベイトだ
混乱している。Bluetoothスタックに文書化されていないコマンドがいくつかあるという意味なのか? すでにデバイス上で実行中のコードだけがアクセスできるなら、バックドアと呼ぶのは難しそうだ
これはリモートコード実行のようには聞こえない
そのためユーザー空間プログラム、さらに悪ければWebBLEプログラムが、アダプターに永続的な悪性ペイロードを追加する可能性はある。ドライブ交換後も残る追跡ビーコンは怖いが、リモートコード実行ではない
理論上、接続されたBluetooth無線チップ自体に低レベルアクセスできる必要があるはずなので、これはある程度予想されることではないかと思う
こうした低レベルインターフェースがあるデバイスのほうがよい。問題は存在そのものではなく、文書化の不足かもしれない
以前はQualcommの無線チップで、USB経由のメモリ読み書きコマンドを使ってロックされたデバイスのロックを解除し、所有権を取得することがあった。完全なアウトオブバンドの読み書きだったのであまり良くないかもしれないが、これがフラッシュされたコードからしかアクセスできないなら、むしろましなほうだ
スペイン語のスライド: https://www.documentcloud.org/documents/25554812-2025-rooted...
要約すると、ファームウェアをリバースエンジニアリングして、メモリの読み書き、パケット送信、MACアドレス設定のようなことを行うHCIコマンドを見つけた、ということ。
特にバックドアというわけではない。研究者たちがそう呼んだのか、発表がスペイン語なので分からないし、記者たちがクリックを稼ぐためにバックドアと呼んでいるのかも分からない。
このコマンドを使うには、デバイスにHCIコマンドを送るための任意アクセス権限が必要。つまり、すでにデバイスとその動作を制御しているということ。無線リンク経由でリモートに悪用されるものではない。どんなエクスプロイトであれ、すでにデバイス全体の制御権を持っている必要があり、その時点でMACアドレスを変えたりパケットを送ったりできるのは驚くことではない。
興味深い研究ではあるが、「バックドア」として包装されるのは本当にしらける。表現の責任が誰にあるのかは分からないが、記者たちのような気がする。
もっとなじみのある例えで言えば、ありふれたIoTチップのEthernetコントローラが、ファームウェアの指示に従ってMACアドレスを変更したり任意のパケットを送信したりできる、と発見したようなものだ。Bluetoothであるという点が違うだけで、同じ話。
https://www.tarlogic.com/news/backdoor-esp32-chip-infect-ot-...
そのため、https://macaddresschanger.com/ のようなWindowsツールやLinuxのbdaddrが存在する。大半はCSR設計のクローンに見え、アドレスを設定するコマンドもよく知られている。https://sources.debian.org/src/bluez/5.55-3.1%2Bdeb11u1/tool...
そこからEthernetケーブルという要件まで取り払ったようなものだ。
「Free Candy / BLE Persistent Threats」と書かれた白いバンで走り回り、中国へ向かう途中で金属探知機を通過しながらデバイスを漁ることもできる。
無線で、ワームのように拡散可能で、任意のパケットを送り、任意のデバイスをスプーフィングできるのに、それでも問題が見えないのか?
こういう扇情的な記事は嫌いだ。これでEspressifがもっとクローズドに進むべきだという圧力を感じそうだ。
デスクトップやノートPCにはカーネル空間で動く不透明なバイナリblobドライバを平気でインストールし、クラウドに支配された自分の携帯電話にはrootアクセスすらないのに、すでにデバイスが侵害されている必要がある文書化されていないESP32の低レベルコマンドがいくつかあるだけで、ニュースになる脅威ベクトルになる。
翻訳の過程で何か抜け落ちているのではないかと本当に気になる。昔なら単にクールだと思って、ソフトウェア無線に変える方法を探していただろう。
研究自体は良いが、タイトルが悪い。攻撃ベクトルとして見るなら物理的アクセスが必要で、ほとんどの場合、別の方法でもすでにできることだ。
「一般的なBluetoothチップで文書化されていないコマンドを発見」くらいのほうが良いタイトル。
このタイトルは嘘だ。Bluetoothチップのバックドアというなら、無線の攻撃者がチップ上でコード実行を得られるようにするものであるべきだ。
この記事が扱っているのは、接続されたデバイスのデバイスドライバがチップ上でコード実行を得られるようにするものであり、これはセキュリティ境界を侵害していない。
まともに機能する報道エコシステムなら訂正記事が必要で、記事を書いた媒体の評判にも大きな打撃があるべきだ。残念ながら、そうはならないだろう。