Die kritischen Sicherheitslücken in den CPU-Architekturen von Intel und – mit Abstrichen – auch AMD, ARM und Sparc beschäftigen Kernel- und Software-Entwickler aus der Open-Source-Szene gleichermaßen. Projekte und Open-Source-Firmen verteilen Patches und geben Empfehlungen. Eine Momentaufnahme.
Ausgerechnet um die Jahreswende herum sorgten die Meltdown und Spectre getauften Sicherheitsprobleme für viel Wirbel. Kernel-Maintainer Greg Kroah-Hartman berichtet, dass Anfang Januar zahlreiche überarbeitete, schlecht gelaunte und unausgeschlafene Kernelentwickler alles getan hätten, um die Probleme mit Meltdown und Spectre zu beheben.
Von den Angriffsszenarien sind alle Betriebssysteme (Linux, Windows, Mac OS) betroffen, die Plattformen von mobilen Geräten wie Smartphones und Notebooks, PCs sowieso. Selbst manche Server aus der IBM-Power-Reihe und Sparc-Maschinen sind anfällig, wie sich zeigte.
Kernfragen
Was Meltdown betrifft, so Kroah-Hartman, stecken im Kerneltree von Linus Torvalds alle bisherigen Fixes für die x86-Architektur. Es sollte daher genügen, den Kernel mit der aktivierten Build-Option »CONFIG_PAGE_TABLE_ISOLATION« neu zu bauen. In der Kernelversion 4.15-rc7 sollten danach alle Patches enthalten sein, berichtet der Kernel-Maintainer [1]. Da die meisten Nutzer keine Entwickler-Kernel einsetzen, haben die KPTI-Entwickler (Kernel Pagetable Isolation) den Code auf Kernel 4.14 zurückportiert, sodass in der Version 4.14.12 bereits viele Patches stecken.
Zum Redaktionsschluss hat Greg Kroah-Hartman mit den Linux-Kerneln 4.14.14, 4.9.77, 4.4.112 Updates veröffentlicht, die mit erweiterten Schutzfunktionen gegen Spectre und Meltdown aufwarten können. Insbesondere haben die Kernelhacker das von Google entwickelte Retpoline-Patch [2] eingebaut.
Wer allerdings einen anderen Kernel als 4.4, 4.9 oder 4.14 verwende und keinen Support durch eine Distribution erhalte, habe schlicht Pech, stellte Kroah-Hartman fest. Die fehlenden Meltdown-Patches seien in diesem Fall aber das kleinste Problem, ein Systemupdate sei ohnehin dringend empfohlen.
Für die ARM64-Architektur gab es Anfang Januar noch keine Patches in Linus’ Kernelzweig. Die sollen im Kernel 4.16-rc1 landen. ARM64-Nutzer verweist Kroah-Hartman so lange auf den Android-Common-Kerneltree, denn alle ARM64-Fixes seien in den Versionen 3.18, 4.4 und 4.9 gelandet. In die offiziellen LTS-Kernel 4.4 und 4.9 werden es die Patches aber wohl nicht schaffen, weil dazu zu viele vorbereitende Patches nötig seien. Der Android-Common-Kernel sei daher die bessere Option.
Zudem, so Kroah-Hartman in einem Update [3] seiner Ausführungen, lasse sich prüfen, ob das eigene Linux-System betroffen sei und in welchem Ausmaß. Das Kommando »grep . /sys/devices/system/cpu/vulnerabilities/*« diene dazu. Die Ausgabe auf seinem eigenen Laptop (Abbildung 1) zeige, dass das Meltdown-Problem mittels PTI (Pagetable Isolation) umgangen wird.
Gegen Spectre in der Variante 1 bleibe der Laptop verwundbar und brauche ein Microcode-Update. Sollte das Kommando auf ein fehlendes Sys-FS-Verzeichnis oder Files hinweisen, sei ein Kernelupgrade nötig. Die Prüfmethode gelte aber nur für x86-64-Bit-Kernel.
Torvalds reagiert sauer
Linus Torvalds zeigte sich wenig erfreut [4]. Er frage sich, ob Intel das Problem tatsächlich lösen möchte und ob man künftig nicht mehr in die ARM64-Richtung schauen solle. Er wirft Intel vor, keine Kernel-Config-Optionen für das Problem anzubieten, schließlich seien nicht alle CPUs Müll. Dass Torvalds den Kernel 4.15 Ende Januar um einige Tage verschieben musste, sorgte beim Linux-Erfinder für schlechte Laune
Und er legte nach: Intel habe zwar Meltdown vernünftig repariert, die Patches für die Spectre-Lücke würden jedoch zeigen, dass es Intel nicht ernst meine mit den Reparaturen. Die IBRS-Patches (Indirect Branch Restricted Speculation) seien kompletter Müll, schreibt Torvalds und würden Dinge tun, die verrückt seien. Noch schlimmer sei, dass das Hardware-Interface von Idioten entworfen worden sei [5].
Browser
Auch Browser-Hersteller wie Mozilla beschäftigen die Angriffe. Browser öffnen ein Einfallstor, um private Informationen verschiedenen Ursprungs abzugreifen. Da diese Angriffe aber auf einem präzisen Timing basieren, hat Mozilla kurzfristig verschiedene Zeitquellen für Firefox entweder deaktiviert oder unpräziser gemacht. Dazu gehören »performance.now()« und implizite Quellen, um hochauflösende Timer zu entwickeln, wie »SharedArrayBuffer«. Bis auf Weiteres reduziert Mozilla die Auflösung von »performance.now()« auf 20 Mikrosekunden und deaktiviert »SharedArrayBuffer«.
Android
Wer wissen möchte, ob sein Android-Smartphone eine Chance hat, Patches gegen Spectre und Meltdown zu erhalten, findet in Googles Watchblog [6] eine Tabelle. Die listet für verschiedene Android-Hersteller, aber auch für Apple, jene Gerätetypen auf, die vermutlich Patches von den Herstellern erhalten.
Google hatte bereits Anfang Januar Patches für Android veröffentlicht und für seine Pixel- und Nexus-Smartphones angeboten. In welchem Zeitraum nun aber die Hersteller wie Samsung, Huawei, LG oder HTC die Google-Patches an ihre eigenen Geräte anpassen, ist noch offen.
Distributionen
Die gängigen Linux-Distributionen haben inzwischen alle mit Updates reagiert. Allerdings gilt auch hier, dass der Heilungsprozess andauert. Hersteller wie Suse haben eine Webseite [7] zu den Lücken veröffentlicht, eine Support-Webseite hält Admins zudem auf dem neuesten Stand. Auch Red Hat hat seine Linuxe gepatcht und bietet zudem einen Detektor [8] an, der Red Hat Enterprise Linux auf Verwundbarkeit prüft.
Die Mint-Entwickler haben für Linux Mint 17.x und 18.x neue Kernel bereitgestellt. Für Nutzer der Linux Mint Debian Edition (LMDE) stehe ebenfalls ein neuer Kernel bereit, der sich über den Update-Manager einspielen lasse. Des Weiteren empfehlen die Linux-Mint-Macher regelmäßige Backups und möglichst tägliche Schnappschüsse des Systems (etwa via Timeshift).
Mit der Distribution Tails lässt sich das Internet anonym und sicher nutzen, deshalb war den Entwicklern sehr daran gelegen, mit einer neuen Version 3.4 unter anderem den Linux-Kernel zu aktualisieren, um Meltdown und Spectre einen Riegel vorzuschieben. Für Spectre gelingt das jedoch nur teilweise.
Univention hat eine Informationsseite [9] veröffentlicht und informiert dort über Patches und für welche Versionen und Editionen von UCS es bereits oder in naher Zukunft Updates gibt. Dass der Fehlerteufel im Detail steckt, wissen auch die Entwickler bei Thin-Client-Spezialist Igel. Auch das Igel-OS ist gepatcht, eine Webseite informiert auch hier über den Stand der Dinge [10]
Vorsicht ist bei älteren Distributionen geboten. Ubuntu 17.04 alias Zesty Zapus etwa hat sein auf Updates und Patches bezogenes Lebensende erreicht und erhalte keine Patches mehr gegen Meltdown und Spectre.
Performance
Red Hat widmete sich dem mit den Patches verbundenen Thema Performance-Einbruch und gab Zahlen heraus, die das Unternehmen in Benchmarks mit RHEL 7 und vorherigen Versionen gewonnen hat. Generell betreffen die Performance-Einschränkungen vor allem Software, die viele Kontextwechsel zwischen User- und Kernelspace verursacht, was den Translation Lookaside Buffer (TLB) zu häufigeren Löschaktionen zwingt.
Einen messbaren Performance-Einbruch von 8 bis 19 Prozent sieht Red Hat beim Einsatz von Online-Transaktionsverarbeitungen (OLTP), die zum Beispiel bei ERP-Systemen zum Einsatz kommen, und gepufferten Ein- und Ausgaben. Verschiedene Benchmarks wie Tpc, Sysbench, Pgbench, Netperf (bei weniger als 256 Byte) und Fio (bei zufälligem Lesen und Schreiben auf NvME) zeigen Ergebnisse, die in diese Kategorie gehören.
Moderate Leistungseinbußen erleiden Systeme zur Datenbank-Analyse, aber auch Java-VMs. Betroffene Anwendungen erzeugen signifikanten sequenziellen Festplatten- oder Netzwerk-Traffic.
Infos
- Greg Kroah-Hartmans Statusmitteilung: http://www.kroah.com/log/blog/2018/01/06/meltdown-status/
- Retpoline: https://support.google.com/faqs/answer/7625886
- Greg Kroah-Hartmans Update 2: http://kroah.com/log/blog/2018/01/19/meltdown-status-2/
- Kommentar von Linus Torvalds: https://lkml.org/lkml/2018/1/3/797
- Linus Torvalds’ Update: https://lkml.org/lkml/2018/1/21/192
- Googles Watchblog: https://www.googlewatchblog.de/2018/01/meltdown-spectre-inoffizielle-liste/
- Suse-Informationsseite: https://www.suse.com/c/suse-addresses-meltdown-spectre-vulnerabilities/
- Red Hat Detektor: https://access.redhat.com/labsinfo/speculativeexecution
- Univention-Information: https://help.univention.com/t/status-of-meltdown-and-spectre-security-issues-in-ucs/7678
- Igel: https://www.igel.com/technology-trends/igel-furthers-product-security-with-meltdown-and-spectre-fix/






