  We will discuss the RowHammer problem in DRAM, which is a prime (and likely
the first) example of how a circuit-level failure mechanism in Dynamic Random
Access Memory (DRAM) can cause a practical and widespread system security
vulnerability. RowHammer is the phenomenon that repeatedly accessing a row in a
modern DRAM chip predictably causes errors in physically-adjacent rows. It is
caused by a hardware failure mechanism called read disturb errors. Building on
our initial fundamental work that appeared at ISCA 2014, Google Project Zero
demonstrated that this hardware phenomenon can be exploited by user-level
programs to gain kernel privileges. Many other recent works demonstrated other
attacks exploiting RowHammer, including remote takeover of a server vulnerable
to RowHammer. We will analyze the root causes of the problem and examine
solution directions. We will also discuss what other problems may be lurking in
DRAM and other types of memories, e.g., NAND flash and Phase Change Memory,
which can potentially threaten the foundations of reliable and secure systems,
as the memory technologies scale to higher densities.
