Researchers have revealed in a new paper that error-correcting code (ECC) memory, once thought to be safe against the Rowhammer attack, is also vulnerable against this type of exploit. They called this new attack "ECCploit."
Hammering Memory Rows with Electrical Charges
Rowhammer, a vulnerability in DDR3 and DDR4 memory, was first uncovered in 2014. The vulnerability is thought to be a serious one by security experts because it allows attackers to “flip bits” in memory.
The Rowhammer vulnerability seems to exist in modern (DDR3 and newer) RAM modules because of how dense they are. This high density allows memory cells to leak their charges or even modify the contents of nearby memory rows. Specially crafted memory patterns can rapidly activate the same memory rows numerous times, creating the “row hammer” effect.
The Rowhammer attack could allow malicious parties to create privilege escalation exploits and network-based attacks that would enable them to tamper with data and inject malicious commands in computer systems. Servers are most at risk from such attacks because they tend to be more appealing targets for information stealing or tampering.
ECC Memory Vulnerable to Rowhammer
Until recently, it was believed that ECC memory would offer at least some protection against the Rowhammer attack because if the bits were flipped in memory, the ECC memory would self-correct.
Researchers from the Vrije Universiteit Amsterdam's VUSec group came out with a paper that contradicts this theory. In their research, the academics flipped three bits per memory word, which wouldn’t normally be detected by ECC memory. Memory with ECC capabilities can correct only one flipped bit per memory word or can detect two flipped bits, but not three or more.
The researchers tested four different server systems, three of which were using Intel CPUs and one was using an AMD CPU. They declined to name which RAM brands they used, but we know they tested only DDR3 memory.
The VUSec researchers also came up with an Android exploit called “DRAMMER” that took advantage of Rowhammer and other exploits to gain root access to several popular Android devices. Google released a software patch against DRAMMER, but due to the nature of possible implementations of the attack, it’s difficult for software mitigations to protect against it reliably.
The Dutch researchers noted that ECC capabilities in memory are still useful to slow down Rowhammer attacks, even if they can’t prevent it. Since the Rowhammer attack was first discovered, a new hardware mechanism to protect against it was developed by memory manufacturers called “Target Row Refresh” (TRR), which basically refreshes the memory rows at a higher frequency without negatively impacting performance or power consumption.
Samsung is one of the manufacturers that have implemented TRR in their LPDDR4 and DDR4 RAM modules. JEDEC, the standards body developing the DDR specifications, has not yet made TRR part of the DDR specification (it doesn’t seem to be part of DDR5 either), but the specification offers optional hardware support for TRR. The VUSec researchers also believe that TRR coupled with ECC would make it significantly more difficult for attackers to launch Rowhammer attackers against computer systems.