Linux-Jahresrückblick 2016: Viele Fortschritte zum 25. Jubiläum

Ferdinand Thommes
97 Kommentare
Linux-Jahresrückblick 2016: Viele Fortschritte zum 25. Jubiläum
Bild: Pascal | CC0 1.0

Ein Viertel Jahrhundert Linux und kein Ende

Linux konnte 2016 sein 25-jähriges Jubiläum feiern. Aus unscheinbaren Anfängen und offensichtlich ohne es zu ahnen, schuf Linus Torvalds vor einem Viertel Jahrhundert die Grundlage für das erfolgreichste Open-Source-Unterfangen aller Zeiten und, wie Jim Zemlin, Chef der Linux Foundation anlässlich des Geburtstags sagte, die größte gemeinsam erstellte Wertschöpfung der Menschheitsgeschichte. Dabei verbleibt der Desktop die fast einzige Sparte, in der Linux die IT nicht dominiert.

Als Torvalds 1991 die mittlerweile historischen Zeilen in die Usenet-Newsgruppe comp.os.minix schrieb, betrug der Umfang in Version 0.1 rund 10.000 Zeilen. Heute werden 80 Architekturen unterstützt und der Umfang ist auf fast 23 Millionen Zeilen in rund 55.000 Dateien angewachsen. Jeder neue Kernel fügt im Durchschnitt 300.000 Zeilen hinzu. Neben den immer weniger werdenden Community-Entwicklern stricken insgesamt über 5.000 Entwickler aus rund 500 Unternehmen am Code des Kernels. Kürzlich erschien Kernel 4.9, der bei der Zahl der Einreichungen mit über 16.200 Commits einen neuen Rekord darstellt. Auch die Zahl der Beitragenden erreichte mit 1.719 einen neuen Höchststand.

LoC-Entwicklung seit 1991
LoC-Entwicklung seit 1991 (Bild: Linux Counter)

Digitale Wunden

Im abgelaufenen Jahr wurden gefühlt mehr Sicherheitslücken als in den Vorjahren im Kernel aufgedeckt. Das veranlasste zu Kommentaren, dass Linux auch nicht sicherer sei als andere Systeme. Tatsache ist aber, dass das Viele-Augen-Prinzip dazu führt, dass Lücken im Kernel und anderswo bei freier Software entdeckt und schnell geschlossen werden können. Google-Entwicklers Kees Cook, der das Projekt Kernel Self Protection Project (KSPP) betreibt, fand heraus, dass eine Lücke im Kernel im Schnitt rund fünf Jahre überlebt. Das Projekt versucht unter anderem, diese Zahl zu senken. Eine Zusammenfassung der Arbeit des Projekts gab Kees Cook in einem Vortrag auf dem Linux Security Summit 2016, der als Video vorliegt.

Begonnen hat die Reihe der Lücken des Jahres 2016 im Januar, als die Sicherheitsfirma Perception Point einen Fehler entdeckte, der im Schlüsselbund des Kernels schlummerte, der für die Speicherung von kryptografischen Schlüsseln zuständig ist. Lokale User konnten sich durch diese Lücke unberechtigt Root-Rechte verschaffen. Sie wurde 2012 in den Kernel eingebracht und erhielt nach ihrer Entdeckung die Kennzeichnung CVE-2016-0728. Kernel, die SELinux oder Grsecurity einsetzen, blieben von dieser Lücke, die im Detail einen Pufferüberlauf eines Counters bewirkte, verschont.

Auf der Usenix-Sicherheitskonferenz im August wurde eine weitere Lücke (PDF) vorgestellt, die vor allem Webserver, Android-Geräte und Distributionen betraf, die noch Kernel 3.6 verwendeten. Diese Lücke erlaubte es Hackern aus der Ferne über das Transportprotokoll TCP per IP-Spoofing und Session-Hijacking den gesamten Internetverkehr der Nutzer zu kontrollieren. Die Lücke war sehr einfach auszunutzen, lediglich die IPs von Client und Server mussten bekannt sein.

Die Kuh muss vom Eis
Die Kuh muss vom Eis (Bild: github.com, CC0 1.0)

Schmutzige Kuh

Im Oktober musste dann die Kuh vom Eis geholt werden, als eine Lücke, die seit 11 Jahren im Kernel geschlummert hatte, entdeckt wurde. Die seit Kernel 2.6.22 vorhandene Race-Condition wurde allerdings, wie Torvalds betonte, erst mit der fortschreitenden Kernelentwicklung gefährlich. Die Lücke, die Phil Oester von Red Hat im Memory-Subsystem des Kernels in der Copy-On-Write-Funktion (COW) entdeckte, erhielt neben der Codierung CVE-2016-5195 den treffenden Namen Dirty COW. Durch eine Race Condition konnte ein lokaler Nutzer Schreibrechte für Dateien erlangen, für die er eigentlich nur Leserechte hatte.

Weitere Schwachstellen wurden im Dezember geschlossen, die sowohl Red Hat als auch SUSE und Oracle betrafen. Zudem wurden auf der BlackHat-USA-Konferenz Anfang Juli Schwachstellen erläutert, die die mit dem Microsoft Anniversary-Update offiziell erfolgte Integration von Linux 3.4 zur Ausführung unveränderter Linux-Binärdateien in Windows 10 mit sich bringen könnte.