it-swarm.com.de

Meltdown und Spectre Attacks

Die kanonische Frage zum Januar 2018 enthüllte Meltdown- und Spectre-Angriffe. Andere identische oder signifikant ähnliche Fragen sollten als Duplikat dieser Frage geschlossen werden.

Hauptanliegen

  • Was ist spekulative Ausführung und was macht sie?
  • Was ist der Unterschied zwischen Meltdown und Spectre?
    • Wie funktioniert Meltdown?
    • Wie funktioniert Spectre?
  • Wie schütze ich mich?
  • Reicht der KPTI/KAISER-Patch aus, um meinen Computer zu schützen?
  • Es wird behauptet, dass der Patch einen Leistungsverlust verursacht. ist es wahr? Wie viel bedeutet das?
  • Kann/sollte ich den neuen Patch deaktivieren, wenn ich mir Sorgen über Leistungsverluste mache? Was sind die Risiken?
  • Welche Plattformen und CPUs sind anfällig?
  • Ich verwende eine virtuelle Maschine/Container. Inwieweit bin ich verletzlich?
  • Kann ich einen Meltdown/Spectre-Angriff auf meinem Computer erkennen?
  • Sind diese Angriffe Sicherheitslücken bei der Remotecodeausführung?
  • Muss ich meine Software/Website patchen?
  • Kann ich beim Besuch einer Website betroffen sein?
  • Können Sie das mit einem Bild erklären?

Verweise:

165
M'vy

Diese Antwort ist ein Versuch, einfach die Hauptanliegen anzusprechen. Die Details hier sind möglicherweise nicht vorbildlich genau oder vollständig. Ich werde versuchen, wenn möglich auf detailliertere Erklärungen zu verweisen.

Was ist spekulative Ausführung und was macht sie?

Die spekulative Ausführung ist ein Merkmal moderner Prozessoren, das als Optimierung dient. Um die parallele Behandlung von Befehlen in die Prozessorpipeline zu ermöglichen, können Befehle vorzeitig unter Verwendung von Techniken wie Verzweigungsvorhersage, Wertvorhersage oder Speichervorabruf verarbeitet werden. Anweisungen können dann außerhalb der Reihenfolge ausgeführt werden.

Dies ist eine Möglichkeit, Zeit zu gewinnen, indem Sie richtig vorhersagen, was als nächstes passiert, anstatt den Prozessor im Leerlauf zu halten. Wenn die Vorhersage fehlschlägt, werden die Anweisungen zurückgesetzt.

Was ist der Unterschied zwischen Meltdown und Spectre?

Meltdown-Exploits sind global einfacher zu implementieren als Spectre.

Meltdown nutzt Speicherlesevorgänge in Anweisungen außerhalb der Reihenfolge, Spectre wirkt auf den Verzweigungsvorhersagemechanismus.

Spectre ermöglicht die prozessübergreifende/prozessinterne Offenlegung, Meltdown ermöglicht die Offenlegung des Kernelspeichers für die User-Space-Prozesse (normalerweise nicht zugänglich).

Meltdown hat eine bekannte Software-Minderung.

Beide basieren auf einem Cache-Seitenkanalangriff, der ein Maß für die Zeitunterschiede beim Zugriff auf bestimmte Speicherblöcke darstellt, um die ansonsten unbekannten Informationen abzuleiten.

Wie funktioniert Meltdown?

Kurz gesagt, Meltdown fordert den Prozessor auf, Speicher zu laden, auf den das User-Space-Programm keinen Zugriff haben sollte. Der Speicher wird nicht in der richtigen Reihenfolge gelesen und in den Cache gestellt. Durch einen Seitenkanalangriff (Ausführungszeitmessung) auf den Cache kann auf den Wert dieses Speicherorts geschlossen werden.

Wie funktioniert Spectre?

Spectre arbeitet auf einer anderen Ebene und erlaubt keinen Zugriff auf Kernel-Space-Daten aus dem User-Space. Bei diesem Angriff täuscht der Angreifer die spekulative Ausführung vor, um Anweisungen fehlerhaft vorauszusagen. Kurz gesagt, der Prädiktor wird gezwungen, ein bestimmtes Verzweigungsergebnis vorherzusagen (wenn -> wahr), was dazu führt, dass nach einem nicht gebundenen Speicherzugriff gefragt wird, den der Opferprozess normalerweise nicht angefordert hätte, was zu einer falschen spekulativen Ausführung führt. Ruft dann über den Seitenkanal den Wert dieses Speichers ab. Auf diese Weise wird der zum Opferprozess gehörende Speicher an den böswilligen Prozess weitergegeben.

Wie schütze ich mich?

Aktualisieren Sie Ihr Betriebssystem und/oder Ihren Hypervisor.

Die Hauptdistributoren von Betriebssystemen veröffentlichen bereits Patches, um das KPTI/KAISER-Verhalten zu implementieren. Dies ist ein Mittel, um die Angriffsfläche zu reduzieren, indem die Benutzerspeicherzuordnung des Kernels entfernt wird, die für die Funktion des Prozessors nicht unbedingt erforderlich ist.

Mikrocode-Updates (Firmware-Updates) werden wahrscheinlich irgendwann veröffentlicht.

Reicht der KPTI/KAISER-Patch aus, um meinen Computer zu schützen?

Nein, und es deckt nur Meltdown ab.

Das Problem liegt im Architekturdesign der Prozessoren. Um die Probleme vollständig (oder teilweise sogar im Fall von Spectre) zu lösen, ist mindestens ein Firmware-Update erforderlich. Es ist auch möglich, dass Prozessoren ohne diesen Konstruktionsfehler durch neuere Modelle ersetzt werden müssen.

Der Patch soll einen Leistungsverlust verursachen, stimmt das? Wie viel bedeutet das?

Ja, aber der entstandene Verlust hängt vom Software-Workflow ab. Es wird behauptet, dass der Verlust zwischen 5% und 30% liegen kann, je nachdem, wie abhängig Ihre Software von Systemanrufen ist. Es wurde berichtet, dass Benchmarks mit hohen Übergängen von Kernel zu Benutzerbereich, wie z. B. Datenbanken, am stärksten betroffen sind.

Dies wird noch untersucht, vorläufige Berichte wurden erstellt (siehe Links). Da sich die Auswirkungen jedoch je nach Anwendung unterscheiden, sollten Sie die Auswirkungen auf die Leistung in Ihrer Umgebung testen, anstatt sich auf allgemeine Benchmarks zu verlassen.

Vorläufige Ergebnisse (unabhängig ??):

Offizielle Ankündigungen:

Kann/sollte ich den neuen Patch deaktivieren, wenn ich mir Sorgen über Leistungsverluste mache? Was sind die Risiken?

Nein, das kannst du, aber es wird definitiv nicht empfohlen.

Wenn Sie Daten von anderen verwalten, würden Sie Ihre Kunden zunächst für Datendiebstahl anfällig machen.

Dann müssen die Leistungsverluste noch richtig bewertet werden und hängen stark von Ihrem spezifischen Workflow ab. Bei den Leistungen sind es keine direkten 30%.

Wenn Sie KPTI deaktivieren, besteht die Gefahr, dass Ihre vertraulichen Daten verloren gehen.

Welche Plattformen und welche CPU sind anfällig?

Die meisten Intel CP sind für beide Angriffe anfällig. AMD-CPU scheint nur von Spectre betroffen zu sein . Einige ARM Cortex-Prozessoren sind betroffen, alle anderen ARM Prozessoren nicht. PowerPC-Prozessoren in den Familien POWER 7, POWER 8 und POWER 9 sind betroffen, andere möglicherweise.

(siehe Links für Details).

Ich verwende eine virtuelle Maschine/Container. Inwieweit bin ich anfällig?

Nach Steffen Ullrichs Antwort

  • Meltdown-Angriffe überqueren keine VMs, sondern geben nur Kernelspeicher an lokale Prozesse ab.
  • Spectre kann über VMs hinweg arbeiten.

Ab wieder Steffen arbeiten Meltdown und Spectre mit Containern, da Container auf dem Host-Kernel basieren.

Kann ich Meltdown/Spectre-Angriffe auf meinem Computer erkennen?

Es ist sehr schwierig, wenn überhaupt möglich.

Meltdown und Spectre verwenden beide eine entworfene Eigenschaft der CPU, die ständig von harmlosen Programmen ausgelöst wird, wodurch es schwierig wird, schädliche Programme von harmlosen Programmen zu unterscheiden.

Sind diese Angriffe eine Sicherheitsanfälligkeit bezüglich Remotecodeausführung?

Nein, sind sie nicht.

Um diesen Angriff anwenden zu können, muss der Angreifer in der Lage sein, Code auf dem Zielhost auszuführen. Beachten Sie jedoch, dass, wenn diese mit anderen Angriffsmethoden kombiniert werden, z. B. Datei-Upload oder Cross-Site-Scripting-Exploits, die Möglichkeit besteht, sie remote auszuführen.

Muss ich meine Software/Website patchen?

In einer idealen Welt, nein.

In der Realität haben einige Browser-Anbieter bereits Messungen zur Verringerung der Zeitgenauigkeit implementiert, um die Seitenkanalangriffe abzuschwächen. Der KPTI sollte bereits eine ausreichend angemessene Lösung für Programme bieten, die native Systemaufrufe verwenden.

Kann ich beim Besuch einer Website betroffen sein?

Ja, es gibt bereits einen Proof of Concept für einen Javascript-Exploit für Spectre (nur).

Können Sie das mit einem Bild erklären?

Nein, aber Randall Munroe kann:

(XKCD #1938 - Meltdown and Spectre

[Quelle XKCD: https://xkcd.com/1938/ ]

119
M'vy

Einfache Tipps

Zusätzlich zu M'vys ausgezeichnete Antwort möchte ich nur diese Frage beantworten:

Was kann ich tun, um sicher zu sein?

  • Spectre, Meltdown und Rowhammer sind konzeptionelle CPU-Fehler, sodass sie durch ein Software-Update nicht korrekt gepatcht werden konnten. Dies bedeutet: Tatsächliche Software Patches beeinträchtigen meistens die Gesamtleistung eines Systems (Windows, Linux von MacOS).
  • Diese Fehler betreffen auch Isolation. Wissend, dass:

    Alle Isolation Funktionen (sandbox, containers, virtual Host und users privileges) sind jetzt Vorsicht geboten!

    ist die richtige Denkweise!

  • Alte Sicherheitsgewohnheiten sind jetzt nützlich, wie zum Beispiel:
    • alle sensiblen Anwendungen auf physisch dedizierten Hosts haben,
    • einen physischen Host für jeden sensiblen Kunden (für Anbieter) haben,
    • speichern wichtiger Daten wie Backups und vertraulicher Daten wie Passwörter oder Geheimnisse auf getrennten (dedizierten) Hosts.
    • durchsuchen Sie das Netzwerk auf einem dedizierten Host und machen Sie Banking nach einem vollständigen Neustart des Desktops oder besser: auf einem anderen (dedizierten) Host!

Wenn Sie Isolation mit verschiedenen Hardware-Hosts, Sie könnten spekulative Ausführung und alle anderen netten Funktionen (auch mit anderen, noch nicht bekannten Fehlern), die von modernen CPUs angeboten werden, sicher verwenden. Sie müssen Ihre Systemleistung nicht herabsetzen!

(Wenn ja, ist ein Upgrade möglicherweise nicht der bessere Weg ... ;-)

Warum denke ich, dass Hardware-Trennung/dediziert nützlich sein könnte?

Sehen Sie diese Reise, veröffentlicht am 17. April 2013! (vor fast fünf Jahren;)

Quelle: xkcd.com/12

(XKCD 1200

7
F. Hauri

Diese Antwort ist spezifisch für die Spectre Next Generation-Angriffe und wird aktualisiert, sobald neue Informationen verfügbar sind.

Update, 22. Mai:

Die ersten Patches kommen und weitere Informationen zu den neuen Sicherheitslücken:

Intel hat am 21. Mai 2018 die Erklärung this veröffentlicht, die Ihnen einen guten Überblick über die Spectre-Varianten 3a und 4 gibt.
Die jeweiligen CVEs sind:

  • CVE-2018-3639 - Speculative Store Bypass (SSB) - auch als Variante 4 bekannt
  • CVE-2018-364 - Rogue System Register Read (RSRE) - auch als Variante 3a bekannt

Nahezu alle Intel-Prozessoren, die in den letzten 10 Jahren hergestellt wurden, sind von diesen beiden Sicherheitslücken betroffen. Mikrocode-Updates wurden Betriebssystemanbietern zur Verfügung gestellt, sodass sie den Kunden bald zur Verfügung stehen sollten. Linux-Benutzer sollte sicher sein, wenn sie ihren Kernel kürzlich aktualisiert haben und wenn ihre Distribution Retpolinen verwendet.[Zitat benötigt]

Wenn Sie mehr über die technischen Details erfahren möchten, wurde Intels Whitepaper , das spekulative Ausführungsseitenkanäle analysiert, die nach dem Auftauchen der Spectre- und Meltdown-Angriffe veröffentlicht wurden, auf die Varianten 3a und 4 erweitert. Dies gilt auch für dieses Whitepaper , das die Schadensbegrenzung abdeckt.

Weiterführende Literatur:
Jann Horns ursprüngliche Offenlegungsmail
AMD sagt, dass keines ihrer Produkte für SSB anfällig ist
ARM-Blogbeitrag
Debian Security Tracker
Intel-BlogMicrosoft-Analyse von SSB
Red Hat CVE DB
Red Hat-Sicherheitsanfälligkeit
SUSE-Sicherheitsblog
buntu-Sicherheitshinweis
S CERT-Schwachstellenhinweis
VMWare Knowdlege Base-Artikel


Update, 7. Mai:

Die geplante Veröffentlichung technischer Details hat sich bis mindestens zum 21. Mai und möglicherweise sogar noch länger verzögert, da Intel die Entwicklung der erforderlichen Mikrocode-Updates nicht abschließen konnte.
Heute wurden jedoch einige neue Informationen veröffentlicht, eine Liste der Prozessoren, die möglicherweise von mindestens zwei der acht neuen Sicherheitslücken betroffen sind:

  • alle i-X-Prozessoren und die jeweiligen Xeon-Derivate seit 2010 (diese sind auch von der unter '6' beschriebenen Sicherheitslücke betroffen)
  • Atombasierte Pentium-, Celeron- und Atom -Prozessoren seit 2013)

Diese ersten Prozessortypen sind the, die normalerweise in Desktop-PCs, Notebooks und Servern verwendet werden. Die zweiten werden in Tablets, Smartphones und eingebetteten Geräten verwendet.
Es gibt noch keine CVEs und keine eingängigen Namen.


Am 3. Mai berichtete das auf IT spezialisierte deutsche Magazin c't, dass Forscher acht zusätzliche Sicherheitslücken in Intel-CPUs gefunden haben, die alle Spectre-ähnliche Angriffe ermöglichen. Alle diese neuen Sicherheitsanfälligkeiten basieren auf denselben Designfehlern wie die Sicherheitsanfälligkeiten, die von Spectre V1 und V2 ausgenutzt werden.

Der erste technische und ausführliche Bericht, der eine dieser Vulns abdeckt, wird voraussichtlich am 7. Mai vom Google Project Zero veröffentlicht. Es ist jedoch möglich, dass andere Forscher oder unabhängige Parteien Berichte früher veröffentlichen.

Was wir bisher wissen:

  1. Es gibt acht neue Sicherheitslücken.
  2. Jeder erhält seinen eigenen CVE.
  3. Jeder benötigt seinen eigenen Patch. Über den Fortschritt der Entwicklung von Patches ist bislang wenig bekannt. Laut c't plant Intel zwei Patch-Wellen: eine im Mai und eine im August.
  4. Es gibt noch keine Liste der betroffenen Prozessoren. Intel-Prozessoren sind wahrscheinlich größtenteils betroffen. Einige ARM CPUs scheinen ebenfalls betroffen zu sein. Es ist bisher unklar, ob AMD-CPUs betroffen sind.
  5. Intel klassifiziert vier der acht Sicherheitslücken als "hohes Risiko", die anderen vier als "mittleres Risiko".
  6. Eine der neuen Vulns erlaubt angeblich sehr einfache systemübergreifende Angriffe. Ein Gegner kann möglicherweise ein Host-System oder andere VMs von einer Quell-VM aus angreifen. Dies ist besonders gefährlich für Cloud-Anbieter. Ein solcher Angriff war schon früher möglich, aber sehr komplex. Die neue Sicherheitsanfälligkeit scheint viel einfacher auszunutzen zu sein. Alle anderen Angriffsvektoren scheinen Spectre V1 und V2 sehr ähnlich zu sein.

Fazit : Wir wissen bisher sehr wenig und wissen nur abstrakte Beschreibungen der neuen Schwachstellen. Spectre und Meltdown sind sehr komplexe Angriffe und die zugrunde liegenden Sicherheitslücken sind nicht weniger komplex. Alle technischen Details fließen in den nächsten Wochen langsam in den Diskurs ein. Aber die CPU-Anbieter sind informiert und es scheint, dass sie und Kernel-Entwickler bereits an Lösungen arbeiten. Hab Geduld.

Quelle: https://www.heise.de/ct/artikel/Super-GAU-fuer-Intel-Weitere-Spectre-Luecken-im-Anflug-4039134.html

5
Tom K.