We present ECC.fail, the first end-to-end Rowhammer attack effective against DDR4 server machines with ECC memory.
More specifically, we show how error correction mechanisms used by server machines to prevent memory errors are not sufficient for mitigating Rowhammer, allowing attackers to induce bit flips in the machine's memory without causing crashes. We then show how to use these bit flips to breach common security mechanisms such as RSA signatures.
To build ECC.fail, we first analyze the in-DRAM Rowhammer protection (e.g., Target Row Refresh -- TRR) on server memory modules using an FPGA and observe their behavour in the presense of Rowhammer. We then use a logic analyzer to reverse engineer Intel’s implementation of memory Error Correction Codes (ECC). Combining both, we are able to craft effective hammering patterns on Intel platforms, bypassing all Rowhammer protections and without inducing crashes. Finally, we demonstrate the effectiveness of our attack by using Rowhammer to breach common security mechanisms such as RSA signatures.
We use a logic analyzer to capture DRAM bus traffic in order to reverse engineer Intel's implementation of memory error correction codes. Below on the left is a video demonstration of capturing DRAM activate/read/write commands and data/checkbits transactions. The captured data is in both listing format and waveform format. Below on the right are pictures of different parts in our logic analyzer setup and a close look at the DDR4 DIMM Interposer we use.
We present the first end-to-end Rowhammer attack effective against DDR4 server machines with ECC memory. The video below demonstrates getting Rowhammer bit flips on a DDR4 server with default configuration.
Check out our lab website!
Example picture of a server memory module:
Yes, with rights waived via CC0. You can right-click each logo, which should list an option to save the image as a file.
The 'Read the Paper' button at the top of this website links to the academic paper for ECC.fail. ECC.fail will appear at the 2025 USENIX Security Symposium.
We publish the artifacts supporting our work, listed as follows:
This research was supported by the Alfred P Sloan Research Fellowship;
an ARC Discovery Project number DP210102670;
the Defense Advanced Research Projects Agency (DARPA) under contract numbers W912CG-23-C-0022;
the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany's Excellence Strategy -
EXC 2092 CASA - 390781972;
and a gift from Qualcomm.
The views and conclusions contained in this document are those of the authors and should not
be interpreted as representing the official policies, either expressed or implied, of the
U.S. Government.