GPUがハッキング攻撃の抜け道に
NVIDIAのGPUからマシン完全乗っ取り可能に。新型攻撃「GDDRHammer」「GeForge」判明

NVIDIA GPUを用い、ホスト側マシンのフル権限(root)を奪取できてしまう2種類の新たなRowhammer攻撃「GDDRHammer」と「GeForge」が見つかったと報告されている。
ここでいうRowhammer攻撃とは、DRAMメモリの物理的特性を悪用し、隣接するメモリ行のビットを書き換えることでメモリ保護をすり抜ける手法である。その背景には、近年のDRAMが微細化・高密度化した結果、隣接するメモリセル間の電気的干渉が無視できないレベルに達しているという事情がある。
この手法は2014年に研究者によって実証され、翌年には別の研究チームが、機密データを格納する特定のDRAM行を狙うことで、権限のないユーザーをrootに昇格させたり、セキュリティサンドボックスを回避できることを示している。さらに昨年、初めて高性能のNVIDIA GPUで使用されるGDDR DRAMに対する攻撃が成立した。ただしこの時点では影響は限定的であり、対象GPU上で動作するニューラルネットワークの出力を低下させる程度にとどまっていた。
しかし先週、互いに独立した2つの研究チームが、NVIDIAのAmpere世代に属する2種類のGPUカードに対する攻撃を実証した。いずれもGPUを足がかりとしてCPUやOSにまで到達し、最終的にシステム全体を乗っ取れることを示した点で、インパクトは極めて大きい。その概要は次の通りである。
GDDRHammer
- GDDR系メモリ(GDDR6など)に対して最適なRowhammerパターンを見出し、物理的に隣接する行を叩くことでビット反転を誘発する手法である
- 研究では、GPUのページテーブルなどの管理構造にビット反転を発生させ、「任意のアドレスを読み書きできる」状態の構築に成功している
- 従来のCPU向けRowhammer対策はGPUメモリへの攻撃を考慮しておらず不十分である。GPUを経由することでCPU側の防御を回避できるため、今後はCPUとGPUの双方を対象とした対策が必要になると指摘されている
GeForge
- 同様のビット反転の原理をさらに発展させ、GPUメモリからホスト側CPUメモリ空間への権限昇格を実現する手法である
- CUDAなどのユーザーレベルGPUコードを起点に、GPUドライバやホストOSの構造を破壊し、最終的にroot権限を奪取できることが示された
これらの研究によると、RTX 3060およびRTX 6000は脆弱であるが、BIOS設定でIOMMUを有効化することで防御可能とされる。IOMMUは、デバイスから見える仮想アドレスをホストの物理アドレスにマッピングし、特定のメモリ領域へのアクセスを制限する仕組みである。ただし性能低下を伴うため、デフォルトでは無効となっている。
また、GPU側でECC(エラー訂正コード)を有効化することも対策の一つとされるが、これも利用可能メモリの減少や性能低下を伴う。さらに、一部のRowhammer攻撃はECCを回避できる可能性があるとも指摘されている。
現時点でRowhammerに対して脆弱と確認されているのは、2020年に登場したAmpere世代のRTX 3060およびRTX 6000に限られる。ただし、新世代GPUでも同様の脆弱性が存在する可能性は否定できない。
高性能GPUは非常に高価であるため、クラウド環境では多数のユーザーによって共有されるのが一般的である。そのため、ホストマシンの乗っ取りは被害の広域化につながるリスクを内包している。研究者およびNVIDIAはいずれも「現時点で大規模な悪用の証拠はないが、実用可能なレベルに達している」として警戒を呼びかけている。
- Source: Ars Technica
