https://www.ece.cmu.edu/~safari/pubs/kim-isca14.pdf

Abstract.

Memory isolation is a key property of a reliable and secure computing system-an 
access to one memory address should not have unintended side effects on data 
stored in other addresses. However, as DRAM process technology scales down to 
smaller dimensions, it becomes more difficult to prevent DRAM cells from 
electrically interacting with each other. In this paper, we expose the 
vulnerability of commodity DRAM chips to disturbance errors. By reading from 
the same address in DRAM, we show that it is possible to corrupt data in nearby 
addresses. More specifically, activating the same row in DRAM corrupts data in 
nearby rows. We demonstrate this phenomenon on Intel and AMD systems using a 
malicious program that generates many DRAM accesses. We induce errors in most 
DRAM modules (110 out of 129) from three major DRAM manufacturers. From this we 
conclude that many deployed systems are likely to be at risk. We identify the 
root cause of disturbance errors as the repeated toggling of !
 a DRAM row's wordline, which stresses inter-cell coupling effects that 
accelerate charge leakage from nearby rows. We provide an extensive 
characterization study of disturbance errors and their behavior using an 
FPGA-based testing platform. Among our key findings, we show that (i) it takes 
as few as 139K accesses to induce an error and (ii) up to one in every 1.7K 
cells is susceptible to errors. After examining various potential ways of 
addressing the problem, we propose a low-overhead solution to prevent the 
errors.

Example: 
http://blog.sudhanshumishra.in/2014/12/memory-error-due-to-charge-leak.html
Tester (built on top of memtest): https://github.com/CMU-SAFARI/rowhammer
LKML discussion: https://lkml.org/lkml/2014/12/24/258

Reply via email to