Row hammering is a type of memory exploit where a malicious application repeatedly causes transistors in a row of cells within a memory to rapidly turn on and off in particular patterns. If a row is hammered enough times, it is possible to change data stored in the adjacent rows, leading to malfunctions, shutdowns, or security breaches. This disclosure describes techniques that make it much harder for an attacker to find row-hammer patterns that can compromise a DRAM. Per the techniques, each DRAM has dedicated, programmable row-address swizzling (logical-to-physical address mapping) which changes when the machine reboots. The per-DRAM swizzling makes row-hammer patterns harder to find, and if found, inapplicable when the machine reboots. The per-DRAM swizzle also ensures that a row-hammer pattern found on one DRAM on a DIMM fails on the other DRAMs in the DIMM.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
N/A, "Preventing Memory Exploits Using Programmable Row Swizzling", Technical Disclosure Commons, (November 29, 2020)