テレビのリモコンが盗聴器に

RSA Conference 2021で、ComcastのXfinity STBのリモコンを盗聴器に変えることが可能だという研究結果が発表されました。

日常的に使うものには、ある種の信頼感があります。たとえば、テレビのリモコン。これで会話を盗聴するとはなかなか想像できませんが、イスラエル企業Guardicoreでサイバーセキュリティを研究しているJ. J. レーマン(J. J. Lehman)氏とオフリ・ジフ(Ofri Ziv)氏は、テレビのリモコンを使った盗聴に成功し、その研究成果をRSA Conference 2021で発表しました。

リサーチャーたちはどのようにリモコンをハッキングしたのか

レーマン氏とジフ氏が調査対象としたのは、米国で広く使われているComcastのセットトップボックス「Xfinity X1」用のリモートコントローラー(リモコン)でした(英語記事)。両氏によると、利用者は1000万人を超えるとのことです。このリモコンは、音声コマンド対応のため、マイクロフォンと、かなり高性能なプロセッサーを搭載しています。

このデバイスには、2種類のデータ転送技術が実装されています。チャンネル切り替えのような単純操作には、標準的な赤外線送信機が使用されます。消費エネルギーが必要最低限なのでリモコンを頻繁に充電する必要がないという大きなメリットがあり、普通の電池で長期間使うことができます。

高速データ転送が必要な場合は、セットトップボックスとの間でデータを送受信できるように、無線インターフェイスが使用されます。この無線インターフェイスは消費電力が大きいので、必要なときにだけ使用されます。

このタイプのリモコンは、今どきのデバイスはだいたいそうですが、本質的に「インターネットに接続するコンピューター」です。つまり、ハッキングが可能なのです。

レーマン氏とジフ氏は、リモコンのファームウェアを(セットトップボックスのハードドライブに保存されているファームウェアコピーを使って)詳しく調査しました。その上で、ファームウェアがリモコンに対して「マイクをオンにして無線チャネル経由で音声を送れ」との指令を送るように、ファームウェアを改造する方法を発見しました。

ただし、ファームウェアの改造だけでは十分ではなく、改造ファームウェアをリモコンにアップロードする方法、できれば物理的に触らずにアップロードする方法が必要でした。レーマン氏とジフ氏は、セットトップボックスとリモコンがどのように通信し、ソフトウェアをアップデートするのかを調べました。

その結果、リモコン側からアップデートプロセスを開始しなければならないことが判明しました。リモコンは24時間に一度、セットトップボックスに問い合わせを行い、否定応答または肯定応答(新しいバージョンのソフトウェアのインストール提案)を受信します。後者だった場合には、リモコンがセットトップボックスからソフトウェアをダウンロードします。

また、リモコンとXfinityボックスの間の通信メカニズムに、重大な欠陥が複数見つかりました。1つ目は、リモコンがファームウェアの真正性を確認しないという欠陥です。そのためリモコンは、セットトップボックス(または、セットトップボックスになりすましているハッカーのコンピューター)が提示するファームウェアを何でもダウンロードしてインストールします。

2つ目は、セットトップボックスとリモコンの間で交わされる通信の問題です。やりとりされるのは暗号化されたメッセージですが、この暗号化が適切に行われていません。リモコンは、「encryption disabled」とマークされている平文のコマンドを受け容れて(さらに実行して)しまいます。リモコンからのリクエストの方は暗号化されていて解読できませんが、通信のメカニズムが分かりさえすれば、リモコンが要求している内容を推測し、正しい応答を返すことは可能です。

例えば、このような感じです。

「YdvJhd8w@a&hW*wy5TOxn3B*El06%D7?」
「はい、ダウンロード可能なファームウェア更新プログラムがあります」
「Cj@EDkjGL01L^NgW@Fryp1unc1GTZIYM.」
「ファイルを送信しています。受け取ってください」

3つ目は、リモコンとの通信を処理するファームウェアモジュールでエラーを引き起こし、モジュールを機能停止のうえ再起動させるのがかなり簡単にできてしまう点です。再起動するまでの間、リモコンへコマンドを送ることができるのは攻撃者だけとなります。

以上をまとめると、リモコンのハッキングには以下の操作が必要です。

  • リモコンからリクエストが送信されるのを待ち、リモコンがアップデートについて問い合わせるタイミングを推測する。
  • リモコンがアップデートの問い合わせを行った瞬間に、リモコンとの通信を担当しているセットトップボックスモジュールの機能を停止させる。
  • リモコンに肯定応答を送り、改造したファイルをアップロード用に送信する。

上記はすべて、実際に手を触れることなく、無線インターフェイス経由で行われます。

2人のリサーチャーは、24時間に一度ではなく、1分に一度アップデートの有無を問い合わせるように改造したファームウェアをリモコンにアップロードしました。このファームウェアは、特定の応答を受信すると、内蔵マイクをオンにして音声を攻撃者へ送信します。テストでは、比較的長距離の壁越しの通信という条件(家の外にある車の中から盗聴している想定)で盗聴に成功しています。

こうしたハッキングから身を守るには

私たちとしては、リモコンがハッキングされて盗聴器に改造されることを心配する必要はほとんどないと考えています。実現可能であることは証明されましたが、あまり実用的な攻撃方法ではありません。何らかの特別な人物を狙った標的型攻撃には向いているかもしれませんが、大きな規模で利用するには複雑で、時間がかかりすぎます。そうはいっても、万事用心したい方向けには以下の対策をお勧めします。

  • Xfinity セットトップボックスを使用している場合は、リモコンのファームウェアのバージョンを確認してください。レーマン氏とジフ氏からの報告を受け、Comcastはこの問題を解決するアップデートプログラムをリリースしています。
  • Comcast以外のメーカーのセットトップボックスや音声サポート機能付きのテレビ用リモコンも同じ原理で動作している可能性があり、似たような脆弱性があるかもしれません。したがって、リモコンファームウェアのアップデートがないかどうか定期的にチェックし、アップデートがリリースされたらインストールしましょう。アップデート関連のメニュー項目は、テレビまたはセットトップボックスのメニューの、Wi-FiやBluetoothの設定のあたりにある場合が多いです。
  • 音声コマンド対応のリモコンだけれども音声コマンドを使っていないのなら、リモコンを分解してマイクを物理的に外してしまう方法もあります。やりすぎ感はありますが、オプションの一つではあります。
  • このような変わったハッキングよりも、Wi-Fiネットワークに対する攻撃の方がはるかに可能性が高く、注意が必要です。Wi-Fiネットワークを安全に設定し、脆弱なIoTデバイスはすべてゲストネットワークへ移動しましょう。また、価値あるデータを守るために安全な接続の使用もお勧めします。
ヒント