[論文レビュー] DRAMA: Exploiting DRAM Addressing for Cross-CPU Attacks
この論文では、共有メモリが無効な環境においても、非文書化されたDRAMアドレスマッピングを悪用することで、プロセッサ間で共有されるDRAMローバッファにアクセスできる、新しい種類のクロスCPUサイドチャネルおよびコベットチャネル攻撃であるDRAMAを提示する。物理的プロービングまたはソフトウェアベースのタイミング解析を用いたメモリマッピングの逆スペックにより、DRAMAは最大2 Mbpsのコベットチャネルを実現し、キャッシュ攻撃レベルの精度でメモリアクセスを特定・監視するサイドチャネル攻撃を可能にし、DDR4システムでさえも実用的なRowhammer攻撃を孤立したクラウド環境で実現した。
In cloud computing environments, multiple tenants are often co-located on the same multi-processor system. Thus, preventing information leakage between tenants is crucial. While the hypervisor enforces software isolation, shared hardware, such as the CPU cache or memory bus, can leak sensitive information. For security reasons, shared memory between tenants is typically disabled. Furthermore, tenants often do not share a physical CPU. In this setting, cache attacks do not work and only a slow cross-CPU covert channel over the memory bus is known. In contrast, we demonstrate a high-speed covert channel as well as the first side-channel attack working across processors and without any shared memory. To build these attacks, we use the undocumented DRAM address mappings. We present two methods to reverse engineer the mapping of memory addresses to DRAM channels, ranks, and banks. One uses physical probing of the memory bus, the other runs entirely in software and is fully automated. Using this mapping, we introduce DRAMA attacks, a novel class of attacks that exploit the DRAM row buffer that is shared, even in multi-processor systems. Thus, our attacks work in the most restrictive environments. First, we build a covert channel with a capacity of up to 2 Mbps, which is three to four orders of magnitude faster than memory-bus-based channels. Second, we build a side-channel template attack that can automatically locate and monitor memory accesses. Third, we show how using the DRAM mappings improves existing attacks and in particular enables practical Rowhammer attacks on DDR4.
研究の動機と目的
- 共有メモリが無効でVMが異なる物理CPUに隔離されたクラウド環境において、効果的なクロスCPUサイドチャネルおよびコベットチャネル攻撃が存在しないという問題に対処すること。
- マルチプロセッサシステムにおける物理メモリアドレスからDRAMチャネル、ランク、バンクへの非文書化マッピングを逆スペックすること。
- マルチプロセッサシステムにおけるCPUコアやメモリモジュールをまたいで持続する共有DRAMローバッファを、高精度なメモリアクセス監視およびコベット通信のための新しいサイドチャネルプリミティブとして活用すること。
- 逆スペックされたDRAMアドレッシングスキームを活用して、DDR4メモリにおける実用的なRowhammer攻撃を実現すること。
- TRRやメモリアクセス制限といった既存の対策が、提案された攻撃に対して無効であることを示すこと。
提案手法
- メモリバスの物理的プロービングを用いて、メモリトランザクションからのタイミングおよびアクセスパターンを抽出することで、DRAMアドレッシングマッピングを逆スペックすること。
- 物理的プロービングに依存せず、異なるアドレス間のメモリアクセスパターンのタイミング差を測定することで、DRAMマッピングを推定する完全に自動化されたソフトウェアオンリーメソッドを開発すること。
- 逆スペックされたマッピングを活用して、マルチプロセッサシステムにおけるCPUコアやメモリモジュールをまたいで持続する共有DRAMローバッファを標的とすること。
- 制御されたメモリアクセスによってローバッファ状態を操作することで、最大2 Mbpsのスループットを達成する高帯域幅のコベットチャネルを実装すること。
- DRAMローバッファの挙動を用いて、Flush+Reloadと同等の精度でメモリアクセスパターンを特定・監視するサイドチャネルテンプレート攻撃を設計すること。
- DRAMEアドレッシングスキームを活用して、TRR対策が有効であっても、脆弱な行を効率的に標的にするように、既存のRowhammer攻撃をDDR4に拡張すること。
実験結果
リサーチクエスチョン
- RQ1非文書化されたDRAMアドレッシングを悪用することで、共有メモリが無効な状態でも、プロセッサ間で高速なコベットチャネルを構築できるか?
- RQ2共有メモリが無くても、タイミング情報のみを用いて、プロセッサ間でメモリアクセスを高精度に監視できるか?
- RQ3CPU間で共有されるDRAMローバッファは、隔離されたマルチプロセッサシステムにおいて、サイドチャネルプリミティブとして活用可能か?
- RQ4逆スペックされたDRAMアドレッシングマッピングにより、TRRが有効であっても、DDR4メモリにおける実用的なRowhammer攻撃が可能か?
- RQ5TRRやアクセス制限といった既存の対策は、このような攻撃に対してどの程度の限界を示すか?
主な発見
- 最大2 Mbpsのコベットチャネルが実装され、既存のメモリバスベースのコベットチャネルと比較して、3〜4桁の性能向上が達成された。
- ソフトウェアベースの逆スペック手法は、消費者用PC、デュアルCPUサーバー、最近のスマートフォンを含む複数のプラットフォームで、DRAMアドレスのマッピングに成功した。
- TRRをサポートするDDR4-2133メモリモジュールにおいて、16秒後にビットフィップを観測し、12秒ごとに1回のビットフィップが発生した。これは、TRRがRowhammer攻撃を完全に防止しないことを示している。
- サイドチャネル攻撃はFlush+Reloadと同等の精度を達成し、共有メモリがなくても、自動的にメモリアクセスを検出・監視可能であった。
- DRAMAフレームワークにより、TRRが有効であっても、逆スペックされたアドレッシングマッピングを活用して、DDR4における実用的なRowhammer攻撃が可能となった。
- 攻撃者が共有メモリにアクセスできないか、キャッシュコherencyに依存できない状況でも攻撃は有効であり、DRAMローバッファが実用的なクロスCPUサイドチャネルとして有効であることを証明した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。