一句话:提出可证明安全的 MOAT,修复 PRAC+ABO 实现漏洞并兼顾性能。
Rowhammer 在过去十年持续恶化,DDR5 引入每行激活计数 PRAC 与 ALERT-Back-Off 作为防护框架,但其实际安全性取决于实现。本文首先指出早期工作 Panopticon(PRAC+ABO 的基础)并不安全:对于阈值配置为 128 的系统,Jailbreak 模式可使攻击行激活达 1150 次。为此作者提出可证明安全的 MOAT,使用 ETH(缓解某行的资格阈值)与 ATH(触发 ABO 的 ALERT 阈值)两个内部阈值。由于 JEDEC 允许连续 ALERT 之间发生少量激活,文中还分析了攻击者借此让攻击行超过 ATH 以抬高可容忍 Rowhammer 阈值。分析表明 ATH=64 的 MOAT 可安全容忍阈值 99。基于 SPEC 与 GAP 的评估显示平均减速 0.27%,每 bank 仅 7 字节 SRAM。
Rowhammer has worsened over the last decade. Existing in-DRAM solutions, such as TRR, were broken with simple patterns. In response, the DDR5 specifications have been extended to support Per-Row Activation Counting (PRAC), with counters inlined with each row, and ALERT-Back-Off (ABO) to stop the memory controller if the DRAM needs more time to mitigate. Although PRAC+ABO represents a strong advance in Rowhammer protection, they are just a framework, and the actual security is dependent on the implementation. In this paper, we first show that a prior work, Panopticon (which formed the basis for PRAC+ABO), is insecure, as our Jailbreak pattern can cause 1150 activations on an attack row for Panopticon configured for a threshold of 128. We then propose MOAT, a provably secure design, which uses two internal thresholds: ETH, an Eligibility Threshold for mitigating a row, and ATH, an ALERT Threshold for initiating an ABO. As JEDEC specifications permit a few activations between consecutive ALERTs, we also study how an attacker can exploit such activations to inflict more activations than ATH on an attack row and thus increase the tolerated Rowhammer threshold. Our analysis shows that MOAT configured with ATH=64 can safely tolerate a Rowhammer threshold of 99. Finally, we also study performance attacks and denial-of-service due to ALERTs. Our evaluations, with SPEC and GAP workloads, show that MOAT with ATH=64 incurs an average slowdown of 0.27% and 7 bytes of SRAM per bank.