Kernel-Log: Sicherheitskorrekturen ohne Neustart, 2.6.26-Entwicklung schreitet voran

Ksplice erstellt dynamisch zur Laufzeit nachladbare Kernel-Module und stopft so viele Sicherheitslücken ohne System-Neustart. Torvalds hat derweil bereits einen Haufen Änderungen für die nächste Linux-Version angenommen; viele weitere stehen noch aus.

In Pocket speichern vorlesen Druckansicht 105 Kommentare lesen
Lesezeit: 7 Min.
Von
  • Thorsten Leemhuis

Jeff Arnold vom MIT hat auf der Linux-Kernel Mailing List (LKML) ein Ksplice genanntes Framework vorgestellt, mit dem sich viele sicherheitsrelevante Fehler des Linux-Kernels zur Laufzeit ausbessern lassen sollen. Dazu braucht Ksplice den Quellcode des laufenden Kernels und einen Patch, der den Fehler behebt; mit diesen Informationen generiert Ksplice automatisch nachladbare Kernel-Module, über die Ksplice Sicherheitslücken stopft, ohne dass der Anwender das System neu starten muss.

Ähnliches Code-Patching zur Laufzeit nutzen sonst häufig Exploits. In diesem Fall ist die Technik aber insbesondere für Server-Systeme interessant, wo jeder Neustart mit einer Ausfallzeit für die Anwender verbunden ist. Ksplice kann jedoch nicht alle Sicherheitslücken beheben – Korrekturen, die Datenstrukturen oder semantische Änderungen am Code erfordern, brauchen weiterhin einen komplett neuen Kernel. Das ist aber nur bei einem Teil der Sicherheitskorrekturen der Fall; Arnold rechnet vor, dass Ksplice 84 Prozent der signifikanten Sicherheitslücken im Linux-Kernel zwischen Mai 2005 und Dezember 2007 zur Laufzeit korrigieren könne. Die Kernel-Entwickler haben Interesse an dem Konzept gezeigt, vor einer Integration in den offiziellen Kernel dürften aber vermutlich einige Anpassungen nötig sein.

Im Hauptentwicklungszweig des Linux-Kernels hat Linus Torvalds seit der Veröffentlichung von Linux 2.6.25 insgesamt 4458 Patches eingepflegt. Zu den bereits im vorangegangenen Kernel-Log angesprochenen Neuerungen für Linux 2.6.26 gesellten sich so etwa Optimierungen am CFS-Scheduler; diese verbessern den Scheduler nicht nur für normale Systeme sondern auch für den Einsatz in Umgebungen, wo es auf Realtime-Eigenschaften ankommt.

Das VFS (Virtual File System) stellt bereits eingebundene Dateisysteme in Zukunft auf Wunsch an anderer Stelle schreibgeschützt bereit (r/o bind mounts) – das ist etwa für Container-Virtualisierung interessant, damit nicht ein Gast-System Daten auf einem gemeinsam genutzten Root-Dateisystem verändert. Das UDF-Dateisystem erweiterten die Kernel-Hacker im Hauptentwicklungszweig derweil um Unterstützung für die unter anderem bei Blu-ray-Discs verwendete UDF-Version 2.60. Den bereits mit 2.6.25 kurzzeitig in der Hauptentwicklungslinie enthaltenen Code zur Unterstützung von Active State Power Management (ASPM) integrieren die Kernel-Entwickler erneut. In den Vorgaben für die Standard-Konfiguration soll die PCI-Express-Stromspartechnik allerdings vorerst deaktiviert werden, da die Kernel-Hacker noch Schwierigkeiten erwarten.

Auch in den internen Abläufen des Kernel gab es wieder zahlreiche für den Anwender meist kaum merkliche Änderungen. Die Generic semaphores (Hintergrundartikel) etwa führen den bisher Architektur-spezifischen Code für das Locking mit Semaphoren zusammen und verkleinern ihn dadurch erheblich. Dadurch soll der Code einfacher zu warten sein, dürfte aber auch ein wenig langsamer arbeiten, da er nicht so sehr auf die Besonderheiten der verschiedenen Architekturen optimiert ist – da das Locking in aktuellen Kernel-Versionen aber zumeist über einen einfacheren Mutex geregelt wird, sollen die Vorteile der Generic semaphores deren Nachteile aufwiegen. Auch beim Basis-Framework für Treiber ("Driver Core") gab es zahlreiche Änderungen, die den Kernel-Hackern das Leben leichter machen sollen. Durch Tricks konnten die Entwickler zudem den Code zur Unterstützung des Tcrypt-Algorithmus deutlich schrumpfen.

Auch bei den im Kernel enthaltenen Treiber gab es wie üblich zahlreiche Neuerungen – die kürzlich vorgenommenen Commits im Hauptentwicklungszweig verändern insbesondere die vom Alsa-Projekt betreuten Sound-Treiber sowie die Video-4-Linux-Treiber für TV- und Video-Hardware. Ein neuer Alsa-Treiber etwa kümmert sich in Zukunft um die Ansteuerung der zumeist im Gehäuse integrierten und für das klassische Piepen des PCs zuständigen PC-Speaker. Die Sound-Treiber unterstützen zudem bereits den HDMI-Sound-Controller einiger R700-GPUs, die AMD bislang noch gar nicht angekündigt hat. Neu dabei sind auch von einem Hauppauge-Mitarbeiter eingebrachte V4L-Treiber für die Hauppauge-TV-Hardware HVR950Q, HVR850 und FusioHDTV7-USB.

Ungefähr eine weitere Woche ist das "Merge-Window" genannte und am Beginn jedes Entwicklungszyklus stehende Zeitfenster noch offen, in dem Torvalds die größeren Neuerungen für die jeweils nächste Kernel-Version in den Hauptentwicklungszweig aufnimmt. Einige Subsystem-Verwalter habe noch keinerlei Patches eingesandt, so dass Torvalds in der nächsten Woche wohl noch einen Haufen weitere Änderungen annehmen wird.

Die Entwickler des X.org-Treibers xf86-video-intel haben derweil die für X.org 7.4 vorgesehene Version 2.3.0 des für Intels Chipsatzgrafik zuständigen Grafiktreibers veröffentlicht. Sie soll nach Bekunden der Entwickler bessere Unterstützung für die unter anderem in Notebooks eingesetzten Mobil-Chipsätze bringen und viele Korrekturen enthalten, die die Zuverlässigkeit des Treibers verbessern sollen. Zudem bringt der Treiber erstmals Unterstützung für XvMC (X-Video Motion Compensation) bei einigen der neueren Intel-Chipsätze.

Kernel-Log-Staccato:

  • Der von Intel-Programmierern betreute Treiber iwl4965 soll schon bald die WLAN-Module aus Intels Wifi Link 5000 Familie (WiFi 5300 AGN 3x3 MIMO, WiFi 5100 AGN 1x2 MIMO) unterstützen. Sie werden bei Notebooks der nächsten Centrino-Generation zum Einsatz kommen, die vermutlich Ende Mai oder Anfang Juni debütieren soll.
  • Die Homepage des Linux wireless project ist umgezogen und findet sich von nun innerhalb der Kernel.org-Domain.
  • Greg Kroah-Hartmann hat die Verwaltung des PCI-Subsystems an Jesse Barnes abgegeben.

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise open:

Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open. (thl)