Könnte es sein, dass Ihre Prozessorgeschwindigkeit genau das ist, was Ihre Sicherheit gefährdet? Um zu verstehen, wie Prozessoren ihre Geschwindigkeit erreichen , müssen wir bedenken, dass sie quasi „die Zukunft vorhersagen“ … Nein, sie sind keine Zauberer und besitzen auch keine Kristallkugel …
Prozessoren funktionieren so, dass sie, anstatt abzuwarten, welchen Pfad ein Programm tatsächlich einschlägt, den wahrscheinlichen Ablauf vorhersagen und antizipieren. Ist die Vorhersage falsch, wird die Arbeit verworfen, Spuren bleiben jedoch im Speicher erhalten. Hier setzt Spectre an , eine der bedeutendsten Sicherheitslücken der letzten Jahre. Seit ihrer Entdeckung haben Angreifer gelernt, diese Spuren auszulesen und immer ausgefeiltere Varianten entwickelt; TONTOU ist eine dieser neuen Schwachstellen.
Forscher des MIT haben TONTOU (Time-of-Neutralization to Time-of-Use) entdeckt , eine ausgeklügelte neue Technik zur Ausnutzung von Spectre v2-Schwachstellen , die es ermöglicht, den Kernelspeicher aus dem Benutzerspeicher auszulesen.
Obwohl Hersteller und Entwickler seit Jahren verschiedene Schutzmechanismen gegen vorausschauende Angriffe entwickelt haben, ist es Angreifern gelungen, neue Wege zu entdecken. Diese neue Studie von CSAIL zeigt, wie man diese Schutzmechanismen umgehen kann.
Die Forscher entdeckten, dass zwischen dem Zeitpunkt, an dem der Puffer geleert wird, und dem Zeitpunkt, an dem die Vorhersagen verwendet werden, eine unvermeidbare Zeitlücke besteht. In dieser kurzen Lücke wird Code (manchmal nur eine Handvoll Anweisungen) über Systemunterbrechungen eingeschleust, wodurch es möglich wird, die Hardware erneut zu infizieren und kritische Daten zu extrahieren.
Zum Angriff: Störungen und Sicherheitslücke in Safe-RET
AMD verfügt über einen Schutz gegen SRSO- Schwachstellen (Speculative Return Stack Overflow) namens Saferet, der die Vorhersagemechanismen unmittelbar vor jeder Verwendung bereinigt. Dadurch entsteht ein Zeitfenster für Angriffe , das innerhalb weniger zehn Nanosekunden ausgenutzt werden kann. Um dieses kurze Zeitfenster auszunutzen, entwickelten Forscher eine Technik namens Interrupt Injection.
Prozessoren unterbrechen ihre Aufgaben ständig, um Interrupts zu verarbeiten, und gängige Programme können diese Timer konfigurieren . Forscher haben dies erkannt und einen Timer präzise eingestellt. Mithilfe einer Technik zur Verlangsamung der CPU wurde der Prozessor genau im falschen Moment unterbrochen . Während dieses Interrupts kann ein Angreifer eine große Anzahl von Aufrufen erzwingen und so den Adressstapel überlaufen lassen. Nach Beendigung der fehlerhaften Ausführung verwirft der Prozessor den Prozess, die abgerufenen Daten bleiben jedoch im gemeinsamen Cache erhalten und können durch Analyse der Zugriffszeiten extrahiert werden.
Passwortextraktion und -tests auf realen Systemen
Um die Schwere von TONTOU zu demonstrieren, entwickelte das Team einen funktionierenden Exploit auf einem AMD-System mit einem aktuellen Linux-Kernel. Die erste Hürde bestand darin, den Schutzmechanismus zu umgehen, der die Speicherposition des Betriebssystems randomisiert. Dies gelang ihnen in zehn Versuchen, wobei jeder Test etwa neun Minuten dauerte.
Anschließend demonstrierten sie einen lokalen Angriff als Benutzer ohne Administratorrechte , um den Hash des Root-Passworts zu ermitteln. Dabei extrahierten sie erfolgreich Daten mit einer Geschwindigkeit von 5.47 Byte pro Sekunde und einer Genauigkeit von 91.97 %. In 50 % der Tests (die durchschnittlich 18 Minuten dauerten) erkannten und extrahierten sie erfolgreich den Inhalt der Passwortdatei. Obwohl dies eine langsame Geschwindigkeit ist, reicht sie vollkommen aus, um einen Server kritisch zu kompromittieren.
Auswirkungen auf Intel, AMD und den entsprechenden Patch
Das Team testete vier Generationen von Intel- und AMD-Prozessoren und erzielte auf beiden Architekturen Fehlschläge bei der Vorhersage. Während sich die Technik bei AMDs Zen-1- bis Zen-4 -Familien als erfolgreich erwies , umging der Angriff bei Intel-Chips zwei verschiedene Schutzmechanismen . Allerdings wurde zwischen verschiedenen Intel-Generationen ein inkonsistentes Verhalten beobachtet , was darauf hindeutet, dass die vorgesehenen Schutzmechanismen in der Hardware unterschiedlich implementiert sind.
Als Lösung schlagen die Forscher vor, die Vorhersagemechanismen nach Beendigung der Interrupt-Auflösung ein zweites Mal zu löschen. Während diese Maßnahme für AMD praktikabel erscheint, könnte sie für Intel kontraproduktiv sein, da der Angriff darauf beruht, dass der Interrupt einen konsistenten Zustand hinterlässt, und dadurch zuverlässiger werden könnte.
Die Forscher informierten AMD und Intel Anfang Februar und die Entwickler des Linux-Kernels im März. Daraufhin wurde der Code zur Behebung der Sicherheitslücke am 5. August in den Linux-Kernel integriert.
Sollten Sie mehr erfahren wollen, finden Sie die Details unter folgendem Link.