Betriebssysteme: Linux 4.16 schließt weitere Spectre- und Meltdown-Lücken

Spectre und Meltdown dominieren weiterhin die Arbeit der Kernel-Hacker. Mit der Freigabe der ersten Testversion des kommenden Linux-Kernels 4.16 gibt es zusätzliche Patches gegen die Schwachstellen, die auch in Kernel-Versionen 4.15.2 und 4.14.18 eingeflossen sind.

Artikel von veröffentlicht am
Linux 4.16 wappnet sich weiter gegen Spectre und Meltdown.
Linux 4.16 wappnet sich weiter gegen Spectre und Meltdown. (Bild: Jerzy Strzelecki/CC-BY 3.0)

Die Absicherung gegen die jüngst bekanntgewordenen Sicherheitslücken Spectre und Meltdown schreitet voran, ist aber noch nicht ganz abgeschlossen. Einerseits muss noch weiterer Code im Kernel überprüft werden, andererseits warten auch die Kernel-Entwickler auf Microcode-Updates von Intel. Es gibt aber auch Neuerungen in Linux 4.16rc1, die nichts mit den Schwachstellen zu tun haben.

Inhalt:
  1. Betriebssysteme: Linux 4.16 schließt weitere Spectre- und Meltdown-Lücken
  2. Jenseits von Spectre und Meltdown
  3. Gasttreiber für Virtualbox

Zu den Änderungen, die bereits in die Kernel-Versionen 4.15.2 und 4.14.18 zurückportiert wurden, gehören vor allem die bislang fehlenden Patches für Spectre v1. Dazu haben die Entwickler zunächst Code im Linux-Kernel durchsucht und geändert, um die spekulative Ausführung zu unterbinden. Sie bedienten sich eines eigens dafür entwickelten Makros array_lindex_nospec(). Es gibt aber wohl noch einige Stellen im Linux-Code, die bearbeitet werden müssen.

Um den Linux-Kernel gegen Spectre v2 zu schützen, fahren die Hacker zweigleisig. Einerseits verwenden sie die selbst entwickelte Lösung Retpoline, die vor allem auf älteren CPUs weniger Ressourcen verlangt als die von Intel in seinen Microcode-Updates integrierten Prozessor-Flags IBRS (Indirect Branch Restricted Speculation), STIBP (Single Thread Indirect Branch Predictors) und IBPB (Indirect Branch Prediction Barrier), die von Linux-Hauptentwickler kritisiert wurden. Damit Retpoline aber auch richtig funktioniert, muss der zuständige Compiler die entsprechenden Optionen mitbringen. GCC in Version 7.3 vom 24. Januar 2018 unterstützt inzwischen die Schalter -mindirect-branch, -mindirect-branch-loop, -mfunction-return und -mindirect-branch-register, um die spekulative Ausführung zu deaktivieren.

Intels Microcode gebraucht

Retpoline funktioniert aber nicht in allen Fällen. Besonders beim Wechsel zwischen virtuellen Maschinen müssen stattdessen die von Intel bereitgestellten Flags verwendet werden, etwa IBPB, die nicht nur von Linux 4.16rc1, sondern auch von 4.15.2 und 4.14.18 genutzt werden, sofern Intel einen funktionierenden Microcode bereitstellt. Seit dem 8. Februar 2018 gibt es Microcode-Updates für Skylake-Prozessoren, nachdem Intel zuvor fehlerhafte Aktualisierungen wieder zurückgezogen hatte. Für CPUs der Haswell- und Broadwell-Reihe sind Updates laut Intel in Arbeit.

Stellenmarkt
  1. IT-Mitarbeiter Application MES (m/w/d)
    Craemer GmbH, Herzebrock-Clarholz
  2. FullStack Entwickler / Developer (m/w/d) mit Backend Fokus
    DRÄXLMAIER Group, Garching
Detailsuche

Gegen Meltdown gibt es bereits seit Anfang des Jahres die Patches namens Page Table Isolation (PTI), die zwischenzeitlich aber noch verfeinert worden sind und inzwischen auch für x86-Systeme in der 32-Bit-Version umgesetzt wurden. Bis alle Distributionen diese Patches einpflegen und zur Verfügung stellen, wird aber noch einige Zeit vergehen. Nach wie vor kann mit den Befehlen cat /sys/devices/system/cpu/vulnerabilities/spectre_v1, cat /sys/devices/system/cpu/vulnerabilities/spectre_v2 und cat /sys/devices/system/cpu/vulnerabilities/meltdown geprüft werden, ob ein System sicher ist oder nicht. Nebenbei haben die Entwickler Process Context Identifiers (PCID) für Gastsysteme in Microsofts Virtualisierungslösung Hyper-V umgesetzt und damit die Leistungseinbußen durch die Meltdown-Patches zumindest teilweise aufgefangen.

Für IBMs Systeme Z s390 gibt es mit Expolines ebenfalls Patches gegen Spectre v2 und die Funktion array_index_mask_nospec, die gegen Spectre v1 schützen soll. Und auch für ARMs 64-Bit-Systeme gibt es inzwischen Patches für alle drei Schwachstellen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Jenseits von Spectre und Meltdown 
  1. 1
  2. 2
  3. 3
  4.  


Aktuell auf der Startseite von Golem.de
Corona-Warn-App
Jede geteilte Warnung kostete 100 Euro

Die Bundesregierung hat für die Corona-Warn-App bisher mehr als 130 Millionen Euro ausgegeben. Derzeit gibt es besonders viele rote Warnungen.

Corona-Warn-App: Jede geteilte Warnung kostete 100 Euro
Artikel
  1. Activision Blizzard: Was passiert mit Call of Duty, Diablo und Xbox Game Pass?
    Activision Blizzard
    Was passiert mit Call of Duty, Diablo und Xbox Game Pass?

    Playstation als Verlierer und Exklusivspiele für den Xbox Game Pass: Golem.de über die bislang größte Übernahme durch Microsoft.
    Eine Analyse von Peter Steinlechner

  2. Dice: Update-Roadmap für Battlefield 2042 vorgestellt
    Dice
    Update-Roadmap für Battlefield 2042 vorgestellt

    Ob das reicht? Das Entwicklerstudio Dice hat seine Pläne für Battlefield 2042 vorgestellt. Der Shooter hat extrem niedrige Spielerzahlen.

  3. Glasfaser in Freiburg: Telekom kommt wegen wirrer Auflagen nicht weiter
    Glasfaser in Freiburg
    Telekom kommt wegen wirrer Auflagen nicht weiter

    Um Bauwurzeln zu schonen, sollte die Telekom in Freiburg Glasfaser im Zickzack ausbauen. Das dortige Tiefbauamt lehnte den Plan des Gartenbauamtes aber ab.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • LG OLED 55" 120Hz 999€ • MindStar (u.a. NZXT WaKü 129€, GTX 1660 499€) • Seagate Firecuda 530 1TB inkl. Kühlkörper + 20€ PSN-Guthaben 189,90€ • HP Omen Gaming-Stuhl 319€ • Sony Pulse 3D Wireless PS5 Headset 79,99€ • Huawei MateBook 16,1" 16GB 512GB SSD 709€ [Werbung]
    •  /