L1DES (CacheOut) und VRS – neue Schwachstellen in mikroarchitektonischen Strukturen von Intel-CPUs

Intel unbedeckt Informationen zu zwei neuen Schwachstellen in Intel-CPUs, die durch Datenlecks aus dem L1D-Cache verursacht werden (CVE-2020-0549, L1DES - L1D Eviction Sampling) und Vektorregister (CVE-2020-0548, VRS – Vector Register Sampling). Schwachstellen gehören zur Klasse MDS (Microarchitectural Data Sampling) und basieren auf der Anwendung von Seitenkanalanalysemethoden auf Daten in mikroarchitektonischen Strukturen. AMD, ARM und andere Prozessoren sind von Problemen nicht betroffen.

Die größte Gefahr ist die L1DES-Schwachstelle, die gibt zu Ablegen von zwischengespeicherten Datenblöcken (Cache-Zeile), die aus dem Cache der ersten Ebene (L1D) entfernt wurden, im Füllpuffer, der zu diesem Zeitpunkt leer sein sollte. Um die Daten zu ermitteln, die sich im Füllpuffer abgesetzt haben, können wir Seitenkanalanalysemethoden verwenden, die zuvor bei Angriffen vorgeschlagen wurden MDS (Microarchitectural Data Sampling) und TAA (Transaktionale asynchrone Abtreibung). Die Essenz des zuvor implementierten Schutzes gegen
MDS und TAA beim Leeren mikroarchitektonischer Puffer vor dem Kontextwechsel, aber es stellt sich heraus, dass unter bestimmten Bedingungen Daten spekulativ in Puffer nach dem Flush-Vorgang geleert werden, sodass MDS- und TAA-Methoden weiterhin anwendbar sind.

L1DES (CacheOut) und VRS – neue Schwachstellen in mikroarchitektonischen Strukturen von Intel-CPUs

Dadurch kann ein Angreifer Daten erkennen, die aus dem First-Level-Cache verdrängt wurden und während der Ausführung einer Anwendung geändert wurden, die zuvor den aktuellen CPU-Kern belegte, oder von Anwendungen, die parallel in anderen logischen Threads (Hyperthread) auf derselben CPU ausgeführt wurden Kern (die Deaktivierung von HyperThreading verringert die Effektivität von No-Attacke). Im Gegensatz zum Angriff L1TFL1DES erlaubt nicht die Auswahl spezifischer physischer Adressen zur Überprüfung, bietet jedoch die Möglichkeit, Aktivitäten in anderen logischen Threads, die mit dem Laden oder Speichern von Werten in den Speicher verbunden sind, passiv zu überwachen.

Basierend auf L1DES haben verschiedene Forschungsteams mehrere Angriffsvarianten entwickelt, die potenziell sensible Informationen aus anderen Prozessen, dem Betriebssystem, virtuellen Maschinen und geschützten SGX-Enklaven extrahieren können.

  • VUSec-Team angepasst RIDL-Angriffsmethode für die L1DES-Schwachstelle. Verfügbar Prototyp ausnutzen, das auch die von Intel vorgeschlagene MDS-Schutzmethode umgeht, die auf der Verwendung des VERW-Befehls zum Löschen des Inhalts von Mikroarchitekturpuffern bei der Rückkehr vom Kernel in den Benutzerbereich oder bei der Übertragung der Kontrolle an das Gastsystem basiert (Forscher bestanden zunächst darauf, dass VERW (Clearing Microarchitectural Puffer) zum Schutz reicht nicht aus und erfordert bei jedem Kontextwechsel ein vollständiges Leeren des L1-Caches.
  • Team ZombieLoad aktualisiert meine Angriffsmethode unter Berücksichtigung der L1DES-Schwachstelle.
  • Forscher der University of Michigan haben eine eigene Angriffsmethode entwickelt Cache aus (PDF), mit dem Sie vertrauliche Informationen aus dem Betriebssystemkernel, virtuellen Maschinen und geschützten SGX-Enklaven extrahieren können. Die Methode basiert auf Manipulationen mit einem Mechanismus zur asynchronen Unterbrechung von Vorgängen (TAA, TSX Asynchronous Abort), um den Inhalt des Füllpuffers nach einem Datenleck aus dem L1D-Cache zu ermitteln.

    L1DES (CacheOut) und VRS – neue Schwachstellen in mikroarchitektonischen Strukturen von Intel-CPUs

Zweite VRS-Schwachstelle (Vector Register Sampling). verbunden mit Leck in den Speicherpuffer (Store Buffer) der Ergebnisse von Lesevorgängen aus Vektorregistern, die während der Ausführung von Vektoranweisungen (SSE, AVX, AVX-512) auf demselben CPU-Kern geändert wurden. Das Leck tritt unter relativ seltenen Umständen auf und wird durch die Tatsache verursacht, dass eine spekulative Operation, die zur Widerspiegelung des Zustands von Vektorregistern im Speicherpuffer führt, verzögert und abgeschlossen wird, nachdem der Puffer gelöscht wurde und nicht vorher. Ähnlich wie bei der L1DES-Schwachstelle kann der Inhalt des Speicherpuffers dann mithilfe von MDS- und TAA-Angriffstechniken ermittelt werden.

Forscher der VUSec-Gruppe подготовили Prototyp ausnutzen, mit dem Sie die Werte von Vektorregistern bestimmen können, die als Ergebnis von Berechnungen in einem anderen logischen Thread desselben CPU-Kerns erhalten wurden. Intel-Unternehmen geschätzt Die VRS-Schwachstelle wurde als zu komplex angesehen, um echte Angriffe durchzuführen, und ihr wurde ein Mindestschweregrad (2.8 CVSS) zugewiesen.

Die Probleme wurden Intel im Mai 2019 vom Zombieload-Team der Technischen Universität Graz (Österreich) und dem VUSec-Team der Freien Universität Amsterdam gemeldet. Die Schwachstellen wurden später von mehreren anderen Forschern nach der Analyse anderer MDS-Angriffsvektoren bestätigt. Der erste MDS-Bericht enthielt keine Informationen zu den L1DES- und VRS-Problemen, da es keine Lösung gab. Der Fix ist derzeit nicht verfügbar, aber die vereinbarte Geheimhaltungsfrist ist abgelaufen.
Als Workaround wird empfohlen, HyperThreading zu deaktivieren. Um die Schwachstelle auf der Kernelseite zu blockieren, wird vorgeschlagen, den L1-Cache bei jedem Kontextwechsel zurückzusetzen (MSR-Bit MSR_IA32_FLUSH_CMD) und die TSX-Erweiterung zu deaktivieren (MSR-Bits MSR_IA32_TSX_CTRL und MSR_TSX_FORCE_ABORT).

Intel Versprechen veröffentlichen Sie in naher Zukunft ein Mikrocode-Update mit der Implementierung von Mechanismen zur Blockierung von Problemen. Intel weist außerdem darauf hin, dass der Einsatz von Angriffsschutzmethoden im Jahr 2018 vorgeschlagen wurde L1TF (L1 Terminal Fault) ermöglicht es Ihnen, die Ausnutzung der L1DES-Schwachstelle aus virtuellen Umgebungen zu blockieren. Attacke unterliegen Intel Core-Prozessoren ab der sechsten Generation (Sky, Kaby, Coffee, Whiskey, Amber Lake usw.) sowie einige Intel Xeon- und Xeon Scalable-Modelle.

Darüber hinaus kann darauf hingewiesen werden Verbesserung ausbeuten, sodass Sie Angriffsmethoden verwenden können RIDL um den Inhalt des Root-Passwort-Hashs aus /etc/shadow bei regelmäßigen Authentifizierungsversuchen zu ermitteln. Wenn der ursprünglich vorgeschlagene Exploit den Passwort-Hash ermittelt hat 24 Stunden, und nachdem das Leck während des Betriebs des asynchronen Unterbrechungsmechanismus (TAA, TSX Asynchronous Abort) angewendet wurde, führte er einen ähnlichen Vorgang durch 36 Sekunden, dann führt die neue Variante einen Angriff in 4 Sekunden durch.

Source: opennet.ru

Kommentar hinzufügen