2019 · 37 citations · 26 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureComputer SecurityMemoryMemory HierarchyMemory ManagementMemory Protection HardwareMemory AllocationMemory ProtectionMemory Protection MechanismsPage Table ProtectionPage TablesPhysical Memory ProtectionRowhammer AttacksRowhammer Mitigation Hardware
We identify an important asymmetry in physical DRAM cells that can be utilized to prevent RowHammer attacks by adding 18 lines of code to modify the OS memory allocator. Our small modification has a powerful impact on RowHammer's ability to bypass memory protection mechanisms and achieve a successful attack. Specifically, we identify two types of DRAM cells: true-cells and anti-cells. In a true-cell, a leaking capacitor will induce a '1'->'0' error, while in anti-cells, errors flow from '0'->'1'. We then create DRAM cell-type-aware memory allocation which enables a "monotonicity property" for a given data object. The monotonicity property is able to counter RowHammer attacks (and, to a broader extent, other memory attacks) by allocating only one type of cells for an object, thereby restricting error direction. We apply the monotonicity property to pointers in page tables by placing all page tables in true-cells that are above a "low water mark". We show that this approach successfully defends against page-table-based privilege escalation RowHammer attacks. Using established RowHammer-induced bit-flip error statistics, we provide proofs of the soundness and completeness of our technique and show that with our technique only one out of 2.04x10 5 systems is vulnerable to the attack, and the expected attack time on the vulnerable system is 231 days. We also provide application performance results from prototypes implemented through modifications to Linux kernels. Our cross-layer approach avoids undesirable energy cost, hardware changes, performance overhead, and high software complexity associated with prior countermeasures.
26
J. Alex Halderman, Seth David Schoen, Nadia Heninger et al. · Communications of the ACM · 2009 · 966 citations
Flipping bits in memory without accessing them
Yoongu Kim, Ross Daly, Jeremie Kim et al. · ACM SIGARCH Computer Architecture News · 2014 · 907 citations
Leyla Bilge, Tudor Dumitraş · 2012 · 608 citations
Michael Grace, Yajin Zhou, Qiang Zhang et al. · 2012 · 601 citations
Jamie Liu, Ben Jaiyen, Richard Veras et al. · ACM SIGARCH Computer Architecture News · 2012 · 449 citations