Sicherheitslücken im Linux-Kernel existieren meist fünf Jahre lang

Langsam aber stetig geht es bei einem Projekt voran, das die Ausnutzbarkeit von Sicherheitslücken beim Linux-Kernel senken will. Laut dem leitenden Entwickler wird das im Zeitalter des Internet of Things viel wichtiger.

In Pocket speichern vorlesen Druckansicht 204 Kommentare lesen
Sicherheitslücken im Linux-Kernel existieren meist fünf Jahre lang
Lesezeit: 3 Min.
Von
  • Thorsten Leemhuis

Zwischen dem Entstehungszeitpunkt einer Sicherheitslücke und ihrer Korrektur vergehen beim Linux-Kernel derzeit durchschnittlich rund fünf Jahre. Das geht aus einem seit kurzem als Video abrufbaren Vortrag des Google-Entwicklers Kees Cook hervor, der von den Aktivitäten des im letzten Jahr gestarteten Kernel Self Protection Project (KSPP) berichtet.

Das Projekt bringt Änderungen in den Linux-Kernel ein, um mit ihm gebaute Betriebssysteme robuster gegen Angriffe zu machen; im Idealfall so widerstandsfähig, dass Angreifer und Schadsoftware eine Sicherheitslücke nicht für ungewollte Zwecke nutzen können. Das wird laut Cook immer wichtiger, denn in vielen Geräte klaffen bekannte Lücken, weil die eingesetzten Betriebssysteme keine Kernel-Updates bekommen. Das IoT (Internet of Things) wird dieses Problem laut Cook verschärfen: Anders als etwa Smartphones wird IoT-Hardware nicht nach wenigen Jahren weggeworfen, sondern ist womöglich zehn oder fünfzehn Jahre im Einsatz.

Laut Cooks beobachten viele Angreifer die Änderungen am Kernel und halten dabei gefundene Fehler geheim.

(Bild: Screenshot aus den Präsentationsfolien)

In dem viele Aspekte beleuchtenden Vortrag hat Cook die Sicherheitslücken des Ubuntu-Kernel untersucht, die zwischen 2011 und 2016 behoben wurden. Neben 2 als "Kritisch" und 34 als "High" eingestuften Fehler gab es noch 334 als "Medium" und 186 als "Low" klassifizierte Bugs. Diese Sicherheitslücken seien kein theoretisches Problem, sondern ein praktisches: Angreifer beobachten ihm zufolge die Kernel-Entwicklung und halten ausnutzbare Fehler geheim.

Um ein Kompromittieren über solche Fehler zu verhindern, arbeiten derzeit zirka fünf Entwickler im Rahmen des KSPP, das unter dem Dach der Linux Foundation steht und von rund zehn Firmen finanziert wird. Die Programmierer arbeiten derzeit an ungefähr zwanzig Schutztechniken, die gegen verschiedenen Klassen von Fehlern helfen sollen – also etwa gegen Stack Overflows, Use-After-Free, Format String Injection oder nicht initialisierte Variablen. Die Entwickler haben auch einige Schutztechniken in den Linux-Kernel integriert , die seit langem ein Bestandteil der Sicherheitserweiterung des Grsecurity-Projekt sind.

Linux 4.8 wird eine Reihe neuer Schutztechniken enthalten.

(Bild: Screenshot aus den Präsentationsfolien)

Laut Cook gehe es bei der Arbeit des KSPP langsam, aber stetig voran. Eine Reihe der Schutztechniken sei bereits in den offiziellen Kernel eingeflossen; an der Integration weiterer würde gearbeitet. Er nennt dort eine Reihe von Techniken, die das Kernel-Log der c't näher erläutert hat; darunter etwa die Verbesserungen an der Speicheradressen-Verwürfelung und die GCC-Plugins beim noch im September erwarteten Kernel, die das Kernel-Log zu Linux 4.8 seit heute beschreibt. Cook erwähnt auch die SLAB Freelist Randomization und das eBPF JIT Constant Blinding von Linux 4.7 oder den bei Linux 4.6 integrierten Schreibschutz für Kernel-Daten, die sich nach der Initialisierung nicht mehr verändern. Auch für Linux 4.9, das Ende des Jahres erscheinen dürfte, haben die KSPP-Entwickler einige Verbesserungen in petto.

Details zu diesen und weiteren Aspekten rund um das KSPP und Kernel-Sicherheit im Allgemeinen liefern eine bei LWN.net erschienene Zusammenfassung des Vortrags sowie dessen Präsentationsfolien und die Videoaufzeichnung:

Cooks hat den Vortrag im August auf dem Linux Security Summit 2016 gehalten. Von anderen dort gehaltenen Vorträgen gibt es ebenfalls Video-Aufzeichnungen; einige der gezeigten Präsentationsfolien sind auf der Webseite der Konferenz abrufbar. (thl)