[論文レビュー] BlockHammer: Preventing RowHammer at Low Cost by Blacklisting Rapidly-Accessed DRAM Rows
BlockHammer は、Bloomフィルターを用いて行の活性化率を事前に追跡し、過度に活性な行をブラックリスト化することで RowHammer ビット反転を予防し、攻撃者スレッドをスロットリングして善意のワークロードを保護します。DRAM の内部構造を変更したり内部を知ることなく実現します。
Aggressive memory density scaling causes modern DRAM devices to suffer from RowHammer, a phenomenon where rapidly activating a DRAM row can cause bit-flips in physically-nearby rows. Recent studies demonstrate that modern DRAM chips, including chips previously marketed as RowHammer-safe, are even more vulnerable to RowHammer than older chips. Many works show that attackers can exploit RowHammer bit-flips to reliably mount system-level attacks to escalate privilege and leak private data. Therefore, it is critical to ensure RowHammer-safe operation on all DRAM-based systems. Unfortunately, state-of-the-art RowHammer mitigation mechanisms face two major challenges. First, they incur increasingly higher performance and/or area overheads when applied to more vulnerable DRAM chips. Second, they require either proprietary information about or modifications to the DRAM chip design. In this paper, we show that it is possible to efficiently and scalably prevent RowHammer bit-flips without knowledge of or modification to DRAM internals. We introduce BlockHammer, a low-cost, effective, and easy-to-adopt RowHammer mitigation mechanism that overcomes the two key challenges by selectively throttling memory accesses that could otherwise cause RowHammer bit-flips. The key idea of BlockHammer is to (1) track row activation rates using area-efficient Bloom filters and (2) use the tracking data to ensure that no row is ever activated rapidly enough to induce RowHammer bit-flips. By doing so, BlockHammer (1) makes it impossible for a RowHammer bit-flip to occur and (2) greatly reduces a RowHammer attack's impact on the performance of co-running benign applications. Compared to state-of-the-art RowHammer mitigation mechanisms, BlockHammer provides competitive performance and energy when the system is not under a RowHammer attack and significantly better performance and energy when the system is under attack.
研究の動機と目的
- DRAM の脆弱性が高まるにつれて、堅牢な RowHammer 保護を動機づける。
- DRAM の内部構造へのアクセスなしで、低コストでスケーラブルな緩和策を提供する。
- 善意のワークロードへの影響を最小化しつつ RowHammer のビット反転を防ぐ。
- 潜在的な攻撃者を識別しスロットリングする仕組みを提供して、システム性能を維持する。
提案手法
- デュアルカウント Bloom フィルター(D-CBF)で DRAM の行活性化率を追跡し、ブラックリスト化の閾値を決定する。
- ロールウィング・タイムウィンドウ内で活性化率が設定閾値を超えた行をブラックリストに登録。
- ブラックリスト化された行の活性化を遅延させ、行ごとの活性化率を RowHammer の閾値以下に保つ。
- 最近活性化した行を識別するためのランク別ヒストリーバッファを維持し、善意のワークロードの繰り返しスロットリングを回避する。
- RowHammer リスクに基づいて在行のメモリ要求を制限することで攻撃者スレッドをスロットリングし、善意のアプリの帯域を確保する。
- 任意で、OS に対してスレッドごとの RowHammer の可能性を開示し、高度なスケジューリングを支援する。
実験結果
リサーチクエスチョン
- RQ1RowHammer を、DRAM 内部の専有情報や DRAM チップへの変更を必要とせずに防止できるか。
- RQ2RowHammer 圧力下で善意の性能を保ちつつ、低オーバーヘッドでスケーラブルな事前スロットリングの機構をどう実現するか。
- RQ3ブラックリスト化の偽陽性とシステム性能のトレードオフは、多様なワークロードでどうなるか。
- RQ4Bloomフィルターを用いた追跡法は、異なる脆弱性レベル下で RowHammer 安全な動作をどれだけ維持できるか。
主な発見
- BlockHammer は 0.06% の面積オーバーヘッドのみで RowHammer 安全動作を保証する。
- RowHammer 攻撃がない場合、善意のワークロードは 0.7% の性能オーバーヘッドと 0.6% の DRAM エネルギーオーバーヘッドを被る。
- RowHammer 攻撃下で、BlockHammer は攻撃者スレッドを識別する際に 99.98% の精度を達成。
- 攻撃時、BlockHammer は善意のアプリケーションの性能を平均で 45.0% 改善し、場合によっては 61.9% 改善する。
- BlockHammer は、DRAM 内部知識や変更を必要とする六つの最先端緩和機構を、攻撃シナリオで特に上回る。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。