TONTOU — ein Angriff auf Intel- und AMD-CPUs, der den Schutz vor Spectre v2-Schwachstellen umgeht.

Forscher des Massachusetts Institute of Technology haben die Angriffstechnik TONTOU (Time-of-Neutralization to Time-of-Use) identifiziert, die einen neuen Ansatz zur Ausnutzung von mikroarchitekturellen Schwachstellen der Klasse Spectre v2 bietet. Die Schwachstelle ermöglicht es, den Inhalt des Kernspeichers während der Ausführung eines Exploits im Benutzerspeicher zu bestimmen. Der Code zur Blockierung der Ausnutzung dieser Schwachstelle wurde am 5. August in den Linux-Kernel integriert und ist in den Versionen 7.1.7, 6.18.43, 6.12.102, 6.6.149, 6.1.181, 5.15.214 und 5.10.263 enthalten.

Die Forscher haben die Möglichkeit demonstriert, dass ein lokaler nicht privilegierter Benutzer einen Angriff durchführen kann, um den Hash des root-Passworts, das in der Datei /etc/shadow gespeichert ist und beim Authentifizierungsprozess in den Speicher geladen wird, zu ermitteln. Den Forschern gelang es, Daten mit einer Rate von 5,47 Byte pro Sekunde und einer Genauigkeit von 91,97% aus dem Kernspeicher abzuleiten. Von 10 Testausführungen des Exploits, die im Durchschnitt 18 Minuten dauerten, konnte in der Hälfte der Fälle erfolgreich nachgewiesen werden, dass die Datei /etc/shadow im Speicher vorhanden war und ihr Inhalt extrahiert wurde.

Der Exploit wurde auf Systemen mit AMD-Prozessoren demonstriert und kann mit CPUs der AMD-Familien Zen 1-4 verwendet werden. Auf Intel-Systemen ist der Angriff ebenfalls möglich, jedoch ist die Ausnutzung komplexer. Um die Rückkehrstapelüberlauf-Schwachstelle SRSO (Speculative Return Stack Overflow) in AMD-Prozessoren abzusichern, wird der Safe-RET-Schutzmechanismus eingesetzt, der den Vorhersagepuffer nach jeder Nutzung löscht und das Angriffsfenster auf 2 Befehle, die mehrere Dutzend Nanosekunden ausgeführt werden, einschränkt.

Um diesen Schutz zu umgehen und das Angriffsfenster zu erweitern, wurde eine Technik zur Verlangsamung der CPU implementiert, die es ermöglicht, die Interrupt-Ersetzung im richtigen Moment auszuführen, um den Ausführungsfluss im Kern umzuleiten und den Interrupt-Handler zu nutzen, um den Eintrag im Sprungvorhersagepuffer zu manipulieren. Um die SRSO-Sicherheitsanfälligkeit auszunutzen, kann der Angreifer Bedingungen schaffen, unter denen der Sprungvorhersageblock spekulativ eine große Anzahl von falsch vorhergesagten CALL-Aufrufen ausführt, wodurch der Rückgabestapel überlaufen wird. Die korrekt vorhergesagten Rücksprungpunkte, die sich am Anfang desStacks befinden, werden überschrieben. Infolgedessen können die ersten Elemente des Stacks durch die vom Angreifer gewählten Werte überschrieben werden, was wiederum dazu führen wird, dass diese ersetzten Werte beim spekulativen Ausführen der RET-Anweisung im Kontext eines anderen Prozesses verwendet werden.

Der Prozessor wird feststellen, dass die Sprungvorhersage nicht erfolgreich war und die Operation in den ursprünglichen Zustand zurücksetzt, jedoch werden die während der spekulativen Ausführung verarbeiteten Daten im Cache und in den mikroarchitektonischen Puffern verbleiben. Wenn der fälschlicherweise ausgeführte Block auf den Speicher zugreift, wird seine spekulative Ausführung dazu führen, dass im gemeinsamen Cache Daten aus dem Speicher gespeichert werden. Zum Abrufen von Informationen aus dem Cache kann eine Methode zur Bestimmung des Cache-Inhalts basierend auf der Analyse der Zugriffszeit auf cache- und nicht-cache-behaltene Daten angewendet werden.

Quelle: opennet.ru

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