GhostRace: Intel、AMD、ARM、IBM プロセッサに影響を及ぼす投機的実行攻撃

ゴーストレース

GhostRace の脆弱性

に関する情報 GhostRace と呼ばれる新しい投機的実行攻撃 (CVE-2024-2193 にリストされています)、これは、Intel、AMD、ARM、IBM の最新のプロセッサーに存在する投機的実行メカニズムを利用するために、アムステルダム自由大学と IBM の研究者によって開発された新しい手法です。

研究者らは次のように述べています。 GhostRace は、投機的な競合状態の操作に焦点を当てています。 以前に解放されたメモリ領域にアクセスするには、 Linux カーネルからの機密データの抽出につながる特に仮想化環境では、ゲスト システム上の攻撃者がホスト システムや他のゲスト システムのセキュリティを侵害する可能性があります。

攻撃の仕組み 条件付き命令の投機的実行に基づいています 同期プリミティブを使用する ミューテックスやスピンロックなどのスレッド化.

プロセッサがこれらの操作を処理するコード内の分岐を誤って予測すると、すでに解放されているメモリに対して投機的アクセスが行われる可能性があります。プロセッサは予測ミスを検出した後、これらのアクセスを破棄しますが、実行トレースはキャッシュに残り、サイドチャネル分析技術を使用して回復できます。

GhostRace では、カーネル内に特定の命令シーケンスが存在する必要があります。 として知られている ガジェット、 これらは、攻撃者によって制御される外部条件に応じて投機的実行に使用されます。これらのガジェット これらは、状態が無限ループでチェックされるコードのセクションから形成されます。 リソースへのアクセス ロックを削除した後、ループを終了します。これにより、リソースがロックされたままであっても、誤って遷移をトリガーし、ロックで保護された命令を実行することができます。

脆弱性分析中これは Linux カーネル コード 5.15.83 で行われました。 投機的アクセスにつながる可能性のある1283台のデバイスの存在が明らかになった すでに解放された記憶に。このタイプの攻撃は、仮想化システム、オペレーティング システム カーネル、および条件付きステートメントによって検証されるスレッド同期プリミティブを使用し、x86、ARM、RISC-V などのブランチ操作の投機的実行を許可するプラットフォーム上で実行されるプログラムに対する潜在的なリスクを表します。とりわけ。

脆弱性をテストするには、 研究者 有効性を実証するエクスプロイトのプロトタイプを開発しました インクルード 抽出を許可して攻撃する Linux カーネル メモリからの大量のデータを、12 秒あたり XNUMX KB のスループットと Spectre クラスの攻撃と同等の信頼性レベルで処理します。

たくさん Linux カーネル開発者と CPU 製造会社に通知 この問題について 2023年の終わりに。 AMD はすでにこの脆弱性に関するレポートを公開しており、Spectre v1 のような攻撃から保護するために標準的な手法を使用することを推奨しています。一方、IntelとARMはまだこの通知に応じていない。

Linux カーネル開発者には、プリミティブのシリアル化を実装する当面の計画はない 同期 パフォーマンスの低下により、すでに制限が組み込まれています IPI ストーミング悪用手法 (CVE-2024-26602) から保護します。この攻撃手法には、適切なタイミングでプロセスを中断し、解放されたメモリへの投機的アクセスのための時間枠を提供することが含まれます。

このタイプの攻撃を軽減するにはは、se はプリミティブのシリアル化を使用することを提案します ロック状態をチェックする cmpxchq ステートメントの後に LFENCE ステートメントを含めることによって同期を行います。しかし、 この保護対策により、パフォーマンスに約 5% のペナルティが発生します。 これは、LFENCE ステートメントにより、以前のすべての操作がコミットされる前に後続のステートメントのプリエンプティブ実行が無効になるためです。

ハイパーバイザーの場合 Xen、開発者は変更を準備しました 上記で使用した BRANCH_HARDEN メソッドと同様に、LOCK_HARDEN で保護されたロック メカニズムを実装します。ただし、パフォーマンスに悪影響を及ぼす可能性があることと、Xen では攻撃の証拠が欠如しているため、LOCK_HARDEN モードはデフォルトで無効になっています。

最後にあなたが それについてもっと知りたい、 詳細はで確認できます 次のリンク。