Zwei neue Schwachstellen in eBPF ermöglichen Umgehungsschutz gegen Spectre 4

Spectre-Logo

Kürzlich haben die Nachrichten das verbreitet zwei Schwachstellen wurden identifiziert im Linux-Kernel das verwenden lassen das Subsystem eBPF zur Umgehung des Schutzes vor Spectre 4-Angriffen (SSB, spekulative Ladenumgehung). Es wird erwähnt, dass ein Angreifer durch die Verwendung eines unprivilegierten BPF-Programms Bedingungen für die spekulative Ausführung bestimmter Operationen schaffen und den Inhalt beliebiger Bereiche des Kernel-Speichers bestimmen kann.

Die Spectre-Angriffsmethode 4 beruht auf der Wiederherstellung von Daten, die im Prozessor-Cache gefangen sind nach dem Verwerfen des Ergebnisses der spekulativen Ausführung von Operationen, wenn verschachtelte Lese- und Schreiboperationen unter Verwendung indirekter Adressierung verarbeitet werden.

Wenn eine Leseoperation auf eine Schreiboperation folgt, der Versatz der Leserichtung kann aufgrund ähnlicher Operationen bereits bekannt sein (Leseoperationen werden viel häufiger ausgeführt und das Lesen kann aus dem Cache erfolgen) und der Prozessor kann spekulativ vor dem Schreiben lesen, ohne auf die Berechnung des indirekten Schreibrichtungsoffsets zu warten.

Wird nach Berechnung des Offsets eine Schnittmenge von Speicherbereichen zum Schreiben und Lesen erkannt, verwirft der Prozessor einfach das bereits spekulativ erhaltene Leseergebnis und wiederholt diesen Vorgang. Diese Funktion ermöglicht es dem Lesebefehl, in irgendeiner Richtung auf den vorherigen Wert zuzugreifen, während der Speichervorgang noch aussteht.

Nach Ausschluss eines gescheiterten spekulativen Handels, Spuren seiner Ausführung bleiben im Cache, danach Eine der Methoden, um den Inhalt des Caches zu bestimmen, kann verwendet werden, um ihn abzurufen basierend auf der Analyse von Änderungen der Cache-Zugriffszeit und der zwischengespeicherten Daten.

Beachten Sie, dass jedes Thema unabhängig vom anderen missbraucht werden kann, abhängig von bei Fehlern, die sich nicht überschneiden.

Die PoCs wurden privat mit den Betreuern des BPF-Subsystems geteilt, um helfen bei der Gestaltung des Arrangements.

Die erste Sicherheitslücke CVE-2021-35477: Es wird durch einen Fehler im Validierungsmechanismus des BPF-Programms verursacht. Um sich vor dem Spectre 4-Angriff zu schützen, fügt der Checker nach potenziell problematischen Sicherungsoperationen im Speicher eine zusätzliche Anweisung hinzu und speichert einen Nullwert, um Spuren der vorherigen Operation zu versetzen.

Es wurde angenommen, dass die Nullschreiboperation sehr schnell ist und die spekulative Ausführung blockieren würde, da sie nur vom BPF-Stack-Frame-Pointer abhängt. Tatsächlich war es jedoch möglich, Bedingungen zu schaffen, unter denen der Befehl, der zur spekulativen Ausführung führt, Zeit hat, vor der präventiven Sicherungsoperation ausgeführt zu werden.

Die zweite Sicherheitslücke CVE-2021-3455: hängt damit zusammen, dass der BPF-Checker potenziell gefährliche Sicherungsvorgänge im Speicher erkennt, werden die nicht initialisierten Bereiche des BPF-Stacks, der erste Schreibvorgang, in dem er nicht geschützt ist, ignoriert.

Dieses Merkmal führt zu der Möglichkeit, einen spekulativen Lesevorgang abhängig vom nicht initialisierten Speicherbereich durchzuführen, bevor der Speicherbefehl ausgeführt wird. Der neue Speicher für den BPF-Stack wird zugewiesen, ohne den Inhalt zu überprüfen, der sich bereits im zugewiesenen Speicher befindet, und in der Phase vor dem Start des BPF-Programms gibt es eine Möglichkeit, den Inhalt des Speicherbereichs zu verwalten, der dann zugewiesen wird der BPF-Stack.

Die verfügbare Lösung implementiert Abschwächungstechniken erneut, um fortzufahren von CPU-Herstellern empfohlen und im Mainline-Kernel verfügbar git-Repository.

Schließlich wird erwähnt, dass die Betreuer der eBPF-Subsysteme im Kernel Zugriff auf einen Exploit-Prototyp erhalten haben, der die Möglichkeit von Angriffen in der Praxis demonstriert.

Die Probleme werden in Form von Patches behoben, die im nächsten Linux-Kernel-Update enthalten sein werden, sodass in den nächsten Tagen Updates für die verschiedenen Distributionen eintreffen werden.

Quelle: https://www.openwall.com/


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.