Kasper ist verfügbar, ein Scanner für Probleme mit spekulativer Codeausführung im Linux-Kernel.

Eine Forschungsgruppe der Freien Universität Amsterdam hat das Tool Kasper veröffentlicht, das dazu dient, im Linux-Kernel Codeabschnitte zu identifizieren, die zur Ausnutzung von Sicherheitsanfälligkeiten der Klasse Spectre verwendet werden können, die durch spekulatives Ausführen von Code durch den Prozessor verursacht werden. Die Quelltexte des Tools werden unter der Lizenz Apache 2.0 verbreitet.

Zur Erinnerung: Für Angriffe wie Spectre v1, die es ermöglichen, den Inhalt des Arbeitsspeichers zu bestimmen, ist es notwendig, dass im privilegierten Code eine bestimmte Abfolgen von Befehlen (Gadgets) vorhanden ist, die zu spekulativen Ausführungen von Instruktionen führen. Zur Optimierung beginnt der Prozessor, solche Gadgets im spekulativen Modus auszuführen, stellt dann jedoch fest, dass die Sprungvorhersage nicht zutraf und rollt die Operationen in ihren Ausgangszustand zurück. Die während der spekulativen Ausführung verarbeiteten Daten bleiben jedoch im Cache und in mikroarchitektonischen Puffern gespeichert und sind für die Extraktion durch verschiedene Methoden zur Bestimmung residualer Daten über seitliche Kanäle zugänglich.

Früher verfügbare Tools zur Erkennung von Gadgets auf Spectre-Schwachstellen, die auf der Suche nach typischen Mustern basierten, zeigten eine sehr hohe Rate an Fehlalarmen und ließen dabei viele echte Gadgets unentdeckt (Experimente zeigten, dass 99 % der von solchen Tools erkannten Gadgets für Angriffe nicht verwendet werden konnten, während 33 % der funktionierenden Gadgets, die zu einem Angriff führen könnten, nicht erkannt wurden).

Um die Qualität der Erkennung problematischer Gadgets zu verbessern, modelliert Kasper Schwachstellen, die ein Angreifer in jeder Phase von Spectre-Angriffen ausnutzen kann — es werden Probleme modelliert, die es ermöglichen, Daten zu manipulieren (zum Beispiel das Einfügen von Angreiferdaten in mikroarchitektonische Strukturen, um die anschließende spekulative Ausführung durch LVI-Angriffe zu beeinflussen), Zugang zu sensiblen Informationen zu erhalten (zum Beispiel durch Pufferüberläufe oder die Nutzung von Speicher nach dessen Freigabe) und das Ausspähen vertraulicher Informationen zu organisieren (zum Beispiel durch die Analyse des Zustands des Prozessor-Caches oder die Nutzung der MDS-Methode).

Kasper ist verfügbar, ein Scanner für Probleme mit spekulativer Codeausführung im Linux-Kernel.

Bei der Testung verbindet sich der Kernel mit den Runtime-Bibliotheken von Kasper und den Prüfungen, die auf der LLVM-Ebene arbeiten. Im Prüfungsprozess erfolgt eine Emulation der spekulativen Ausführung von Code, die durch einen Checkpoint-Restore-Mechanismus realisiert wird, welcher speziell den falsch vorhergesagten Codepfad ausführt, um dann zum Ausgangszustand vor dem Verzweigen zurückzukehren. Kasper versucht ebenfalls, verschiedene Software- und Hardwareanfälligkeiten zu modellieren, analysiert die Auswirkungen architektonischer und mikroarchitektonischer Effekte und führt Fuzzing-Tests möglicher Angreiferverhalten durch. Für die Analyse der Ausführungsströme wird der DataFlowSanitizer-Port für den Linux-Kernel verwendet, und für das Fuzzing-Testen eine modifizierte Version des Pakets syzkaller.

Kasper ist verfügbar, ein Scanner für Probleme mit spekulativer Codeausführung im Linux-Kernel.

Während der Analyse des Linux-Kernels mit Kasper wurden 1379 bisher unbekannte Gadgets identifiziert, die potenziell zu Datenlecks während der spekulationsbasierten Ausführung von Befehlen führen können. Es wird angemerkt, dass möglicherweise nur einige von ihnen echte Probleme darstellen, doch um zu demonstrieren, dass es tatsächlich eine Gefahr gibt und nicht nur eine theoretische, wurde für einen der problematischen Codeabschnitte ein funktionierender Exploit-Prototyp entwickelt, der zu einem Informationsleck aus dem Kernel-Speicher führt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster