新たな「GPUThor」攻撃、NVIDIAのECC保護を突破しrootアクセスを獲得

ECC(誤り訂正符号)保護をバイパスすることでNVIDIA製GPUに対するサービス拒否(DoS)攻撃およびroot権限昇格を可能にする、新たなRowhammer攻撃「GPUThor」が公開されました。

トロント大学が発表した論文によると、GPUThorは、ECC導入後に無効化されてしまった研究者ら自身の過去の攻撃概念であるGPUHammerGPUBreachと比べ、はるかに実用的なビットフリップ率を達成しているとのことです。

この攻撃は、RTX A4000、RTX A4500、RTX A5000、RTX A6000など、AIおよびクラウドインフラで広く利用されているGDDR6メモリ搭載のAmpere世代NVIDIAワークステーション向けGPUに対して実証されました。

GPUThor攻撃の改良点

Rowhammerとは、メモリ行を繰り返しアクセス(「ハンマリング」)することで、隣接するメモリ領域のビットが1から0、あるいは0から1へと反転する可能性を高める一連の攻撃手法の総称です。

これによりデータ破損やセキュリティリスクが生じる可能性があります。AIモデルの学習はGPUの処理能力に大きく依存しているため、Rowhammer攻撃が成功すればモデルの精度に壊滅的な影響を与えかねません。

この種の攻撃によるリスクを軽減するため、NVIDIAは監視対象のメモリブロック内でシングルビットエラーを訂正し、ダブルビットエラーを検出するSECDED ECCなどの緩和策を採用しています。

しかし、トロント大学の研究者らは、GDDR6のTarget Row Refresh(TRR)緩和機構の作動を回避できる速度で、非均一なパターンに沿ってハンマリングを行うようGPUThorを調整しました。

Image

研究者らは、繰り返し発行されるメモリリクエストがどのように結合(コアレス)されるか、またTRRがどの程度の頻度で作動するかという、2つの未文書化のGPU挙動を考慮することでこれを実現しました。

研究者らによると、この調整により、従来の攻撃概念と比較してアグレッサー行のアクティベーション数が6.6倍に増加し、ECC保護なしの状態でテスト対象GPU上において1GBあたり72,000回から377,000回のビットフリップを達成できたとのことです。

Bit flip rates for each attack method

この結果は、研究者らの過去の攻撃であるGPUHammerと比較して4,548倍から23,597倍高い数値であり、Blacksmithのような強力なCPU向けRowhammer攻撃が達成するビットフリップ率に迫るものです。

GPUThorのビットフリップ率であれば、悪用可能なビットフリップを発見するのに要する時間はおよそ1.1分にまで短縮されます。これはGPUHammerの21.9時間から大幅な改善です。

研究者らの説明によると、ECCを有効にした状態でもGPUThorは387件のダブルビットエラーを発生させ、ECCはこれを検出はしたものの訂正はできませんでした。さらに2件のトリプルビットエラーについては、ECCが誤った訂正を行い、結果としてデータ破損が発生したとのことです。

DoSと権限昇格

トロント大学の研究者らは、ECCを有効化したRTX A6000に対してGPUThorがDoS状態を引き起こせることを示しました。この状態ではGPUが2時間おきにリセットされ、すべてのワークロードが強制終了されます。

同一のカードに対してこの攻撃を繰り返すと、最終的にデバイスは自身を「交換が必要」としてマークするようになります。

さらに興味深いのは、root権限への昇格を可能にする攻撃です。研究者らによると、GPUのページテーブルを破損させることで、非特権のCUDAプログラムに任意のメモリアクセス権を与え、ホストシステム上でrootシェルを開くことが可能になるとのことです。

この攻撃への対策

GPUThorへの脆弱性が確認された4機種以外についても、研究者らは次のように指摘しています。サーバー向けAmpere GPU(A100)は、サービス拒否(DoS)状態に対する耐性を高める制限機能を備えているものの、依然としてSECDEDレベルのECCに依存しているため、権限昇格攻撃は成立し得るとのことです。

一部のBlackwell GPUの場合、RAS Repairという耐障害機能によりGPUThor攻撃はより時間を要するものになりますが、完全に防げるわけではありません。

研究者らが昨日公開したGPUThorに関する論文によると、オンダイECCを搭載したHBM3/eやGDDR7のGPUであっても、マルチビットフリップが誘発された場合には脆弱となる可能性があるとしています。

研究者らは4月29日にこの発見をNVIDIAに報告し、同社は8月21日、対策指針を示すアドバイザリを公開しました。

NVIDIAは、SYS-ECCとIOMMU/DMA分離の両方を有効にすること、GPUのエラーテレメトリを監視すること、そして信頼できないワークロードの共有や実行を制限することを推奨しています。

同社によれば、リスクの大きさはDRAMデバイス、メモリ技術、プラットフォーム設計、DRAM内の防御機構、システム構成によって異なるとしており、テスト対象としたGDDR6XおよびHBM2eのGPUについては、同じ攻撃パターンを用いてもビットフリップは観測されなかったとしています。

研究者らは、可能な限りテナント間でのGPU共有を避けること、ECCのエラーカウンターを監視すること、信頼できないCUDAワークロードを制限することを推奨しています。また、完全な防御を実現するには、将来のGPUにおいてより強力なマルチビットECCとハードウェアレベルの防御機構が必要になるだろうと付け加えています。

翻訳元: https://www.bleepingcomputer.com/news/security/new-gputhor-attack-defeats-nvidia-ecc-protection-for-root-access/

本記事は bleepingcomputer.com の記事を翻訳・要約したものです。