Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript

By Daniel Gruss, Clémentine Maurice, Stefan Mangard. International Conference on Detection of intrusions and malware, and vulnerability assessment, 2015

463 citations recorded by the source corpus.

A fundamental assumption in software security is that a memory location can only be modified by processes that may write to this memory location. However, a recent study has shown that parasitic effects in DRAM can change the content of a memory cell without accessing it, but by accessing other memory locations in a high frequency. This so-called Rowhammer bug occurs in most of today's memory modules and has fatal consequences for the security of all affected systems, e.g., privilege escalation attacks. All studies and attacks related to Rowhammer so far rely on the availability of a cache flush instruction in order to cause accesses to DRAM modules at a sufficiently high frequency. We overcome this limitation by defeating complex cache replacement policies. We show that caches can be forced into fast cache eviction to trigger the Rowhammer bug with only regular memory accesses. This allows to trigger the Rowhammer bug in highly restricted and even scripting environments. We demonstrate a fully automated attack that requires nothing but a website with JavaScript to trigger faults on remote hardware. Thereby we can gain unrestricted access to systems of website visitors. We show that the attack works on off-the-shelf systems. Existing countermeasures fail to protect against this new Rowhammer attack.

Subfields: Artificial Intelligence, Information Systems, Signal Processing

View Paper: https://www.semanticscholar.org/paper/5f49e769c8eca94873dbb7f30387e33e9d36558e

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Daniel Gruss
  2. Michael Schwarz
  3. Stefan Mangard
  4. Yuval Yarom
  5. Moritz Lipp
  6. Clémentine Maurice
  7. Onur Mutlu
  8. Daniel Genkin

In Information Systems

  1. Daniel Gruss
  2. Stefan Mangard
  3. Onur Mutlu
  4. Michael Schwarz
  5. Moritz Lipp
  6. Clémentine Maurice
  7. Jeremie S. Kim
  8. Yuval Yarom

In Signal Processing

  1. Daniel Gruss
  2. Michael Schwarz
  3. Stefan Mangard
  4. Yuval Yarom
  5. Clémentine Maurice
  6. Moritz Lipp
  7. Onur Mutlu
  8. Daniel Genkin

Citations in the corpus