萌えハッカーニュースリーダー

2025/05/13 22:47 New Intel CPU Flaw Bypasses Spectre v2 Defenses to Leak Kernel Memory

出典: https://cyberinsider.com/new-intel-cpu-flaw-bypasses-spectre-v2-defenses-to-leak-kernel-memory/
hakase
博士

ロボ子、大変なのじゃ!ETH Zurichの研究者が、全ての現代的なIntel CPUに影響を与える新たな脆弱性「Branch Privilege Injection (BPI)」を発見したらしいぞ!

roboko
ロボ子

BPIですか、博士。それはSpectre v2攻撃に対するハードウェア防御を弱体化させるものだと聞きましたが、詳しく教えていただけますか?

hakase
博士

ふむ、BPIは分岐予測器の更新における競合状態を悪用して、ユーザー空間から特権的な予測を注入するらしいのじゃ。完全にパッチが適用されたLinuxシステム上でも、機密カーネルデータを漏洩させることができるみたいだぞ。

roboko
ロボ子

それは深刻ですね。この脆弱性は、Intelの分岐予測ユニット(BPU)内の非同期操作から生じる「Branch Predictor Race Conditions (BPRC)」に起因するとのことですが、具体的にどのような仕組みなのでしょうか?

hakase
博士

BPRCは、分岐予測器の更新中に特権ドメインの追跡がずれることを可能にするのじゃ。これにより、広く展開されているSpectre v2の緩和策であるenhanced Indirect Branch Restricted Speculation (eIBRS)による保護を効果的に覆すことができるらしい。

roboko
ロボ子

なるほど。攻撃者はタイミングのずれを利用して、特権レベルが上がった状態で分岐ターゲットバッファ(BTB)に予測を挿入できるのですね。

hakase
博士

そうじゃ!BPRCには3つの主要なバリアントがあるらしいぞ。ユーザーモードからカーネルへの分岐予測の注入 (BPRCU→K)、ゲストVMからハイパーバイザーへの移行 (BPRCG→H)、そして高コストな投機的バリアであるIndirect Branch Prediction Barrier (IBPB)のバイパス (BPRCIBPB)じゃ。

roboko
ロボ子

BPRCU→Kを利用してBPIを作成したとのことですが、具体的にどのような攻撃手法なのでしょうか?

hakase
博士

BPIを使うと、特権のない攻撃者がカーネル空間で任意のメモリにアクセスする投機的実行パスを誘導できるのじゃ!ETH Zurichのチームは、IntelのRaptor Coveマイクロアーキテクチャで完全に動作するエクスプロイトでBPIを検証し、99.8%の精度で5.6 KiB/sのリーク速度を達成したらしいぞ。

roboko
ロボ子

それは驚異的な速度ですね。しかも、eIBRS、AutoIBRS、BHI_DIS_Sなどの最新の防御策が有効な場合でも機能するというのは、非常に深刻です。

hakase
博士

じゃろ?Linuxの/etc/shadowファイルからrootパスワードハッシュをリークするエンドツーエンドの概念実証エクスプロイトも作成されたみたいじゃ。Kernel Address Space Layout Randomization (KASLR)をバイパスして、メモリ内のページキャッシュされたshadowファイルを特定し、投機的実行を使用してそれを取得するらしいぞ(すべて特権のないユーザーコンテキストから)。

roboko
ロボ子

エクスプロイトの実行時間は中央値で21秒、完全なハッシュを取得する成功率は90.7%、6バイト以下のエラーを含むリークは97.9%とのことですから、実用的な脅威となりえますね。

hakase
博士

そうなんじゃ。この脆弱性は、Alder Lake、Raptor Lake、Sapphire Rapids、Skylakeなど、eIBRSをサポートするすべてのIntel CPUに影響を与えるらしい。ただし、AMDとARMプロセッサはテストの結果、同じ脆弱性パターンを示さなかったみたいじゃ。

roboko
ロボ子

研究者らは2024年9月にIntelに問題を報告し、Intelは脆弱性CVE-2024-45332を割り当てたとのことです。Intelはマイクロコードアップデートを開発し、研究の一環として評価したそうですね。

hakase
博士

そうじゃ。このアップデートは、比較的低いパフォーマンスへの影響(lmbenchテストで最大2.7%)で脆弱性を軽減するらしいぞ。

roboko
ロボ子

BPIおよびより広範なBPRCの脆弱性から防御するために、研究者らは2つの主要な戦略を提案していますね。RetpolineとRRSBA_DIS_S投機制御を組み合わせて脆弱な間接分岐を排除する方法と、IPRED_DIS_S制御を使用してスーパーバイザーモードでの間接分岐予測を無効にする方法ですね。

hakase
博士

前者は一部のベンチマークで最大8.3%のパフォーマンスオーバーヘッドが発生するけど、後者はUnixBenchでわずか1.7%のオーバーヘッドで、間接分岐ターゲットでの投機的実行を効果的に停止できるらしいぞ。

roboko
ロボ子

ソフトウェアによる緩和策は部分的な保護を提供するものの、マイクロコードアップデートが堅牢な修正に不可欠であるとのことですから、ユーザーとシステム管理者は、Intelから利用可能なファームウェアアップデートが利用可能になり次第、適用することが推奨されますね。

hakase
博士

その通りじゃ!しかし、この脆弱性の名前、BPIって、なんだか美味しそうな名前じゃな。ブランチパイ味のCPUとか、ちょっと食べてみたいかも…って、冗談じゃぞ!

roboko
ロボ子

博士、冗談はさておき、アップデートの適用を忘れないようにしましょうね。でないと、パスワードが全部漏洩しちゃいますよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search