Kasper, ein Gerätescanner für spekulativen Code im Linux-Kernel

Eine Gruppe von Das haben Forscher der Freien Universität Amsterdam herausgefunden über einen Blogbeitrag ein Tool namens "Kasper" welches hervorheben, dass es ist entwickelt, um Codeschnipsel zu identifizieren im Linux-Kernel, der zum Exploit verwendet werden kann Schwachstellen der Spectre-Klasse verursacht durch spekulative Codeausführung durch den Prozessor.

Diejenigen, die sich dieser Art von Angriffen nicht bewusst sind, sollten das wissen Klassenschwachstellen wie Spectre v1 erlauben es, den Inhalt des Arbeitsspeichers zu bestimmen, ist ein bestimmtes Skript (Gadgets) in privilegiertem Code erforderlich, was zu einer spekulativen Ausführung von Anweisungen führt.

Optimieren, Der Prozessor beginnt, solche Geräte in einem spekulativen Modus zu betreibenoder stellt dann fest, dass die Verzweigungsvorhersage nicht gerechtfertigt ist, und setzt die Operationen auf ihren ursprünglichen Zustand zurück, aber die während der spekulativen Ausführung verarbeiteten Daten befinden sich im Cache und in den Mikroarchitekturpuffern und stehen zur Extraktion unter Verwendung verschiedener Restdatenbestimmungsmethoden durch Dritte zur Verfügung. Partei Kanäle.

Gadget-Scan-Tools basierend auf Mustern vorher verfügbar für die Spectr-Schwachstellee zeigte eine sehr hohe Rate an falsch positiven Ergebnissen, während viele echte Gadgets verloren gingen (Experimente zeigten, dass 99 % der von solchen Tools erkannten Gadgets nicht für Angriffe verwendet werden konnten und 33 % der funktionierenden Geräte keine beobachteten Geräte waren, die zu einem Angriff führen könnten).

Wir stellen Kasper vor, einen transienten (oder spekulativen) Scanner für Ausführungsgeräte. Es verwendet Richtlinien zur Korruptionsanalyse, um einen Angreifer zu modellieren, der willkürliche Software-/Hardware-Schwachstellen in einem vorübergehenden Pfad ausnutzen kann. 

Über Kasper

Qualität verbessern der Identifizierung problematischer Geräte, Kasper modelliert die Schwachstellen, die ein Angreifer ausnutzen kann bei jedem Schritt von Spectre-Klasse-Angriffen: Probleme werden modelliert, um Datenkontrolle zu ermöglichen (z. B. Substitution von Angreiferdaten in mikroarchitektonische Strukturen, um die nachfolgende spekulative Ausführung zu beeinflussen) unter Verwendung von LVI-Klasse-Angriffen, Zugang zu sensiblen Informationen zu erhalten (z. B. wenn die Puffer ist außerhalb des zulässigen Bereichs oder Speicher wird verwendet, nachdem er freigegeben wurde) und vertrauliche Informationen preisgeben (z. B. durch Analysieren des Zustands des Prozessorcaches oder Verwenden der MDS-Methode).

Modellieren Sie einen Angreifer, der in der Lage ist, Daten zu kontrollieren (z. B. über Speichermassage oder LVI-Wertinjektion), auf Geheimnisse zuzugreifen (z. B. über Out-of-Bounds-Zugriff oder Nutzung nach freiem Zugriff) und diese Geheimnisse preiszugeben (z. B. durch Cache-basierte, MDS- basierte oder portkonfliktbasierte verdeckte Kanäle). 

Bei der Durchführung des Tests Kernel kontaktiert Laufzeitbibliotheken von Kasper und vergewissern Sie sich, dass sie auf LLVM-Ebene funktionieren. Während der Überprüfung wird die spekulative Codeausführung durch den Checkpoint-Wiederherstellungsmechanismus emuliert, der speziell eine falsch vorhergesagte Codeverzweigung ausführt, wonach er in seinen ursprünglichen Zustand vor Beginn der Verzweigung zurückkehrt.

Kasper versucht auch, verschiedene Software- und Hardware-Schwachstellen zu modellieren, analysiert den Einfluss von Architektur- und Mikroarchitektureffekten und führt Fuzzing-Tests möglicher Angreiferaktionen durch. Für die Analyse der Ausführungsabläufe wird die DataFlowSanitizer-Portierung für den Linux-Kernel verwendet und für die Fuzzing-Tests eine modifizierte Version des syzkaller-Pakets.

Als Ergebnis entdeckte Kasper 1.379 bisher unbekannte Geräte im stark gehärteten Linux-Kernel. Wir haben unsere Ergebnisse bestätigt, indem wir einen End-to-End-Proof-of-Concept-Exploit für eines der gefundenen Geräte demonstriert haben.

Beim Scannen des Linux-Kernels mit Kasper wurden 1379 bisher unbekannte Geräte identifiziert, die bei der spekulativen Ausführung von Anweisungen zu Datenlecks führen könnten.

Es wird darauf hingewiesen, dass vielleicht nur einige von ihnen echte Probleme darstellen können, aber um zu zeigen, dass es eine echte Gefahr gibt und nicht nur eine theoretische, wurde ein funktionierender Prototyp eines Exploits für einen der problematischen Codeschnipsel entwickelt, was dazu führte ein Leck von Kernel-Speicherinformationen.

Schließlich wenn Sie mehr darüber wissen möchten über Kasper, das solltest du wissen der Quellcode Es wird unter der Apache 2.0-Lizenz vertrieben.

Quelle: https://www.vusec.net


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.