Verschlüsselung

Linux 4.16 mit Spectre- und Meltdown-Absicherung

5. April 2018 von Bianca Wellbrock

© anyaberkut - Fotolia.com

Linus Torvalds hat in der Nacht auf Ostermontag die Linux-Version 4.16 freigegeben. Eine optimierte Akkulaufzeit sowie ein verbesserter Schutz gegen die Prozessorlücke Spectre gehören genauso zu den Highlights von Linux 4.16 wie die Unterstützung der AMD Speicherverschlüsselung durch den integrierten Hypervisor.

Verbesserte Akkulaufzeiten unter Linux 4.16

Die neue Option „CONFIG_SATA_MOBILE_LPM_POLICY“ verspricht eine optimierte Akkulaufzeit bei Notebooks, in denen Intels Mobil-Chips verbaut sind. Bereits beim Kernel-Bau können Anwender also festlegen, ob und wie Linux die Stromspartechnik ATA Link Power Management (kurz: ALPM) nutzt. Diese Technik führt dazu, die Leistungsaufnahme im Leerlauf zu senken. Die Akkulaufzeit kann so schnell mal um 30 bis 60 Minuten erhöht werden.

Während diese Stromspartechnik bei Notebooks mit Intel Mobil-Chipsätzen automatisch genutzt werden soll, muss man sie bei anderen Notebooks, Desktop-PCs und Servern nach wie vor manuell aktivieren: Schreiben Sie dafür „med_power_with_dipm“ in Dateien wie „/sys/class/scsi_host/host0/link_power_management_policy“. Der kleine Performance-Verlust, der bei Stromspartechniken wie dieser einfach auftaucht, ist meist nicht der Rede wert.

Eine weitere Neuerung verbessert die Akku-Laufzeiten bei Notebooks: Bereits beim Kernel-Bau können Anwender festlegen, dass via USB angeschlossene Bluetooth-Hardware automatisch schlafen geht (USB Autosuspend). Dies kann die Akkulaufzeit gerade bei sparsamen Notebooks und Ultrabooks signifikant steigern.

Performance-Steigerung durch Entschlackung des Routing-Codes

Um die Performance zu steigern, haben die Kernel-Entwickler diverse Umbauten vorgenommen. So wurden die Kernel-intern verwendeten Routing-Strukturen entschlackt, was das Performance-Plus ausmacht. Details dazu finden Sie in den Präsentationsfolien des Vortrags „Linux Networking Dietary Restrictions“.

Linux 4.16 verbessert Sicherheit

Die Entwickler haben zum Schutz vor Spectre nach möglichen für die Lücke anfälligen Stellen im Linux Kernel-Code gesucht. Entsprechende Stellen haben sie so geändert, dass spekulative Ausführungen unterbunden werden. Dies kann vor allem durch das Aufrufen des dafür geschaffenen Makros „array_index_nospec()“ gelingen (weitere Informationen in der Dokumentation). Es kann sein, dass die Entwickler andere Stellen noch ähnlich anpassen werden. Bei der Weiterentwicklung ist zudem darauf zu achten, dieses Makro auch bei neuem Code zu verwenden – vorausgesetzt, dieser weist potenziell anfällige Abschnitte auf.

Gegen die zweite Spectre-Variante setzen die Entwickler weiterhin auf das aus Linux 4.15 bekannte Retpoline. Jedoch reicht dieser Ansatz in einigen Situationen nicht aus – etwa bei der Virtualisierung. Deshalb haben die Linux-Entwickler nachgebessert: Der Kernel nutzt in diversen Situationen Funktionen zur IBC („Indirect Branch Control“ = Oberbegriff für diverse Prozessor-Flags, die die Prozessorhersteller Intel und AMD mit dem neuen Microcode nachrüsten). Da Retpoline zum sicheren Virtualisieren mit dem Hypervisor KVM jedoch nicht ausreicht, verwendet Linux 4.16 die IBC-Funktion Indirect Branch Prediction Barrier (IBPB) – so sollen weitere Gefahren eliminiert werden.

Schon seit Anfang dieses Jahres existieren Patches gegen Meltdown: Page Table Isolation (PTI) wurde in der Zwischenzeit noch verfeinert. Bis sämtliche Distributionen jedoch diese Patches zur Verfügung stellen, wird noch einige Zeit ins Land ziehen. Mit den folgenden Befehlen kann jedoch geprüft werden, ob ein System sicher ist:
„cat
/sys/devices/system/cpu/vulnerabilities/spectre_v1, cat
/sys/devices/system/cpu/vulnerabilities/spectre_v2 und cat
/sys/devices/system/cpu/vulnerabilities/meltdown“

Weitere Neuerungen von Linux 4.16 können Sie in diesem ausführlichen c’t-Beitrag nachlesen.

Ausblick auf Linux-Kernel 4.17

Kaum ist Linux 4.16 freigegeben, beginnt schon die heiße Entwicklungsphase des Nachfolgers Linux 4.17. Die Version wird im Juni 2018 erwartet. Die Entwickler planen, die in der Version 4.13 eingeführte TLS-Implementierung aufzubohren, womit der Kernel die empfangenen Daten selbst entschlüsseln kann.

Bereits mehr als 2.400 Änderungen hat Linus Torvalds für Linux 4.17 bereits eingepflegt. Darunter finden sich Grafiktreiber-Neuerungen, aber auch Patches, die Code für acht Prozessorarchitekturen entfernen. Damit wurde der Kernel-Code um rund 465.000 Zeilen schlanker.



0 Kommentar(e)

Schreibe einen Kommentar