Rowpress: DRAM-Angriff Rowhammer hat einen jüngeren Bruder

Ein neuer Seitenkanalangriff manipuliert vermeintlich geschützte Bereiche des Arbeitsspeichers und funktioniert unabhängig von der eingesetzten CPU.

In Pocket speichern vorlesen Druckansicht 25 Kommentare lesen

(Bild: c't)

Lesezeit: 3 Min.

Ein Team der ETH Zürich hat einen weiteren Dreh für einen Seitenkanalangriff auf das RAM gefunden. Er lässt sich für Malware nutzen, die den Inhalt vermeintlich geschützter RAM-Adressbereiche verändert, um beispielsweise Zugriffsrechte auszuweiten. Das Expertenteam taufte die neuartige Attacke auf den Namen Rowpress – ein Bruder des inzwischen elf Jahre alten Rowhammer-Angriffs.

Beide Angriffstypen nutzen den technischen Aufbau von SDRAM-Bausteinen aus, die entweder auf Speicherriegeln sitzen oder auf dem (Notebook-)Mainboard verlötet sind. Sie bestehen aus Milliarden winziger Speicherzellen mit jeweils einem Kondensator-Transistor-Paar. Letzteres speichert Informationen in Form eines Ladungszustands. Die einzelnen DRAM-Zellen sind matrixförmig in Zeilen (Rows) und Spalten (Columns) angeordnet. Zum Lesen und Schreiben der Daten dienen Schreib-Leseverstärker (Sense Amps), die jeweils auf eine ganze Zeile (Row) zugreifen, die Zellen in einer Zeile sind also elektrisch miteinander verbunden. Zudem liegen Zeilen extrem dicht nebeneinander und sind auch über die Leitungen der Spaten-Decoder gekoppelt; auch dadurch gibt es Wechselwirkungen.

Bisherige Rowhammer-Angriffe "hämmern" Speicherzellen mit sehr vielen Lesebefehlen zu, sodass sich der Ladungszustand benachbarter Zellen so weit verändert, dass eine Ladungsschwellwert überschritten und die Information falsch ausgelesen wird. Das enthaltene Bit "flippt" von 0 zu 1 oder von 1 zu 0. Infolge lassen sich vermeintlich sicher gegeneinander abgeschottete Speicheradressgrenzen überwinden – User- und Kernel-Space etwa verschwimmen. Gegenmaßnahmen begrenzen die Anzahl direkt aufeinanderfolgender Lesebefehle auf SDRAM-Zellen.

Rowpress geht nun einen anderen Weg: Statt Speicherzellen zuzuhämmern, werden die Zeilen gezielt so lange ohne neue Zugriffe offengehalten, bis die Ladung einzelner Zellen nachlässt und ein Bit flippt. Statt ein paar Dutzend Nanosekunden bleibt eine Zeile so bis zu 30 Millisekunden lang geöffnet. Die Dauer ist allerdings durch die bei dynamischen RAM (DRAM) regelmäßig nötigen Refresh-Zyklen beschränkt. Im Extremfall soll bereits ein einzelner Zugriff einen Bitflip auslösen können.

Funktionsweise von Rowpress: Speicherzeilen werden lange offengehalten, statt sie mit Zugriffen vollzuhämmern.

(Bild: ETH Zürich / Safari Research Group)

Die ursprünglichen Tests erfolgten über einen FPGA-Chip mit programmierbaren Logikgattern in einer kontrollierten Umgebung, um DDR4-Speicherriegeln der drei Hersteller Samsung, SK Hynix und Micron unter den gleichen Bedingungen zu testen. Alle zeigten sich anfällig; bisherige Rowhammer-Gegenmaßnahmen brachten nichts.

Einen realitätsnaher Proof of Concept führte das Team mit Intels Desktop-Prozessor Core i5-10400 durch. Da der Angriff auf die SDRAM-Bauweise abzielt, sind allerdings alle Plattformen betroffen, also auch AMD-Prozessoren und etwa ARM-basierte CPUs.

Rowpress (4 Bilder)

"Mfr. S" steht für Manufacturer (Hersteller) Samsung, H für SK Hynix und M für Micron. Rowpress funktionierte auf allen getesteten DDR4-Modulen.
(Bild: ETH Zürich / Safari Research Group)

Die Entdecker schlagen vor, die bestehenden Rowhammer-Schutzmechanismen "Graphene" und "PARA" so anzupassen, dass sie nicht nur die Anzahl der Speicherzugriffe limitieren, sondern auch die Zeit, wie lange ein Programm auf eine Zeile zugreifen darf. Insbesondere mit einer angepassten Graphene-Version, Graphene-RP genannt, soll durchschnittlich kein spürbarer Performance-Verlust entstehen.

(mma)