CPUの投機的実行悪用した新しい脆弱性「GhostRace」発見
マイナビニュース2024年3月19日(火)8時49分
IBMはこのほど、「GhostRace: Exploiting and Mitigating Speculative Race Conditions - Syssec@IBM Research」において、投機的実行をサポートするマイクロプロセッサに新しい脆弱性を発見したと報じた。これは「Spectre v1」(CVE-2017-5753)として知られる脆弱性の亜種の一つとされ、「GhostRace」と呼ばれる。この脆弱性は「CVE-2024-2193」として追跡されており、悪用されるとCPUから任意のデータを取得可能とされる。
○脆弱性「GhostRace」の詳細
GhostRaceの詳細は論文で公開されている(参考:「(PDF) GhostRace: Exploiting and Mitigating Speculative Race Conditions」)。論文によると、GhostRaceの目的は競合のないクリティカル領域における推測的な競合状態の悪用により任意のカーネルデータを取得することにあるとされる。
投機的実行(Speculative Execution)は分岐処理の先の命令をあらかじめ処理し、分岐後にその処理を継続することで高速化する技法。分岐後に不要となった処理は破棄(無視)される。Spectre v1ではこの投機的実行の脆弱性を悪用する。
競合状態は2つ以上のプロセスが1つの共有リソースを奪い合う状態を指す。この競合状態は適切に解消する必要があり、一般的なオペレーティングシステムではミューテックスやスピンロックなどの同期制御の仕組みが提供される。
GhostRaceは投機的実行の脆弱性(Spectre v1)を使用することで競合状態を解決する同期制御をバイパスし、競合状態のないクリティカル領域を投機的競合状態(SRCs: Speculative Race Conditions)に変化させ、カーネルデータへのアクセスを可能にする。論文ではこの脆弱性の深刻度を確認するため、解放後使用を伴う投機的実行(SCUAF: Speculative Concurrent Use-After-Free)に注目して実験している。実験の結果、研究者たちはカーネルメモリを12KB/sで取得することに成功している。
○回避策
研究者たちは今回の実証実験にLinuxを使用している。そのため、この攻撃の回避策としてLinuxの同期制御における対策方法(投機的実行の防止)を紹介している。この対策は、CPUアーキテクチャから見たときのSpectre v1への対策と同じとされる。
この問題は2023年後半に主要なハードウェアベンダー(Intel、AMD、ARM、IBM)に報告されており、すべてのベンダーが問題の存在を認めたとされる。しかしながら、CPUアーキテクチャ上の対策方法はSpectre v1と同じであることから、CPUベンダーによる追加の対策はないと考えられる。
そのため、研究者たちが示したとおりオペレーティングシステム側で回避策を実装することになるが、Linuxの開発者はパフォーマンスの低下を懸念して別の対策を取り入れている。研究者はこの対策について「攻撃対象領域を完全に閉じるには不十分」と述べており、攻撃を完全に防ぐことはできないとみられている。
○脆弱性「GhostRace」の詳細
GhostRaceの詳細は論文で公開されている(参考:「(PDF) GhostRace: Exploiting and Mitigating Speculative Race Conditions」)。論文によると、GhostRaceの目的は競合のないクリティカル領域における推測的な競合状態の悪用により任意のカーネルデータを取得することにあるとされる。
投機的実行(Speculative Execution)は分岐処理の先の命令をあらかじめ処理し、分岐後にその処理を継続することで高速化する技法。分岐後に不要となった処理は破棄(無視)される。Spectre v1ではこの投機的実行の脆弱性を悪用する。
競合状態は2つ以上のプロセスが1つの共有リソースを奪い合う状態を指す。この競合状態は適切に解消する必要があり、一般的なオペレーティングシステムではミューテックスやスピンロックなどの同期制御の仕組みが提供される。
GhostRaceは投機的実行の脆弱性(Spectre v1)を使用することで競合状態を解決する同期制御をバイパスし、競合状態のないクリティカル領域を投機的競合状態(SRCs: Speculative Race Conditions)に変化させ、カーネルデータへのアクセスを可能にする。論文ではこの脆弱性の深刻度を確認するため、解放後使用を伴う投機的実行(SCUAF: Speculative Concurrent Use-After-Free)に注目して実験している。実験の結果、研究者たちはカーネルメモリを12KB/sで取得することに成功している。
○回避策
研究者たちは今回の実証実験にLinuxを使用している。そのため、この攻撃の回避策としてLinuxの同期制御における対策方法(投機的実行の防止)を紹介している。この対策は、CPUアーキテクチャから見たときのSpectre v1への対策と同じとされる。
この問題は2023年後半に主要なハードウェアベンダー(Intel、AMD、ARM、IBM)に報告されており、すべてのベンダーが問題の存在を認めたとされる。しかしながら、CPUアーキテクチャ上の対策方法はSpectre v1と同じであることから、CPUベンダーによる追加の対策はないと考えられる。
そのため、研究者たちが示したとおりオペレーティングシステム側で回避策を実装することになるが、Linuxの開発者はパフォーマンスの低下を懸念して別の対策を取り入れている。研究者はこの対策について「攻撃対象領域を完全に閉じるには不十分」と述べており、攻撃を完全に防ぐことはできないとみられている。
「脆弱性」をもっと詳しく
「脆弱性」のニュース
-
脆弱性管理クラウド「yamory」、組み込みソフトウェア向けSBOM機能をアップデート5月20日12時16分
-
IssueHunt株式会社、「ヌーラボ社が実践する、バグバウンティとVDP(脆弱性開示プログラム)の活用戦略 大解剖ウェビナー」の見逃し配信を5月29日に開催決定5月20日10時46分
-
99%のインシデント要因とされるユーザ不備による脆弱性を検出運用型のCSPMとしては国内初、OCI (Oracle Cloud Infrastructure)セキュリティ診断機能の提供を開始5月18日10時16分
-
Adobe AcrobatおよびAcrobat Readerに緊急の脆弱性、アップデートを5月17日7時33分
-
マイクロソフト、5月セキュリティ更新プログラムの公開 - 60件の脆弱性修正5月16日18時24分
-
エンジニアと修行僧の出会いが生んだ脆弱性管理ソリューション「FutureVuls」—お客様とのコミュニケーションで進化し続け、日本企業全体のセキュリティ向上に貢献5月16日11時0分
-
SecurityScorecard最新調査:攻撃者はサードパーティの脆弱性を悪用してランサムウェア攻撃のステルス性、スピード、インパクトを最大化5月16日10時0分
-
D-Link製Wi-Fi 6ルータにゼロデイの重要な脆弱性、確認を5月16日8時15分
-
Windowsにゼロデイの特権昇格の脆弱性、悪用確認済み - すぐに更新を5月16日7時31分
-
Microsoft、2024年5月の月例更新 - 60件の脆弱性への対応が行われる5月15日17時14分