あなたのスマートフォンが単なる一つのコンピュータではなく、非常に特殊で目に見えない市長がいる、活気ある都市であると想像してみてください。この市長とは、基地局との通信のみに特化した、常に稼働し続けている小さなコンピュータであるベースバンド・プロセッサです。スマートフォンのメイン画面やアプリ(「アプリケーション・プロセッサ」)がゲームや動画を処理している一方で、ベースバンドは電話を機能させ、位置情報を確認し、データを安全に保つために、ネットワークへと秘密をささやき続けています。それは複雑なプロトコルの言語を操り、絶えずチェックインを行い、認証を行い、セッションを確立しています。問題は、この市長が要塞の中に閉じ込められていることです。それは独自のオペレーティングシステムを実行し、厳格なセキュリティチェックによって保護されており、SIMカード(あなたのデジタルID)、セキュリティ・エンジン、信号プロセッサといった、スマートフォン内部の他の専門的な作業員たちと対話しています。このシステムは非常に隔離されており複雑であるため、セキュリティ研究者たちは、市長が騙されていないか、あるいは隠されたドアが存在しないかを覗き見ることに苦労してきました。彼らは、研究のために都市の偽物を作ろうと試みましたが、それらの偽物はまるで段ボールの切り抜きのようなものでした。遠くからは正しく見えますが、実際に通りを歩こうとすると崩れてしまうのです。全員のために刻まれる時計や、作業員たちが互いに会話する特定の方法を含めた環境全体を忠実に再現する方法がなかったため、研究者たちは接続の安全を守る深い、極めて重要なロジックをテストすることができませんでした。
ここで、推測することをやめ、完璧なタイムトラベル・レプリカの構築を開始した研究チームが登場します。彼らは自分たちの手法をunislopと呼んでいます。ベースバンドの隣人たちを近似するのではなく、彼らはSIMカード、セキュリティ・エンジン、信号プロセッサ、さらにはメインのスマートフォン・コンピュータに至るまで、あらゆるコンポーネントを現実世界と同じように振る舞うようモデル化することに決めました。彼らは、これらすべてのパーツが完璧な足並みで動作し、全く同じクロック・ティックを共有し、ベースバンドが何かを求めたときに、期待通りの応答がまさに期待した瞬間に得られるようなシステムを構築しました。彼らはこれを、推定10〜15%のセルラー・モデムや一部の車載システムに搭載されているUNISOC UDX710という特定のチップを用いてテストしました。開始にあたり、彼らは独自の修正コードを実行するために、デバイス自身のセキュリティを突破し、ファームウェアの完全性チェックを回避しなければなりませんでした。一度中に入ると、彼らは単に観察するだけでなく、実際のデバイスの各コンポーネントがどのように相互作用するかという詳細な地図を作り上げました。
その結果は、ベースバンドの「忠実な」リホスティング(再ホスティング)でした。彼らのシミュレーションにおいて、偽のベースバンドは単に接続を装うだけでなく、5Gのハンドシェイク全体を正常にナビゲートし、完全なデータセッションを確立し、実際のデバイスと同じように、本物のインターネット・トラフィックを内外に運び込みました。彼らは、自分たちのレプリカが物理的なハードウェアと全く同じ内部状態に到達したことを証明しました。これは大きな進展です。なぜなら、研究者が実物のスマートフォンや本物の基地局を近くに置くことなく、これらの複雑でロックされたシステムを、安全で制御された環境で研究できるようになったことを意味するからです。彼らは、ベースバンドを単独のプロセッサとしてではなく、同期されたオーケストラの一員として扱うことで、何かがうまくいかない時にベースバンドが奏でる音楽を、ようやく聴くことができるようになることを示しました。これは、私たちのつながれた世界の運用を守るロジックにおける脆弱性を見つけ出す扉を開くものであり、十分な忍耐と適切な時計さえあれば、最も厳重に守られたデジタル都市であっても探索可能であることを証明しています。
技術要約:「オペレーター、聞こえますか?」UNISOCベースバンドへの忠実なライン
問題提起
セルラー・ベースバンド・プロセッサは、スマートフォンから車載システムに至るまで、膨大なエコシステムの中に組み込まれた、常にオンであり無線通信が可能なコンピュータである。その最もセキュリティ的に重要なロジックは、複雑なプロトコル状態マシン(例:5G RRC、NAS、EAP-AKA′)の深部に存在しており、これらは特定のメッセージシーケンスによってスタックが受理状態に駆動された後にのみ活性化する。
このロジックを体系的に分析するには、ファームウェアをこれらの深い状態へと忠実に実行させる必要がある。しかし、既存のリホスティング手法(例:FirmWire、BaseBridge、Loris)は、実行環境を近似することに依存しているため、これに失敗している。SoCの詳細を抽象化したり、単一のタスクを隔離したりすることで、これらの手法はコンテキストを過小近似(ファームウェアが依存する機能を脱落させる)するか、あるいは過大近似(スケーラビリティに失敗する)してしまう。ベースバンドはスタンドアロンのプロセッサではない。それは、コプロセッサ(L2、DSP)、暗号エンジン、SIM、およびアプリケーションプロセッサ(AP)と継続的に相互作用している。これらのピア(周辺構成要素)の状態と振る舞いなしにファームウェアを再構築することは、必然的に、ファームウェアが関連するプロトコル表面に到達することを妨げることになる。
手法:unislop アプローチ
著者らは、UNISOCベースバンドの完全かつ忠実な実行を得るための5ステップの手法として unislop を提案している。その中核となる革新は、ピアおよびインターコネクト駆動のリホスティングであり、周囲のコンポーネントを近似するのではなく、共有クロック上でベースバンドと同期して実行されるよう具体的にモデル化することである。
この手法は以下の手順で進む:
ベースバンドのアンロック:
- チームは、プラットフォームのリバースエンジニアリングを通じて、UNISOC UDX710(Quectel RM500U-CNVモジュールに搭載)でのコード実行権限を獲得した。
- 彼らは、検証を担当するLinuxカーネルモジュールをパッチ適用することで、Quectelのファームウェア整合性保護をバイパスし、修正されたベースバンドイメージのロードを可能にした。
- ベースバンド・サブシステムをオーケストレートするために、アプリケーションプロセッサ(AP)上の足場を確立した。
インストルメンテーションとイントロスペクション(内省):
- 静的解析: ファームウェアを解析し、インストルメンテーションのためのコールサイトを特定した。
- 動的プロービング: メモリダンプ、値の表示、および実行時の変数変更を行うために、Cortex-R8ファームウェアにシェルコード・プローブとトランポリンを注入した。
- トレース・リカバリ: Quectelの診断ツール(Logel)をリバースエンジニアリングし、バイナリログからトレースポイント識別子をデコードすることで、実行中のスタックの高レベルな可視性を実現した。
- メモリ再獲得: 初期化テーブルをパッチ適用することで、インストルメンテーション・コードとトレーシング・データのために2 MB以上のメモリを回収した。
- インタラクティブ・デバッグ: イメージを再構築することなく、実行時の実験(メモリのpeek/poke、パケット注入)を可能にするため、ThreadX RTOSにインタラクティブなデバッグ・タスクを追加した。
周辺環境の再構築:
- インストルメント化されたデバイスと、制御された5Gテストベッド(SDR、srsRAN、open5gs)を用いて、著者らはすべてのSoCピアの実行時挙動を観察した。
- 彼らは、アプリケーションプロセッサ、NRPHYコプロセッサ、SIM、暗号エンジン、およびNVRAMの通信パターン(要求型 vs 非要求型)とインターフェース(DMA、リングバッファ、IRQ、MMIO、APDU)を特性化した。
- 決定的な点として、彼らはSIMを同期的なピア(APDU交換をブロッキングする)として、暗号エンジンをハードウェア加速されたMMIOインターフェースとしてモデル化しており、これらを抽象化して排除することはなかった。
決定論的なリホスティング:
- チームは、SoCインターコネクトを介してのみ相互作用するように制約された、Cortex-R8サブシステム用のQEMUマシンを構築した。
- 決定論: インストラクション・カウントに基づく仮想クロック(
icount モード)を実装し、タイマー駆動のプロトコル挙動(例:ガードタイマー)が、ホストのジッターに関わらず、全く同じ仮想時間で発生するようにした。
- 共エミュレーション・アーキテクチャ: オーケストレーターが、「進展/譲歩(advance/yield)」のクレジット・プロトコルに基づき、エミュレータとピアを厳密に駆動する。非同期ピア(AP、NRPHY)はティック境界でイベントを注入し、同期ピア(SIM、SEC)はティックが完了するまでブロックする。これにより、単一の制御スレッドが確保され、実行中の任意の時点での安全なコピーオンライト・スナップショットが可能になる。
自動モデル構築:
- 著者らは、仮説を提案し、それを実装し、同一の刺激に対して実機とのA/Bテストを行うという、エージェントベースのアプローチを用いて、ピアモデルを導出する手法を記述している。
主要な貢献
- UNISOCの初の体系的な分析: 本論文は、Quectelのファームウェア整合性保護のバイパスとUDX710プラットフォームのインストルメンテーションを含む、UNISOCベースバンドの初のセキュリティ分析を提示している。
- ピアおよびインターコネクト駆動のリホスティング: 著者らは、実機のイントロスペクションから、ファームウェアが依存するすべてのSoCコンポーネントを再構築する、決定論的なベースバンド・エミュレーションの設計原則を導入した。彼らは、エミュレーションが周囲のコンポーネントとの相互作用において、実機とインターSoC周辺機器インターフェースで一致する場合に「忠実である」と操作的に定義している。
- UDX710による検証: この手法はUDX710で検証されており、5Gハンドシェイク全体を実行し、完全なIPv4 PDUセッションを確立し、純正のイングレスおよびエグレスIPトラフィックを運ぶことが可能な、初のエミュレートされたベースバンドを実証している。
結果と忠実度の実証
著者らは、主に2つの実験を通じて、unislop の忠実度を経験的に検証している:
- 状態マシンの相関: NAS状態変化関数にプローブを注入することで、リホストを実機と比較した。両方の環境は、同じ状態から開始した場合、全く同じ手順の時点(post-SIB1、post-authenticationの後)で、同一のNAS 5GMMコントロールプレーン状態遷移(例:
MAIN [200:5->=1])を報告した。
- トラフィックの検証: リホストは完全なPDUセッションを確立することに成功した。インターコネクト・ダンプモジュールを使用して、著者らは以下を確認した:
- コントロールプレーン: 無線経由のRRCおよびNASペイロードは、実機と一致していた(非決定論的な暗号学的ノンスを除く)。
- データプレーン: NRPHYのリングバッファに注入されたIPパケットは、MAC、RLC、PDCPのフルスタックを通過してAPへと到達し、その逆も同様であった。PCAPキャプチャにおいて、バイト単位で一致するデータが観察された。
意義と主張
本論文は、unislop が、実行環境を近似するのではなく、具体的に再構築することによって、長年の課題であった高忠実度ベースバンド・エミュレーションを解決すると主張している。
- スケーラビリティ: 著者らは、回収されたコンポーネント(SIM、Crypto、NVRAM)がUNISOCのベースバンド製品ライン全体で共有されていると指摘している。ファームウェアイメージの静的な比較(例:UMS9620 対 UDX710)は、同一のバイナリ構造とパーティションレイアウトを示しており、この設計が最小限の適応で他のUNISOCターゲットにも拡張可能であることを示唆している。
- セキュリティ分析: 深いプロトコル状態マシンを実行可能にし、インターコネクト境界(NRPHY、AP)で任意のペイロードを注入できることにより、本手法は、これまで手の届かなかったセルラープロトコルの体系的なファジングとセキュリティ分析への道を開く。
- 限界: 現在の実装は5G NRのみを対象としている。LTE、3G、およびGSMのサポートは、対応する無線テストベッドの欠如と、異なるPHYコプロセッサのモデリングの必要性により制限されているが、著者らは、それらのテストベッドが利用可能になれば、本手法が直接適用できると断言している。
結論として、忠実なエミュレーションは、ファームウェアを単独で近似することによってではなく、実機のシリコンと同じクロックサイクルによって駆動される「周囲の状態」を忠実に再構築することによって達成可能である。
毎週最高の computer science 論文をお届け。
スタンフォード、ケンブリッジ、フランス科学アカデミーの研究者に信頼されています。
受信トレイを確認して登録を完了してください。
問題が発生しました。もう一度お試しください。
スパムなし、いつでも解除可能。
週刊ダイジェスト — 最新の研究をわかりやすく。登録