GPUが乗っ取られる。
いいか、Nvidiaのあのピカピカで高価なグラフィックカード――中古車より高い代物だ――が、新しいタイプの攻撃によって無残に解体されている。そしてその凶器とは? Rowhammerだ。Rowhammerって覚えているか? メモリセルを揺さぶってビットを反転させ、大混乱を引き起こすあの古い手口だ。あれが帰ってきた。しかも、プロ仕様になってな。
DRAM劣化の10年
長年、RowhammerはCPUの問題だった。研究者たちは、特定のDRAM列を「ハンマーで叩く」――つまり、0を1に、あるいは1を0にビットを反転させる――ことで、あらゆる種類の些細な悪戯が引き起こせることに気づいた。データ破損とか、サンドボックスからの脱出とか。悪くない。だが、世界を滅ぼすほどではなかった。研究者たちはそれを微調整し、洗練させ、ECCメモリを投入し、回避策を見つけてきた。ネットワーク経由で動作させたり、Androidスマホをルート化したり、暗号化キーを盗み出したりしてきた。いつものデジタルな悪戯だ。
ところが昨年、彼らはNvidia製ハイエンドGPUに搭載されているGDDRメモリに手をつけた。結果は……期待外れだった。数ビットの反転。ニューラルネットワークの出力がわずかに劣化。戦争宣言には程遠いものだった。
Ampere世代が標的に
しかし、木曜日、状況は一変した。独立した2つの研究チームが、NvidiaのAmpere世代GPUに真正面から迫ることを決意したのだ。そして、彼らは恐ろしいものを見つけた。これらはもはや些細なグリッチではない。攻撃者にCPUメモリの完全な制御を許すビット反転なのだ。そしてCPUメモリを制御できれば、そのマシン全体を制御できる。ルートアクセス。完全なシステム侵害だ。
研究者たちはわずか8ビットの反転しか達成できず、これはCPU DRAMで可能だったもののごく一部にすぎず、被害はターゲットGPUで実行されていたニューラルネットワークの出力低下に限定されていた。
ここが「警報ベル」が鳴り響く部分だ。前回のGDDRの脆弱性はささやきにすぎなかった。これは全面的なサイレンだ。IOMMUメモリ管理が無効になっているデフォルトのBIOS設定は、攻撃者にとって最高の友人となる。つまり、この数千ドルもするハードウェアは、通常、セキュリティがすでに複雑な課題となっているクラウド環境で共有されているが、今や巨大で脆弱なターゲットにすぎないらしい。装甲車のキーをつけっぱなしで放置しておくようなものだ。
なぜ今? なぜNvidia?
これらの高性能GPUの純粋なコストを考えると、それらはほぼデータセンターやクラウドプラットフォームにのみ存在する。それらは共有リソースだ。つまり、1つのGPUが侵害されれば、そのホストマシンを共有しているすべての人に影響が及ぶ可能性がある。これは個々のゲーマーのリグの問題ではない。これは多くのAIや高性能コンピューティング運用の基盤に関わる問題だ。
Nvidiaのセキュリティへのアプローチは、しばしば……どう言えばいいか、後手に回っていると見なされがちだ。彼らは常に追いつこうとしている。しかし、これは違うように感じる。これは単なるソフトウェアバグではない。これはハードウェアの脆弱性であり、GDDRメモリが極度のストレス下で設計または実装されている方法に固有のものである可能性がある。これは根本的な断絶を浮き彫りにしている。私たちはより強力なハードウェアを構築しているが、必ずしも同じペースでより安全なハードウェアを構築しているわけではない。生のパフォーマンスの追求は、セキュリティ強化の勤勉さを一貫して凌駕しているようだ。
最も高度なシリコンでさえ、驚くほど基本的な物理現象によって台無しにされうることを痛感させる。そして、その物理現象が攻撃者に「王国の鍵」を与えるとき、それは問題だ。Nvidiaと最先端ハードウェアを使用しているすべての人にとって、大きくて高価な問題だ。必死のパッチ適用が予想される。そして、多くの神経質なシステム管理者も。
古いNvidia GPUは影響を受けるか?
最新の攻撃はNvidiaのAmpere世代を特に標的としているが、RowhammerがGDDRメモリに影響を与えるという根本原理は、類似のGDDR実装を持つ古い世代も同様に脆弱である可能性を示唆している。Nvidiaの製品ライン全体にわたる脆弱性の範囲を確認するには、さらなる研究が必要だろう。
GPUにおけるRowhammer対策は?
GPUにおけるRowhammerの緩和策はまだ登場しつつあるが、一般的には脆弱なハードウェア機能の無効化、より厳格なメモリアクセス制御の実装、そして標準ECCよりも強力なハードウェアレベルのエラー検出・訂正メカニズムの採用などが含まれる。ソフトウェアパッチは、脆弱性を引き起こす可能性のある操作の種類を制限することで、ある程度の保護を提供するかもしれない。
システム全体の侵害はどれほど深刻か?
システム全体の侵害とは、攻撃者がそのマシンに対する管理者権限(ルートアクセス)を獲得した状態を意味する。彼らはマルウェアをインストールしたり、システムに保存されているあらゆるデータを盗んだり、マシンを悪意のある目的(仮想通貨マイニングやボットネットなど)に使用したり、ネットワーク上の他のシステムに侵入したりすることができる。これはあらゆるコンピュータシステムにとって最悪のシナリオだ。