Meltdown & Spectre: Details und Bench­marks zu den Sicherheits­lücken in CPUs

Steffen Weber et al. 3.719 Kommentare
Meltdown & Spectre: Details und Bench­marks zu den Sicherheits­lücken in CPUs

Massive Sicherheitslücken in vielen CPUs sorgen für Aufsehen, weil zum Umgehen dieser Hardware-Bugs tiefgreifende Umbauarbeiten an Betriebssystemen erforderlich sind, die sich negativ auf die Leistung auswirken können. Besonders betroffen ist Intel, aber nicht nur. ComputerBase hat Benchmarks.

Hinweis: Der Artikel wude fortlaufend um neue Erkenntnisse ergänzt, die in Form von Updates in chronologischer Reihenfolge am Ende angefügt sind. Um einen vollständigen Überblick über den aktuellen Stand zum Thema Meltdown und Spectre zu erlangen, ist das aufmerksame Lesen des gesamten Artikels erforderlich. Die Berichterstattung von ComputerBase begann 1½ Tage bevor die Thematik am Abend des 4.1.2018 offiziell wurde.

Die Entwickler des Linux-Kernels haben in den letzten Wochen tiefgreifende Umbauarbeiten am Virtual-Memory-Subsystem des Kernels vorgenommen. Nicht-trivialen Änderungen an diesem zentralen Teil des Linux-Kernels gehen sonst üblicherweise monate- oder jahrelange Diskussionen voraus. Und als wäre das noch nicht genug, werden diese großen Patches aktuell nicht nur in die kommende Version 4.15 des Linux-Kernels eingebaut, sondern auch in die bereits veröffentlichten stabilen Versionen 4.9 und 4.14 mit Long-Term-Support (LTS) zurückportiert. Aufmerksamen Beobachtern wird zunehmend klar, dass es für diese insbesondere über die Feiertage außergewöhnliche Hektik einen triftigen Grund geben muss.

Eine Sicherheitslücke in Intel-CPUs

Dem aktuellen Vernehmen nach verhindern die Patches das Ausnutzen einer massiven Sicherheitslücke in allen Intel-CPUs. [Nachträgliche Klarstellung: Hierbei handelt es sich um die Sicherheitslücke namens „Meltdown“.] Offenbar kann ein Prozess eine Intel-CPU durch Ausnutzen eines Hardware-Bugs dazu bringen, Speicherbereiche spekulativ zu laden und den Zugriff darauf dann ohne weitere Prüfung zu erlauben, ohne dass der Prozess die erforderlichen Rechte hat. So kann ein unprivilegierter Prozess auf den Speicher des Kernels zugreifen, in welchem sich sensible Daten befinden können. Besonders prekär ist das für Cloud-Provider wie Amazon und Google, die ein Ausbrechen aus virtuellen Maschinen verhindern wollen. Darüber hinaus könnte die als „Defense in Depth“ eingesetzte Sicherheitstechnik Address Space Layout Randomization (ASLR) des Kernels ausgehebelt werden.

Für Linux gibt es einen Workaround

Der von den Linux-Entwicklern für diesen Hardware-Bug in Intel-CPUs jetzt eingebaute Workaround namens Kernel Page-Table Isolation (PTI beziehungsweise KPTI) sorgt dafür, dass der Speicherbereich des Kernels nicht mehr in die Seitentabelle („Page Table“) der Prozesse gemappt wird. Mit PTI sieht ein Prozess also nur noch seinen eigenen Speicherbereich. Der Speicherbereich des Kernels ist für ihn schlicht unsichtbar, sodass eine offenbar leicht auszuhebelnde Zugriffsprüfung keine Rolle mehr spielt.

Kleiner Exkurs: Prozesse arbeiten mit virtuellen Speicheradressen („Virtual Memory“) beginnend bei 0. Es ist die Aufgabe des Kernels, eine freie Stelle im RAM (oder im Swap beziehungsweise der Auslagerungsdatei) zu finden und diese virtuellen Adressen zur Laufzeit des Prozesses in physische Adressen zu übersetzen. Dazu pflegt der Kernel für jeden Prozess ein Mapping: die sogenannte Seitentabelle. So können mehrere Prozesse nebenläufig ausgeführt werden ohne sich ins Gehege zu kommen oder gegenseitig ihre Speicherbereiche lesen oder überschreiben zu können. Damit diese Abstraktion sich nicht negativ auf die Leistung auswirkt, verfügt jede CPU über einen speziellen Cache namens Translation Lookaside Buffer (TLB), der das Übersetzen einer logischen Adresse in eine physische Adresse beschleunigt.

Obwohl sich PTI nach einer einfachen Lösung anhört, hat die Sache einen gewaltigen Haken: Wenn der Speicherbereich des Kernels nicht mehr in die Seitentabelle der Prozesse gemappt wird, erfordert jeder Aufruf einer vom Kernel bereitgestellten Funktion (Systemaufruf) das Laden einer neuen Seitentabelle und somit das Leeren des für die Performance überaus wichtigen Translation Lookaside Buffer. Normalerweise ist das Leeren des TLB nur bei einem Prozesswechsel erforderlich – also wenn der Kernel alle paar Millisekunden einen Prozess pausiert und mit der Ausführung des nächsten Prozesses fortfährt. Mit PTI muss der TLB zusätzlich dazu auch vor und nach jedem Syscall geleert werden. Die zu erwartenden Leistungseinbußen hängen also stark davon ab, wie oft ein Prozess Syscalls nutzt. Im Endeffekt rechnen die Linux-Entwickler durch PTI mit Performance-Einbußen von rund 5 Prozent, in Extremfällen können es aber offenbar auch fast 50 Prozent sein:

AMD-Prozessoren von diesem (!) Problem nicht betroffen

Dass dieser Benchmark auf einem AMD-System durchgeführt wurde, obwohl AMD-CPUs von der Sicherheitslücke Meltdown nicht betroffen sind und PTI dort nach jetzigem Stand überflüssig ist, entbehrt nicht einer gewissen Ironie. Grund zur Annahme, dass die Leistungseinbußen auf Intel-CPUs deutlich anders ausfallen würden, gibt es aber nicht. Trotzdem ist dieser Benchmark vermutlich der absolute Worst-Case und in weniger speziellen Benchmarks dürften die Leistungseinbußen deutlich geringer bis kaum noch messbar ausfallen.

Die Aussage des AMD-Entwicklers, derzufolge die eigenen Prozessoren von dieser Sicherheitslücke nicht betroffen sind, lautet wie folgt:

AMD processors are not subject to the types of attacks that the kernel page table isolation feature protects against. The AMD microarchitecture does not allow memory references, including speculative references, that access higher privileged data when running in a lesser privileged mode when that access would result in a page fault.

Disable page table isolation by default on AMD processors by not setting the X86_BUG_CPU_INSECURE feature, which controls whether X86_FEATURE_PTI is set.

Tom Lendacky, AMD

Auch Microsoft arbeitet an einem Patch, Insider haben ihn schon

Weil die Sicherheitslücke von einem Hardware-Bug in Intel-CPUs ausgelöst wird, sind neben Linux natürlich auch Windows, macOS und andere Betriebssysteme von dem Problem betroffen, wenngleich aufgrund des offenen Entwicklungsmodells die Linux-Workarounds zuerst publik geworden sind. Auch Microsoft arbeitet bereits an einem ähnlichen Isolations-Feature, wie Entwickler Mitte November festgestellt hatten („KAISER“ ist die damalige Bezeichnung für KPTI):

ComputerBase hat Intel um Stellungnahme zu dem angeblichen Hardware-Bug gebeten.

Update 03.01.2018 09:22 Uhr

Der am späten gestrigen Abend veröffentlichte stabile Linux-Kernel 4.14.11 (Download) enthält erstmals die vollständige PTI-Implementierung (genauso wie Linux 4.15-rc6). Ob Unterstützung für PTI in den laufenden Kernel eingebaut ist, verrät die Ausführung des Befehls zgrep CONFIG_PAGE_TABLE_ISOLATION /proc/config.gz. Falls die Ausgabe „CONFIG_PAGE_TABLE_ISOLATION=y“ lautet, dann unterstützt der laufende Kernel PTI, andernfalls nicht. Ob PTI-Unterstützung nicht nur vorhanden ist sondern auch tatsächlich genutzt wird, verrät der Befehl dmesg | grep isolation. Falls die Ausgabe „Kernel/User page tables isolation: enabled“ lautet, dann ist PTI aktiv, andernfalls nicht.

In Linux 4.14.11 fehlt noch der oben erwähnte Patch des AMD-Entwicklers, der PTI auf AMD-CPUs standardmäßig deaktiviert. In Linux 4.14.11 ist PTI daher unnötigerweise auch auf AMD-CPUs aktiv. Man kann PTI dann entweder manuell anhand des Kernel-Parameters „pti=off“ deaktivieren oder ein paar Tage auf Linux 4.14.12 warten – darin wird der Patch des AMD-Entwicklers enthalten sein.

App-Benchmarks

In kurzfristig durchgeführten eigenen Benchmarks konnte ComputerBase auf einem Notebook mit Intel Core i7-4600U in spontan lauffähigen einfachen Benchmarks der Phoronix Test Suite keine über die Messungenauigkeit hinausgehenden Leistungseinbußen feststellen (getestet wurden pts/blake2, pts/build-linux-kernel, pts/openssl, pts/phpbench, pts/pybench und pts/sqlite). Bei dem im Tweet in dieser News erwähnten Benchmark „time du -s -x /“ (also dem Aufsummieren der Größe aller Dateien auf dem Hauptdateisystem) konnten aber auch wir einen deutlichen Leistungseinbruch feststellen: Ohne PTI lieferte der Befehl in 0,64 Sekunden ein Ergebnis, mit PTI erst nach 0,82 Sekunden, das entspricht einer Leistungseinbuße von 28 %. Dieser „Benchmark“ ist aber als Worst-Case zu bezeichnen, weil er quasi nur daraus besteht, in einer Schleife für jede Datei den „stat“-Syscall auszuführen.

Die weit verbreitete Datenbank PostgreSQL läuft einem Benchmark zu Folge mit PTI rund 7 Prozent langsamer. Linus Torvalds bezeichnete diese Leistungseinbuße in einer Antwort als „im Rahmen der Erwartungen“, aber natürlich stark abhängig vom konkreten Workload. Derweil gibt es weitere PTI-Benchmarks auf Phoronix, denen zu Folge es bei synthetischen Dateisystem-Benchmarks auf NVMe-SSDs dramatische Einbrüche um Faktor 2 und mehr gibt, deutliche Unterschiede im unteren zweistelligen Prozentbereich bei PostgreSQL- und Redis-Datenbanken und keine messbaren Unterschiede bei Encoding-Benchmarks wie FFmpeg und x264 sowie der Kernel-Kompilierung.

Spiele-Benchmarks

Die Gaming-affinen Leser von ComputerBase wird freuen, dass es in den Spiele-Benchmarks von Phoronix keine messbaren Leistungseinbußen gibt, sodass Gamer sich vermutlich entspannt zurücklehnen können – zumindest unter der Annahme, dass die Ergebnisse der Linux-Benchmarks auf Windows übertragbar sind, wovon man zunächst ausgehen sollte. So wie es aktuell aussieht könnten allenfalls die Ladezeiten durch PTI negativ beeinflusst werden.

Details zu der Sicherheitslücke sollen am morgigen 4. Januar 2018 veröffentlicht werden.

Update 03.01.2018 14:39 Uhr

In der ComputerBase-Redaktion wurde das zuletzt genutzte Prozessor-Testsystem nach den Feiertagen noch einmal mit einem Intel Core i7-7700K zum Einsatz gebracht. Auf einer zweiten SSD wurden exakt die gleichen Benchmarks geladen, dort war aber nicht das Windows 10 Fall Creators Update (Build 16299, Version 1709) installiert, sondern die aktuellste Insider Preview Build 17063 vom 19. Dezember 2017, in der der Patch schon aktiv ist. Die gewählten Benchmarks sind nicht von der Leistungsfähigkeit der SSD abhängig.

Windows-Benchmarks: Anwendungen

In den sechs Anwendungen zeigt sich dabei nahezu kein Unterschied, lediglich der Benchmark von 7-Zip, der im RAM abläuft, fällt mit 2 Prozent Rückstand messbar geringer aus.

Performancevergleich
  • 7-Zip:
    • Core i7-7700K (Win10 16299)
      27.794
    • Core i7-7700K (Win10 17063)
      27.308
    Angaben in MIPS
  • Blender 2.80.1 Experimental:
    • Core i7-7700K (Win10 16299)
      11:01
    • Core i7-7700K (Win10 17063)
      11:01
    Angaben in Minuten, Sekunden
  • Cinebench R15 x-CPU:
    • Core i7-7700K (Win10 16299)
      983
    • Core i7-7700K (Win10 17063)
      977
    Angaben in Punkten
  • DigiCortex – Demobench1:
    • Core i7-7700K (Win10 17063)
      19.511
    • Core i7-7700K (Win10 16299)
      19.643
    Angaben in Millisekunden
  • DigiCortex – SpikeBench small:
    • Core i7-7700K (Win10 17063)
      1,053
    • Core i7-7700K (Win10 16299)
      1,047
    Angaben in Faktor
  • Handbrake 1.0.7:
    • Core i7-7700K (Win10 16299)
      4:35
    • Core i7-7700K (Win10 17063)
      4:38
    Angaben in Minuten, Sekunden
  • VeraCrypt 1.21:
    • Core i7-7700K (Win10 16299)
      7.578
    • Core i7-7700K (Win10 17063)
      7.475

Windows-Benchmarks: Spiele

Im Spiel Assassin's Creed Origins, das CPUs stark fordert, erweist sich die aktuelle Insider Preview als verlässlich messbar langsamer, gravierend sind die Unterschiede aber nicht. Die nachfolgenden Ergebnisse basieren jeweils auf drei Durchgängen, weil die Ergebnisse in der dynamischen Spielwelt um ein bis zwei Prozent variieren. Die Einzelergebnisse stützen aber alle die Aussage des Durchschnitts, einzelne Ausreißer sind nicht die Ursache.

Mit einer schnellen Asus GeForce GTX 1080 Ti Strix sind die Unterschiede in Full HD bei Nutzung des höchsten Presets dabei absolut zu vernachlässigen, bei Nutzung des niedrigsten Presets sind hingegen drei Prozent Leistungsverlust feststellbar.

Assassin's Creed: Origins
Angaben in Frames
  • Full HD, Höchstes Preset:
    • Core i7-7700K (Win10 16299)
      97,5
    • Core i7-7700K (Win10 17063)
      97,3
  • Full HD, Niedrigstes Preset:
    • Core i7-7700K (Win10 16299)
      126,3
    • Core i7-7700K (Win10 17063)
      122,6

SSD zeigt geringere Leistung

Einen größeren Ausschlag gibt es dann aber doch noch zu sehen. Auf einer zweiten SSD im System in Form einer Samsung 960 Pro im M.2-Speicherplatz zeigt sich im CrystalDiskMark in zwei von acht ermittelten Werten (Screenshot) ein Unterschied von knapp sieben Prozent, weitere liegen zwei bis vier Prozent zurück. Das deckt sich mit den oben verlinkten Datenbanken-Benchmarks.

Inwiefern das einzig und allein auf den Patch zurückzuführen ist, bleibt offen, denn Windows ändert mit neuen Versionen auch weitere Dinge am Betriebssystem, die einen Einfluss haben können. In der Regel fällt dieser allerdings weniger groß aus.

Zweistellige Leistungseinbußen konnten im Test der Redaktion aber bisher nicht nachgewiesen werden.

Samsung SSD 960 Pro unter Windows 10 Final
Samsung SSD 960 Pro unter Windows 10 Final
Samsung SSD 960 Pro unter Windows 10 Insider Preview
Samsung SSD 960 Pro unter Windows 10 Insider Preview
Update 03.01.2018 22:25 Uhr

Stellungnahme von Intel

In einer offiziellen Stellungnahme hat Intel am Abend Berichten, denen zufolge die Sicherheitslücke auf einen Fehler in den eigenen Prozessoren zurück zu führen ist, widersprochen. Der Konzern erklärt: „Jüngste Berichte, denen zufolge die Exploits auf „Fehler“ oder „Schwachstellen“ zurück zu führen sind und nur Produkte von Intel betreffen, sind nicht korrekt.“ Auf Basis der bisher stattgefundenen Analyse sei vielmehr davon auszugehen, dass auch die Produkte anderer Hersteller betroffen sind.

Intels Dementi erscheint auf den ersten Blick eindeutig, auf den zweiten Blick widerspricht der Konzern den Anschuldigungen aber äußerst schwammig. Schließlich verneint Intel nur die per „und“ geschlossene Verknüpfung aus der Existenz eines Fehlers und dessen Einzigartigkeit bei Intel, allein die Existenz eines Fehler wiederum wird tatsächlich nicht verneint – was beim ersten Lesen aber kaum auffällt.

Urspünglich hätten Intel und andere (aber nicht explizit genannte) Hersteller geplant, das Thema gemeinsam in der nächsten Woche zu adressieren, vermutlich nachdem Microsoft mit dem Patchday für Januar 2018 am Dienstag die Lücke geschlossen hat. Doch die aktuell „fehlerhafte Berichterstattung in den Medien“ habe Intel dazu gezwungen schon heute separat Stellung zu beziehen.

Grundsätzlich, so Intel, sei das Problem kleiner als angenommen: Dass entsprechende Exploits das Potential haben Daten zu korrumpieren, zu modifizieren oder zu löschen, glaubt Intel jedenfalls nicht. Diese Aussage geht jedoch an der Frage vorbei, da es bei dieser Sicherheitslücke gar nicht um das Ändern von Daten geht. Dass geschützte Daten von Unbefugten ausgelesen werden könnten – also das in den letzten Stunden vorrangig diskutierte Risiko – adressiert Intel nicht.

Der Konzern arbeite trotzdem bereits „mit vielen anderen Technologie-Unternehmen – darunter AMD und ARM sowie verschiedene Betriebssystem-Anbieter – an einer industrieweiten Lösung, die die Angelegenheit kurzfristig und zielführend löst“. An dieser Stelle legt Intels Formulierung nahe, dass sich AMD und ARM in der kommenden Woche zusammen mit Intel äußern werden, eindeutig ist es aber auch an dieser Stelle nicht.

Intel habe mit der Auslieferung entsprechender Software- und Firmware-Updates schon begonnen. Und entgegen anders lautender Berichte sei deren Auswirkung auf die Leistung „für den Durchschnittsanwender nicht signifikant und mit der Zeit zu vernachlässigen“.

Informationen zum Patch für macOS

Apple soll bereits mit dem Anfang Dezember 2017 veröffentlichten Update auf macOS 10.13.2 erste Vorkehrungen getroffen haben, um die Lücke zu schließen, erklärt Alex Ionescu via Twitter. Und für macOS 10.13.3 seien weitere Maßnahmen geplant. Die Updates wären also in etwa gleichzeitig mit Verteilung erster abgesicherter Insider Previews von Windows 10 verteilt worden.

Update 03.01.2018 23:51 Uhr

Stellungnahme von AMD

Gegenüber CNBC hat AMD sich so geäußert, dass es um insgesamt drei Probleme gehe und dass AMD-CPUs „nicht von allen drei Problemen betroffen“ seien. AMD hat also nicht gesagt, dass man von keinem der drei Probleme betroffen sei. Die Aussage von AMD legt den Schluss nahe, dass die AMD-CPUs betreffende Variante des Problems mehr oder weniger deutlich schwerer auszunutzen ist („near zero risk“):

To be clear, the security research team identified three variants targeting speculative execution. The threat and the response to the three variants differ by microprocessor company, and AMD is not susceptible to all three variants. Due to differences in AMD's architecture, we believe there is a near zero risk to AMD processors at this time.

AMD

Stellungnahme von Google

Auch Google hat mittlerweile eine Stellungnahme veröffentlicht und sagt darin unmissverständlich, dass sowohl Produkte von Intel als auch Produkte von AMD und ARM betroffen seien – sagt aber nichts dazu, ob das im selben Umfang der Fall ist. Unabhängig davon sind somit jetzt auch Smartphones potenziell betroffen, laut Google gibt es für die ARM-Architektur aber zum jetzigen Zeitpunkt keinen funktionierenden Exploit. In jedem Fall auf der sicheren Seite seien Android-Smartphones und -Tablets, auf denen die Sicherheitsupdates von Januar 2018 installiert wurden.

These vulnerabilities affect many CPUs, including those from AMD, ARM, and Intel, as well as the devices and operating systems running them.

[...]

Android: Devices with the latest security update are protected. Furthermore, we are unaware of any successful reproduction of this vulnerability that would allow unauthorized information disclosure on ARM-based Android devices. Supported Nexus and Pixel devices with the latest security update are protected.

Google Blog
Update 04.01.2018 00:20 Uhr

Google veröffentlicht vollständige Details

Google hat im Project Zero Blog die vollständigen Details zu den drei Problemen veröffentlicht, die jetzt eine Website sowie ein Logo haben und auf die Namen Meltdown und Spectre getauft wurden – wobei es Spectre in zwei Varianten gibt. Man habe Intel, AMD und ARM am 1. Juni 2017 über die Probleme in Kenntnis gesetzt.

Meltdown
Meltdown (Bild: Google)
Spectre
Spectre (Bild: Google)

Sicherheitslücke 1: Meltdown

Von Meltdown (im Google-Blog und auf der AMD-Website als „Variant 3“ bezeichnet) sind nach jetzigem Kenntnisstand nur Intel-CPUs (und wenige ARM-Kerne) betroffen – und zwar alle seit 1995 ausgelieferten Intel-CPUs mit Ausnahme von Itanium und den vor 2013 produzierten Atom-CPUs. Meltdown ist die Sicherheitslücke, die unprivilegierten Prozessen das Lesen von Kernel-Memory und das Ausbrechen aus virtuellen Maschinen erlaubt, was wie oben beschrieben mittels Page-Table-Isolation (PTI) behoben werden kann – und in manchen Fällen mit Leistungseinbußen verbunden ist. Auf AMD-CPUs sind keine Meltdown-Gegenmaßnahmen erforderlich und somit auch keine Leistungseinbußen zu erwarten.

Sicherheitslücken 2 + 3: Spectre

Spectre (im Google-Blog und auf der AMD-Website als „Variant 1“ und „Variant 2“ bezeichnet) betrifft hingegen praktisch alle relevanten CPUs von Intel (unter anderem Ivy Bridge, Haswell und Skylake) über AMD (unter anderem Ryzen) bis hin zu ARM (unter anderem Samsung und Qualcomm) und sei zwar schwerer auszunutzen aber auch schwerer zu beheben als Meltdown. Page-Table Isolation schafft hier keine Abhilfe. AMD behauptet, dass Spectre auf den eigenen CPUs (noch) schwerer auszunutzen sei als auf Intel-CPUs, ist den Sicherheitsforschern zu Folge von dem Problem grundsätzlich aber auch betroffen. AMD rechnet durch Spectre-Gegenmaßnahmen mit vernachlässigbaren Leistungseinbußen („negligible performance impact expected“), die bei Intel-CPUs zusätzlich zu den Leistungseinbußen durch Meltdown-Gegenmaßnahmen vermutlich noch obendrauf kommen (aber auch in Summe überschaubar sein dürften).

Wie Meltdown nutzt auch Spectre aus, dass moderne CPUs aus Performance-Gründen viele Instruktionen spekulativ im Voraus ausführen (Speculative execution). Stellt sich das im Nachhinein als zu übereifrig heraus, müssen die Auswirkungen rückgängig gemacht werden. Das geschieht offenbar nicht gründlich genug (Seiteneffekte bleiben nachweisbar), sodass mittels einer timing-basierten Seitenkanalattacke Speicherinhalt abgegriffen werden kann, auf den eigentlich kein Zugriff bestehen sollte. Zum Beispiel könne auf diese Weise im Browser ausgeführtes nicht vertrauenswürdiges JavaScript auf den kompletten Speicher des jeweiligen Prozesses zugreifen, der Passwörter anderer Websites oder sonstige Nutzerdaten enthalten kann.

Spectre könne ohne Änderungen an der CPU-Hardware nicht an zentraler Stelle behoben werden, sondern viele Anwendungen müssten einzeln angepasst werden. Beispielsweise wird Chrome 64 eine Gegenmaßnahme namens Site-Isolation enthalten, die für eine striktere Trennung der offenen Tabs in verschiedene Prozesse sorgt. Darüber hinaus wird wie in Firefox die Genauigkeit von Funktionen für Zeitmessungen wie zum Beispiel performance.now() reduziert, um timing-basierten Seitenkanalattacken weniger präzise Zeitmessungen zu ermöglichen. Die Sicherheitsforscher prophezeien, dass Spectre Entwickler noch einige Zeit beschäftigen werde: „As it is not easy to fix, it will haunt us for quite some time.“

Update 04.01.2018 10:37 Uhr

Linus Torvalds geigt Intel die Meinung

Linus Torvalds, bekannt für seine bisweilen deutlichen Aussagen, zeigt sich in einer Reaktion auf von Intel eingereichte Spectre-Patches („Variant 2“) von den Sicherheitslücken und insbesondere von Intels irreführender Reaktion darauf (siehe oben) wenig begeistert und fordert Intel auf, die Probleme zuzugeben anstatt sie – wie in der Pressemitteilung geschehen – weitestgehend zu leugnen:

A *competent* CPU engineer would fix this by making sure speculation doesn't happen across protection domains. Maybe even a L1 I$ that is keyed by CPL.

I think somebody inside of Intel needs to really take a long hard look at their CPU's, and actually admit that they have issues instead of writing PR blurbs that say that everything works as designed.

.. and that really means that all these mitigation patches should be written with "not all CPU's are crap" in mind.

Or is Intel basically saying "we are committed to selling you shit forever and ever, and never fixing anything"?

Because if that's the case, maybe we should start looking towards the ARM64 people more.

Please talk to management. Because I really see exactly two possibibilities: Intel never intends to fix anything OR these workarounds should have a way to disable them. Which of the two is it?

Linus Torvalds

Derweil wird Page-Table Isolation (PTI) – also der Schutz gegen Meltdown – auch in die älteren Long-Term-Support (LTS) Kernel Linux 4.4.110 und Linux 4.9.75 eingebaut, nachdem dies bei Linux 4.14.11 bereits geschehen ist.

Update 04.01.2018 13:29 Uhr

Microsoft mit Emergency Update für Windows 10, 8.1 und 7

Noch vor dem für den 9. Januar geplanten Patchday für Januar 2018 hat Microsoft damit begonnen, das Sicherheitsupdate, das vermutlich vorerst nur die auf Intel-CPUs bestehende Sicherheitslücke Meltdown auf Betriebssystem-Seite schließt, für Windows 10 über Windows Update auszuliefern. Für Windows 10 Version 1709 „Fall Creators Update“ ist der Patch Teil des kumulativen Updates KB4056892, aber auch andere Hauptversionen von Windows 10 sollen bereits Updates erhalten. Eine Übersicht liefert Microsoft (Auswahlmenü links). Weder Meltdown noch Spectre werden in der Beschreibung zum Patch bisher explizit genannt.

Auch für Windows 7 (KB4056897) und Windows 8(.1) (KB4056898) sind Updates zur manuellen Installation bereits verfügbar.

Erste ComputerBase-Leser konnten den Patch nach einer Suche in Windows Update installieren, aber nicht alle. Hintergrund ist, dass Microsoft noch bis zum 9. Januar prüft, ob inkompatible Programme auf dem Rechner installiert sind – wenn ja, wird der Patch noch nicht über Windows Update angezeigt, auch die manuelle Installation schlägt fehl.

Antivirenprogramme können Probleme bereiten

Nach dem Update kann es auf allen Versionen von Windows nämlich zu Problemen mit Antivirenprogrammen kommen, einige Anbieter müssten die Software auf den gepatchten Kernel anpassen. Auf Systemen mit AMD-CPU soll der Patch im Übrigen nicht aktiv sein.

Update 04.01.2018 21:29 Uhr

Google schafft Klarheit

In einem neuen Blog-Eintrag hat Google eigene Erfahrungen mit den Leistungseinbußen sowie Klarstellungen zu den drei Problemvarianten veröffentlicht. Man habe sowohl Page-Table Isolation (PTI) als auch eine Spectre-Gegenmaßnahme namens Retpoline, die seit heute auch von den Linux-Entwicklern diskutiert wird, auf allen Google-Servern (unter anderem Search, Gmail, YouTube und Cloud Platform) eingespielt und anschließend nur vernachlässigbare („negligible“) Leistungseinbußen festgestellt. Jene könnten natürlich von Fall zu Fall abweichen, die Ergebnisse mancher Microbenchmarks seien aber mitnichten auf reale Anwendungen übertragbar.

Darüber hinaus hat Google Klarstellungen zu den drei Problemvarianten veröffentlicht. Einfach ist der Fall bei Meltdown („Variant 3“): Gegen diese einfach ausnutzbare aber auch relativ einfach behebbare Sicherheitslücke, die ausschließlich Intel-CPUs und wenige ARM-Kerne betrifft, helfen die PTI-Patches für Linux beziehungsweise das heute veröffentlichte Windows-Update.

Bei Spectre („Variant 1“ und „Variant 2“), wovon auch CPUs von AMD und ARM betroffen sind, ist die Sache komplizierter. „Variant 1 (bounds check bypass)“ könne nur entgegengewirkt werden, indem jede betroffene Anwendung einzeln angepasst wird. Deshalb werden beispielsweise Google Chrome und Firefox die weiter oben beschriebenen Updates erhalten. „Variant 2 (branch target injection)“, von der AMD behauptet prakisch nicht betroffen zu sein („near-zero risk“), könne durch Microcode-Updates des CPU-Herstellers oder durch die neue „Retpoline“-Technik entschärft werden. Jene könne dazu in betroffene Betriebssysteme, Hypervisors, Systemprogramme, Bibliotheken und Anwendungen eingebaut werden.

Stellungnahme von ARM

Welche der in praktisch allen Smartphones verbauten ARM-SoCs von welchen der drei Probleme betroffen sind, steht übrigens sehr übersichtlich auf der ARM-Website: Arm Processor Security Update. Demnach sind zumindest prinzipiell – laut Google gibt es für Android ja noch keinen funktionierenden Exploit – 4 ARM-Kerne von Meltdown und 10 ARM-Kerne von Spectre betroffen.

Diese Transparenz ändert leider nichts daran, dass viele Android-Nutzer aufgrund der nach wie vor schlechten Update-Versorgung solche Sicherheits-Updates vermutlich niemals erhalten werden. Viele Android-Nutzer werden sich also vermutlich an den Strohhalm klammern müssen, dass es laut Google unter Android bislang nicht gelungen sei, die Sicherheitslücken auszunutzen (siehe das Update vom 3.1.2018 23:51 Uhr).

Update 05.01.2018 09:26 Uhr

Erste Spectre-Gegenmaßnahmen in Firefox 57.0.4

Mozilla hat damit begonnen, Firefox 57.0.4 (Download) per automatischem Update zu verteilen. Darin sind erste Spectre-Gegenmaßnahmen enthalten.

Microsoft gibt an, diese Maßnahmen auch in Edge und Internet Explorer 11 eingebaut zu haben. Diese Änderungen sind Bestandteil des oben erwähnten Windows-Updates.

Stellungnahme von Apple

Apple gibt in einer Stellungnahme an, dass man Meltdown-Gegenmaßnahmen bereits im Dezember mit iOS 11.2, macOS 10.13.2 und tvOS 11.2 an seine Kunden verteilt habe. Jene hätten in GeekBench 4, Speedometer, JetStream und ARES-6 „keine messbaren“ Leistungseinbußen verursacht. Die Apple Watch sei von Meltdown nicht betroffen (vermutlich nutzt deren SoC keine Speculative Execution). In den kommenden Tagen werde man ein Safari-Update mit Spectre-Gegenmaßnahmen veröffentlichen, das je nach Benchmark gar keine bis maximal 2,5 Prozent Leistung kosten werde. Zudem stellt Apple weitere Updates mit Spectre-Gegenmaßnahmen für iOS, macOS, tvOS und watchOS in Aussicht.

Microcode-Updates für Microsoft Surface

Microsoft stellt Updates für Surface-Produkte bereit, die unter anderem neuen Microcode für die verbauten Intel-CPUs enthalten. Es handelt sich also vermutlich um eine Maßnahme gegen Spectre („Variant 2“).

Intel veröffentlicht technische Details

Intel hat ein PDF Analysis of Speculative Execution Side Channels veröffentlicht. Darüber hinaus werde man „bis Ende nächster Woche“ für 90 % der in den letzten 5 Jahren veröffentlichten Intel-CPUs Updates veröffentlicht haben. Zudem gibt es eine Liste der betroffenen CPUs. In den ebenfalls veröffentlichten Frequently Asked Questions vertritt Intel weiterhin die exklusive Auffassung, dass es sich nicht um Hardware-Bugs handelt.

Is this a bug in Intel hardware or processor design?

No. This is not a bug or a flaw in Intel products. These new exploits leverage data about the proper operation of processing techniques common to modern computing platforms, potentially compromising security even though a system is operating exactly as it is designed to. Based on the analysis to date, many types of computing devices — with many different vendors’ processors and operating systems — are susceptible to these exploits.

Intel FAQ
Update 05.01.2018 15:50 Uhr

PowerShell-Script für technisch versierte Windows-Nutzer

Wie Windows-Nutzer überprüfen können, ob erste Maßnahmen zum Schutz vor Meltdown („Variant 3“) und Spectre „Variant 2“ auf dem eigenen Windows-System angekommen sind, beschreibt Microsoft in einem Artikel auf der Support-Website. Man öffnet die PowerShell (unbedingt per Rechtsklick → „Als Administrator ausführen“) und installiert dort mittels PS > Install-Module SpeculationControl das von Microsoft bereitgestellte PowerShell-Script. Anschließend kann dieses PowerShell-Script mittels PS > Get-SpeculationControlSettings ausgeführt werden.

Das PowerShell-Script gibt Informationen zu zwei der drei Probleme aus, nämlich zuerst zu Spectre „Variant 2“ aka „CVE-2017-5715 [branch target injection]“ und dann zu Meltdown aka „Variant 3“ aka „CVE-2017-5754 [rogue data cache load]“ (in dieser Reihenfolge). Nach Installation des seit gestern zur Verfügung stehenden Windows-Updates sollte das Script bei Meltdown aka „Variant 3“ grünes Licht geben. Falls man per Firmware-Update auch schon neuen Microcode für die CPU erhalten hat, dann sollte das Tool auch bei Spectre „Variant 2“ grünes Licht geben. Zu Spectre „Variant 1“ kann das Tool keine Aussage treffen, weil dieses Problem wie im gestrigen News-Update von 21:29 Uhr erläutert in jeder betroffenen Anwendung einzeln angegangen werden muss.

PowerShell-Script „SpeculationControl“ auf einer Intel-CPU mit Windows-Update aber ohne Microcode-Update
PowerShell-Script „SpeculationControl“ auf einer Intel-CPU mit Windows-Update aber ohne Microcode-Update

Auf AMD-CPUs gibt das Tool „Hardware requires kernel VA shadowing: False“ aus, d.h. dort ist die Meltdown-Gegenmaßnahme nicht erforderlich und auch nicht aktiv.

PowerShell-Script „SpeculationControl“ auf einer AMD-CPU ohne Microcode-Update
PowerShell-Script „SpeculationControl“ auf einer AMD-CPU ohne Microcode-Update (Bild: ComputerBase-Nutzer „Kon_artis“)

Unter Windows Server muss der Schutz nach Installation des Updates manuell aktiviert werden. Wie das geschieht steht in einem separaten Artikel für Windows Server.

Update 06.01.2018 09:24 Uhr

Hinweise zu dem PowerShell-Script

Falls die Installation oder das Ausführen des im vorigen Update erwähnten PowerShell-Scripts Probleme bereiten, dann sollten Windows-Nutzer darauf achten, die PowerShell als Administrator auszuführen (Rechtsklick → „Als Administrator ausführen“). Falls das noch nicht den gewünschten Erfolg bringt, kann der folgende PowerShell-Befehl helfen: PS > Set-ExecutionPolicy -ExecutionPolicy RemoteSigned. Generell muss PowerShell mindestens in Version 3.0 installiert sein.

Alternative zu dem PowerShell-Script

Als Alternative zum offiziellen Weg kann auch das ohne weitere Umstände über die Windows-Eingabeaufforderung cmd.exe ausführbare Tool SpecuCheck (Download der EXE-Datei) von Alex Ionescu genutzt werden.

Dazu öffnet man im Startmenü durch Eingabe von „cmd.exe“ die Eingabeaufforderung und gibt dort „SpecuCheck“ ein. Die heruntergeladene Datei muss zuvor direkt im Ordner „Eigene Dateien“ platziert worden sein, alternativ wechselt man mittels cd-Befehl in das jeweilige Verzeichnis. (Startet man die EXE-Datei per Doppelklick, dann schließt sich das Programmfenster schneller als man die Ausgabe lesen kann.)

SpecuCheck
SpecuCheck (Bild: Alex Ionescu)

Es sei an dieser Stelle nochmal klargestellt, dass die beiden genannten Tools selbst keine Sicherheitslücken schließen, sondern lediglich Informationen darüber ausgeben, welche Gegenmaßnahmen auf dem Windows-System aktiv sind.

Leistungseinbußen durch Spectre-Gegenmaßnahmen

Allerersten auf Reddit veröffentlichten Benchmarks des Nutzers „Perseiii“ zu Folge hat der in Form eines BIOS-Updates bereitgestellte neue Microcode für Intel-CPUs (also die Maßnahme gegen Spectre „Variant 2“) in einzelnen Benchmarks deutliche Leistungseinbußen zur Folge – zumindest deutlichere als die Meltdown-Gegenmaßnahmen in Form des Windows-Updates.

Benchmarks des Reddit-Nutzers „Perseiii“
Benchmarks des Reddit-Nutzers „Perseiii“ (Bild: Reddit)

Darüber hinaus hat derselbe Nutzer auch Benchmarks von „Rise of the Tomb Raider“ gemacht und dort keine Leistungseinbußen bei den durchschnittlichen FPS festgestellt. Zwar sind die Min-FPS eingebrochen, das aber nur sehr kurz ganz am Anfang des Benchmarks, also noch halb im Ladevorgang.

Inwiefern diese Ergebnisse, sollten sie denn reproduzierbar sein, auf AMD-CPUs übertragbar sind, ist noch unklar. Auch AMD hat mit dem Ausliefern von Microcode-Updates begonnen, um das auf AMD-CPUs angebliche „Near-Zero Risk“ durch Spectre „Variant 2“ anzugehen.

Update-Empfehlung

ComputerBase wird nächste Woche eigene Benchmarks durchführen. Bis dahin sei jedem Windows-Nutzer geraten, zumindest das Windows-Update – das unter anderem die Maßnahmen gegen Meltdown („Variant 3“) und erste Spectre-Patches für Edge und Internet Explorer enthält – aus Sicherheitsgründen zeitnah zu installieren. Denn jenes hat, von einzelnen Micro-Benchmarks abgesehen, nach jetzigem Stand der Dinge in Spielen und Desktop-Anwendungen keine messbaren oder vernachlässigbare Auswirkungen auf die Performance – und auf AMD-CPUs werden die Meltdown-Gegenmaßnahmen laut PowerShell-Script gar nicht scharf geschaltet. Auf Intel-CPUs kann der enthaltene Meltdown-Workaround laut Microsoft, sollte es wirklich Probleme geben, mittels der folgenden beiden Befehle gefolgt von einem Reboot jederzeit wieder deaktiviert werden:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Falls man sich umentscheidet und den deaktivierten Meltdown-Workaround wieder aktivieren möchte, dann geht das wie folgt:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Auch zur Verfügung stehende Browser-Updates – beispielsweise Firefox 57.0.4 – sollte man schnellstmöglich installieren. Chrome-Nutzer können das mit Chrome 64 standardmäßig kommende Feature Strict Site Isolation auf der Seite „chrome://flags/#enable-site-per-process“ auch schon in Chrome 63 aktivieren.

Raspberry Pi nicht betroffen

Einer Stellungnahme der Raspberry Pi Foundation zu Folge ist kein Raspberry Pi von Meltdown oder Spectre betroffen, weil die verbauten Chips ARM1176, Cortex-A7 und Cortex-A53 es nicht sind. Diese Aussage deckt sich mit der vorgestern veröffentlichten Stellungnahme von ARM.

Both vulnerabilities exploit performance features (caching and speculative execution) common to many modern processors to leak data via a so-called side-channel attack. Happily, the Raspberry Pi isn’t susceptible to these vulnerabilities, because of the particular ARM cores that we use.

[...]

The lack of speculation in the ARM1176, Cortex-A7, and Cortex-A53 cores used in Raspberry Pi render us immune to attacks of the sort.

Raspberry Pi Foundation

Ehemaliger Intel-Mitarbeiter dämpft Hoffnung auf kurzfristige Hardware-Fixes

Unterdessen hat der ehemalige Intel-Mitarbeiter Joe Fitz in einer Tweet-Serie dargelegt, weshalb man nicht damit rechnen solle, dass schon in den nächsten Monaten neue CPUs ohne die Hardware-Bugs veröffentlicht würden. Jeder „Build“ (bei Hardware „Stepping“ genannt) koste mehrere Millionen Dollar, dauere mehrere Monate und die machbaren Änderungen seien aufgrund möglicher Nebenwirkungen – auch physikalischer Natur – stark eingeschränkt. Es lohnt sich, die komplette Tweet-Serie zu lesen.

Update 07.01.2018 19:38 Uhr

Laut Heise führt das von Microsoft bereitgestellte Windows-Update, das vor Meltdown schützt und erste Spectre-Fixes enthält, auf Systemen mit AMD-CPU in einzelnen Fällen offenbar dazu, dass Windows beim Booten mit Fehlercode 0x800f0845 hängen bleibt (Forum-Beitrag #1, Forum-Beitrag #2, Forum-Beitrag #3).

Wie WinCentral berichtet, hat Microsoft unterdessen auch mit dem Verteilen eines Updates für Windows 10 Mobile auf Version 15254.158 begonnen (KB4073117, KB4056891). Zumindest manche Windows-Smartphones nutzen SoCs mit Cortex-A57, die laut ARM nicht nur von Spectre sondern auch von Meltdown betroffen sind.

Unterdessen mehren sich Berichte von Server-Betreibern, dass die Meltdown-Gegenmaßnahmen in bestimmten Fällen deutliche Auswirkungen auf die Performance haben können. Epic Games hat einen drastischen Anstieg der CPU-Last auf Fortnite-Gameservern festgestellt. Ähnliche Werte wurden für die von Servern genutzten Dienste Elasticache und Kafka gemeldet. Allen drei Fällen gemein dürften viele Syscalls zum Senden und Empfangen von Netzwerkpaketen sein.

Linux-Entwickler Greg Kroah-Hartman, in erster Linie als Maintainer der Long-Term-Support-Kernel (LTS) bekannt, hat in seinem Blog Informationen zum Patch-Status von Linux veröffentlicht. Während Meltdown-Gegenmaßnahmen für x86-CPUs bekanntermaßen in Linux 4.14, 4.9 und 4.4 enthalten sind, sollen Patches für die paar von Meltdown betroffenen ARM-Kerne in Linux 4.16 folgen. Für Spectre gebe es im Linux-Kernel noch keine Gegenmaßnahmen, weil man nur über Meltdown vorab informiert worden sei – man arbeite aber dran.

Update 09.01.2018 17:13 Uhr

Wegen der auf einzelnen AMD-Systemen seit dem Windows-Update auftretenden Abstürze beim Bootvorgang (siehe das vorige News-Update), hat Microsoft dessen Auslieferung an Systeme mit „betroffenen AMD-CPUs“ pausiert. Vermutlich sind damit nur manche und nicht alle AMD-Systeme gemeint, da Microsoft einleitend davon spricht, dass „manche AMD-Chipsätze“ sich nicht an die Microsoft zur Verfügung gestellte Dokumentation halten würden – und weist damit klar AMD die Schuld zu. In einem Thread in der Microsoft-Community berichten vornehmlich Besitzer von Athlon-64-X2-Prozessoren mit Windsor-Architektur von diesem Problem.

After investigating, Microsoft has determined that some AMD chipsets do not conform to the documentation previously provided to Microsoft to develop the Windows operating system mitigations to protect against the chipset vulnerabilities known as Spectre and Meltdown. To prevent AMD customers from getting into an unbootable state, Microsoft will temporarily pause sending the following Windows operating system updates to devices with impacted AMD processors at this time.

Microsoft

AMD hat dieses Problem inzwischen bestätigt und spricht – ebenfalls ohne ins Detail zu gehen – von „einigen älteren Prozessor-Generationen“, die betroffen sind.

AMD is aware of an issue with some older generation processors following installation of a Microsoft security update that was published over the weekend. AMD and Microsoft have been working on an update to resolve the issue and expect it to begin rolling out again for these impacted shortly.

AMD

Klarstellung: Wie ComputerBase berichtete, ist als Maßnahme gegen Spectre „Variant 2“ neuer Microcode und somit ein BIOS-Update erforderlich. Der neue Microcode löst das Problem allerdings nicht im Alleingang, sondern stellt dem Betriebssystem lediglich grundlegende Funktionen bereit, um Maßnahmen gegen Spectre „Variant 2“ ergreifen zu können. Es sind also zusätzlich dazu Änderungen am Betriebssystem erforderlich. Bei Windows ist das mit dem bekannten Windows-Update geschehen – jenes schützt also nicht nur vor Meltdown, sondern in Kombination mit einem BIOS-Update auch vor Spectre „Variant 2“ (und enthält unter anderem erste Patches für Edge und Internet Explorer gegen Spectre „Variant 1“). Die Linux-Kernel-Entwickler arbeiten wie im vorigen News-Update gesagt noch an Maßnahmen gegen Spectre „Variant 2“.

Die Zeile „Windows OS support for PCID optimization is enabled“ in dem PowerShell-Script beziehungsweise das Äquivalent in dem SpecuCheck-Tool informiert übrigens darüber, ob eine CPU „Process-context identifier“ (PCID) unterstützt. Jene ermöglichen das Markieren von TLB-Einträgen mit einer Prozess-ID, sodass der TLB im Zuge der Meltdown-Gegenmaßnahmen bei einem Systemaufruf doch nicht geleert werden muss, wodurch die Leistungseinbußen auf solchen CPUs geringer ausfallen können. Intel-CPUs verfügen offenbar ab Haswell (4. Core-i-Generation, 2013) über Unterstützung für „PCID“ und „INVPCID“ – im Zweifel schaffen die beiden Tools Klarheit. Zu AMD-CPUs konnte die Redaktion spontan keine Informationen finden, allerdings sind jene ohnehin nicht von Meltdown betroffen.

Die Entwickler der Rendering-Engine WebKit, die in erster Linie von Safari genutzt wird, haben in einem Blog-Eintrag die bereits umgesetzten und geplanten Gegenmaßnahmen erläutert. Neben den bereits von Chrome und Firefox publizierten Gegenmaßnahmen arbeite man an „Branchless Security Checks“, also Sicherheitsprüfungen, die ohne Verzweigungen – also salopp gesagt ohne If-Abfragen – auskommen und somit CPUs keine Möglichkeit zur Spekulation geben.

Unterdessen hat Nvidia den GeForce-Treiber 390.65 und Asus eine mit dem Windows-Update kompatible AI Suite 3 Beta veröffentlicht.

Update 09.01.2018 23:24 Uhr

Leistungseinbußen unter Windows 7/8 größer als unter Windows 10

Terry Myerson, Executive Vice President der „Windows and Devices Group“, hat in einem Blog-Eintrag den Stand der Dinge für Windows-Nutzer zusammengefasst – unter anderem mittels einer Tabelle mit Informationen zu den drei Varianten.

Meltdown und Spectre: Stand der Dinge für Windows-Nutzer
Meltdown und Spectre: Stand der Dinge für Windows-Nutzer (Bild: Microsoft)

Des Weiteren enthält der Blog-Eintrag eine Einschätzung der zu erwartenden Leistungseinbußen. Demnach gebe es unter Windows 10 auf neuen Intel-CPUs (Skylake, Kabylake und neuer) Leistungseinbußen im einstelligen Prozentbereich, die „die meisten“ Nutzer nicht bemerken würden. Unter Windows 10 auf älteren Intel-CPUs (Haswell und älter) erwarte man, dass „einige“ Nutzer Leistungseinbußen wahrnehmen werden. Unter Windows 8 und Windows 7 auf älteren Intel-CPUs erwarte man, dass „die meisten“ Nutzer Leistungseinbußen wahrnehmen werden. Denn in diesen älteren Betriebssystemen komme es öfter zu Systemaufrufen – unter anderem weil das Font-Rendering dort noch im Kernel stattfinde. In den kommenden Wochen werde man Benchmarks veröffentlichen.

Eine von Microsoft bereitgestellte Liste mit Links zu Updates diverser Software- und Hardware-Hersteller kann dabei helfen, das eigene System abzusichern.

Neuer Microcode per Treiber ist keine Lösung

Kreative ComputerBase-Leser sind auf die Idee gekommen, in Ermangelung eines vom Mainboard- bzw. Notebook-Hersteller bereitgestellten BIOS- bzw. Firmware-Update die Angelegenheit selbst in die Hand zu nehmen und den neuen Microcode mit dem VMware CPU Microcode Update Driver einzuspielen. Intel bietet aktuellen Microcode seit Dienstag zum Download an. Das VMware-Tool installiert den Microcode allerdings nicht dauerhaft, sondern lädt ihn bei jedem Betriebssystemstart. Und das passiert im Test von ComputerBase zu spät: Windows hat den Microcode schon vorher angeschaut und für zu alt befunden und lässt die Maßnahmen gegen Spectre „Variant 2“ somit deaktiviert. (In diesem Fall geben die beiden oben genannten Tools die zunächst verwirrende Info aus, dass Windows keine Maßnahmen gegen Spectre „Variant 2“ getroffen hat, obwohl das Windows-Update sowie neuer Microcode vorhanden sind – jener wird leider schlicht zu spät geladen. Siehe Screenshot.)

Das VMware-Tool lädt den Microcode zu spät, Windows lädt die Spectre-Gegenmaßnahmen deshalb nicht
Das VMware-Tool lädt den Microcode zu spät, Windows lädt die Spectre-Gegenmaßnahmen deshalb nicht

Unterdessen haben die Forscher der TU Graz auf GitHub einen Meltdown Proof-of-Concept veröffentlicht – also Beispiel-Code zum Demonstrieren und Nachvollziehen der Sicherheitslücke.

Update 12.01.2018 10:01 Uhr

Bislang hatte sich AMD zu Spectre „Variant 2“ so geäußert, dass bei AMD-CPUs ein „near-zero risk“ bestehe. Jetzt hat AMD in einem Update on AMD Processor Security bekannt gegeben, dass es gegen Spectre „Variant 2“ trotzdem ein – wie AMD aber betont „optionales“ – Microcode-Update geben werde. Zunächst seien die neuen Ryzen- und Epyc-CPUs an der Reihe, Updates für ältere CPUs würden aber „in den kommenden Wochen“ folgen. Kunden sollen sich an ihren Mainboard- beziehungsweise Notebook-Hersteller wenden.

Darüber hinaus hat man nochmal klargestellt, dass Radeon-Grafikkarten – genauso wie GeForce-Grafikkarte von Nvidia – von Meltdown und Spectre nicht betroffen sind.

Intel hat derweil Benchmarkwerte (PDF) der zu erwartenden Leistungseinbußen je nach CPU-Generation und Betriebssystem veröffentlicht. Die gemessenen Werte widersprechen Microsofts Behauptung, dass Windows 7 und 8 mehr unter den Gegenmaßnahmen leiden würden als Windows 10 – allerdings ist Skylake (2015) die älteste von Intel in den Benchmarks berücksichtigte CPU-Generation.

Darüber hinaus hat Intel bekannt gegeben, dass es Probleme mit den Microcode-Updates auf Haswell- und Broadwell-CPUs gebe, die sich offenbar in spontanen Neustarts äußern können.