Mit LVI-LFB (Load Value Injection in the Line Fill Buffers) wurde ein neuer kritischer Seitenkanalangriff entdeckt.

Bitdefender-Sicherheitsforscher haben zum wiederholten Mal einen neuen Seitenkanal-Angriff identifiziert und einen entsprechenden Proof-of-Concept erstellt.

Der Angriff mit der Bezeichnung LVI-LFB (Load Value Injection in the Line Fill Buffers) ermöglicht es Angreifern, falsche Werte in bestimmte Strukturen der Mikroarchitektur einzuschleusen, die dann vom Opfer verwendet werden. Das kann dazu führen, dass vertrauliche, geschützte Daten über Berechtigungsebenen hinweg offengelegt werden.

Dieser neue Angriff (CVE-2020-0551) betrifft neuere Intel-CPUs, die spekulative Ausführung nutzen.

Kurzübersicht

In ihrem Bemühen um immer schnellere CPUs haben Hersteller verschiedene Ausprägungen der spekulativen Ausführung implementiert. Bei dieser Funktion stellt die CPU fundierte Vermutungen über möglicherweise erforderliche Befehle an, bevor sie ermittelt, ob sie tatsächlich erforderlich sind. Diese spekulative Ausführung kann Spuren im Cache hinterlassen, die dann von Angreifer ausgenutzt werden können, um einen Speicherleck im privilegierten Kernel-Speicher zu verursachen.

Was die Erforschung dieser Angriffe im Vergleich zu Cyberangriffen auf herkömmliche Schwachstellen so innovativ macht, ist die Tatsache, dass sie die Funktionsweise moderner CPUs im Detail ergründet. Für eine ordnungsgemäße Untersuchung müssen die Forschungsteams CPU-Abläufe (Sprungvorhersage, Out-of-Order Execution, Speculative Execution, Pipeline und Caches), betriebssysteminterne Abläufe (Systemaufrufe, Interrupt- und Ausnahmebehandlung und KPTI) sowie Seitenkanäle und Angriffe mit spekulativer Ausführung im Allgemeinen genau kennen.

Auswirkungen

Dieser neue Angriff kann sich besonders verheerend auf mandantenfähige und Multi-Workload-Umgebungen auswirken, die auf Hardware laufen, die von verschiedenen Workloads innerhalb eines Unternehmens oder von mehreren Unternehmen gemeinsam genutzt werden, so z. B. in Public- und Private-Clouds. Wie der PoC zeigt, besteht hier unter bestimmten Voraussetzungen nämlich die Möglichkeit, dass ein weniger privilegierter Prozess gesteuert durch den Angreifer die Ablaufsteuerung in einem höher privilegierten Prozess spekulativ übernimmt.

Das unmittelbarste Risiko ist der Diebstahl von vertraulichen Daten, die ansonsten durch Sicherheitsbegrenzungen auf Hardware-, Hypervisor- und Betriebssystemebene geschützt werden sollten. Diese können von Verschlüsselungsschlüsseln bis hin zu Passwörtern oder anderen Informationen reichen, die ein Angreifer exfiltrieren oder verwenden könnte, um weitergehende Kontrolle über ein Zielsystem zu erlangen.

So wurde der LVI-LFB-Angriff entdeckt und offengelegt

Dieses neue Angriffsverfahren wird als Load Value Injection bezeichnet und die ihr zugewiesene CVE lautet CVE-2020-0551.

Sicherheitsforscher haben MDS (Microarchitectural Data Sampling) bisher nur aus einer Blickrichtung betrachtet: Das Opfer greift auf die vertrauliche Information zu, die in die MDS-Puffer geladen wird, während der Angreifer den Inhalt der MDS-Puffer leakt, indem er einen Ladebefehl erteilt, der Mikrocode-Assists erfordert (z. B. durch das Lesen einer ungültigen Adresse). Die MDS-Puffer können jedoch auch in umgekehrter Richtung ausgenutzt werden: Wenn ein Angreifer die MDS-Puffer mit einem bestimmten Wert "besprüht", könnte ein Opfer diesen Wert spekulativ laden, wenn ein Ladebefehl einen solchen Mikrocode-Assist auslöst (z. B. wenn der Ladebefehl einen Fehler auslöst). Durch eingehende Untersuchung von Spectre und MDS erkennen aufmerksame Beobachter schnell die Ursache der neuen LVI-LFB-Schwachstelle: Eine indirekte Speicherverzweigung, die einen Mikrocode-Assist erfordert, der mit veralteten Werten aus den MDS-Puffern gefüttert wird, die von einem Angreifer gesteuert werden können, was zur spekulativen Ausführung von beliebigem Code führt.

Weitere Angriffsszenarien wurden von akademischen Forschungsteams beschrieben, die das Problem ebenfalls entdeckten und im April 2019 erstmals an Intel meldeten. Bitdefender hat Intel am 10. Februar 2020 über das Problem in Kenntnis gesetzt. In einer Antwort vom 25. Februar räumt Intel das Problem ein und teilte mit, dass man es am 10. März 2020 öffentlich machen würde.

Welche Systeme sind betroffen?


Der LVI-LFB-Angriff betrifft neuere Intel-CPUs, die spekulative Ausführung nutzen.

Abhilfe

Strategien zur Abwehr von hardwarebasierten Seitenkanalangriffen umfassen verschiedene Kategorien, die sich jeweils in unterschiedlichem Maße auf den Unternehmensbetrieb auswirken.

  1. Hardware. Hierbei handelt es sich um Fehlerbehebungen, die direkt in die Hardware integriert sind und nur für CPU-Generationen gelten, die nach dem Auftreten der Architekturfehler hergestellt wurden.
  2. Software. Hierbei handelt es sich um Patches, die ausschließlich innerhalb von Software implementiert werden. Kernel Page Table Isolation (KPTI) ist ein Beispiel für eine Fehlerbehebung, die den Kernel-Speicher in einem isolierten virtuellen Adressraum schützt und damit eine Reihe spekulativer Seitenkanalangriffe wie Meltdown unwirksam macht. Um aber auch zur Abwehr von App-to-App-LVI-LFB eingesetzt werden zu können, ist eine neue Art von KPTI – die horizontale KPTI – erforderlich. Alternativ muss das Betriebssystem auch die MDS-Puffer (insbesondere die LFBs) leeren, wenn es von einem weniger privilegierten Modus in einen privilegierteren Modus wechselt, um zu verhindern, dass Mikrocode-gestützte Speicherzugriffe spekulativ mit vom Angreifer gesteuerten Daten ausgeführt werden.
  3. Mikrocode. Diese Abhilfemaßnahmen erfordern eine Zusammenarbeit zwischen Hardware und Software. Der Hardwarehersteller stellt einen Mikrocode-Patch zur Verfügung, um neue Funktionen (z. B. die Spectre- L1TF- oder MDS-Abhilfemaßnahmen) offenzulegen, die dann von dem/den Hypervisor- bzw. Betriebssystemhersteller(n) verwendet werden, um die Schwachstellen zu beheben.
  4. Deaktivieren von Funktionen. Das Deaktivieren von Hyper-Threading empfiehlt sich für Systeme, bei denen die Sicherheit von entscheidender Bedeutung ist, ebenso wie die Serialisierung aller kritischen Ladevorgänge mit der lfence-Befehl. Weitere Möglichkeiten für Abhilfemaßnahmen sind Änderungen an den Compilern, um Code zu erzeugen, der für diese Art von Angriffen nicht anfällig ist.

Einem weiteren von Bitdefender entdeckten Seitenkanalangriff, bekannt als SWAPGS-Angriff, kann mithilfe der Bitdefender Hypervisor Introspection begegnet werden.

Erwähnungen

Das Bitdefender Advanced Research Team möchte explizit die Sicherheitsforscher erwähnen, die dieses Problem erstmals im April 2019 an Intel gemeldet haben, und ihnen für ihre Kooperation und Zusammenarbeit im Vorfeld (und darüber hinaus) der Veröffentlichung dieses Problems danken. Das akademische Forschungsteam besteht aus:

Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss und Frank Piessens

Diese Forscher haben eine eigene Website und eine ausführliche wissenschaftliche Arbeit erstellt, die im hier abrufbar sind:

https://lviattack.eu/ (detaillierte Beschreibung des Problems)

https://lviattack.eu/lvi.pdf (wissenschaftliche Arbeit)

Darüber hinaus stellt Intel weitere Informationen bereit unter:

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html (Advisory)

https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection (technische Erläuterung)