Was ist Live-Patching von Linux-Kernels?

URL kopieren

Das Live-Patching eines Linux-Kernels ist eine Möglichkeit, kritische und wichtige Sicherheits-Patches auf einen bestehenden Linux-Kernel anzuwenden, ohne dass ein Neustart oder eine Unterbrechung der Runtime erforderlich ist.

Es gibt einen Unterschied zwischen einem Patch und einem Update. Ein Update ist eine neue, kleinere Version eines Pakets und kann Bug Fixes, Performance-Verbesserungen, neue Funktionen, Änderungen an der Befehlszeile und andere Erweiterungen enthalten. Ein Patch ist ein partieller Ausschnitt aus einem Code (normalerweise die unterschiedliche Ausgabe zwischen zwei Versionen eines Pakets oder einer Datei), der eine Schwachstelle in der bestehenden Version behebt. Diese Patches beheben Schwachstellen ohne Latenzzeit, sodass die bestehende Implementierung sicherer ausgeführt und die Systemadministration mit dem Neustart bis zum nächsten regulären Wartungsfenster warten kann.

Theoretisch könnte das Live-Patching für jeden Patch für den bereits aktiven Kernel verwendet werden, einschließlich regelmäßiger Bug Fixes und Erweiterungen. In der Praxis werden vorrangig schwerwiegende Sicherheitslücken mit Live-Patches behoben, da es sich dabei um Fehlerbehebungen handelt, die keinen Aufschub dulden. Bei Red Hat® Enterprise Linux® haben wir uns auf Sicherheits-Patches konzentriert, und das Live-Patching des Kernels gilt als Sicherheitsfunktion (mit Vorteilen für das Administrationsteam).

Ohne Live-Patching erfordert die Anwendung eines Patches einen Neustart des gepatchten Services oder der Anwendung, um die neuen Änderungen der gepatchten Version zu laden. Dies gilt sogar für Patches, die auf den Linux-Kernel selbst angewendet werden, was das Linux-Systemadministrationsteam vor ein schwieriges Problem stellt: Sie müssen zwingend Sicherheits-Updates anwenden, aber das bedeutet außerplanmäßige Neustarts des Linux-Servers, einschließlich Latenz- und Ausfallzeiten.

Jeff Arnold, ein Student und Systemadministrator am MIT, befand sich in einer misslichen Lage. Er hatte ein System mit einem anstehenden Sicherheits-Update und entschied sich, die Behebung der Schwachstelle zu verschieben. Dieses System wurde gehackt. Im Jahr 2008 beschloss Arnold, sich dieser Herausforderung zu stellen, indem er sogenannte „Rootless Kernel Security Updates“ entwickelte – eine Möglichkeit, Sicherheits-Patches auf ein laufendes System anzuwenden und zu laden. Dieses anfängliche Projekt (ksplice) war die Geburtsstunde des Konzepts des Live-Patchings von Linux-Kernels.

Dynamische Software-Updates sind eine Herausforderung in der Datenverarbeitung, da sie die Komplexität von zustandslosen und zustandsbehafteten Services, Persistenz, Datenmanagement, Transaktionen und das Befolgen von Befehlen betreffen – alles Dinge, die die Basis für den Betrieb eines Services oder einer Anwendung bilden.

Arnold und nachfolgende Projekte zum Live-Patching des Linux-Kernels nutzten Tools innerhalb des Kernelspace, um Kernel-Module zu laden.

Red Hat Ressourcen

Die Linux-Systemoperationen sind in zwei Bereiche unterteilt: den Userspace (in dem alle Services und Anwendungen laufen) und den Kernelspace (in dem die Kernsystemoperationen stattfinden). Der Kernel ist eine Vermittlungsinstanz für alle Anwendungen, die auf Hardware-Ressourcen wie CPU und Storage zugreifen. Neben dem Kernel selbst können Administrationsteams benutzerdefinierte Kernel-Module erstellen, um die Funktionalität zu erweitern oder zu ändern, und diese Kernel-Module können dynamisch geladen und ausgeführt werden, sogar nach dem Start.

Tools für das Kernel-Live-Patching erstellen ein Kernel-Modul aus dem gepatchten Code und verwenden dann das Tool ftrace (function trace), um von der veralteten Funktion zur neuen Ersatzfunktion, zum Patch-Modul oder zur gepatchten Funktion zu gelangen.

Abbildung 1: Funktionsweise des Live-Patchings eines Kernels

Ksplice war das erste Projekt zum Live-Patching eines Linux-Kernels. Ksplice wurde jedoch an Oracle verkauft und schließlich in ein Closed Source-Tool umgewandelt. Andere Entwicklungsteams versuchten, Open Source-Projekte zu entwickeln, die ksplice ersetzen könnten. 2014 wurden zwei unterschiedliche Projekte gestartet: kpatch von Red Hat und kgraft von SuSE. Im Interesse der Linux-Kernel-Community haben die Entwicklungsteams von Red Hat und SuSE schließlich zusammengearbeitet, um livepatch zu entwickeln. Hierbei handelt es sich um eine gemeinsame Schicht innerhalb des Linux-Kernels, die es ermöglicht, kompatible Tools für das Kernel-Live-Patching zu entwickeln.

Entscheidend ist, dass Patches speziell zur Behebung von Sicherheitsrisiken eingesetzt werden. Eine der Herausforderungen für Systemadministrationsteams besteht darin, dass sie nicht nur die Sicherheits-Patches in Linux-Systemen berücksichtigen, sondern auch dafür sorgen müssen, dass die Anforderungen an die Verfügbarkeit erfüllt werden. Das bedeutet, dass sie nicht in der Lage sind, Systeme außerhalb der vorgegebenen Wartungsfenster offline zu nehmen. Diese ständige Spannung wird immer größer.

Laut dem Red Hat Security Risk Report gab es einen massiven Anstieg der identifizierten Sicherheitsprobleme (sogenannte „Common Vulnerabilities and Exposures“ oder CVEs) von 2019 bis 2020, und zwar um etwa 155 % (von 1.313 auf 2.040). Im Jahr 2021 ging diese Zahl zwar leicht zurück (1.596), lag aber immer noch um 22 % höher als 2019. Das meiste davon war eine Zunahme der mittelschweren Schwachstellen. Die Anzahl wichtiger CVEs ist ungefähr gleich geblieben, die Anazahl kritischer Schwachstellen hat abgenommen.

Kernel-Updates und -Patches werden alle sechs Wochen veröffentlicht, und kleinere Updates von Red Hat Enterprise Linux werden alle sechs Monate veröffentlicht und enthalten alle Sicherheits-Patches. Da der Linux-Kernel ohne Neustart live gepatcht werden kann, muss nicht mehr entschieden werden, welche Richtlinie befolgt werden soll.

Mehr über die Bestimmung Ihrer Kernel-Version

CVEs, die sich auf den Kernel beziehen, sind besonders besorgniserregend: Vier der zehn am häufigsten aufgerufenen CVEs im Jahr 2021 beziehen sich auf den Kernel.

Die Möglichkeit, Sicherheits-Patches für den Linux-Kernel live durchzuführen, ist weit mehr als nur eine Bequemlichkeit. Sie ist ein wichtiges Tool für Sicherheitsteams, um proaktiv Sicherheitslücken zu schließen, Kernel-Funktionen aufrecht zu erhalten und die Sicherheit ihrer Systeme zu gewährleisten.

Mehr zur Überwindung von Schwachstellen mit Linux-Sicherheits-Patches erfahren

Kernel-Live-Patching ist ein spezielles Tool für das Sicherheitsmanagement, aber bei weitem nicht das einzige, über das Red Hat Enterprise Linux verfügt. Red Hat Enterprise Linux enthält verschiedene Tools für die Verwaltung der Sicherheit, beispielsweise SELinux für Berechtigungen und Zugriffskontrolle sowie Systemrollen zur Automatisierung von Konfigurationen und Aufgaben. Ein Upgrade Ihrer Red Hat Enterprise Linux Infrastruktur kann durch die Gewährleistung eines ununterbrochenen Zugriffs auf die neuesten Fixes zur Wahrung Ihrer Sicherheit beitragen. 

Für die Schaffung einer „sicheren Umgebung“ gibt es keine Patentlösung. Die Bedrohungen ändern sich ständig und entwickeln sich weiter, wobei verschiedene Angriffsvektoren auftauchen und verschiedene Ziele ausgemacht werden. Die Sicherheit beginnt auf der Ebene des Betriebssystems – sogar beim Quellcode – und zieht sich durch den gesamten Technologie-Stack und Lifecycle, weshalb eine Vielzahl von Tools unerlässlich ist.

Verwenden Sie das Kernel-Live-Patching in der Red Hat Enterprise Linux Webkonsole, um die Komplexität beim Durchführen kritischer Wartungsaufgaben stark zu verringern. Diese neue Funktion in der Webkonsole bietet eine vereinfachte Oberfläche, mit der erfahrene und unerfahrene Admins gleichermaßen Kernel-Updates durchführen können, ohne dafür das Befehlszeilen-Tool verwenden zu müssen.

Red Hat Insights ist mit jeder Subskription von Red Hat Enterprise Linux erhältlich und bietet ein einheitliches Verwaltungserlebnis für Sicherheitsbelange. Diese Tests umfassen:

  • Visuelle Dashboards, die Ihre gesamte Infrastruktur abdecken und anfällige Systeme sowie den Patch-Status anzeigen. So können Sie kritische Fehler finden und beheben, ohne dass Sie dafür eine separate Subskription für Red Hat Satellite Server benötigen.
  • Relevante CVEs und andere Updates
  • Playbooks für automatisiertes Linux-Sicherheits-Patching
  • Sowohl definierte Sicherheitsprofile als auch benutzerdefinierte Profile zur Verwaltung der Systemkonfiguration
  • Verwendung von Basiskonfigurationen und Kennzeichnung von Systemen, die von den Basiskonfigurationen abweichen

 

Mehr über Sicherheit und Compliance erfahren

Das Live-Patching des Linux-Kernels entstand, als ein Bedarf erkannt und ein Open Source-Projekt ins Leben gerufen wurde, um in Zusammenarbeit mit Organisationen und Community-Mitgliedern eine Lösung zu schaffen, die der Community zugutekommen würde. Dieser offene Arbeitsstil ist das zentrale Subskriptionselement bei Red Hat: Zusammenarbeit, Transparenz und der Fokus auf die Verbesserung der Technologie und des Benutzererlebnisses.  

Mehr über die Sicherheitsfunktionen von Red Hat Enterprise Linux erfahren

Hub

Der offizielle Red Hat Blog

Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.

Red Hat Testversionen

Unsere kostenlosen Testversionen unterstützen Sie dabei, praktische Erfahrungen zu sammeln, sich auf eine Zertifizierung vorzubereiten oder zu bewerten, ob ein Produkt die richtige Wahl für Ihr Unternehmen ist.

Weiterlesen

Linux Distributionen: Fedora oder Red Hat Enterprise Linux

Beides sind Linux Betriebssysteme: Fedora ist ein Open Source Community Projekt - Red Hat Enterprise Linux (RHEL) eine führende Linux-Plattform für Unternehmen.

Was ist Hochverfügbarkeit (High Availability, HA) in IT?

Hochverfügbarkeit beschreibt die Fähigkeit eines IT-Systems, zu 99,999 % verfügbar zu sein, um Ausfallzeiten und Downtime kritischer Systeme zu vermeiden.

Red Hat Enterprise Linux 7 nach dem End of Maintenance (EOM)

Red Hat Enterprise Linux 7 erreichte am 30. Juni 2024 das Ende seines Supports. Upgraden Sie jetzt oder nutzen Sie den Extended Life Cycle Support bis 2028.

Ressourcen zu Linux

Verwandte Artikel