これまでDDR5 RAMのビット反転を防いできたTarget Row Refresh(TRR)メカニズムをリバースエンジニアリングすることで、セキュリティ研究者はテストしたすべてのDIMMを突破することに成功しました。

研究者たちは、これまでこの種の攻撃から保護されていると考えられていたDDR5 RAMモジュールのメモリセル内でRowhammerビット反転を引き起こす新たな手法を考案しました。この種の攻撃は、制御されたメモリ改ざんを可能にし、特権昇格のエクスプロイトや制限されたメモリ領域に保存された機密データの漏洩につながります。

ETHチューリッヒとGoogleの研究者たちは、「Phoenix」と名付けられた新たな攻撃を実現するため、DRAMチップの大手サプライヤーであるSK Hynix製DDR5 DIMMに搭載された高度なTarget Row Refresh(TRR)メカニズムをリバースエンジニアリングしました。このエクスプロイトは現在CVE-2025-6202として追跡されています。

「我々の評価では、Phoenixはテストプール内の15台すべてのDDR5デバイスでビット反転を引き起こすことが確認されました」と研究者たちは論文で述べています。「これらのビット反転を利用し、初めてRowhammerによる特権昇格エクスプロイトを構築し、標準設定の一般的なDDR5システムで最短109秒でroot権限を取得しました。これらの結果は、将来のデバイスの安全な運用には、行ごとのアクティベーションカウンタのような本格的なRowhammer対策が不可欠であることをさらに裏付けるものです。」

既存のRowhammer対策の突破

Rowhammerは、現代のDRAMチップに密集して配置されたメモリセル内で意図的に障害エラー(ビット反転)を引き起こす手法です。2014年以降、研究者たちは同じ物理的なメモリセルの行に対して急速かつ繰り返し読み出し操作を行うことで、隣接する行に電荷が漏れ、セルに保存された値が0から1、またはその逆に変化することを観察してきました。2015年には、Googleの研究者が制御された方法でこれを実行すれば、オペレーティングシステムのユーザースペースとカーネル間の特権昇格や、プロセスサンドボックスの回避など、セキュリティ上の影響があることを示しました。

Rowhammerおよびその後発見されたさまざまな亜種は主にDDR3およびDDR4メモリモジュールに影響を与えてきましたが、より新しい技術であるDDR5は、障害エラーを検出・修正するためのより高度なメカニズムを採用しています。これらの対策メカニズムはTarget Row Refresh(TRR)として知られ、ハンマーされているいわゆるアグレッサー行を検出し、隣接する被害者行をリフレッシュして発生した可能性のあるビット反転を修正します。TRRはDDR4にも存在しますが、実装が単純で突破しやすいものでした。

TRRは独自仕様であり、公開されていないため、これまでのDDR5に対するRowhammer攻撃はごく限られた成功しか収めていませんでした。しかし、2024年に公開された「Zenhammer」と呼ばれるRowhammer攻撃は、テストした10台のDDR5 DIMMのうち1台でビット反転を引き起こすことに成功しました。これに対し、新たなPhoenix攻撃はテストしたすべてのDIMMでビット反転を引き起こすことに成功しています。

「我々のリバースエンジニアリングの結果、これらの新しい保護を回避するには、従来よりもはるかに長いRowhammerパターンが必要であることが分かりました」と研究者たちは述べています。「Rowhammerビット反転を引き起こすには、こうしたパターンが数千回のリフレッシュコマンドと同期し続ける必要があり、これは困難です。我々の新しいRowhammer攻撃『Phoenix』は、必要に応じてこれらの長いパターンを再同期させ、高度なTRR保護を備えたデバイスで初めてDDR5のビット反転を引き起こします。」

研究者たちはSK Hynix製メモリモジュールのみを対象としましたが、論文で記載された同じリバースエンジニアリング手法を用いれば、他のメモリメーカーの独自TRRを解明し、それを突破するRowhammerパターンを見つけることも可能なため、この攻撃は他のメーカーにも影響を及ぼす可能性があります。

エクスプロイトの実用性を検証するため、研究者たちは3つの攻撃を考案しました。1つはページテーブルエントリ(PTE)を改ざんする攻撃、もう1つは同一システム上の仮想マシンからSSH認証に使用されるRSA-2048鍵を漏洩させる攻撃、そしてLinuxシステムでsudoバイナリを通じてroot権限に昇格する攻撃です。

PTEは、CPUのメモリ管理ユニットがアプリケーションで使用される仮想メモリアドレスを、実際にデータが格納されている物理メモリ上の位置にマッピングするために使用されます。PTEを偽造することで、攻撃者は本来アクセスできないメモリ領域への任意の読み書き操作が可能になります。

15台すべてのモジュールがPTE攻撃に対して脆弱であり、エクスプロイト可能なビット反転を引き起こすまでの平均攻撃時間は2分36秒でした。RSA-2048鍵の漏洩攻撃では、平均6分20秒で、15台中11台で成功しました。sudoバイナリ攻撃は5台で成功し、平均36分55秒を要しました。

ただし、研究者たちは、RSA-2048およびsudoバイナリ攻撃のいずれも、テストで使用した256MBの制限を超えてハンマーを増やせば、さらに多くのデバイスで成功した可能性が高いと指摘しています。

この研究に関連する実験とともに、概念実証エクスプロイトがGitHubで公開されています。

対策

この攻撃の1つの制限は、AMD製CPUでのみ機能する点です。Intel製CPUには追加のpTRR対策が組み込まれており、これを回避する手法はまだ開発されていません。

既存のモジュールで考えられる対策の1つはリフレッシュレートを3倍にすることですが、これによりパフォーマンスが8.4%低下することが研究者によって明らかになっています。また、これにより既存のPhoenixのRowhammerパターンは緩和されますが、より高速なリフレッシュレートを回避する新たなパターンが見つからない保証はありません。

また、AMDはCPU向けに、メモリコントローラのリフレッシュモードをFine-Granularity Refresh(FGR)に変更し、リフレッシュレートを上げて各リフレッシュコマンドに割り当てる時間を短縮するBIOSアップデートをリリースしたと報じられています。研究チームはこれがPhoenixを防ぐかどうかはテストしていませんが、この変更が強力な保護を提供するとは考えていません。

「今後のデバイスで、厳密なセキュリティ分析なしにまた新たな不明瞭な対策を導入することは強く推奨しません」と研究者たちは結論付けています。「代わりに、DRAMベンダーは原理に基づいた保証を持つTRR対策を導入すべきです。新しいPer Row Activation Counting仕様は、DRAM内部でこうした原理に基づいた対策を実装する可能性を提供します。」

ニュースレターを購読する

編集部からあなたの受信箱へ

下記にメールアドレスを入力して開始してください。

翻訳元: https://www.csoonline.com/article/4059680/new-rowhammer-technique-against-ddr5-achieves-privilege-escalation.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です