ZenHammer – Angriffsmethode zur Beschädigung von Speicherinhalten auf AMD Zen-Plattformen

Forscher der ETH Zürich haben den ZenHammer-Angriff entwickelt, eine Variante der RowHammer-Angriffsklasse zur Änderung des Inhalts einzelner Bits des dynamischen Direktzugriffsspeichers (DRAM), angepasst für den Einsatz auf Plattformen mit AMD-Prozessoren. Frühere RowHammer-Angriffe beschränkten sich auf Systeme, die auf Intel-Prozessoren basierten. Untersuchungen haben jedoch gezeigt, dass Speicherbeschädigungen auch auf Plattformen mit AMD-Speichercontrollern auftreten können.

Die Methode wurde auf AMD Zen 2- und Zen 3-Systemen mit DDR4-Speicher von drei führenden Herstellern (Samsung, Micron und SK Hynix) demonstriert. Der Angriff umgeht erfolgreich den in Speicherchips implementierten TRR-Mechanismus (Target Row Refresh), der darauf abzielt, vor Beschädigung von Speicherzellen in benachbarten Zeilen zu schützen. Den Forschern zufolge sind Systeme, die auf AMD-Zen-3-CPUs basieren, anfälliger als Systeme mit Intel-Coffee-Lake-Prozessoren und einfacher und effektiver anzugreifen. Auf AMD Zen 2-Systemen wurde eine Zellverzerrung bei 7 von 10 getesteten DDR4-Chips erreicht, auf Zen 3-Systemen bei 6 von 10. Die Forscher analysierten auch die Möglichkeit eines Angriffs auf AMD Zen 4-Systeme mit DDR5-Speicher, aber der Angriff Die für DDR4 entwickelte Methode konnte nur auf 1 von 10 getesteten DDR5-Speicherchips erfolgreich reproduziert werden, wobei die Möglichkeit eines Angriffs selbst nicht ausgeschlossen ist, sondern die Entwicklung effizienterer Lesemuster erfordert, die für DDR5-Geräte geeignet sind.

Um mit AMD-Chips zu arbeiten, konnten sie zuvor entwickelte Exploits anpassen, die den Inhalt von Einträgen in der Speicherseitentabelle (PTE, Seitentabelleneintrag) ändern, um Kernel-Privilegien zu erlangen und Passwort-/Autoritätsprüfungen zu umgehen, indem sie den Speicher des Sudo-Prozesses modifizieren , und beschädigen Sie den im Speicher von OpenSSH gespeicherten öffentlichen RSA-2048-Schlüssel, um den privaten Schlüssel neu zu erstellen. Der Memory-Page-Angriff wurde auf 7 von 10 getesteten DDR4-Chips reproduziert, der RSA-Key-Angriff auf 6 Chips und der Sudo-Angriff auf 4 Chips, mit Angriffszeiten von 164, 267 bzw. 209 Sekunden.

ZenHammer – Angriffsmethode zur Beschädigung von Speicherinhalten auf AMD Zen-Plattformen

Die Methode kann auch verwendet werden, um ein System über Browser anzugreifen, Änderungen von virtuellen Maschinen vorzunehmen oder einen Angriff über ein Netzwerk zu starten. Der Quellcode für das DARE-Toolkit zum Reverse Engineering des Adresslayouts im DRAM-Speicher wird auf GitHub unter einer MIT-Lizenz veröffentlicht, ebenso wie zwei Sätze von Dienstprogrammen zum Fuzzing-Testen von Bitbeschädigungen im Speicher – ddr4_zen2_zen3_pub für DDR4-Chips (Zen 2 und Zen 3) und ddr5_zen4_pub für DDR5-Chips ( Zen 4), mit denen sich ihre Systeme auf Angriffsanfälligkeit testen lassen.

ZenHammer – Angriffsmethode zur Beschädigung von Speicherinhalten auf AMD Zen-Plattformen

Die RowHammer-Methode wird zum Verzerren von Bits verwendet. Sie basiert auf der Tatsache, dass im DRAM-Speicher, einem zweidimensionalen Array von Zellen bestehend aus einem Kondensator und einem Transistor, das kontinuierliche Lesen desselben Speicherbereichs zu Spannungsschwankungen führt und Anomalien, die einen kleinen Ladungsverlust benachbarter Zellen verursachen. Wenn die Leseintensität hoch ist, verliert die Nachbarzelle möglicherweise eine ausreichend große Ladungsmenge und der nächste Regenerationszyklus hat keine Zeit, ihren ursprünglichen Zustand wiederherzustellen, was zu einer Änderung des Werts der in der Zelle gespeicherten Daten führt . Der Forscher identifizierte die Merkmale der Zuordnung und Synchronisierung des physischen Speichers mit den in AMD-Prozessoren verwendeten Speicheraktualisierungsmechanismen, die es ermöglichten, die DRAM-Adressierung auf niedriger Ebene wiederherzustellen, die Adressen benachbarter Zellen zu bestimmen, Methoden zur Umgehung des Cachings zu entwickeln und Muster und Häufigkeit zu berechnen von Vorgängen, die zu einem Ladungsverlust führen.

Zum Schutz vor RowHammer nutzen Chiphersteller den TRR-Mechanismus (Target Row Refresh), der in besonderen Fällen Zellbeschädigungen blockiert, aber nicht vor allen möglichen Angriffsmöglichkeiten schützt. Die wirksamste Schutzmethode bleibt die Verwendung von Speicher mit Fehlerkorrekturcodes (ECC), die RowHammer-Angriffe erheblich erschweren, aber nicht vollständig verhindern. Eine Erhöhung der Häufigkeit der Gedächtnisregeneration kann auch die Wahrscheinlichkeit eines erfolgreichen Angriffs verringern.

AMD hat einen Bericht zu diesem Problem veröffentlicht, in dem es heißt, dass AMD-Prozessoren Speichercontroller verwenden, die den DDR-Spezifikationen entsprechen. Da der Erfolg des Angriffs in erster Linie von den Systemeinstellungen und dem DRAM-Speicher abhängt, sollten Fragen zur Lösung des Problems an die Speicherhersteller gerichtet werden und Systeme Zu den bestehenden Möglichkeiten, Angriffe der Rowhammer-Klasse zu erschweren, gehören die Verwendung von ECC-Speicher, die Erhöhung der Häufigkeit der Speicherregeneration, die Deaktivierung des verzögerten Regenerationsmodus und die Verwendung von Prozessoren mit Controllern, die den MAC-Modus (Maximum Activate Count) für DDR4 (1., 2. und 3.) unterstützen Generation AMD EPYC „Naple“, „Rome“ und „Milan“) und RFM (Refresh Management) für DDR5 (AMD EPYC der 4. Generation).

Source: opennet.ru

Kommentar hinzufügen