セキュリティ研究者たちが、タスク実行のタイミングを分析するだけでミッションクリティカルなインフラ内の個々のコンポーネントの動作状態を特定できる、「NosyNeighbor」と名付けられた新種のサイドチャネル攻撃を考案しました。実験による評価の中で、この高度な手法は一般的な防御機構を突破し、73%という驚異的な精度でアクティブなソフトウェアプロセスを特定することに成功しています。
孤立したリアルタイムアーキテクチャを標的に
NosyNeighborアタックはリアルタイムオペレーティングシステム(RTOS)を狙う目的で設計されており、わずか数ミリ秒の遅延が壊滅的な物理的障害を引き起こしかねない、アビオニクス(航空電子機器)、心臓ペースメーカー、自動車のブレーキ制御システムといった領域に組み込まれた環境を脅かします。
今回の調査では、異なるアプリケーションコンポーネントが厳密に分離されたパーティション内で実行される、パーティション分割型ソフトウェアアーキテクチャに主眼が置かれています。この設計パラダイムの下では、各パーティションが個別のサブタスクを担い、あらかじめ割り当てられた変更不可能な時間枠内で処理を終える必要があります。
多様なサードパーティベンダーのハードウェアおよびソフトウェアコンポーネントを統合する際、業界標準ではこのモジュール式フレームワークが広く採用されています。例えば、最新の航空機プラットフォームでは、エンジン管理、フライト制御、ナビゲーション、機内エンターテインメントといった機能が、共有のハードウェアアーキテクチャ上で動作する分離パーティション内に統合されている場合があります。
直接アクセスなしにタイミングのサイドチャネルを悪用
重要な点として、論理的な分離があっても、微妙な情報漏洩を完全には防げません。NosyNeighborアタックは、隣接するコンポーネントのメモリ空間を直接改ざんしたり読み取ったりすることはせず、代わりに間接的な動作テレメトリを観察します。実行時のマイクロ単位の遅延を測定することで、この攻撃は隣接パーティション内でどのタスクがアクティブになっているかを正確に推測します。
NosyNeighborアタックの詳細を記したACMの研究論文によると、こうして得られた情報により、悪意あるコンポーネントは動的に自身の挙動を調整できるようになります。この攻撃は標的システムの内部モデルを継続的に更新し、攻撃を仕掛ける最適なタイミングを計算し続けます。その結果、タスクスケジュールにわずかなランダムジッターを加えるといった従来型の防御策では、この攻撃を確実に防ぐことができません。
組み込みセキュリティおよび防衛分野への影響
研究室環境における通常の動作条件下では、この攻撃はおよそ73%の確率でアクティブなタスクを正しく特定しました。研究者らは、この精度は壊滅的な攻撃を成立させるのに十分すぎるほどだと主張しています。攻撃者は継続的な制御を必要とせず、重要な局面で単一の重要機能を乗っ取る、あるいは妨害するだけで事足ります。例えば自動車の文脈では、侵害された非クリティカルなパーティションがブレーキ制御モジュールの作動タイミングを検知し、車両が交通量の多い交差点に差し掛かった瞬間を狙って標的型の妨害を仕掛けることも考えられます。
重要なのは、研究者たちがNosyNeighborアタックを開発した目的が、無秩序な悪用を助長することではなく、既存の組み込みシステムの防御機構を厳密に評価することにあった点です。今回得られた知見は、実行タイミングを覆い隠し、隣接パーティションから見えなくするハードウェアおよびソフトウェアの仕組みを設計する上で役立つでしょう。最終的に、この研究はソフトウェアによる分離だけでは絶対的な安全性を保証できないことを浮き彫りにしています。微妙なサイドチャネルのタイミング信号が、依然として重要な運用上の秘密を露呈させ続けているからです。
翻訳元: https://meterpreter.org/nosyneighbor-attack-real-time-systems/