New GPUBreach attack enables system takeover via GPU rowhammer

GPUBreachと名付けられた新しい攻撃は、GPU GDDR6メモリ上のRowhammerビットフリップを誘発し、特権をエスカレートさせ、完全なシステム侵害につながる可能性がある。

GPUBreachはトロント大学の研究チームによって開発され、その詳細は4月13日にオークランドで開催されるIEEE Symposium on Security & Privacyで発表される。

研究者らは、GDDR6のRowhammerによるビット反転がGPUページテーブル(PTE)を破損し、特権を持たないCUDAカーネルに任意のGPUメモリの読み取り/書き込みアクセスを許可できることを実証した。

Wiz

攻撃者は、NVIDIAドライバのメモリ安全性バグを悪用することで、これをCPU側のエスカレーションに連鎖させ、Input-Output Memory Management Unit (IOMMU)保護を無効にすることなく、システムの完全な侵害につながる可能性があります。

GPUBreach attack steps
GPUBreach 攻撃のステップ
ソーストロント大学

IOMMU は直接メモリ攻撃から保護するハードウェア・ユニットです。各デバイスがどのメモリ領域にアクセスできるかを管理することで、デバイスがメモリにアクセスする方法を制御・制限する。

ほとんどのダイレクトメモリアクセス(DMA)攻撃に対して効果的な対策であるにもかかわらず、IOMMUはGPUBreachを止められない。

「GPUBreachは、GPU Rowhammer攻撃がデータ破損を越えて、本当の権限昇格に移行できることを示しています」と研究者は説明する

“GPUページテーブルを破損することで、非特権CUDAカーネルは任意のGPUメモリの読み書きを得ることができ、その後、NVIDIAドライバで新たに発見されたメモリ安全性のバグを悪用することで、CPU側のエスカレーションにその能力を連鎖させることができます。” 研究者は説明する。

“その結果、現代的な作品とは異なり、IOMMUを無効にすることなく、rootシェルまでシステム全体が侵害され、GPUBreachはより強力な脅威となる。”

Overview of how GPUBreach works
GPUBreachの仕組みの概要
出典:GPUBreach:トロント大学

同じ研究者が以前GPUHammerを実演し、GPUに対するRowhammer攻撃が実用的であることを示した最初の攻撃であったため、NVIDIAはユーザーに警告を発し、GDDR6メモリに対するこのような試みをブロックするためにシステムレベルのエラー訂正コードを有効化するよう提案した。

しかし、GPUBreachはこの脅威を次のレベルに引き上げ、IOMMUを有効にしてデータを破損するだけでなく、root権限を取得することも可能であることを示している。

研究者らは、GDDR6を搭載したNVIDIA RTX A6000 GPUで結果を例証した。このモデルは、AIの開発やトレーニングのワークロードで広く使用されています。

Comparison to other attacks
他のGPU攻撃との比較
ソースはこちら:トロント大学

情報公開と対策

トロント大学の研究者は、2025年11月11日にNVIDIA、Google、AWS、Microsoftに調査結果を報告した。

Googleはこの報告を認め、研究者に600ドルのバグ報奨金を授与した。

NVIDIAは、新たに発見された攻撃の可能性を含めるために、2025年7月からの既存のセキュリティ通知を更新する可能性があると述べた。

研究者が実証したように、GPU制御メモリが信頼されたドライバの状態を破損する可能性がある場合、IOMMUだけでは不十分であるため、危険にさらされているユーザーは、このセキュリティ対策だけに依存すべきではありません。

ECC(Error Correcting Code)メモリは、1ビットの反転を修正し、2ビットの反転を検出するのに役立つが、複数ビットの反転に対しては信頼できない。

結局のところ、研究者らは、ECCを搭載していないコンシューマー向けGPUでは、GPUBreachはまったく無視できるものであることを強調した。

研究者らは、技術論文や再現パッケージとスクリプトを含むGitHubリポジトリなど、研究の全詳細を4月13日に発表する予定である。

NVIDIAは、企業顧客の環境では、Rowhammerスタイルの攻撃を防ぐためにシステムレベルのエラー訂正コードを有効にすることを推奨すると述べている。これは、HopperおよびBlackwell Data CenterクラスのGPUではデフォルトで有効になっている。

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}

.ia_button {
width: 100%;
margin: 0px auto;
}
}

自動ペンテストは6面のうち1面のみをカバーする。

自動ペンテストは、パスの存在を証明する。BASは、あなたのコントロールがそれを止めるかどうかを証明します。ほとんどのチームは、一方を実行し、もう一方を実行しない。

このホワイトペーパーは、6つの検証サーフェスをマッピングし、どこでカバーが終了するかを示し、実務者にあらゆるツール評価のための3つの診断質問を提供します。