研究者らが2000年代の「ブリンケンライト」手法を復活させ、画面ピクセル経由でスマートウォッチのファームウェアを抽出

セキュリティ研究者らは、ディスプレイのピクセルを通じて機密データを送信する、2000年代のあまり知られていない攻撃手法を復活させることで、安価なJieLiベースのスマートウォッチからファームウェアの抽出に成功しました。

この新しいアプローチは、数十年前の「ブリンケンライト(blinkenlights)」手法を発展させたものであり、低価格スマートウォッチメーカーが、適切な検証チェックを行わずにメモリアクセスと画面描画を処理していることに起因する重大な脆弱性を示しています。

この研究は、チームが2024年12月に地元の小売店で3台の怪しげな11.99ユーロのスマートウォッチを購入したことから始まりました。これらのデバイスには、典型的な詐欺的低価格デバイスに見られる明らかな品質上の問題が見受けられました。

分解の結果、彼らは発見しました。血圧測定や睡眠トラッキング機能として宣伝されていたヘルスセンサーは、実際にはフレキシブルPCBに半田付けされたLEDに過ぎず、まったくセンサーとして機能していないことが判明したのです。

この発見をきっかけに、デバイス内部のより深い調査が行われ、最終的に重大なファームウェア抽出の脆弱性が明らかになりました。

Image
本当にセンサー?フレキシブルPCBに半田付けされたLEDにしか見えない…

スマートウォッチのシステムオンチップ(SoC)はJieLi AC6958C6プロセッサであることが判明しましたが、当初は専用ツールなしでファームウェアを抽出するのは困難に思われました。

ブリンケンライト手法

さまざまな自作アプローチを試み、公式のJieLiプログラマの入手に長い待ち時間が発生していた中で、研究者らは文字盤画像オフセットのファジングを行う過程で別の道を見出しました。

彼らは、ファームウェアパーサが指定されたメモリオフセットが境界内に収まっているかどうかを検証しておらず、SoCの任意のメモリアドレスからデータを無造作にコピーし、そのまま画像ピクセルデータとしてディスプレイに送っていることに気付きました。

この発見を受けて、「ブリンケンライト」手法が適用されました。これはもともと2000年代に、LEDの点滅パターンを解析してネットワーク機器からデータを抽出するために使われた古典的な攻撃手法です。

E1はBluetooth仕様で定義されている関数であり、レガシー認証アルゴリズムとして使用されています。

Image
E1に基づくBluetoothのレガシー認証メカニズム

今回のケースでは、LEDではなく、研究者らはスマートウォッチのTFTスクリーンコントローラであるNV3030Bデバイスを悪用し、メモリ内容を可視ピクセルとして送信させました。

この攻撃は技術的に困難であり、ピクセル状態を撮影するための高度な光学キャプチャ装置、もしくはスクリーンコントローラの通信ラインを直接傍受する必要がありました。

チームは2つのアプローチを並行して進めました。トマ・クーニャールは、特殊な撮像装置を用いて表示ピクセルを撮影し、光学的にデータを復元しようと試み、一方で共同研究者のダミアンは、スクリーンのデータラインにロジックアナライザを接続して電子的な傍受を選択しました。

IoTの世界が、ますます安価な接続デバイスによって拡大する中、この事例は、入力検証の徹底と安全なファームウェアアーキテクチャの重要性を示しています。これらが欠如すると、ディスプレイ出力のような物理的サイドチャネルを通じた不正なメモリアクセスやデータ流出を招きかねません。

スマートウォッチのセキュリティ欠陥

チームは、毎秒100メガサンプルに対応したRaspberry Pi Picoベースのアナライザへとアップグレードし、TFTスクリーンコマンドのデコードに成功しました。これにより、NV3030Bコントローラへのデータ送信を監視することでファームウェアを抽出できるようになりました。

この脆弱性は、スマートウォッチのファームウェア設計における重大な欠陥を浮き彫りにしています。すなわち、画像オフセット値に対する境界チェックが行われておらず、すべてのメモリ領域がディスプレイに送信しても安全であると安易に仮定していた点です。

このアーキテクチャ上の見落としと、TFTスクリーン通信プロトコルの予測しやすさが相まって、一見密閉されたコンシューマーデバイスに、思いもよらない効果的な攻撃面を生み出していました。

この研究は、低価格ハードウェアメーカーがしばしば重要なセキュリティ検証を省略しており、その結果として、数十年前の攻撃手法が依然として有効な脅威となり得る状況を生み出していることを強調しています。

当初、標準的な毎秒8メガサンプルのアナライザを用いた試みは、画面通信を制御する25 MHzのクロックスピードに対して不十分であることが判明しました。

翻訳元: https://gbhackers.com/smartwatch-firmware/

ソース: gbhackers.com