概要:安価なスマートウォッチの脆弱性発覚
セキュリティ研究者らは、安価なJieLiベースのスマートウォッチからファームウェアを抽出することに成功しました。この成果は、ディスプレイのピクセルを通じて機密データを送信する、2000年代のあまり知られていない攻撃手法を復活させたことによって達成されました。この斬新なアプローチは、数十年前の「ブリンケンライツ」という手法に基づいており、安価なスマートウォッチメーカーが適切な検証チェックなしにメモリアクセスや画面レンダリングを処理する際の重大な脆弱性を浮き彫りにしています。
研究チームは2024年12月に地元の小売店で3台の不審な11.99ユーロのスマートウォッチを購入したことから調査を開始しました。これらのデバイスには、詐欺的な安価なデバイスによく見られる明らかな品質の赤信号が見られました。分解したところ、血圧や睡眠追跡機能として宣伝されていた健康センサーは、実際にはフレキシブルPCBにはんだ付けされた単なるLEDであり、機能的なセンサーではないことが判明しました。この発見がデバイスの内部構造に関する詳細な調査を促し、最終的に重要なファームウェア抽出の脆弱性の発見につながりました。スマートウォッチのシステムオンチップ(SoC)はJieLi AC6958C6プロセッサとして識別されましたが、当初は独自のツールなしではファームウェアの抽出が困難と思われました。
「ブリンケンライツ」手法の復活と適用
様々なDIYアプローチを試み、公式のJieLiプログラマーを待つ長い時間を経た後、研究者らはダイヤルイメージのオフセットをファジングしている際に、異なる突破口を見つけました。彼らは、ファームウェアのパーサーが指定されたメモリオフセットが境界内にあるかを検証せず、任意のSoCメモリアドレスからのデータを画像ピクセルデータとして直接ディスプレイにコピーしていることに気づきました。この発見が、「ブリンケンライツ」手法の適用を引き起こしました。
「ブリンケンライツ」は、2000年代にネットワークデバイスからLEDの点滅パターンを分析してデータを抽出するために使用された古典的な攻撃手法です。今回のケースでは、LEDの代わりに、研究者らはスマートウォッチのTFTスクリーンコントローラー(NV3030Bデバイス)を悪用し、メモリの内容を可視ピクセルとして送信しました。この攻撃は技術的に困難であり、ピクセル状態を撮影するための高度な光学キャプチャ機器、またはスクリーンコントローラーの通信ラインを直接傍受するかのいずれかを必要としました。チームは2つの並行アプローチを追求しました。Thomas Cougnard氏は特殊なイメージング機器を通じて表示されるピクセルをキャプチャすることで光学的データ復旧を試み、その共同研究者であるDamien氏はスクリーンデータラインに接続されたロジックアナライザーを使用して電子的傍受を選択しました。
スマートウォッチにおけるセキュリティの欠陥
100メガサンプル/秒の能力を持つRaspberry Pi Picoベースのアナライザーにアップグレードすることで、TFTスクリーンコマンドのデコードに成功し、NV3030Bコントローラーへのデータ送信を監視することでファームウェアの抽出が可能になりました。この脆弱性は、スマートウォッチのファームウェア設計における重大な欠陥を浮き彫りにしています。それは、画像オフセット値に対する境界チェックの欠如と、すべてのメモリ領域がディスプレイに送信しても安全であるという誤った仮定です。
このアーキテクチャ上の見落としは、TFTスクリーン通信プロトコルの予測可能な性質と相まって、一見すると密閉された消費者向けデバイスにおいて、予期せぬ効果的な攻撃表面を作り出しました。この研究は、安価なハードウェアメーカーが重要なセキュリティ検証をしばしば省略し、その結果、数十年前の攻撃手法が依然として有効な脅威となり得る状況を生み出していることを強調しています。当初、標準の8メガサンプル/秒のアナライザーでは、スクリーン通信を支配する25MHzのクロック速度には不十分であることが判明していました。
