Rowhammer (also written as row hammer or RowHammer) is a computer security exploit that takes advantage of an unintended and undesirable side effect in
dynamic random-access memory
Dynamics (from Greek language, Greek δυναμικός ''dynamikos'' "powerful", from δύναμις ''dynamis'' "power (disambiguation), power") or dynamic may refer to:
Physics and engineering
* Dynamics (mechanics), the study of forces and t ...
(DRAM) in which
memory cells interact electrically between themselves by leaking their charges, possibly changing the contents of nearby
memory rows that were not
addressed in the original memory access. This circumvention of the isolation between DRAM memory cells results from the high cell density in modern DRAM, and can be triggered by specially crafted
memory access pattern In computing, a memory access pattern or IO access pattern is the pattern with which a system or program reads and writes memory on secondary storage. These patterns differ in the level of locality of reference and drastically affect cache perform ...
s that rapidly activate the same memory rows numerous times.
The Rowhammer effect has been used in some
privilege escalation
Privilege escalation is the act of exploiting a Software bug, bug, a Product defect, design flaw, or a configuration oversight in an operating system or software application to gain elevated access to resource (computer science), resources that ar ...
computer security
exploits,
and network-based attacks are also theoretically possible.
Different hardware-based techniques exist to prevent the Rowhammer effect from occurring, including required support in some
processors
Processor may refer to:
Computing Hardware
* Processor (computing)
** Central processing unit (CPU), the hardware within a computer that executes a program
*** Microprocessor, a central processing unit contained on a single integrated circuit ( ...
and types of DRAM
memory module
In computing, a memory module or RAM stick is a printed circuit board on which Computer memory, memory integrated circuits are mounted.
Memory modules permit easy installation and replacement in electronic systems, especially computers such as ...
s.
Background

In
dynamic RAM
Dynamics (from Greek δυναμικός ''dynamikos'' "powerful", from δύναμις ''dynamis'' " power") or dynamic may refer to:
Physics and engineering
* Dynamics (mechanics), the study of forces and their effect on motion
Brands and ente ...
(DRAM), each
bit
The bit is the most basic unit of information in computing and digital communication. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represented as ...
of stored data occupies a separate memory cell that is electrically implemented with one
capacitor
In electrical engineering, a capacitor is a device that stores electrical energy by accumulating electric charges on two closely spaced surfaces that are insulated from each other. The capacitor was originally known as the condenser, a term st ...
and one
transistor
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch electrical signals and electric power, power. It is one of the basic building blocks of modern electronics. It is composed of semicondu ...
. The charge state of a capacitor (charged or discharged) is what determines whether a DRAM cell stores "1" or "0" as a
binary value. Huge numbers of DRAM memory cells are packed into
integrated circuit
An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
s, together with some additional logic that organizes the cells for the purposes of reading, writing, and
refreshing the data.
Memory cells (blue squares in both illustrations) are further organized into
matrices
Matrix (: matrices or matrixes) or MATRIX may refer to:
Science and mathematics
* Matrix (mathematics), a rectangular array of numbers, symbols or expressions
* Matrix (logic), part of a formula in prenex normal form
* Matrix (biology), the ...
and addressed through rows and columns. A memory address applied to a matrix is broken into the row address and column address, which are processed by the row and column
address decoder
In digital electronics, an address decoder is a binary decoder that has two or more inputs for address bits and one or more outputs for device selection signals. When the address for a particular device appears on the address inputs, the decoder a ...
s (in both illustrations, vertical and horizontal green rectangles, respectively). After a row address selects the row for a read operation (the selection is also known as
row activation), bits from all cells in the row are transferred into the
sense amplifier A sense amplifier is a circuit that is used to amplify and detect small signals in electronic systems. It is commonly used in memory circuits, such as dynamic random access memory (DRAM), to read and amplify the weak signals stored in memory cells. ...
s that form the row buffer (red squares in both illustrations), from which the exact bit is selected using the column address. Consequently, read operations are of a destructive nature because the design of DRAM requires memory cells to be rewritten after their values have been read by transferring the cell charges into the row buffer. Write operations decode the addresses in a similar way, but as a result of the design entire rows must be rewritten for the value of a single bit to be changed.
As a result of storing data bits using capacitors that have a natural discharge rate, DRAM memory cells lose their state over time and require periodic
rewriting
In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewrite engines, or reduc ...
of all memory cells, which is a process known as refreshing.
As another result of the design, DRAM memory is susceptible to random changes in stored data, which are known as
soft memory errors and attributed to
cosmic rays
Cosmic rays or astroparticles are high-energy particles or clusters of particles (primarily represented by protons or atomic nuclei) that move through space at nearly the speed of light. They originate from the Sun, from outside of the Solar ...
and other causes. There are different techniques that counteract soft memory errors and improve the reliability of DRAM, of which
error-correcting code (ECC) memory and its advanced variants (such as
lockstep memory) are most commonly used.
Overview

Increased densities of
DRAM
Dram, DRAM, or drams may refer to:
Technology and engineering
* Dram (unit), a unit of mass and volume, and an informal name for a small amount of liquor, especially whisky or whiskey
* Dynamic random-access memory, a type of electronic semicondu ...
integrated circuit
An integrated circuit (IC), also known as a microchip or simply chip, is a set of electronic circuits, consisting of various electronic components (such as transistors, resistors, and capacitors) and their interconnections. These components a ...
s have led to physically smaller memory cells containing less charge, resulting in lower operational
noise margin
In electrical engineering, Noise margin is the maximum voltage amplitude of extraneous signal that can be algebraically added to the noise-free worst-case input level without causing the output voltage to deviate from the allowable logic voltage l ...
s, increased rates of electromagnetic interactions between memory cells, and greater possibility of data loss. As a result, ''disturbance errors'' have been observed, being caused by cells interfering with each other's operation and manifesting as random changes in the values of bits stored in affected memory cells. The awareness of disturbance errors dates back to the early 1970s and
Intel 1103 as the first commercially available DRAM integrated circuits; since then, DRAM manufacturers have employed various
mitigation
Mitigation is the reduction of something harmful that has occurred or the reduction of its harmful effects. It may refer to measures taken to reduce the harmful effects of hazards that remain ''in potentia'', or to manage harmful incidents that ...
techniques to counteract disturbance errors, such as improving the isolation between cells and performing production testing. However, researchers proved in a 2014 analysis that commercially available
DDR3 SDRAM
Double Data Rate 3 Synchronous Dynamic Random-Access Memory (DDR3 SDRAM) is a type of synchronous dynamic random-access memory (SDRAM) with a high bandwidth (" double data rate") interface, and has been in use since 2007. It is the higher-spe ...
chips manufactured in 2012 and 2013 are susceptible to disturbance errors, while using the term ''Rowhammer'' to name the associated side effect that led to observed
bit flips.
The opportunity for the Rowhammer effect to occur in DDR3 memory
is primarily attributed to DDR3's high density of memory cells and the results of associated interactions between the cells, while rapid DRAM row activations have been determined as the primary cause. Frequent row activations cause
voltage
Voltage, also known as (electrical) potential difference, electric pressure, or electric tension, is the difference in electric potential between two points. In a Electrostatics, static electric field, it corresponds to the Work (electrical), ...
fluctuations on the associated row selection lines, which have been observed to induce higher-than-natural discharge rates in capacitors belonging to nearby (adjacent, in most cases) memory rows, which are called ''victim rows''; if the affected memory cells are not
refreshed before they lose too much charge, disturbance errors occur. Tests show that a disturbance error may be observed after performing around 139,000 subsequent memory row accesses (with
cache flushes), and that up to one memory cell in every 1,700 cells may be susceptible. Those tests also show that the rate of disturbance errors is not substantially affected by increased environment temperature, while it depends on the actual contents of DRAM because certain
bit patterns result in significantly higher disturbance error rates.
A variant called ''double-sided hammering'' involves targeted activations of two DRAM rows surrounding a victim row: in the illustration provided in this section, this variant would be activating both yellow rows with the aim of inducing bit flips in the purple row, which in this case would be the victim row. Tests show that this approach may result in a significantly higher rate of disturbance errors, compared to the variant that activates only one of the victim row's neighboring DRAM rows.
As DRAM vendors have deployed mitigations, patterns had to become more sophisticated to bypass Rowhammer mitigations. More recent Rowhammer patterns include non-uniform, frequency-based patterns.
These patterns consist of many double-sided aggressors pairs where each of them is hammered with a different frequency, phase, and amplitude. Using this and synchronizing patterns with the REFRESH command, it is possible to very effectively determine "blind spots" where the mitigation is not able to provide protection anymore. Based on this idea, academics built a Rowhammer fuzzer named ''Blacksmith'' that can bypass existing mitigations on all DDR4 devices.
Mitigation
Different methods exist for more or less successful detection, prevention, correction or mitigation of the Rowhammer effect. Tests show that simple
error correction code
In computing, telecommunication, information theory, and coding theory, forward error correction (FEC) or channel coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels.
The centra ...
, providing
single-error correction and double-error detection (SECDED) capabilities, are not able to correct or detect all observed disturbance errors because some of them include more than two flipped bits per
memory word.
Furthermore, research shows that precisely targeted three-bit Rowhammer flips prevents ECC memory from noticing the modifications.
A less effective solution is to introduce more frequent memory refreshing, with the
refresh intervals shorter than the usual 64 ms, but this technique results in higher power consumption and increased processing overhead; some vendors provide
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
updates that implement this type of mitigation. One of the more complex prevention measures performs
counter-based identification of frequently accessed memory rows and proactively refreshes their neighboring rows; another method issues additional infrequent random refreshes of memory rows neighboring the accessed rows regardless of their access frequency. Research shows that these two prevention measures cause negligible performance impacts.
Since the release of
Ivy Bridge microarchitecture
In electronics, computer science and computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as μarch or uarch, is the way a given instruction set architecture (ISA) is implemented in a particular ...
,
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
Xeon
Xeon (; ) is a brand of x86 microprocessors designed, manufactured, and marketed by Intel, targeted at the non-consumer workstation, server, and embedded markets. It was introduced in June 1998. Xeon processors are based on the same archite ...
processors support the so-called ''pseudo target row refresh'' (pTRR) that can be used in combination with pTRR-compliant DDR3
dual in-line memory module
A DIMM (Dual In-line Memory Module) is a popular type of memory module used in computers. It is a printed circuit board with one or both sides (front and back) holding DRAM integrated circuit, chips and Pin (electronics), pins. The vast majority ...
s (DIMMs) to mitigate the Rowhammer effect by automatically refreshing possible victim rows, with no negative impact on performance or power consumption. When used with DIMMs that are not pTRR-compliant, these Xeon processors by default fall back on performing DRAM refreshes at twice the usual frequency, which results in slightly higher memory access latency and may reduce the memory bandwidth by up to 2–4%.
The
LPDDR4 mobile memory standard published by
JEDEC
The Joint Electron Device Engineering Council (JEDEC) Solid State Technology Association is a consortium of the semiconductor industry headquartered in Arlington County, Virginia, Arlington, United States. It has over 300 members and is focused ...
includes optional hardware support for the so-called ''target row refresh'' (TRR) that prevents the Rowhammer effect without negatively impacting performance or power consumption.
Additionally, some manufacturers implement TRR in their
DDR4
Double Data Rate 4 Synchronous Dynamic Random-Access Memory (DDR4 SDRAM) is a type of synchronous dynamic random-access memory with a high bandwidth ("double data rate") interface.
Released to the market in 2014, it is a variant of dynamic rando ...
products, although it is not part of the DDR4 memory standard published by JEDEC. Internally, TRR identifies possible victim rows, by counting the number of row activations and comparing it against predefined
chip-specific ''maximum activate count'' (MAC) and ''maximum activate window'' (t
MAW) values, and refreshes these rows to prevent bit flips. The MAC value is the maximum total number of row activations that may be encountered on a particular DRAM row within a time interval that is equal or shorter than the t
MAW amount of time before its neighboring rows are identified as victim rows; TRR may also flag a row as a victim row if the sum of row activations for its two neighboring rows reaches the MAC limit within the t
MAW time window.
Research showed that TRR mitigations deployed on DDR4 UDIMMs and LPDDR4X chips from devices produced between 2019 and 2020 are not effective in protecting against Rowhammer.
Due to their necessity of huge numbers of rapidly performed DRAM row activations, Rowhammer exploits issue large numbers of uncached memory accesses that cause
cache miss
In computing, a cache ( ) is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsew ...
es, which can be detected by monitoring the rate of cache misses for unusual peaks using
hardware performance counter In computers, hardware performance counters (HPCs), or hardware counters are a set of special-purpose registers built into modern microprocessors to store the counts of hardware-related activities. Advanced users often rely on those counters to cond ...
s.
Version 5.0 of the
MemTest86 memory diagnostic software, released on December 3, 2013, added a Rowhammer test that checks whether computer RAM is susceptible to disturbance errors, but it only works if the computer boots
UEFI
Unified Extensible Firmware Interface (UEFI, as an acronym) is a Specification (technical standard), specification for the firmware Software architecture, architecture of a computing platform. When a computer booting, is powered on, the UEFI ...
; without UEFI, it boots an older version with no hammer test.
Implications
Memory protection
Memory protection is a way to control memory access rights on a computer, and is a part of most modern instruction set architectures and operating systems. The main purpose of memory protection is to prevent a process from accessing memory that h ...
, as a way of preventing
processes from accessing memory that has not been
assigned to each of them, is one of the concepts behind most modern
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s. By using memory protection in combination with other security-related mechanisms such as
protection ring
In computer science, hierarchical protection domains, often called protection rings, are mechanisms to protect data and functionality from faults (by improving fault tolerance) and malicious behavior (by providing computer security).
Computer ...
s, it is possible to achieve
privilege separation
Privilege may refer to:
Arts and entertainment
* Privilege (film), ''Privilege'' (film), a 1967 film directed by Peter Watkins
* Privilege (Ivor Cutler album), ''Privilege'' (Ivor Cutler album), 1983
* Privilege (Television Personalities album ...
between processes, in which
programs and computer systems in general are divided into parts limited to the specific
privileges they require to perform a particular task. Using privilege separation can also reduce the extent of potential damage caused by
computer security
Computer security (also cybersecurity, digital security, or information technology (IT) security) is a subdiscipline within the field of information security. It consists of the protection of computer software, systems and computer network, n ...
attacks by restricting their effects to specific parts of the system.
Disturbance errors (explained in the
section above) effectively defeat various layers of memory protection by "
short circuit
A short circuit (sometimes abbreviated to short or s/c) is an electrical circuit that allows a current to travel along an unintended path with no or very low electrical impedance. This results in an excessive current flowing through the circuit ...
ing" them at a very low hardware level, practically creating a unique
attack vector type that allows processes to alter the contents of arbitrary parts of the
main memory
Computer data storage or digital data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processin ...
by directly manipulating the underlying memory hardware.
In comparison, "conventional" attack vectors such as
buffer overflows aim at circumventing the protection mechanisms at the software level, by
exploiting various programming mistakes to achieve alterations of otherwise inaccessible main memory contents.
Exploits
The initial research into the Rowhammer effect, published and presented in June 2014 at the
International Symposium on Computer Architecture
The International Symposium on Computer Architecture (ISCA) is an annual academic conference on computer architecture, generally viewed as the top-tier in the field. Association for Computing Machinery's Special Interest Group on Computer Archit ...
, described and analyzed the nature of DRAM read disturbance errors in DDR3 DRAM chips. This paper
experimentally studied 129 real DDR3 DRAM modules from three DRAM manufacturers and demonstrated read disturbance bitflips in 110 of them. It also showed that a user-level program run on two real systems from Intel and AMD induces bitflips in main memory. The work indicated the potential for constructing an attack, saying that "With some engineering effort, we believe we can develop Code 1a into a disturbance attack that injects errors into
other programs, crashes the system, or perhaps even hijacks control of the system. We leave such research for the future since the primary objective in this work is to understand and prevent DRAM disturbance errors."
A subsequent October 2014 research paper did not imply the existence of any security-related issues arising from the Rowhammer effect.
On March 9, 2015,
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's
Project Zero
Project Zero is a team of security analysts employed by Google tasked with finding Zero-day (computing), zero-day vulnerabilities. It was announced on 15 July 2014.
History
After finding a number of flaws in software used by many end-users whi ...
revealed two working
privilege escalation
Privilege escalation is the act of exploiting a Software bug, bug, a Product defect, design flaw, or a configuration oversight in an operating system or software application to gain elevated access to resource (computer science), resources that ar ...
exploits based on the Rowhammer effect, establishing its exploitable nature on the
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
architecture. One of the revealed exploits targets the
Google Native Client
Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independ ...
(NaCl) mechanism for running a limited subset of x86-64
machine instruction
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonbi ...
s within a
sandbox
A sandbox is a sandpit, a wide, shallow playground construction to hold sand, often made of wood or plastic.
Sandbox or sand box may also refer to:
Arts, entertainment, and media
* Sandbox (band), a Canadian rock music group
* Sandbox (Gu ...
,
exploiting the Rowhammer effect to escape from the sandbox and gain the ability to issue
system call
In computing, a system call (syscall) is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services (for example, accessing a hard disk drive ...
s directly. This NaCl
vulnerability
Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." The understanding of social and environmental vulnerability, as a methodological approach, involves ...
, tracked as , has been mitigated by modifying the NaCl so it does not allow execution of the
clflush
(
cache line
A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data from the main memory. A cache is a smaller, faster memory, located closer to a processor core, which ...
flush) machine instruction, which was previously believed to be required for constructing an effective Rowhammer attack.
The second exploit revealed by Project Zero runs as an unprivileged
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
process on the x86-64 architecture, exploiting the Rowhammer effect to gain unrestricted access to all
physical memory
Computer data storage or digital data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processin ...
installed in a computer. By combining the disturbance errors with
memory spraying, this exploit is capable of altering
page table entries used by the
virtual memory
In computing, virtual memory, or virtual storage, is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a ver ...
system for mapping
virtual address
Virtual may refer to:
* Virtual image, an apparent image of an object (as opposed to a real object), in the study of optics
* Virtual (horse), a thoroughbred racehorse
* Virtual channel, a channel designation which differs from that of the actual ...
es to
physical address
In computing, a physical address (also real address, or binary address), is a memory address that is represented in the form of a binary number on the address bus circuitry in order to enable the data bus to access a ''particular'' storage cell o ...
es, which results in the exploit gaining unrestricted memory access.
Due to its nature and the inability of the x86-64 architecture to make
clflush
a privileged machine instruction, this exploit can hardly be mitigated on computers that do not use hardware with built-in Rowhammer prevention mechanisms. While testing the viability of exploits, Project Zero found that about half of the 29 tested
laptop
A laptop computer or notebook computer, also known as a laptop or notebook, is a small, portable personal computer (PC). Laptops typically have a Clamshell design, clamshell form factor (design), form factor with a flat-panel computer scree ...
s experienced disturbance errors, with some of them occurring on vulnerable laptops in less than five minutes of running row-hammer-inducing code; the tested laptops were manufactured between 2010 and 2014 and used non-ECC DDR3 memory.
In July 2015, a group of security researchers published a paper that describes an
architecture
Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and construction, constructi ...
- and
instruction-set-independent way for exploiting the Rowhammer effect. Instead of relying on the
clflush
instruction to perform cache flushes, this approach achieves uncached memory accesses by causing a very high rate of
cache eviction
A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost (time or energy) to access data (computer science), data from the main memory. A cache is a smaller, faster memory, located closer to ...
using carefully selected memory access patterns. Although the
cache replacement policies
In computing, cache replacement policies (also known as cache replacement algorithms or cache algorithms) are optimizing instructions or algorithms which a computer program or hardware-maintained structure can utilize to manage a cache of info ...
differ between processors, this approach overcomes the architectural differences by employing an adaptive cache eviction strategy
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
.
The
proof of concept
A proof of concept (POC or PoC), also known as proof of principle, is an inchoate realization of a certain idea or method in order to demonstrate its feasibility or viability. A proof of concept is usually small and may or may not be complete ...
for this approach is provided both as a
native code
In computer programming, machine code is computer program, computer code consisting of machine language instruction set architecture, instructions, which are used to control a computer's central processing unit (CPU). For conventional binary ...
implementation, and as a pure
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
implementation that runs on
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
39. The JavaScript implementation, called ''Rowhammer.js'', uses large
typed arrays
An array is a systematic arrangement of similar objects, usually in rows and columns.
Things called an array include:
{{TOC right
Music
* In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
and relies on their internal
allocation using
large pages; as a result, it demonstrates a very high-level exploit of a very low-level vulnerability.
In October 2016, researchers published DRAMMER, an Android application that uses Rowhammer, together with other methods, to reliably gain root access on several popular smartphones. The vulnerability was acknowledged as and a mitigation was released by Google within a month. However, due to the general nature of possible implementations of the attack, an effective software patch is difficult to be reliably implemented. As of June 2018, most patch proposals made by academia and industry were either impractical to deploy or insufficient in stopping all attacks. As a mitigation, researchers proposed a lightweight defense that prevents attacks based on
direct memory access
Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system computer memory, memory independently of the central processing unit (CPU).
Without DMA, when the CPU is using programmed i ...
(DMA) by isolating DMA buffers with guard rows.
In May 2020, the TRRespass work
showed that existing DDR4 DRAM chips, which are claimed to be protected and resilient against Rowhammer, are actually vulnerable to Rowhammer. This work introduced a new access pattern, called many-sided hammering, which circumvents Rowhammer protections that were put into place inside DDR4 DRAM chips.
In May 2021, a Google research team announced a new exploit, Half-Double that takes advantage of the worsening physics of some of the newer DRAM chips.
In March 2024, a group of researchers at
ETH Zürich
ETH Zurich (; ) is a public university in Zurich, Switzerland. Founded in 1854 with the stated mission to educate engineers and scientists, the university focuses primarily on science, technology, engineering, and mathematics. ETH Zurich ra ...
announced ZenHammer, a rowhammer exploit for
AMD Zen chips, and also announced the first use of rowhammer to exploit
DDR5 SDRAM
Double Data Rate 5 Synchronous Dynamic Random-Access Memory (DDR5 SDRAM) is a type of synchronous dynamic random-access memory. Compared to its predecessor DDR4 SDRAM, DDR5 was planned to reduce power consumption, while doubling bandwidth. Th ...
.
In June 2024, a group of researchers at
ETH Zürich
ETH Zurich (; ) is a public university in Zurich, Switzerland. Founded in 1854 with the stated mission to educate engineers and scientists, the university focuses primarily on science, technology, engineering, and mathematics. ETH Zurich ra ...
announced RISC-H, a rowhammer exploit for
RISC-V
RISC-V (pronounced "risk-five") is an open standard instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles. The project commenced in 2010 at the University of California, Berkeley. It transfer ...
chips, this is the first Rowhammer study on RISC-V.
See also
*
Memory scrambling
A memory controller, also known as memory chip controller (MCC) or a memory controller unit (MCU), is a digital circuit that manages the flow of data going to and from a computer's main memory. When a memory controller is integrated into another ...
memory controller feature that turns user data written to the memory into pseudo-random patterns
*
Radiation hardening
Radiation hardening is the process of making electronic components and circuits resistant to damage or malfunction caused by high levels of ionizing radiation (particle radiation and high-energy electromagnetic radiation), especially for environm ...
the act of making electronic components resistant to damage or malfunctions caused by ionizing radiation
*
Single event upset a change of state caused by ions or electromagnetic radiation striking a sensitive node in an electronic device
*
Soft error
In electronics and computing, a soft error is a type of error where a signal or datum is wrong. Errors may be caused by a defect, usually understood either to be a mistake in design or construction, or a broken component. A soft error is also a ...
a type of error involving erroneous changes to signals or data but no changes to the underlying device or circuit
Notes
References
External links
Some notes on DRAM (#rowhammer) March 9, 2015, by Robert Graham
InfoWorld
, March 9, 2015, by Serdar Yegulalp
* , July 17, 2014, by Barbara Aichinger
Patent US 20140059287 A1: Row hammer refresh command February 27, 2014, by Kuljit Bains et al.
* Row Hammer Privilege Escalation Vulnerability,
Cisco Systems
Cisco Systems, Inc. (using the trademark Cisco) is an American multinational corporation, multinational digital communications technology conglomerate (company), conglomerate corporation headquartered in San Jose, California. Cisco develops, m ...
security advisory, March 11, 2015
* ARMOR: A run-time memory hot-row detector,
The University of Manchester
The University of Manchester is a public university, public research university in Manchester, England. The main campus is south of Manchester city centre, Manchester City Centre on Wilmslow Road, Oxford Road. The University of Manchester is c ...
, by Mohsen Ghasempour et al.
Using Memory Errors to Attack a Virtual Machine March 6, 2003, by Sudhakar Govindavajhala and Andrew W. Appel
A program for testing for the DRAM "rowhammer" problem source code on
GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
{{Operating system
Computer memory
Computer security exploits
Data quality
Privilege escalation exploits
Denial-of-service attacks
Hardware bugs
2014 in computing