Meltown-Patches für Linux

Nutzer von Linux-Systemen sind für Updates gegen Spectre und Meltdown auf die Kernel-Pakete ihrer Distributionen angewiesen, falls diese nicht auf die Upstream-Versionen von Kernel setzen. Aber selbst hier gibt es einige Unterschiede, die es zu beachten gilt. Bei den Updates gegen Meltdown ist die Sachlage noch vergleichsweise übersichtlich. Die aktuelle Kernel-Version 4.14.13 sowie die noch in Entwicklung befindliche Version 4.15 enthalten die Patches für die sogenannten Kernel Page Table Isolation (KPTI). Die finale Version von Linux 4.15 erscheint vermutlich am 21. Januar.

Stellenmarkt
  1. Partner & Business Operations Manager (w/m/d) OZG-Umsetzung
    HanseVision GmbH, Hamburg
  2. (Wirtschafts-)Informatikerin als IT-Serviceverantwortliche (m/w/d) für den Bereich Netzwerk
    Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V., München
Detailsuche

Diese KPTI-Patches basieren wiederum auf den Kaiser-Patches von den Forschern der TU Graz, die die Meltdown-Lücke gefunden haben. Die Kaiser-Patches sind aber bereits zuvor aus anderen Gründen erstellt worden. Kaiser steht für Kernel Address Isolation to have Side-channels Efficiently Removed und die Arbeiten haben sich als gute Grundlage für Gegenmaßnahmen gegen Meltdown erwiesen.

Kernel- und Userspace besser getrennt

Einige offensichtlich frustrierte Kernel-Hacker hatten zwischenzeitlich auch Fuckwit als Codenamen für die Patchserie vorgeschlagen, das steht für Forcefully Unmap complete Kernel with interrupt Trampolines. Unter Windows wird diese Technik als Kernel Virtual Adress (KVA) Shadow bezeichnet. Das Ziel ist es hierbei, den Adressraum des Kernels möglichst weitgehend von dem einer Userspace-Anwedung zu trennen.

  • Die von Intel selbst durch Benchmarks ... (Quelle: Intel)
  • ... mit der jeweiligen Systemkonfiguration. (Quelle: Intel)
  • Ausgabe des Spectre-Meltdown Checkers unter Suse Linux auf einem Intel PC. (Screenshot: Golem.de)
  • Ausgabe des Spectre-Meltdown Checkers unter Suse Linux mit einem Ryzen-Chip von AMD. (Screenshot: Golem.de)
  • Ausgabe des Microsoft Powershell-Tools unter Windows 10 mit einem Broadwell-Chip von Intel. (Screenshot: Golem.de)
Ausgabe des Spectre-Meltdown Checkers unter Suse Linux auf einem Intel PC. (Screenshot: Golem.de)

Bisher war der Kernel standardmäßig in den Userspace gemappt, um einen Kontextwechsel zwischen Kernelspace und Userspace schneller durchführen zu können und den Translation Lookaside Buffer (TLB) hierbei nicht leeren zu müssen. Die CPU sorgt eigentlich für die dennoch notwendige strikte Trennung zwischen Kernel- und Userspace, was bei Meltdown allerdings geschickt umgangen wird. Der Kernel wird künftig nicht mehr so gemappt wie bisher, das neue Verhalten führt damit allerdings zwangsläufig zu einem Leistungsverlust und ist genau deshalb auch bisher vermieden worden.

Golem Akademie
  1. Webentwicklung mit React and Typescript: virtueller Fünf-Halbtage-Workshop
  2. Apache Kafka Grundlagen: virtueller Zwei-Tage-Workshop
    21.–22. März 2022, Virtuell
Weitere IT-Trainings

In zwei ausführlichen Texten beschreibt das Magazin LWN.net die Funktionsweise der Patches sowie die langwierigen Iterationen und von den Kernel-Hackern diskutierte Fehler während der Entwicklung. Gesteuert werden kann die Verwendung von PTI mit der Option pti=(yes|no|auto) über die Kommandozeile des Kernels.

Prozess-Kontexte zu Beschleunigung

Damit die Leistungseinbußen zumindest ein wenig abgemildert werden können, nutzen sowohl Windows als auch Linux Process-Context Identifiers (PCID), sofern die Hardware diese unterstützt. Diese sind zwar seit Jahren theoretisch verfügbar, werden aber erst seit Linux 4.14 sinnvoll unterstützt. Die PCID ermöglichen es, Seitentabellen, die im TLB gecacht sind, mit entsprechenden Kennzeichnungen zu markieren.

Das Nachschlagen (Lookup) im TLB wird dann nur für den jeweiligen Kontext erlaubt, wenn der auf der CPU laufende Thread die gleiche Kennzeichnung hat. Die restlichen Einträge im TLB werden schlicht ignoriert. Das vermeidet das Leeren des TLB bei einem Kontextwechsel. Der Entwickler Gil Tene beschreibt diese Funktion in einem Beitrag sehr ausführlich und erläutert mögliche Probleme bei der Verwendung in Gastsystem von virtuellen Maschinen.

Linux-Nutzer finden über /proc/cpufinfo heraus, ob ihr Intel-Chip PCID unterstützt. Das erwähnte Powershell-Skript für Windows listet die Unterstützung für diese Optimierung unter KVAShadowPcidEnabled, Windows nutzt also wohl eine ähnliche Methode wie Linux. Die Versionsvielfalt von Linux hat den Entwicklern die Update-Arbeit aber nicht unbedingt erleichtert.

Angaben zu Leistungseinbußen unter Linux variieren sehr stark je nach eingesetztem Benchmark, Distribution und den genutzten Patches. Red Hat listet etwa Einbußen bis zu 20 Prozent, insbesondere bei der intensiven Nutzung von Datenbanken und bei Anwendungen mit vielen Kontextwechseln vom Kernel- zum Userspace. Das Magazin Phoronix hat darüber hinaus teilweise massive Leistungseinbußen bei I/O-Operationen festgestellt.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Was macht Apple für MacOS-Nutzer?Updates für Langzeit-Linux und ARM64 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10.  


logged_in 14. Feb 2018

i7-930 hier. Hast sicher auch schon oft nach einem guten Upgrade gesucht, und dann aus...

cryptomagic 08. Feb 2018

Der Frage haben wir uns genauer angenommen, und unsere Ergebnisse in einem Artikel...

daydreamer42 28. Jan 2018

Ohne entsprechende Betriebssystem-Patches sind die Microcode-Patches wertlos. Der Linux...

Bachsau 27. Jan 2018

Eben genau nicht. Man braucht keine Root-Rechte.

Der Held vom... 25. Jan 2018

Du hast aber schon gelesen (und verstanden) was ich schrieb, oder? Von Taktraten war da...



Aktuell auf der Startseite von Golem.de
Lego Star Wars UCS AT-AT aufgebaut
"Das ist kein Mond, das ist ein Lego-Modell"

Ganz wie der Imperator es wünscht: Der Lego UCS AT-AT ist riesig und imposant - und eines der besten Star-Wars-Modelle aus Klemmbausteinen.
Ein Praxistest von Oliver Nickel

Lego Star Wars UCS AT-AT aufgebaut: Das ist kein Mond, das ist ein Lego-Modell
Artikel
  1. Kryptowährung im Fall: Bitcoin legt rasante Talfahrt hin
    Kryptowährung im Fall
    Bitcoin legt rasante Talfahrt hin

    Am Samstag setzte sich der Absturz des Bitcoin fort. Ein Bitcoin ist nur noch 34.200 US-Dollar wert. Auch andere Kryptowährungen machen Verluste.

  2. eStream: Airstream-Wohnwagen mit eigenem Elektroantrieb
    eStream
    Airstream-Wohnwagen mit eigenem Elektroantrieb

    Der Wohnwagen Airstream eStream besitzt einen eigenen Elektroantrieb nebst Akku. Das entlastet das Zugfahrzeug und eröffnet weitere Möglichkeiten.

  3. Andromeda: Dieses Microsoft-Smartphone-Betriebssystem erschien nie
    Andromeda
    Dieses Microsoft-Smartphone-Betriebssystem erschien nie

    Erstmals ist ein Blick auf Andromeda möglich - das Smartphone-Betriebssystem, das Microsoft bereits vor einigen Jahren eingestellt hat.

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 • MediaMarkt & Saturn: Heute alle Produkte versandkostenfrei • Corsair Vengeance RGB RT 16-GB-Kit DDR4-4000 114,90€ • Alternate (u.a. DeepCool AS500 Plus 61,89€) • Acer XV282K UHD/144 Hz 724,61€ • MindStar (u.a. be quiet! Pure Power 11 CM 600W 59€) • Sony-TVs heute im Angebot [Werbung]
    •  /