Neue Foreshadow-Angriffsvariante, die Intel-, AMD-, ARM- und IBM-Prozessoren betrifft

Eine Gruppe von Forschern der Technischen Universität Graz (Österreich) und des Helmholtz-Zentrums für Informationssicherheit (CISPA), enthüllt (PDF) ein neuer Vektor zur Verwendung von Seitenkanalangriffen Vorboten (L1TF), mit dem Sie Daten aus dem Speicher von Intel SGX-Enklaven, SMM (System Management Mode), Speicherbereichen des Betriebssystemkernels und virtuellen Maschinen in Virtualisierungssystemen extrahieren können. Im Gegensatz zum ursprünglichen Angriff im Jahr 2018 Vorboten Die neue Variante ist nicht spezifisch für Intel-Prozessoren und betrifft CPUs anderer Hersteller wie ARM, IBM und AMD. Darüber hinaus erfordert die neue Variante keine hohe Leistung und der Angriff kann sogar durch die Ausführung von JavaScript und WebAssembly in einem Webbrowser ausgeführt werden.

Der Foreshadow-Angriff macht sich die Tatsache zunutze, dass der Prozessor beim Zugriff auf den Speicher an einer virtuellen Adresse, der zu einer Ausnahme (Terminal Page Fault) führt, spekulativ die physische Adresse berechnet und die Daten lädt, wenn sie im L1-Cache verfügbar sind. Der spekulative Zugriff wird durchgeführt, bevor die Suche in der Speicherseitentabelle abgeschlossen ist und unabhängig vom Status des Speicherseitentabelleneintrags (PTE), d. h. bevor Sie das Vorhandensein von Daten im physischen Speicher und deren Lesbarkeit überprüfen. Nachdem die Speicherverfügbarkeitsprüfung abgeschlossen ist und das Flag „Present“ in PTE nicht vorhanden ist, wird der Vorgang verworfen, die Daten verbleiben jedoch im Cache und können mithilfe von Methoden zur Bestimmung des Cache-Inhalts über Seitenkanäle (durch Analyse von Änderungen in der Zugriffszeit) abgerufen werden zwischengespeicherten und nicht zwischengespeicherten Daten).

Forscher haben gezeigt, dass bestehende Methoden zum Schutz vor Foreshadow unwirksam sind und mit einer falschen Interpretation des Problems umgesetzt werden. Verletzlichkeit
Foreshadow kann unabhängig von den Kernel-Sicherheitsmechanismen ausgenutzt werden, die bisher als ausreichend angesehen wurden. Als Ergebnis demonstrierten die Forscher die Möglichkeit, einen Foreshadow-Angriff auf Systemen mit relativ alten Kerneln durchzuführen, in denen alle verfügbaren Foreshadow-Schutzmodi aktiviert sind, sowie mit neuen Kerneln, in denen nur der Spectre-v2-Schutz deaktiviert ist (mit die Linux-Kernel-Option nospectre_v2).

Man fand heraus, dass Vorspannungseffekt steht in keinem Zusammenhang mit Software-Prefetch-Anweisungen oder Hardwareeffekten
Prefetch während des Speicherzugriffs, tritt jedoch auf, wenn spekulative Dereferenzierungen von Benutzerraumregistern im Kernel registriert werden. Diese Fehlinterpretation der Ursache der Schwachstelle führte zunächst zu der Annahme, dass Datenlecks in Foreshadow nur über den L1-Cache auftreten könnten, während das Vorhandensein bestimmter Codefragmente (Prefetch-Gadgets) im Kernel zu Datenlecks außerhalb des L1-Cache beitragen könnte. zum Beispiel im L3-Cache.

Das identifizierte Merkmal eröffnet auch die Möglichkeit, neue Angriffe zu entwickeln, die auf die Prozesse der Übersetzung virtueller Adressen in physische Adressen in isolierten Umgebungen und der Ermittlung von in CPU-Registern gespeicherten Adressen und Daten abzielen. Als Demonstration zeigten die Forscher die Möglichkeit, den identifizierten Effekt zu nutzen, um Daten von einem Prozess in einen anderen mit einer Leistung von etwa 10 Bit pro Sekunde auf einem System mit einer Intel Core i7-6500U-CPU zu extrahieren. Es wird auch die Möglichkeit aufgezeigt, dass Registerinhalte aus der Intel SGX-Enklave verloren gehen (es dauerte 32 Minuten, um einen 64-Bit-Wert zu ermitteln, der in ein 15-Bit-Register geschrieben wurde). Es stellte sich heraus, dass einige Arten von Angriffen in JavaScript und WebAssembly implementiert werden konnten. Beispielsweise war es möglich, die physische Adresse einer JavaScript-Variablen zu ermitteln und 64-Bit-Register mit einem vom Angreifer kontrollierten Wert zu füllen.

Um den Foreshadow-Angriff über den L3-Cache zu blockieren, ist die im Retpoline-Patch-Set implementierte Schutzmethode Spectre-BTB (Branch Target Buffer) wirksam. Daher glauben die Forscher, dass es notwendig ist, Retpoline auch auf Systemen mit neuen CPUs aktiviert zu lassen, die bereits über einen Schutz vor bekannten Schwachstellen im spekulativen Ausführungsmechanismus der CPU verfügen. Gleichzeitig gaben Intel-Vertreter an, dass sie nicht planen, Prozessoren zusätzliche Schutzmaßnahmen gegen Foreshadow hinzuzufügen, und es für ausreichend halten, einen Schutz gegen Spectre V2- und L1TF-Angriffe (Foreshadow) einzuschließen.

Source: opennet.ru

Kommentar hinzufügen