GPUBreach:新しいRowHammer攻撃がGPUを標的とし、権限昇格とシステム侵害の可能性をもたらす
高性能GPUを標的とした一連のRowHammer攻撃が新たに発見され、「GPUBreach」、「GDDRHammer」、「GeForge」と名付けられました。これらの攻撃は、GPUメモリ管理の脆弱性を悪用することで、権限昇格や攻撃者によるホストシステム全体の制御を可能にする可能性があります。

### GPUBreach:詳細な分析
**GPUBreach**攻撃は、従来の**GPUHammer**研究を超え、GPUメモリにおけるRowHammerビットフリップが単なるデータ破損以上の結果をもたらすことを実証しています。研究者たちは、これが権限昇格、さらにはシステム全体の侵害につながる可能性があることを証明しました。
トロント大学のアシスタントプロフェッサーであり、本研究の著者の一人であるGururaj Saileshwar氏は、「GDDR6ビットフリップを介してGPUページテーブルを破損させることにより、権限のないプロセスが任意のGPUメモリ読み書き権限を取得し、それを**NVIDIA**ドライバーのメモリ安全性バグを悪用して、CPUの完全な権限昇格(ルートシェルを起動)に繋げることができます。」と述べています。
GPUBreachが際立っている点は、入力/出力メモリ管理ユニット(**IOMMU**)が有効な状態でも機能することです。IOMMUは、Direct Memory Access (DMA) 攻撃を防ぎ、ペリフェラルを独自のメモリ空間に分離するように設計された重要なハードウェアコンポーネントです。
Saileshwar氏は、「GPUBreachは、それが十分ではないことを示しています。IOMMUで許可されたバッファ内の信頼されたドライバー状態を破損させることで、カーネルレベルの境界外書き込みをトリガーし、IOMMUを無効にする必要なく、IOMMU保護を完全に回避します。これは、クラウドAIインフラストラクチャ、マルチテナントGPU展開、およびHPC環境に深刻な影響を与えます。」と説明しています。
### RowHammerの理解
RowHammerは、広く知られているDynamic Random-Access Memory (DRAM) の信頼性問題です。メモリ行への繰り返しアクセスは、電気的干渉を引き起こし、隣接する行のビットをフリップさせ、現代のオペレーティングシステムやサンドボックスの基盤となる分離保証を損なう可能性があります。
DRAMメーカーは、RowHammer攻撃に対抗するために、Error-Correcting Code (ECC) や Target Row Refresh (TRR) といったハードウェアレベルの緩和策を実装しています。
### GPUHammerの前例
2025年7月にトロント大学から発表された研究は、**GPUHammer**として、RowHammerの脅威をGPUにまで拡張しました。この攻撃はGDDR6メモリを使用する**NVIDIA** GPUを標的とし、以前はGPUをビットフリップに対して無敵にしていたアーキテクチャ上の課題を克服するために、マルチスレッド並列ハンマーイングなどの技術を利用しています。
成功したGPUHammerエクスプロイトは、機械学習(ML)モデルの精度を大幅に低下させ、最大80%まで低下させる可能性があります。
### GPUBreachの影響
GPUBreachはGPUHammerを基盤とし、RowHammerを使用してGPUページテーブルを破損させることで権限昇格を達成し、GPUメモリへの任意の読み書きアクセスを可能にします。さらに憂慮すべきは、この攻撃が**NVIDIA cuPQC**から秘密の暗号鍵を漏洩させ、モデル精度低下攻撃を段階的に実行し、IOMMUが有効な状態でもCPU権限昇格を達成できることが示されていることです。
研究者たちは、「侵害されたGPUは、IOMMUが許可する領域(GPUドライバー自身のバッファ)にCPUメモリの領域にDMA(PTEsのアパーチャビットを使用)を発行します。この信頼されたドライバー状態を破損させることで、攻撃はNVIDIAカーネルドライバーのメモリ安全性バグをトリガーし、任意のカーネル書き込みプリミティブを取得し、それを使用してルートシェルを起動します。」と述べています。
### GDDRHammerとGeForge:同時発見
GPUBreachの開示は、GDDR6 RowHammerを介したGPUページテーブル破損に焦点を当て、GPU側の権限昇格を達成する、独立した2つの研究、**GDDRHammer**と**GeForge**と同時期に行われました。GPUBreachと同様に、両方の技術はCPUメモリへの任意の読み書きアクセスを取得するために使用できます。
GPUBreachは、完全なCPU権限昇格を可能にする点で、より強力な攻撃として区別されます。GeForgeはIOMMUの無効化を必要としますが、GDDRHammerはGPUページテーブルエントリのアパーチャフィールドを変更して、権限のないCUDAカーネルがホストCPUの全メモリを読み書きできるようにします。
GDDRHammerとGeForgeの研究者たちは、「主な違いの1つは、GDDRHammerが最終レベルページテーブル(PT)を悪用し、GeForgeが最終レベルページディレクトリ(PD0)を悪用することです。しかし、両方の作業は、GPUページテーブル変換をハイジャックしてGPUおよびホストメモリへの読み書きアクセスを取得するという同じ目標を達成できます。」と述べています。
### 緩和策
一時的な緩和策として、GPUでECCを有効にすることが挙げられます。しかし、**ECCploit**や**ECC.fail**のようなRowHammer攻撃は、この対策を回避する能力を示しています。
研究者たちは、「しかし、攻撃パターンが2ビット以上のフリップを誘発する場合(DDR4およびDDR5システムで実現可能であることが示されている)、既存のECCではこれらを修正できず、サイレントデータ破損を引き起こす可能性さえあります。したがって、ECCはGPUBreachに対する確実な緩和策ではありません。現在ECCが利用できないデスクトップまたはラップトップGPUでは、我々の知る限り、既知の緩和策はありません。」と警告しています。