Fragen? Antworten! Siehe auch: Alternativlos
Nun, herzlich willkommen bei RAMBleed. Stellt sich nämlich raus: Man kann auch benachbarte Zellen auslesen.
Klingt jetzt nicht so schlimm, aber man muss bedenken, dass zwischen dem RAM und deinem Prozess eine MMU sitzt, und ein Betriebssystem, das den physischen Speicher wild durch eine Indirektionsschicht umherwürfelt, d.h. nur weil die physikalischen Adressen benachbart sind, heißt das mitnichten, dass die Daten vom selben Prozess sind.
Das ist schon für einen Single-User-Desktop furchtbar, weil das auch ein unprivilegierter Prozess in einer Sandbox machen kann, also z.B. Javascript im Browser.
Aber für Cloud-Umgebungen ist das ein weiterer Totalschaden.
As an example, in our paper we demonstrate an attack against OpenSSH in which we use RAMBleed to leak a 2048 bit RSA key.
Und das funktioniert so:We show in our paper that an attacker, by observing Rowhammer-induced bit flips in her own memory, can deduce the values in nearby DRAM rows.
Und falls ihr euch jetzt denkt: Ach macht nichts, ich hab damals nach Rowhammer ECC-Speicher gekauft, dann habe ich schlechte Nachrichten für euch:Furthermore, unlike Rowhammer, RAMBleed does not require persistent bit flips, and is thus effective against ECC memory commonly used by server computers.
Fuuuuuuck! (Danke, Sven)