Neue Linux-Kernel schĂĽtzen vor ZombieLoad aka MDS
Der Linux-Kernel geht jetzt gegen Intels neueste ProzessorlĂĽcken vor. Den mit derlei einhergehenden Performance-Einfluss kann man jetzt leichter vermeiden.
- Thorsten Leemhuis
Innerhalb einer Stunde haben die Linux-Entwickler einen Schwung neuer Kernel-Versionen freigegeben, um die neuesten, am Dienstagabend bekannt gewordenen Sicherheitslücken in vielen modernen Intel-Prozessoren zu stopfen. Um sich vor diesen "ZombieLoad" oder "Microarchitectural Data Sampling" (MDS) genannten Lücken zu schützen, müssen Linux-Anwender ähnlich vorgehen wie im vergangenen August bei der Prozessorlücke Foreshadow/L1TF: Prozessor-Microcode und Kernel aktualisieren, sowie gegebenenfalls noch Qemu und Libvirt stopfen, wenn man mit dem Kernel-eigenen Hypervisor KVM virtualisiert.
Die MDS-Gegenmaßnamen kann man über einen neuen Kernel-Parameter leicht ein- und ausschalten, denn ähnlich wie bei früheren Prozessorlücken können sie offenbar in manchen Fällen die Performance verschlechtern. Das gilt um so mehr, wenn man vollständig auf der sicheren Seite sein will, denn vollen Schutz erhält man erst, wenn man Hyper-Threading (HT) über das BIOS-Setup oder einen Kernel-Parameter deaktiviert. Das ist vor allem für Umgebungen wichtig, wo Fremde eigenen Code einbringen können; etwa bei Cloud-Providern, wo Kunden virtuelle Maschinen (VMs) mit Malware starten können, um darüber VMs anderen Kunden anzugreifen, die auf demselben Host laufen.
Korrigierte Linux-Versionen innerhalb einer Stunde
Kaum eine Stunde nach Bekanntgabe der Lücken waren die Quellen neuer Stable- und Longterm-Kernel mit Gegenmaßnahmen für die MDS-Lücken erhätlich. Damit hat Intel diesmal deutlich besser mit der Linux-Community zusammengearbeitet als bei den Spectre- und Meltdown-Lücken Anfang 2018; damals hat es aufgrund zahlreicher Abstimmungsprobleme und verschiedenen Lösungsansätzen mehrere Wochen gedauert, bis die offiziellen Linux-Versionen von Kernel.org einen Schutz vor Spectre v2 mitbrachten.
Die MDS-Gegenmaßnahmen flossen nun zuerst in den Hauptentwicklungszweig von Linux ein, wo derzeit Linux 5.2 vorbereitet wird. Sie bestehen aus 23 Patches, die unter anderem ein Dokument nachrüsten, das die wichtigsten Informationen zu MDS und den neuen Schutzfunktionen von Linux näher erläutert. Die Änderungen bringen auch Unterstützung für den neuen Kernel-Parameter mds=[full|full,nosmt|off]
, mit dem man den Schutz ein- und ausschalten kann; ferner ist es darüber auch möglich, gleich Hyper-Threading lahmzulegen.
Durch die Ă„nderungen stellt der Kernel jetzt zudem die Datei /sys/devices/system/cpu/vulnerabilities/mds
bereit, ĂĽber die man nachsehen kann, wie der Kernel gegen die LĂĽcke vorgeht. Ihr Inhalt weist etwa darauf hin, wenn dem Microcode die zum MDS-Schutz nachgerĂĽstete Instruktion VERW
fehlt, denn dann versucht der Kernel mit anderen Tricks vor den neuen LĂĽcken zu schĂĽtzen.
Intel schulde den Linux-Entwickler einige Biere
Direkt nach Aufnahme in den Hauptentwicklungszweig haben die Entwickler auch neue Stable- und Longterm-Kernel veröffentlicht, die die MDS-Gegenmaßnahmen ebenfalls mitbringen: Linux 5.1.2, 5.0.16, 4.19.43, 4.9.176 und 4.14.119.
In einer der Freigabemails weist Greg Kroah-Hartman darauf hin, dass die sonst übliche Test- und Begutachtungsphase bei diesen Versionen ausgelassen wurde, daher lauern vielleicht mehr Probleme. Der wohl zweitwichtigste Linux-Entwickler bedankt sich zudem bei den vielen anderen Programmierern, die in den letzten Wochen die MDS-Gegenmaßnahmen unter Verschwiegenheitsabkommen entwickelt haben; außerdem führt er an, Intel würde den Linux-Entwicklern jetzt noch mehr Biere schulden, denn diese hätten abermals Hardwarefehler mit Software korrigiert.
Einfach alle GegenmaĂźnahmen fĂĽr ProzessorlĂĽcken lahmlegen
Die neuen Stable- und Longterm-Kernel enthalten zudem sieben weitere Patches, die den den neuen Kernel-Parameter mitigations=[auto|auto,nosmt|off]
nachrĂĽsten. Mit ihm kann man die Performance steigern, denn es legt Kernel-eigene Schutztechniken wie PTI oder Retpoline lahm; als solche, die vor ProzessorlĂĽcken wie Spectre v1 & v2, Meltdown, SSB, L1TF und MDS schĂĽtzen, die in den letzten eineinhalb Jahren bekannt geworden sind. Diese GegenmaĂźnahmen auszuschalten kann fĂĽr Umgebungen interessant sein, wo ohnehin nur vollkommen vertrauenswĂĽrdiger Code ausgefĂĽhrt wird.
Viele oder alle der genannten Änderungen dürften in den nächsten Tagen und Wochen in vielen Linux-Distributionen ankommen, denn deren Macher integrieren solch sicherheitsrelevante Änderungen typischerweise in ihre Kernel, die oft auf älteren Versionen aufbauen, die die Entwickler von Kernel.org nicht mehr Pflegen. Erste Distributionen liefern diese Änderungen sogar schon aus. (thl)