Sicherheitslücke in eBPF ermöglicht Umgehungsschutz gegen Spectre-Angriffe

Gestern haben wir hier im Blog die Neuigkeiten über . veröffentlicht Aya, eine Bibliothek zum Erstellen von eBPF-Treibern in Rust und ist der Zweck davon, sicherere Treiber zu erstellen oder die Prossimo-Projekt zur Sicherung des Gedächtnisses Linux-Kernel mit Rust (zwei großartige Projekte, über die es in den nächsten Monaten viel zu erzählen geben wird).

Und ist, dass innerhalb kurzer Zeit wurden verschiedene Schwachstellen gemeldet in welchem Nutzen Sie Fehler in eBPF und dass es ein Problem ist, bei dem die Kernel-Entwickler nicht aufgehört haben zu arbeiten und Rust vielleicht die Lösung ist.

Der Grund, dieses Thema anzusprechen, ist, dass Kürzlich wurde die Nachricht veröffentlicht, dass sie identifiziert wurden "Andere" Sicherheitslücke im Linux-Kernel (CVE-2021-33624) für Schutz vor Sicherheitslücken der Spectre-Klasse umgehen, da dies es ermöglicht, das eBPF-Subsystem zu verwenden, um den Inhalt des Speichers als Ergebnis der Schaffung von Bedingungen für Spekulationen über die Ausführung bestimmter Operationen zu bestimmen.

Es wird erwähnt, dass die Sicherheitslücke es wird durch Fehler im Verifier verursacht, der verwendet wird, um Fehler und ungültige Aktivitäten in BPF-Programmen zu erkennen. Der Verifizierer listet die möglichen Codeausführungspfade auf, ignoriert jedoch alle Verzweigungsoptionen, die vom Standpunkt der Semantik der Befehlssatzarchitektur nicht gültig sind.

Beim Ausführen eines BPF-Programms können Verzweigungsoptionen, die vom Verifizierer nicht berücksichtigt wurden, vom Prozessor falsch vorhergesagt und in einem spekulativen Modus ausgeführt werden.

Auf betroffenen Systemen kann ein nicht privilegiertes BPF-Programm diese Schwachstelle ausnutzen, um den Inhalt des beliebigen Kernelspeichers (und damit des gesamten physischen Speichers) über einen Seitenkanal zu filtern.

Zum Beispiel Beim Analysieren der Operation "Laden" geht der Verifizierer davon aus, dass der Befehl ein Register verwendet mit einer Adresse, deren Wert immer innerhalb der angegebenen Grenzen liegt, aber ein Angreifer kann Bedingungen schaffen unter welchen der Prozessor wird spekulativ versuchen, einen Handel durchzuführen mit einer Adresse, die die Verifizierungsbedingungen nicht erfüllt.

Der Spectre-Angriff erfordert das Vorhandensein eines bestimmten Skripts im privilegierten Code, was zu einer spekulativen Ausführung von Anweisungen führt. Durch Manipulation der zur Ausführung übergebenen BPF-Programme ist es möglich, solche Anweisungen in eBPF zu generieren und den Inhalt des Kernel-Speichers und beliebige Bereiche des physischen Speichers über Seitenkanäle zu filtern.

Zusätzlich Sie können einen Hinweis zu den Auswirkungen auf die Leistung markieren des Vermögens zum Schutz vor Sicherheitslücken der Spectre-Klasse.

Dieser Hinweis fasst die Ergebnisse zusammen Debugger-Optimierung rr (Record and Replay), einst von Mozilla erstellt, um schwer zu wiederholende Fehler in Firefox zu debuggen. Das Zwischenspeichern der Systemaufrufe, die verwendet werden, um die Existenz von Verzeichnissen zu überprüfen, reduzierte die Operation "rr sources" für das Testprojekt von 3 Minuten 19 Sekunden auf 36 Sekunden.

Der Optimierungsautor hat sich entschieden, zu überprüfen wie viel wird sich ändern Leistung nach dem Deaktivieren des Spectre-Schutzes. Nach dem Booten des Systems mit dem Parameter "mitigations = off" betrug die Ausführungszeit von "rr sources" ohne Optimierung 2 Minuten 5 Sekunden (1.6 mal schneller) und mit Optimierung 33 Sekunden (9 % schneller).

Seltsamerweise Deaktivieren des Spectre-Schutzes reduziert nicht nur die Laufzeit des Kernel-Level-Codes in 1.4-mal (von 2 min 9s bis 1 min 32s), es hat auch die Ausführungszeit im Benutzerbereich halbiert (von 1 min 9s bis 33s), vermutlich aufgrund einer Abnahme der Effizienz CPU-Cache und TLB werden zurückgesetzt, wenn der Spectre-Schutz aktiviert ist.

Das Problem ist seit der Kernelversion 4.15 aufgetreten und wurde in Form von Patches behoben, die derzeit noch nicht alle Distributionen erreichen, daher wird den Benutzern empfohlen, heutzutage die entsprechenden Updates vorzunehmen, sobald sie die Benachrichtigungen erhalten.

Si Sie möchten mehr darüber wissenkönnen Sie die Details überprüfen im folgenden Link.


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.