Technik

Der neue Angriff umgeht Hardware-Abwehrmechanismen gegen die Spectre-Lücke in Intel- und ARM-Prozessoren

Der neue Angriff umgeht Hardware-Abwehrmechanismen gegen die Spectre-Lücke in Intel- und ARM-Prozessoren

 

Dieser Proof of Concept ist zwar nicht einfach auszunutzen, zeigt aber, dass einige Intel- und ARM-Prozessoren immer noch anfällig für Seitenkanalangriffe sind.


Gespensterloch

 

Die Hardware-Gegenmaßnahmen, die in den letzten Jahren auf Intel- und ARM-Prozessoren ergriffen wurden, um einen großen Fehler namens Spectre zu beseitigen, sind nicht so stark wie gedacht. Wissenschaftler haben eine neue Angriffsmethode entwickelt, die Abwehrmechanismen überwinden kann, aber ihre Verwendung ist nicht so einfach wie das ursprüngliche Wurmloch.

Der neue Angriff, der von Forschern der Systems and Network Security Group an der VU Amsterdam (VUSec) entdeckt wurde, heißt Spectre-BHI (Branch History Injection) oder Spectre-BHB (Branch History Store), weil Intel und ARM ihm unterschiedliche Namen gegeben haben. Laut dem Forschungsteam handelt es sich dabei um eine Erweiterung des Spectre v2-Angriffs von 2017, auch bekannt als Spectre-BTI (Branch Target Injection), und kann wie Spectre v2 vertrauliche Informationen aus dem privilegierten Kernel-Speicherbereich lecken.

Überprüfen Sie auch:

Ein Proof-of-Concept-Exploit von VUSec-Forschern besteht darin, Root-Passwort-Hashes aus /etc/shadow unter Verwendung eines nicht privilegierten Kontos zu verlieren. Die Datei /etc/shadow ist eine Systemdatei unter Linux, auf die nur das Administrator-Root-Konto zugreifen kann. Im Wesentlichen zwingt der Exploit den Kernel dazu, eine Datei in den Speicher zu laden, wo sie normalerweise vor dem Zugriff durch unprivilegierte Prozesse geschützt wäre, verwendet dann aber einen Spectre-BHI-Angriff, um auf ihren Inhalt zuzugreifen und ihn zu verlieren. Dies ist eine schwerwiegende Verletzung der grundlegenden Sicherheitsgrenze in modernen Betriebssystemen, die Anwendungen und Speicherplatz im Benutzermodus vom privilegierten Kernel-Speicherplatz trennt.

Was ist Spectre?

Spectre ist eine Klasse von Schwachstellen, die ursprünglich im Januar 2017 aufgedeckt wurden und sich aus einer modernen CPU-Leistungsfunktion namens spekulative Ausführung ergeben, bei der die CPU versucht, den Pfad, den ein Programm nehmen wird, im Voraus vorherzusagen, wenn es auf eine bedingte Verzweigung zugreift und Anweisungen ausführt diesen Track früh. Erweisen sich die auf internen Algorithmen basierenden Vorhersagen als falsch, werden die im Prozessor-Cache gespeicherten Ergebnisse verworfen. Spekulative Ausführungsangriffe wie Spectre und viele andere, die folgten, nutzen diesen Mechanismus, um Informationen aus temporären Caches zu verlieren, die als Seitenkanäle fungieren.

„Zum Zeitpunkt der Entdeckung von Spectre war Branch Target Injection (BTI oder Spectre-v2), die gefährlichste Art von Spectre, auf allen Berechtigungsstufen einfach zu verwenden“, erklären die VUSec-Forscher. „Zum Beispiel könnte ein nicht privilegierter Userland-Angreifer jedes untergeordnete Ziel an einen Zwischen-Userland-Verzweigungsprädiktor übergeben und den Kernel zwingen, spekulativ zum Ziel des eingeschleusten Codes zu springen und den dort vorhandenen Code auszuführen.“

Um das Risiko zu verringern, haben Softwareanbieter wie Google und Hersteller von Linux-Kernels Softwarelösungen wie Retpoline entwickelt. Obwohl es effektiv war, verursachte es einen erheblichen Leistungsabfall, sodass spätere Prozessorhersteller Hardwaresicherheit entwickelten. Intels Lösung heißt EIBRS und ARM ist CSV2.

„Diese Lösungen sind komplex – der ursprüngliche Forschungsartikel ist unter diesem Link verfügbar – aber der Kern davon ist, dass der Prädiktor ‚irgendwie‘ die Berechtigungsebene (Benutzer/Kernel) verfolgt, auf der das Ziel ausgeführt wird“, erklären die VUSec-Forscher. „Und wie Sie erwarten würden, wenn das Ziel zu einer niedrigeren Berechtigungsstufe gehört, wird der Kernel es nicht verwenden (dh es gibt keine zufälligen, von Angreifern bereitgestellten Codestellen mehr, die spekulativ für den Kontrollfluss des Kernels ergriffen werden können). „

Das Problem besteht jedoch darin, dass sich der CPU-Prädiktor auf den globalen Verlauf verlässt, um Zieleinträge für die spekulative Ausführung auszuwählen, und wie die VUSec-Forscher demonstriert haben, kann dieser globale Verlauf beschädigt werden. Mit anderen Worten, während das ursprüngliche Spectre v2 es Angreifern ermöglichte, den Speicherort des Zielcodes physisch einzuschleusen und diesen Code dann heimlich vom Kernel auszuführen, könnte der neue Spectre-BHI/BHB-Angriff den Kernel dazu zwingen, etwas Interessantes falsch vorherzusagen und auszuführen. Gadgets oder Code-Snippets, die bereits vorhanden sind. Es ist in der Geschichte und wurde in der Vergangenheit gemacht, aber es kann zu Datenlecks führen.

„Hat Intel eIBRS und Arm CSV2 beschädigt? Als ob. Das bedeutet, dass die Sicherheitsmaßnahmen wie beabsichtigt funktionieren, aber die verbleibende Angriffsfläche wichtiger ist, als die Hersteller ursprünglich angenommen haben. […] Es wird jedoch immer schwieriger, Tools zu finden, die verwendet werden können immer wichtiger.“ Schwieriger als zuvor, da ein Angreifer Ziele nicht direkt über Berechtigungsgrenzen hinweg injizieren kann.“

Entschärfung des neuen Spectre-BHI-Fehlers

Intel identifizierte das neue Spectre-BHI als CVE-2022-0001 für die multiprivilegierte Variante und CVE-2022-0002 für die multiprivilegierte Variante. ARM beschreibt es als CVE-2022-23960 für beide Varianten.

Laut Intel sind mit Ausnahme der Atom-Familie die meisten Prozessoren des Unternehmens betroffen. Für ARM sind die schwachen CPUs Cortex-A15, Cortex-A57, Cortex-A72, Cortex-A73, Cortex-A75, Cortex-A76, Cortex-A76AE, Cortex-A77, Cortex-A78, Cortex-A78AE, Cortex – A78C Cortex-X1, Cortex-X2, Cortex-A710, Neoverse N1, Neoverse N2, Neoverse V1.

Beide Unternehmen haben Empfehlungen ausgesprochen und bieten jetzt Software-Gegenmaßnahmen an. ARM verfügt je nach System über fünf verschiedene Minderungslösungen.

In ihrem Linux-Exploit nutzten die VUSec-Forscher eBPF, eine seit Version 4.4 des Kernels verfügbare Technologie, die es ermöglicht, Programme in den Kernel des Betriebssystems einzubetten. Während eBPF nicht Teil des zugrunde liegenden Problems ist und andere Code-Tools gefunden werden können, die Daten lecken können, erleichtert das Vorhandensein eines nicht privilegierten eBPF „spekulative (und andere) Angriffe erheblich“, sagten die Forscher. Aus diesem Grund empfehlen sie, es zu deaktivieren, und einige Linux-Distributionen haben damit begonnen, es standardmäßig zu deaktivieren.

Quelle: CSO

Beobachten Sie auch

.

Ähnliche Artikel

Schaltfläche "Zurück zum Anfang"