#Linux & Open Source · 4 Min. Lesezeit · Tim Rinkel

SCHUTZSCHILD FÄLLT! Linux 7.3 schaltet eine Härtung ab — und schuld ist ausgerechnet Rust

SCHUTZSCHILD FÄLLT! Linux 7.3 schaltet eine Härtung ab — und schuld ist ausgerechnet Rust

Sicherheit und Fortschritt ziehen nicht immer in dieselbe Richtung. Im Linux-Kernel 7.3 gibt es dafür gerade ein Lehrbuchbeispiel: Eine Härtungsmaßnahme, die seit Jahren gegen bestimmte Angriffe hilft, wird in der Standardkonfiguration abgeschaltet — damit die Rust-Unterstützung überhaupt gebaut werden kann.

WAS RANDSTRUCT ÜBERHAUPT MACHT

RandStruct würfelt beim Übersetzen des Kernels die Speicheranordnung sensibler C-Strukturen durcheinander. Klingt technisch, ist aber im Kern simpel: Angreifer, die eine Speicherlücke ausnutzen wollen, müssen wissen, wo im Speicher was liegt. Wenn diese Anordnung bei jedem Kernel-Build anders ausfällt, hilft ein fertiger Exploit von der Stange nicht weiter — er muss für genau diesen Kernel neu gebaut werden.

Das verhindert keinen Angriff. Es macht ihn teurer. Und genau das ist der Sinn von Härtung.

WARUM ES JETZT WEICHT

Der Grund ist erstaunlich unspektakulär: RandStruct unterstützt Rust nicht. Deshalb gab es in der Kernel-Konfiguration eine Abhängigkeit, die Rust immer dann aussperrte, wenn RandStruct aktiv war.

Das Problem daran zeigt sich beim allmodconfig-Bau. Das ist die Standard-Konfiguration, mit der sämtliche Kernel-Module durchgebaut werden — der wichtigste automatische Testlauf des Projekts überhaupt. Dort war RandStruct standardmäßig an. Und weil es an war, flog Rust automatisch raus. Ergebnis: Der gesamte Rust-Code wurde in diesem Testlauf nie mitübersetzt.

Mark Brown, von dem die inzwischen übernommene Änderung stammt, hat diesen Knoten aufgelöst, indem er die Vorzeichen umdreht: RandStruct ist künftig standardmäßig aus, sobald eine Rust-Werkzeugkette vorhanden und Rust für die Architektur unterstützt ist.

WIE SCHLIMM IST DAS?

Das kommt darauf an, wen man fragt. Nüchtern betrachtet:

  • Es ist keine Sicherheitslücke. Nichts wird kaputt, nichts wird angreifbar, was vorher dicht war.
  • Es ist ein Verlust an Tiefenstaffelung. Eine zusätzliche Hürde fällt in der Standardkonfiguration weg.
  • Rust bringt dafür eigene Vorteile mit. Speichersicherheit auf Sprachebene verhindert von vornherein einen ganzen Teil der Fehler, gegen deren Ausnutzung RandStruct überhaupt erst antritt.

Es ist also weniger ein Rückschritt als ein Tausch. Ob der Tausch aufgeht, hängt daran, wie viel Kernel-Code tatsächlich in Rust geschrieben wird — und das ist bislang ein kleiner, wenn auch wachsender Anteil.

SO HOLST DU DIE HÄRTUNG ZURÜCK

Der Weg ist offen: Wer RandStruct behalten will, baut seinen Kernel mit einer abweichenden Konfiguration ohne Rust-Unterstützung. Dann greift die alte Abhängigkeit wieder und die Härtung ist an. Für die meisten Homelab-Betreiber ist das theoretisch — wer Distributions-Kernel nutzt, bekommt, was die Distribution konfiguriert hat. Interessant wird es für alle, die aus Sicherheitsgründen ohnehin eigene Kernel bauen.

DER RAHMEN: EIN „RAUER“ ZYKLUS

Passend dazu hat Greg Kroah-Hartman, der zweite Mann hinter Linus Torvalds, gewarnt, dass der 7.3-Zyklus vermutlich wieder anstrengend wird — wegen des anhaltenden Lärms durch KI-generierte Fehlermeldungen und Patches. Linux 7.3-rc1 ist Anfang September erschienen, bis zur fertigen Version sind es noch rund sieben Wochen.

Häufige Fragen

Muss ich jetzt etwas an meinem System ändern?
Nein. Es handelt sich um eine Änderung an der Standard-Konfiguration des Kernels, nicht um eine Sicherheitslücke. Wer Distributions-Kernel nutzt, bekommt ohnehin die Konfiguration, die seine Distribution festlegt — und die kann von der Standardvorgabe abweichen.
Was genau schützt RandStruct?
RandStruct würfelt beim Übersetzen des Kernels die Anordnung bestimmter interner Datenstrukturen im Speicher durcheinander. Angriffe, die auf Speicherfehler setzen, brauchen Wissen über diese Anordnung. Ist sie bei jedem Build anders, funktioniert ein vorgefertigter Exploit nicht mehr ohne Anpassung.
Kann ich RandStruct trotzdem aktiviert lassen?
Ja. Die Härtung ist nicht entfernt, sondern nur in der Standardvorgabe abgeschaltet, wenn Rust-Unterstützung vorhanden ist. Wer den Kernel selbst baut und Rust nicht aktiviert, bekommt RandStruct wie bisher.
Wann erscheint Linux 7.3 fertig?
Der erste Release Candidate ist Anfang September erschienen. Bei dem üblichen Rhythmus von etwa einer Woche pro Kandidat liegen damit rund sieben Wochen bis zur fertigen Version — also voraussichtlich Ende Oktober. Ein festes Datum gibt das Kernel-Projekt grundsätzlich nicht an.

Quellen

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert