Linux: Kernel-Entwickler patzen bei einfachem Spectre-Fix

Eine Reihe von Fehlern und Unachtsamkeiten hat dafür gesorgt, dass ein Spectre-Fix im Linux-Kernel keine Wirkung hat. Darauf weist das Grsecurity-Team hin, das die Gelegenheit für Eigenwerbung nutzt.

Artikel veröffentlicht am ,
Der Entwicklungsprozess des Linux-Kernel birgt immer wieder Probleme.
Der Entwicklungsprozess des Linux-Kernel birgt immer wieder Probleme. (Bild: Rob Oo/CC-BY 2.0)

In einer ausführlichen Analyse in ihrem Blog beschreiben die Entwickler der Grsecurity-Patches für den Linux-Kernel, wie die Upstream-Community von Linux eine vermeintlich einfache Schutzmaßnahme gegen die Spectre-Sicherheitslücke fehlerhaft umgesetzt hat. Dieser Fehler ist darüber hinaus auch in die stabilen Kernelversionen zurückportiert worden.

Stellenmarkt
  1. Application Manager (m/w/d) CAFM
    NEW YORKER Holding GmbH, Braunschweig
  2. Fachinformatiker*in (m/w/d) im Referat "Informationstechnik" in der Abteilung "Digitalisierung ... (m/w/d)
    BfS Bundesamt für Strahlenschutz, Berlin, Oberschleißheim, Salzgitter
Detailsuche

Probleme mit der Übernahme von Patches aus dem Hauptentwicklungszweig in die stabilen Zweige, deren Auswahl sowie die eventuell notwendigen Anpassungen haben der Linux-Community in der Vergangenheit immer wieder Probleme gemacht. Als mögliche Lösungen dafür setzt das Team inzwischen sogar auf die Hilfe von maschinellem Lernen.

Das nun von Grsecurity analysierte Problem ist aber offensichtlich auf menschliche Fehler zurückzuführen. Dazu beigetragen haben dürfte das für den Linux-Kernel typische Entwicklungsmodell, das auf Git und E-Mail basiert und bisweilen selbst für Kernel-Entwickler zu unübersichtlich werden kann.

Korrekter Commit geht bei Übernahme verloren

Der Ursprung des Problems ist auf einen Patch des Entwicklers Dianzhang Chen zurückzuführen. Dieser fügt die Nutzung des Makros array_index_nospec() zu einer bestimmten Funktion hinzu. Damit wird das Ausnutzen von Spectre v1 unterbunden, indem der Index zum Zugriff auf ein Array auch bei spekulativer Ausführung bereinigt wird und sich so garantiert in den Grenzen des Arrays befindet. Zuerst eingeführt worden ist dieses Makro mit Linux 4.16.

Golem Karrierewelt
  1. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    06.-10.03.2023, virtuell
  2. Cloud Competence Center: Strategien, Roadmap, Governance: virtueller Ein-Tages-Workshop
    28.02.2023, Virtuell
Weitere IT-Trainings

Nach der übliche Phase an Kritik und Umarbeiten des Patches, etwa im Sinne der Coding-Style-Richtlinien der Community, hat Chefentwickler Linus Torvalds den Code in seinen Zweig übernommen. Allerdings mit einer kleinen Änderungen, um eine Warnung des Compilers zu beheben, wie er in einer E-Mail schreibt.

Spectre-Patch verschlimmbessert

Der von Torvalds selbst bereinigte Patch ist jedoch nicht von den anderen Entwicklern für das Zurückportieren in die stabilen Zweige übernommen worden. Vielmehr hat der für die meisten stabile Zweige zuständige Entwickler Greg Kroah-Hartman nicht nur den fehlerhaften Patch übernommen, sondern offenbar auch versucht, die Compiler-Warnung durch ein Vertauschen von Codezeilen zu beheben.

Das hat jedoch zur Folge, dass der Indexwert nicht wie beabsichtigt vor seiner Verwendung bereinigt wird. Der Patch ist damit als Schutz gegen Spectre wirkungslos. Offenbar ist der wirkungslose Patch dann auch in die anderen stabilen Zweige übernommen worden, die ebenfalls von Kroah-Hartman betreut werden.

Kurioserweise ist Kroah-Hartman sogar darauf hingewiesen worden, dass Torvalds eine eigene Änderungen an dem betroffenen Code durchgeführt hat. Doch statt diese zu übernehmen, hat Kroah-Hartman eine eigene - fehlerhafte - Lösung in die stabilen Kernel übernommen. Dieser Vorgang zeigt beispielhaft, was bei der Übernahme von Patches in die verschiedenen Zweige des Linux-Kernel schiefgehen kann.

Die Entwickler von Grsecurity haben historisch ein sehr schwieriges Verhältnis zur restlichen Linux-Community. So hat Chefentwickler Torvalds deren Code gar als Müll bezeichnet. Den Blogeintrag nutzt das Team dementsprechend nicht nur zur Analyse, sondern auch sehr plakativ als Eigenwerbung für seine Patches und seine Technik. Ebenso wird in dem Blog die grundsätzliche Kritik des Grsecurity-Teams an der Pflege der stabilen Kernelzweige durch die Linux-Community wiederholt. Wohl nicht ganz zu Unrecht.

Nachtrag vom 5. September 2019, 15:35 Uhr

Kroah-Hartman hat den fehlerhaften Patch inzwischen korrigiert und wird die nun korrekte Fassung der Änderung als Teil der kommenden Updates für die stabilen Kernelzweige verteilen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


George99 05. Sep 2019

Hey ich MAG das Phoronix Balken Spiel! Im Ernst: Manchmal spuckt die Testsuite seltsame...

sambache 05. Sep 2019

Weil ja andere Fehler passieren sollten ;-) Wo kommt das denn her ? Bei tausenden von...

Anonymer Nutzer 04. Sep 2019

dass Grsecurity darauf hin weißt und nicht darauf hin schwärzt. Oder grünt. Kennt jemand...



Aktuell auf der Startseite von Golem.de
Nutzerfreundlichkeit und Datenschutz
Fünf All-in-One-Messenger im Vergleichstest

Ständiges Wechseln zwischen Messenger-Apps ist lästig. All-in-One-Messenger versprechen, dieses Problem zu lösen. Wir haben fünf von ihnen getestet und große Unterschiede bei Bedienbarkeit und Datenschutz festgestellt.
Ein Test von Leo Dessani

Nutzerfreundlichkeit und Datenschutz: Fünf All-in-One-Messenger im Vergleichstest
Artikel
  1. Überwachung: Wi-Fi-Router können 3D-Bilder von Menschen erzeugen
    Überwachung
    Wi-Fi-Router können 3D-Bilder von Menschen erzeugen

    Ein Forschungsteam konnte mit Hilfe von Wi-Fi-Signalen eines Routers Menschen in einem Raum erkennen. Als Spionage sehen sie das nicht.

  2. Morgan Stanley: Bank reicht Whatsapp-Millionen-Strafe an Angestellte weiter
    Morgan Stanley
    Bank reicht Whatsapp-Millionen-Strafe an Angestellte weiter

    Wegen der Nutzung von Whatsapp hatten Finanzregulatoren 2022 mehrere Banken mit hohen Strafen belegt.

  3. Liberty-Germany-Pleite: Glasfaserausbau trotz Zusage nicht mehr sicher
    Liberty-Germany-Pleite
    Glasfaserausbau trotz Zusage nicht mehr sicher

    "Hello Fiber bringt Glasfaser in deine Gemeinde", lautete der Werbespruch von Liberty. Kann man kleineren FTTH-Anbietern nach der Pleite noch trauen?
    Von Achim Sawall

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 • XFX RX 7900 XTX 1.199€ • WSV bei MM • Razer Viper V2 Pro 119,99€ • MindStar: XFX RX 6950 XT 799€, MSI RTX 4090 1.889€ • Epos Sennheiser Game One -55% • RAM/Graka-Preisrutsch • Razer Gaming-Stuhl -41% • 3D-Drucker 249€ • Kingston SSD 1TB 49€ • Asus RTX 4080 1.399€[Werbung]
    •  /