世界を動かす技術を、日本語で。

スピーカーを使ってPCをハッキングする方法 - 触れずに実行する

概要

  • Creative Sound Blaster Katana V2Xのファームウェア解析による脆弱性発見
  • Bluetooth経由で認証不要でファームウェア書き換え可能
  • 悪意あるファームウェアによる盗聴やRubber Ducky攻撃の危険性
  • ファームウェア保護やBluetoothの制御が極めて不十分
  • Creativeへの報告とその対応の難航

Creative Sound Blaster Katana V2Xのファームウェア解析と脆弱性

  • Creative Sound Blaster Katana V2Xは、USB接続型PCサウンドバー
  • Creative独自のCTP(Creative Transport Protocol)を用いた設定変更機能
    • USB経由でのCTP利用時はチャレンジレスポンス認証が必須
    • 認証キーはバイナリから容易に取得可能
  • ファームウェアはFBOOT(ブートローダ兼リカバリモード)、FMAIN(メインファームウェア)、CHK2(SHA-256チェックサム)で構成
    • FBOOTはリカバリモード起動機能を持つ
    • FMAINはFreeRTOSベースで主要機能を実装
    • CHK2は単なる整合性確認用で改ざんも容易
  • ファームウェア更新時、CHK2さえ正しければ改ざんファームウェアも受け入れられる
    • 例として「WELCOME」表示を「PATCHED」に書き換え成功

Bluetooth経由の深刻なセキュリティ問題

  • Katana V2XはBluetooth Low Energy(BLE)にも対応
    • BLEはペアリング不要で接続・データ書き換えが可能
    • Creative公式アプリもBLE経由でスピーカー操作
  • ファームウェア解析で、CTPコマンドがBluetooth経由でも利用可能と判明
    • 任意の端末からCTPコマンド送信・情報取得・設定変更が可能
  • BLE経由でファームウェアアップデート機能も利用可能
    • Pythonスクリプトで改ざんファームウェアをBluetooth経由で転送し書き換え成功
    • BLE通信は遅いが、物理的接触や認証不要で攻撃成立

悪意あるファームウェアによる攻撃シナリオ

  • スピーカー内蔵マイクを用いた盗聴デバイス化
  • PC接続時、USB HID(ヒューマンインターフェースデバイス)としてキーボード動作も可能
    • HIDデバイスとしての機能は既に一部実装済み(Consumer Control)
    • ファームウェア改変でキーボード機能追加、任意のキー入力を実行
  • FreeRTOSのタスクを書き換え、起動時に自動でコマンド入力を実行するPoCを実装
    • 例:「echo pwned」と入力し実行
  • 実際の攻撃ではPowerShell起動や悪意あるコード実行も可能
  • ファームウェア更新機能を無効化すれば、復旧困難な状態に

Bluetooth常時有効・保護策の不備

  • スピーカーはスリープ中もBluetoothが常時有効
  • Bluetooth無効化オプションや物理的な制限手段が存在しない
  • ファームウェア書き換えに対する署名検証や高度な保護機構が皆無

Creativeへの報告と対応

  • Creative社への脆弱性報告は困難
    • セキュリティ専用の連絡先が存在しない
    • Webフォーム経由でも反応が遅く、SingCERT経由でようやく連絡がつく
  • Creativeからの最初の返答まで約2ヶ月を要した
  • 報告者視点では、ユーザーが自身のデバイスを自由に扱える一方、セキュリティ専門家としては保護策の欠如は重大な問題

まとめと推奨事項

  • Katana V2Xは現状、Bluetooth経由で誰でもファームウェア改ざんが可能な極めて危険な状態
  • マイク搭載・USB接続という特性上、盗聴やPC乗っ取り等のリスクが高い
  • 利用者はBluetoothを物理的に遮断する、または重要な環境では使用を控えることを推奨
  • メーカーにはファームウェア署名検証やBluetooth制御機能の実装が強く求められる

Hackerたちの意見

4営業日後に、ちょっとダラっとしたチャンネルの動画がYouTubeのトップページに出てくるのが待ちきれない!

でも、LinkedInで一番になって名声を手に入れることはできるよね。

YouTubeの履歴保存をオフにすると、ホームページが全く表示されなくなるって知ってた?

SingCERTからのメールで、ベンダーが「これは脆弱性とは考えない。サイバーセキュリティリスクはない」と言ってる。USBで接続された他人のデバイスに無線でカスタムファームウェアを書き込むのが、ペアリングなしでできるのに、これがセキュリティの脆弱性じゃないってさ。うん。

さらにそのデバイスを再プログラムしてPCをコントロールできるって、これは最高レベルの怠慢だよね。

「ただ文字を打たせるだけだし、リスクなんてないでしょ?」って言うけど、他の周辺機器メーカーもセキュリティチームがいないみたいで心配になるよね。こんな脆弱性が他にもたくさん待ってるんじゃないかな。うちの兄は、朝の2時に近所の子供たちが彼のBluetoothスピーカーに接続して、最大音量でおならの音をループさせて起こされたことがあるけど、それが悪意のあるBluetooth利用の氷山の一角に過ぎないんだよね。

ベンダーの反応が一番心配な部分だね。

そうだけど、もうそのデバイスは売っちゃったから、他の人の問題だね。もし彼らがサブスクリプション料金を払ってくれてたら…

このリスクに関する引用は、リスクの概念を完全に誤解してる気がする。まず脆弱性があって(個人的にはそれが危険に等しいと思う)、次に影響と確率を割り当てて、初めてリスクが出てくる。定義上、影響が低いか確率が低い脆弱性は常に存在すると思うし、だからリスクも低い。CVEにはスコアがあるけど、実際のリスクやそのリスクを受け入れるかどうかは、使用ケースによって決まる。リスクがないから脆弱性もないっていうのは、設計上の誤った考え方だと思う。脆弱性がないからリスクもない、これだけは同意できるかな。

マイクロソフトみたいだね: https://www.youtube.com/watch?v=9kxx5xp5nTQ

SingCERTがこの件を取り下げたから、怪しい会社が逃げようとするのは予想できるけど、国のサイバーセキュリティ機関がそうするとは思わない。

誰かがCreativeのショールームや販売イベント、CESに行って、全デバイスを「パッチ」したら、その答えはすぐに変わるよ。

クリエイティブラボについて過去に何を学んだかも覚えてないけど、クリエイティブラボが何かやらかすだろうなって思ってた。

おそらく、リストに入れるほどのリスクはないと思う。まず、誰かが実際にその場にいる必要があるし、次に、その人がUSBスピーカーを接続している必要があるから、たぶん家にいるってことだよね。さらに、もしそれがレストランとかだったら、まずはレストランの騒音が多い中で何も再生しないようにしないといけない。

ベンダーが脆弱性と考えなかったから、著者がサードパーティのパッチを公開しなきゃいけなかったってのは、あまり良い印象じゃないよね。

驚いてる?著者のハックは素晴らしいけど、誰かがターゲットにされれば影響は大きいかもしれない。でも全体的には影響はかなり小さい。ベンダーは気にしないだろうし。被害者になるには、そのデバイスを持ってて、攻撃者がそれを知ってて近くにいなきゃいけない。ファイトクラブの名言を覚えてる?A = フィールド内のスピーカーの数。B = ハッキングされる確率。C = 平均的な和解金。決定: リコールや修正をしないコストがリコールのコストより大きければ、リコールを開始する、みたいな(人々が将来のスピーカーを買わなくなるのが大きなコストだと思うけど、そうはならないと思う)。

音声チャンネルが保証されてるって、これめっちゃクールだよね!音声で情報を抜き出せるなんて!大好きだわ。どれくらい売れたのかな?クリエイティブの反応(「これは大丈夫」)から考えると、同じようなセキュリティモデルを持ってるデバイスが他にもたくさんありそうだね。怖いな。

それも面白いPoCになっただろうけど、最終的にやったBadUSBスタイルの攻撃よりもかなり複雑そうだね。マイクロフォンのサブシステムとどうやってやり取りするかを理解するために、もっとリバースエンジニアリングしなきゃいけなかったと思う。

ヘッドラインを読んだとき、Bluetoothを選択肢として考えもしなかった。すぐに音声での侵入を思いついたけど、それもめっちゃクールに聞こえる。でも、音声回路をどうやって設計してCPUに接続するかは全然想像できなかった。音声での情報流出は、20年前に作りたかった装置を思い出させる。窓にレーザーを当てて部屋の中を聞き取るやつ。バンが家の前に止まって、Bluetoothでスピーカーに悪意のあるコードを送り、スピーカーがホストから盗んだデータを叫び始める。それがレーザーで窓に振動を与えて、受信される。バン、暗号ウォレットが盗まれる、みたいな…これ、映画にできそうだね。

すごい研究だね。シェアしてくれてありがとう!

デバイスメーカー、特に長年やってるところでも、最初にデバイスを作って、ソフトウェアを後から考えるっていうのは結構よくあることだよね。セキュリティやソフトウェアのライフサイクル(パッチ、アップデート、変わりゆく環境)にあまり注意を払ってない。ブランドがランダムな小さな開発者にソフトウェアを外注して、その開発者が店を閉めたり、亡くなったり、そのビジネスから手を引いたりすると、デバイス会社はソースコードすら持ってなくて、デバイスを動かすソフトウェアを改善したり修正したりする能力もないってこともあったよ。これが次々とミドルウェアやUI、シムなどの層を生むんだ。

なんでそんな小さいことを考えるの?スピーカー自体が攻撃者として使われる可能性もあるよ。LLMを持ってるスクリプトキディなら、供給チェーンを通じて広がるワームを書けるかもしれないし、工場のフロアでスピーカーをハッキングしてリックロールの音楽を流すなんてこともあり得る。クリエイティブが「サイバーセキュリティリスクを呈さない」と主張し続けるかどうか、見てみたいね。編集:セキュリティホールを閉じて、通常の方法でファームウェアをフラッシュする能力を無効にするボーナスポイントもあるから、メーカーがスピーカーを修理するために脱獄しなきゃいけなくなる。

デバイスにフラッシュワームを入れてRMAすれば、バン!

どんなスクリプトキディでもLLMを使えば、サプライチェーンを通じて広がるワームを書けるかもしれないし、工場のフロアでスピーカーをハッキングしてリックロールの音楽を流すなんてこともできた。少なくとも昔はね。SOTAモデルはどんどん制限を厳しくして、古いモデルを廃止して、政府のIDを要求してる。

俺も逆アセンブルやったことあるけど、俺のはサウンドカードで、古いバージョンのソフトウェアを使ってるっぽかった(GUIが違った)。Wireshark使ってLEDやEQのパケットをキャッチして、hidapiライブラリを使ってCでCLIユーティリティを書いたよ。Bluetoothはないから、俺のはこんなことにはならないはず。Bluetoothに認証が全くないのはマジでヤバいよね。最近、俺のeスクーターも逆アセンブルしてるんだけど(まだ作業中)、アプリが操作するにはいろんな認証が必要だった。でも、そのセキュリティにはまだ自信がないな。

記事ではこれをUSB HIDキーボードとして攻撃を送るために使うことしか話してないけど、もっと時間をかけて悪意のあるファームウェアをゼロから作れば、もっといろんなことができるんじゃない?USBからBluetoothに情報をブリッジすることもできるし。

もし私がモサドを担当していたら、予算のかなりの部分を市場に出ているすべてのBluetoothデバイスを購入することに使うだろうね。そして、あまり仕事がないイスラエルのコンピュータサイエンスの卒業生たちを雇って、これらの脆弱性を見つけさせて、簡単に展開できるツールキットにまとめる。たとえば、イランの政府オフィスにアクセスできる資産が、建物内をスマホを持って歩き回り、できるだけ多くの機械を制御できるようにしたい。考えてみると、たぶん彼らは実際にこれをやってると思わなきゃいけないね…。