LVI: Eine neue Klasse spekulativer Ausführungsangriffe auf Intel-CPUs

Information über eine neue Klasse von Angriffen LVI im Mechanismus spekulative Ausführung, die Intel betrifft, die zur Ableitung von Schlüsseln und vertraulichen Daten aus Intel SGX-Enklaven und anderen Prozessen verwendet werden kann.

Die neue Klasse von Angriffen basiert auf Manipulationen mit den gleichen mikroarchitektonischen Strukturen wie bei den MDS-, Spectre- und Meltdown-Angriffen. Gleichzeitig, Neue Angriffe werden durch vorhandene Methoden nicht blockiert Schutz vor Meltdown, Spectre, MDS und anderen ähnlichen Angriffen.

Über LVI

Das Problem wurde im April letzten Jahres vom Forscher Jo Van Bulck identifiziert von der Universität Leuven, danach unter Beteiligung von 9 Forschern anderer Universitäten, Es wurden fünf grundlegende Angriffsmethoden entwickelt: Jedes davon ermöglicht spezifischere Optionen.

Jedenfalls im Februar dieses Jahres die Bitdefender-Forscher entdeckten auch eine der Angriffsoptionen LVI und meldete es Intel.

Die Angriffsoptionen zeichnen sich durch die Verwendung verschiedener mikroarchitektonischer Strukturen aus. B. Speicherpuffer (SB, Speicherpuffer), Füllpuffer (LFB, Zeilenfüllpuffer), FPU-Kontextwechselpuffer und First Level Cache (L1D), die zuvor bei Angriffen wie ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow und verwendet wurden Kernschmelze.

Der Hauptunterschied zwischen Ich greife sie ans LVI und MDS ist, dass MDS die Inhaltsbestimmung manipuliert von mikroarchitektonischen Strukturen, die nach spekulativer Fehlerbehandlung oder Lade- und Speicheroperationen im Cache verbleiben, während Die Angriffe Mit LVI kann der Angreifer in mikroarchitektonischen Strukturen eingesetzt werden die spätere spekulative Ausführung des Codes des Opfers zu beeinflussen.

Mit diesen Manipulationen kann ein Angreifer den Inhalt geschlossener Datenstrukturen in anderen Prozessen extrahieren, während er bestimmten Code im Kern der Ziel-CPU ausführt.

Zur Ausnutzung müssen Probleme im Prozesscode gefunden werden und Senden von Sequenzen spezieller Codes (Gadgets), in denen der vom Angreifer kontrollierte Wert geladen wird und das Laden dieses Werts Ausnahmen verursacht, die das Ergebnis verwerfen und die Anweisung erneut ausführen.

Bei der Verarbeitung einer Ausnahme wird ein spekulatives Fenster angezeigt, in dem die im Gadget verarbeiteten Daten gefiltert werden.

Insbesondere, Der Prozessor beginnt spekulativ mit der Ausführung eines Codeteils (ein Gadget), stellt dann fest, dass die Vorhersage nicht gerechtfertigt wurde und kehrt die Operationen um, sondern die verarbeiteten Daten Während der spekulativen Ausführung werden im L1D-Cache und in den Puffern abgelegt Mikroarchitekturdaten und können mit bekannten Methoden daraus extrahiert werden, um Restdaten aus Kanälen von Drittanbietern zu bestimmen.

Die Hauptschwierigkeit andere Prozesse angreifen unds wie man Hilfe durch Manipulation des Opferprozesses initiiert.

Derzeit gibt es keine zuverlässigen Möglichkeiten, dies zu tun. aber in Zukunft ist seine Feststellung nicht ausgeschlossen. Bisher wurde die Möglichkeit eines Angriffs nur für Intel SGX-Enklaven bestätigt, andere Szenarien sind theoretisch oder unter synthetischen Bedingungen reproduzierbar.

Mögliche Angriffsmethoden

  • Der Verlust von Daten aus den Kernelstrukturen in den Prozess auf Benutzerebene. Linux-Kernelschutz gegen Spectre 1-Angriffe und den SMAP-Schutzmechanismus (Supervisor Mode Access Prevention) Reduzieren Sie die Wahrscheinlichkeit eines LVI-Angriffs erheblich. Die Einführung eines zusätzlichen Kernelschutzes kann erforderlich sein, wenn in Zukunft einfachere Methoden zur Durchführung eines LVI-Angriffs ermittelt werden sollen.
  • Datenverlust zwischen verschiedenen Prozessen. Ein Angriff erfordert das Vorhandensein bestimmter Codefragmente in der Anwendung und die Bestimmung der Methode, um eine Ausnahme im Zielprozess auszulösen.
  • Datenleck von der Host-Umgebung zum Gastsystem. Der Angriff wird als zu komplex eingestuft und erfordert die Implementierung mehrerer schwer zu implementierender Schritte und Vorhersagen der Aktivität auf dem System.
  • Datenverlust zwischen Prozessen in verschiedenen Gastsystemen. Der Angriffsvektor ist nahe daran, Datenlecks zwischen verschiedenen Prozessen zu organisieren, erfordert jedoch auch komplexe Manipulationen, um eine Isolation zwischen Gastsystemen zu vermeiden.

Um einen wirksamen Schutz gegen LVI zu gewährleisten, sind Hardwareänderungen an der CPU erforderlich. Durch programmgesteuertes Organisieren des Schutzes, Hinzufügen der LFENCE-Anweisung des Compilers nach jeder Ladeoperation aus dem Speicher und Ersetzen der RET-Anweisung durch POP, LFENCE und JMP wird zu viel Overhead behoben. Laut den Forschern wird ein umfassender Softwareschutz zu einer 2- bis 19-fachen Leistungsverschlechterung führen.

Quelle: https://www.intel.com


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  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.