Massive Lücke in Intel-CPUs erfordert umfassende Patches

Derzeit arbeiten Linux- und Windows-Entwickler mit Hochdruck an umfangreichen Sicherheits-Patches, die Angriffe auf Kernel-Schwachstellen verhindern sollen. Grund für die Eile: eine Intel-spezifische Sicherheitslücke.

In Pocket speichern vorlesen Druckansicht 1404 Kommentare lesen
Massive Schwachstelle in Intel-CPUs erfordert umfassende Patches
Lesezeit: 3 Min.
Inhaltsverzeichnis

In Intel-CPUs steckt nach derzeit bereits kursierenden Informationen eine Sicherheitslücke, die nur aufwendige Sicherheits-Patches in Betriebssystemen schließen können. Auslöser für die Mutmaßungen ist unter anderem das außergewöhnlich hohe Tempo, in dem die Entwickler des Linux-Kernels derzeit an einem Feature namens "kernel page-table isolation" (KPTI) arbeiten. Es soll dem Ausnutzen von Kernel-Sicherheitslücken entgegenwirken, die auf der Kenntnis virtueller Speicheradressen basieren.

Das KPTI-Feature, das von seinen Erfindern zunächst die Bezeichnung KAISER erhielt, erfordert massive Umbaumaßnahmen des Kernels im Bereich der virtuellen Speicherverwaltung: Bereits vor zwei Wochen umfasste die Linux-KPTI-Patch-Serie laut LWN.net über 50 einzelne Patches. Das Sicherheits-Feature soll jedoch nicht nur Bestandteil der neuen Linux-Kernel-Version 4.15 sein, sondern auch in ältere stabile Kernel-Versionen rückportiert werden. Version 4.14.11 wurde bereits um KPTI aufgerüstet.

Windows-Experte Alex Ionescu veröffentlichte Screenshots von NT-Kernel-Patches (via Twitter)

Auch Microsoft hat auf die derzeit nicht näher bezeichnete Bedrohung reagiert: Windows-Experte Alex Ionescu veröffentlichte bereits im November 2017 zwei Screenshots von NT-Kernel-Patches, die das KPTI-Prinzip implementieren und die derzeit in Insider-Builds von Windows 10 erprobt werden.

Die so genannte "kernel address space layout randomization" (KASLR) ist bereits seit mehreren Jahren Bestandteil aller gängigen Betriebssysteme. Sie soll mittels zufälliger Zuordnung virtueller Adressen zu Betriebssystem-Prozessen bei jedem Reboot Angriffe auf Kernel-Schwachstellen erschweren. Allerdings wurden in den vergangenen Jahren schon mehrfach Techniken wie etwa Double-Page-Fault- und Sidechannel-Angriffe vorgestellt, die an KASLR vorbei Informationen über eigentlich geschützten Speicher beschaffen.

Vor diesen Angriffen soll KPTI schützen – durch konsequente Trennung der Seitentabellen für Kernel- und User-Space ("page table splitting"). Statt wie bislang mit nur einer (mehrstufigen) Seitentabelle pro Prozess zu arbeiten, wird hierzu eine Tabellen-Kopie ("shadow page table") angefertigt. Der laufende Prozess sieht auf dieser Kopie lediglich seinen eigenen Speicherbereich sowie einige wenige Speicheradressen des Kernel-Mode-Codes, die für Systemaufrufe und Interrupts benötigt werden. Die Originaltabelle samt Mapping des vollständigen Adressraums kommt hingegen nur im Kernel-Mode zum Einsatz.

Der Wechsel zwischen den Seitentabellen hat zur Folge, dass jeder Systemaufruf oder Interrupt mit Performance-Einbußen einhergeht. Diese können offenbar stark variieren: Die ursprünglichen KAISER/KPTI-Entwickler erwähnen in ihrem Whitepaper eine um 0.28 Prozent erhöhte Laufzeit; die Linux-Entwickler ermittelten Werte um die fünf Prozent.

Die Schwankungen dürften darauf beruhen, dass ältere Intel-Prozessoren bei jedem Seitentabellenwechsel den Translation Lookaside Buffer (TLB) – eine Art Zwischenspeicher für kürzliche referenzierte Speicheradressen – leeren. Neuere Prozessoren meistern dies dank so genannter process-context identifiers (PCIDs) besser.

Dass KASLR nicht mehr sicher ist, ist schon länger bekannt. Offen bleibt, welches konkrete Angriffsszenario auf Intel-CPUs für die derzeitige hektische Betriebsamkeit bei den Linux- und Windows-Entwicklern sorgt. AMD-Prozessoren sollen nach Aussage eines AMD-Entwicklers übrigens nicht anfällig sein.

Mit weiteren Informationen rechnet man in den nächsten Tagen: Die großen Cloud-Anbieter Microsoft und Amazon haben erzwungene Reboots ihrer VMs zwischen dem fünften und dem zehnten Januar angekündigt, um "Sicherheits- und Wartungs-Updates" einzuspielen. (ovw)