ZenHammer — eine Angriffsmethode zur Verzerrung des Inhaltsspeichers auf AMD Zen-Plattformen

Forscher der ETH Zürich haben die ZenHammer-Angriffs-Methode entwickelt, eine Variante der RowHammer-Angriffe, um den Inhalt einzelner Bits des dynamischen Random-Access-Speichers (DRAM) zu verändern, die für den Einsatz auf Plattformen mit AMD-Prozessoren angepasst wurde. Frühere RowHammer-Angriffsmethoden waren auf Systeme mit Intel-Prozessoren beschränkt, aber die durchgeführte Forschung hat gezeigt, dass auch auf Plattformen mit Speicherkontrollern von AMD Speicherverzerrungen erreicht werden können.

Die Methode wurde auf AMD Zen 2- und Zen 3-Systemen mit DDR4-RAM von drei führenden Herstellern (Samsung, Micron und SK Hynix) demonstriert. Der Angriff ermöglicht es erfolgreich, den im RAM implementierten TRR-Mechanismus (Target Row Refresh) zu umgehen, der zum Schutz vor der Beeinträchtigung von Speicherzellen in benachbarten Zeilen dient. Forscher schätzen, dass Systeme mit dem AMD Zen 3 CPU aufgrund ihrer Struktur anfälliger sind als solche mit Intel Coffee Lake Prozessoren, und dass sie einfacher und effektiver angegriffen werden können. Bei AMD Zen 2-Systemen wurden Verzerrungen bei 7 von 10 getesteten DDR4-Chips erzielt, während auf Zen 3-Systemen dies bei 6 von 10 der Fall war. Die Forscher untersuchten auch die Möglichkeit, einen Angriff auf AMD Zen 4-Systeme mit DDR5-RAM durchzuführen; jedoch konnte die für DDR4 entwickelte Angriffsmethode nur bei 1 von 10 getesteten DDR5-Speichermodulen erfolgreich reproduziert werden. Es wird jedoch nicht ausgeschlossen, dass ein Angriff möglich ist, wenn effektivere Lesemuster entwickelt werden, die für DDR5-Geräte geeignet sind.

Für die Arbeit mit AMD-Chips konnten zuvor entwickelte Exploits angepasst werden, die den Inhalt der Einträge in der Seitenklapptabelle (PTE, page table entry) ändern, um die Kernelprivilegien zu erlangen, die Passwort-/Berechtigungsüberprüfung durch Modifikation des Speichers des sudo-Prozesses zu umgehen und den im Speicher gespeicherten RSA-2048-öffentlichen Schlüssel in OpenSSH zu beschädigen, um den privaten Schlüssel wiederherzustellen. Der Angriff auf die Seitenclocks konnte auf 7 von 10 getesteten DDR4-Chips reproduziert werden, der Angriff auf den RSA-Schlüssel auf 6 Chips und der Angriff auf sudo auf 4 Chips, wobei die Angriffszeiten 164, 267 und 209 Sekunden betrugen.

ZenHammer - Angriffsmethode zur Verzerrung des Speicherinhalts auf AMD Zen-Plattformen

Die Methode kann auch für Angriffe auf Systeme über Browser angewendet werden, um Änderungen einzuführen aus virtuellen Maschinen oder um einen Netzwerkangriff zu organisieren. Der Quellcode des DARE-Toolkits für das Reverse Engineering von Adress-Layouts im DRAM ist unter der MIT-Lizenz auf GitHub veröffentlicht, ebenso wie zwei Sets von Werkzeugen für das Fuzzing-Testing, um Bitfehler im Speicher zu erzeugen – ddr4_zen2_zen3_pub für DDR4-Chips (Zen 2 und Zen 3) und ddr5_zen4_pub für DDR5-Chips (Zen 4), die verwendet werden können, um die eigenen Systeme auf Anfälligkeit für Angriffe zu überprüfen.

ZenHammer - Angriffsmethode zur Verzerrung des Speicherinhalts auf AMD Zen-Plattformen

Für die Verzerrung von Bits wird die RowHammer-Technik verwendet, die darauf basiert, dass in DRAM-Speicher, der aus einem zweidimensionalen Array aus Kondensatoren und Transistoren besteht, kontinuierliches Lesen desselben Speicherbereichs zu Spannungsschwankungen und Anomalien führt, die einen kleinen Verlust der Ladung benachbarter Zellen verursachen. Wenn die Leseintensität hoch ist, kann die benachbarte Zelle genügend Ladung verlieren, sodass der nächste Regenerationszyklus nicht rechtzeitig in der Lage ist, ihren ursprünglichen Zustand wiederherzustellen, was zu einer Änderung des Wertes der in der Zelle gespeicherten Daten führt. Bei der Untersuchung wurden die spezifischen Mechanismen der Adresszuordnung und der Synchronisierung mit Speicheraktualisierungen in AMD-Prozessoren identifiziert, die es ermöglichten, die niedrigstufige DRAM-Adressierung zu rekonstruieren, die Adressen benachbarter Zellen zu bestimmen, Methoden zur Umgehung des Cachings zu entwickeln und Muster sowie Frequenzen von Operationen zu berechnen, die zu einem Ladungsverlust führen.

Um sich vor RowHammer-Angriffen zu schützen, setzen Chip-Hersteller den TRR-Mechanismus (Target Row Refresh) ein, der in bestimmten Fällen Verzerrungen von Speicherzellen verhindert, jedoch nicht vor allen möglichen Angriffsvarianten schützt. Die effektivste Schutzmethode bleibt die Verwendung von Speichern mit Fehlerkorrekturcodes (ECC), die Angriffe der RowHammer-Klasse erheblich erschweren, aber nicht vollständig ausschließen. Auch eine Erhöhung der Speicherregenerationsfrequenz kann die Wahrscheinlichkeit eines erfolgreichen Angriffs reduzieren.

Das Unternehmen AMD hat einen Bericht über ein Problem veröffentlicht, in dem erklärt wird, dass die AMD-Prozessoren Speicherkontroller verwenden, die den DDR-Spezifikationen entsprechen. Da der Erfolg eines Angriffs hauptsächlich von den Systemeinstellungen und dem DRAM-Speicher abhängt, sollten Anfragen zur Problemlösung an die Speicher- und Systemhersteller gerichtet werden. Unter den bestehenden Methoden zur Erschwerung von Rowhammer-Angriffen wird die Verwendung von ECC-Speicher, die Erhöhung der Speicherregenerationsfrequenz, das Deaktivieren des verzögerten Regenerationsmodus sowie die Nutzung von Prozessoren mit Controllern erwähnt, die den MAC-Modus (Maximum Activate Count) für DDR4 (1., 2. und 3. Generation AMD EPYC „Naple“, „Rome“ und „Milan“) und RFM (Refresh Management) für DDR5 (4. Generation AMD EPYC) unterstützen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster