Sie identifizierten eine neue Art von Angriff, die Intel- und AMD-Prozessoren betrifft

Bug Inside Logo Intel

Eine Gruppe von Forscher der University of Virginia und Kalifornien haben eine neue Art von Angriff vorgestellt zu den Mikroarchitekturstrukturen der Prozessoren Intel und AMD.

Die vorgeschlagene Angriffsmethode ist mit der Verwendung eines Zwischencaches von Mikrooperationen verbunden (Micro-Op-Cache) in Prozessoren, mit denen Informationen extrahiert werden können, die sich im Verlauf der spekulativen Ausführung von Anweisungen niedergelassen haben.

Es wird beobachtet, dass Die neue Methode übertrifft Spectre Attack v1 deutlich In Bezug auf die Leistung ist es schwierig, den Angriff zu erkennen, und es wird nicht durch vorhandene Methoden zum Schutz vor Angriffen über Seitenkanäle blockiert, um Schwachstellen zu blockieren, die durch die spekulative Ausführung von Anweisungen verursacht werden.

Beispielsweise blockiert die Verwendung der LFENCE-Anweisung Leckagen in späteren Phasen der spekulativen Ausführung, schützt jedoch nicht vor Leckagen durch mikroarchitektonische Strukturen.

Die Methode betrifft Intel- und AMD-Prozessormodelle, die seit 2011 veröffentlicht wurden. einschließlich Intel Skylake- und AMD Zen-Serien. Moderne CPUs zerlegen komplexe Prozessoranweisungen in einfachere RISC-ähnliche Mikrooperationen. die in einem separaten Cache zwischengespeichert werden.

Dieser Cache unterscheidet sich grundlegend von Caches der obersten Ebeneist nicht direkt zugänglich und fungiert als Stream-Puffer, um schnell auf die Ergebnisse der Dekodierung von CISC-Anweisungen in eine RISC-Mikroanweisung zuzugreifen.

Die Forscher jedoch haben einen Weg gefunden, die Bedingungen zu erstellen, die während eines Cache-Zugriffskonflikts auftreten und Ermöglichen, den Inhalt des Cache der Mikrooperationen zu beurteilen, indem die Unterschiede in der Ausführungszeit bestimmter Aktionen analysiert werden.

Der Micro-Op-Cache auf Intel-Prozessoren ist relativ zu CPU-Threads segmentiert (Hyper-Threading), während die Prozessoren AMD Zen verwendet einen gemeinsam genutzten Cache. Dies schafft Bedingungen für Datenlecks nicht nur innerhalb eines Threads der Ausführung, sondern auch zwischen verschiedenen Threads in SMT (Datenlecks sind zwischen Code möglich, der auf verschiedenen logischen Kernen der CPU ausgeführt wird).

Die Forscher schlugen eine grundlegende Methode vor um Änderungen im Cache von Micro-Ops und verschiedene Angriffsszenarien zu erkennen, die es ermöglichen, verdeckte Datenübertragungskanäle zu erstellen und anfälligen Code zum Filtern vertraulicher Daten zu verwenden, und zwar innerhalb eines einzigen Prozesses (z. B. um einen Prozess von Datenlecks zu organisieren, wenn ein dritter ausgeführt wird -Party-Code in JIT-Engines und virtuellen Maschinen) und zwischen dem Kernel und den Prozessen im Benutzerbereich.

Durch die Bereitstellung einer Variante des Spectre-Angriffs mithilfe des Micro-Op-Cache gelang es den Forschern, einen Durchsatz von 965.59 Kbit / s mit einer Fehlerrate von 0.22% und 785.56 Kbit / s bei Verwendung der Fehlerkorrektur im Falle eines Lecks im selben Speicher zu erzielen Leerzeichen. Adressen. und Privilegienstufe.

Bei einem Leck, das sich über verschiedene Berechtigungsstufen erstreckt (zwischen Kernel und Benutzerbereich), betrug der Durchsatz 85,2 Kbit / s bei zusätzlicher Fehlerkorrektur und 110,96 Kbit / s bei einer Fehlerrate von 4%.

Beim Angriff auf AMD Zen-Prozessoren, bei denen ein Leck zwischen verschiedenen logischen CPU-Kernen auftrat, betrug der Durchsatz 250 Kbit / s bei einer Fehlerrate von 5,59% und 168,58 Kbit / s bei Fehlerkorrektur. Im Vergleich zur klassischen Spectre v1-Methode war der neue Angriff 2,6-mal schneller.

Es wird erwartet, dass die Abschwächung eines Micro-Op-Cache-Angriffs mehr leistungsmindernde Änderungen erfordert als bei Aktivierung der Spectre-Verteidigung.

Als optimaler Kompromiss wird vorgeschlagen, solche Angriffe nicht durch Deaktivieren des Cachings zu blockieren, sondern auf der Ebene der Überwachung von Anomalien und der Bestimmung typischer Cache-Zustände der Angriffe.

Wie bei den Spectre-Angriffen, Das Organisieren eines Lecks des Kernels oder anderer Prozesse erfordert die Ausführung eines bestimmten Skripts (Gadgets) auf der Seite des Opfers von Prozessen, was zu einer spekulativen Ausführung von Anweisungen führt.

Rund 100 solcher Geräte wurden im Linux-Kernel gefunden und werden entfernt, aber es werden regelmäßig Lösungen gefunden, um sie zu generieren, beispielsweise solche, die mit dem Starten speziell gestalteter BPF-Programme im Kernel verbunden sind.

Schließlich wenn Sie mehr darüber wissen möchtenkö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: 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.