Table of Contents
Fetching ...

BreakHammer: Enhancing RowHammer Mitigations by Carefully Throttling Suspect Threads

Oğuzhan Canpolat, A. Giray Yağlıkçı, Ataberk Olgun, İsmail Emir Yüksel, Yahya Can Tuğrul, Konstantinos Kanellopoulos, Oğuz Ergin, Onur Mutlu

TL;DR

BreakHammer addresses the rising overhead of RowHammer mitigations by throttling memory requests from suspect hardware threads, instead of globally increasing refresh and preventive actions. By observing RowHammer-preventive actions, identifying outlier threads, and enforcing per-thread bandwidth quotas within throttling windows, BreakHammer reduces unnecessary preventive actions while preserving the underlying mitigation's security guarantees. The approach demonstrates substantial performance and energy benefits under attack across multiple RH mechanisms, with minimal impact when no attack is present, and maintains fairer behavior across benign workloads. The work is complemented by a hardware-efficient design, rigorous evaluation on Ramulator2, and an open-source release to spur further research and adoption.

Abstract

RowHammer is a major read disturbance mechanism in DRAM where repeatedly accessing (hammering) a row of DRAM cells (DRAM row) induces bitflips in other physically nearby DRAM rows. RowHammer solutions perform preventive actions (e.g., refresh neighbor rows of the hammered row) that mitigate such bitflips to preserve memory isolation, a fundamental building block of security and privacy in modern computing systems. However, preventive actions induce non-negligible memory request latency and system performance overheads as they interfere with memory requests. As shrinking technology node size over DRAM chip generations exacerbates RowHammer, the overheads of RowHammer solutions become prohibitively expensive. As a result, a malicious program can effectively hog the memory system and deny service to benign applications by causing many RowHammer-preventive actions. In this work, we tackle the performance overheads of RowHammer solutions by tracking and throttling the generators of memory accesses that trigger RowHammer solutions. To this end, we propose BreakHammer. BreakHammer 1) observes the time-consuming RowHammer-preventive actions of existing RowHammer mitigation mechanisms, 2) identifies hardware threads that trigger many of these actions, and 3) reduces the memory bandwidth usage of each identified thread. As such, BreakHammer significantly reduces the number of RowHammer-preventive actions performed, thereby improving 1) system performance and DRAM energy, and 2) reducing the maximum slowdown induced on a benign application, with near-zero area overhead. Our extensive evaluations demonstrate that BreakHammer effectively reduces the negative performance, energy, and fairness effects of eight RowHammer mitigation mechanisms. To foster further research we open-source our BreakHammer implementation and scripts at https://github.com/CMU-SAFARI/BreakHammer.

BreakHammer: Enhancing RowHammer Mitigations by Carefully Throttling Suspect Threads

TL;DR

BreakHammer addresses the rising overhead of RowHammer mitigations by throttling memory requests from suspect hardware threads, instead of globally increasing refresh and preventive actions. By observing RowHammer-preventive actions, identifying outlier threads, and enforcing per-thread bandwidth quotas within throttling windows, BreakHammer reduces unnecessary preventive actions while preserving the underlying mitigation's security guarantees. The approach demonstrates substantial performance and energy benefits under attack across multiple RH mechanisms, with minimal impact when no attack is present, and maintains fairer behavior across benign workloads. The work is complemented by a hardware-efficient design, rigorous evaluation on Ramulator2, and an open-source release to spur further research and adoption.

Abstract

RowHammer is a major read disturbance mechanism in DRAM where repeatedly accessing (hammering) a row of DRAM cells (DRAM row) induces bitflips in other physically nearby DRAM rows. RowHammer solutions perform preventive actions (e.g., refresh neighbor rows of the hammered row) that mitigate such bitflips to preserve memory isolation, a fundamental building block of security and privacy in modern computing systems. However, preventive actions induce non-negligible memory request latency and system performance overheads as they interfere with memory requests. As shrinking technology node size over DRAM chip generations exacerbates RowHammer, the overheads of RowHammer solutions become prohibitively expensive. As a result, a malicious program can effectively hog the memory system and deny service to benign applications by causing many RowHammer-preventive actions. In this work, we tackle the performance overheads of RowHammer solutions by tracking and throttling the generators of memory accesses that trigger RowHammer solutions. To this end, we propose BreakHammer. BreakHammer 1) observes the time-consuming RowHammer-preventive actions of existing RowHammer mitigation mechanisms, 2) identifies hardware threads that trigger many of these actions, and 3) reduces the memory bandwidth usage of each identified thread. As such, BreakHammer significantly reduces the number of RowHammer-preventive actions performed, thereby improving 1) system performance and DRAM energy, and 2) reducing the maximum slowdown induced on a benign application, with near-zero area overhead. Our extensive evaluations demonstrate that BreakHammer effectively reduces the negative performance, energy, and fairness effects of eight RowHammer mitigation mechanisms. To foster further research we open-source our BreakHammer implementation and scripts at https://github.com/CMU-SAFARI/BreakHammer.
Paper Structure (35 sections, 2 equations, 19 figures, 3 tables, 1 algorithm)

This paper contains 35 sections, 2 equations, 19 figures, 3 tables, 1 algorithm.

Figures (19)

  • Figure 1: DRAM organization
  • Figure 2: System performance overheads of RowHammer mitigation mechanisms with worsening RowHammer vulnerability
  • Figure 3: BreakHammer high-level overview
  • Figure 4: Time interleaving across BreakHammer's counters
  • Figure 5: $RS_{\text{atk}}^{\text{max}}{}$ normalized to $RS_{\text{ben}}^{\text{avg}}{}$ before an attack thread is identified as a suspect
  • ...and 14 more figures