Neue und künftige Linux-Kernel-Funktionen, die Sie interessieren sollten
Dies sind einige der sicherheitsrelevanten Funktionen, die in aktuellen (und sogar noch in der Testphase befindlichen) Linux-Kernel-Versionen zum Einsatz kommen. Sie sollen die inhärente Sicherheit von Basis-Linux-Systemen (d. h. ohne spezielles Sicherheitstuning) erhöhen und werden zweifelsohne zur Implementierung neuer Methoden zur Ausführung bestehender Aufgaben und Prozesse verwendet.
Gehen wir auf einige der wichtigsten ein, wobei wir uns auf ihre Auswirkungen auf die Systemsicherheit konzentrieren.
Control-Flow Enforcement Technology (CET) Schattenstapel
Eine der kommenden Funktionen im Linux-Kernel ist die Control-Flow Enforcement Technology (CET) Schatten-Stapel. Dabei handelt es sich um einen sekundären Stack, der den eigentlichen Aufrufstack validiert und dazu beiträgt, potenziell bösartige Änderungen abzufangen.
Der Shadow Stack verwendet Hardware, um seine Funktionalität bereitzustellen und die Sicherheit zu gewährleisten - die CPU ist für die Pflege des Shadow Stack direkt verantwortlich, und er ist nicht für Änderungen durch Benutzercode verfügbar. Kürzlich hat Intel eine Reihe von Patches vorgelegt, um die Shadow-Stack-Unterstützung für seine neuesten CPU-Familien zu erweitern. Die Patches sind so allgemein gehalten, dass sie auch Hardware anderer Hersteller, wie AMD, auf der x64-Architektur unterstützen.
Der Hauptvorteil von Shadow Stack ist seine Fähigkeit, Angriffe zu erkennen, die auf Return Oriented Programming (ROP) beruhen, d. h. Angriffe, bei denen die Rückkehr von bestimmten Funktionen zu Aufruferfunktionen missbraucht wird. Diese Funktion erhöht die Sicherheit von Systemen gegen diese Art von Bedrohung, die seit über einem Jahrzehnt besteht.
Allerdings ist der Shadow Stack in letzter Minute auf Probleme gestoßen, was bedeutet, dass seine Aufnahme in den Mainline-Kernel ab Version 6.4 wahrscheinlich verzögert wird. Sobald diese Probleme gelöst sind, muss Software, die den Stack oder Funktionszeiger manipuliert, wahrscheinlich angepasst werden, damit sie in neueren Kernel-Versionen mit Shadow Stack-Unterstützung läuft.
IO_uring Hardening
IO_uring ist eine hochleistungsfähige Linux-Schnittstelle, die für asynchrone E/A-Operationen verwendet wird. Trotz der erheblichen Verbesserungen bei E/A-gebundenen Operationen hat Google (und gezeigt), dass IO_uring unter "schwerwiegenden Schwachstellen" leidet. Daher hat Google die Verwendung von IO_uring auf Produktionsservern, in Chrome OS und anderen Produkten untersagt, bis ein geeigneter Weg gefunden wird, es in einer Sandbox zu schützen.
Sobald eine Lösung gefunden ist, wird sie wahrscheinlich weitreichende Auswirkungen auf den Kernel haben und die Sicherheit von E/A-Operationen im gesamten System verbessern. Angesichts der breiten Akzeptanz von IO_uring wegen seiner Leistungsvorteile werden sich alle Sicherheitsänderungen auf mehrere Arbeitslasten und Umgebungen auswirken und möglicherweise eine Überarbeitung des Codes erfordern.
Es wurde noch nicht bekannt gegeben, wann diese Sicherheitsänderung in Kraft treten wird.
Virtuelle Vertrauensstufen (VTL) Kontext
Linux-Systeme, die unter Microsofts HyperV-Virtualisierungsplattform eingesetzt werden (z. B. bei einigen Cloud-Anbietern), verfügen jetzt über eine Option zur Unterstützung des " Virtual Secure Mode" von "Virtuelle Vertrauensstufen". Dies ermöglicht unterschiedliche Vertrauensstufen für verschiedene virtuelle Maschinen. Mit der neu eingeführten Einstellung HYPER_VTL_MODE im Kernel ist es möglich, die gewünschte Vertrauensstufe für das System festzulegen. Dies könnte z. B. nützlich sein, um weniger Vertrauen für Systeme mit Internetzugang anzufordern, was den Hypervisor dazu veranlassen würde, die Fähigkeiten, die solchen Linux-Gastsystemen zur Verfügung stehen, einzuschränken.
Diese Funktion wurde zusammengeführt und ist ab der Version 6.4 des Kernels verfügbar.
Zusätzliche Sicherheitsfunktionen im Linux-Kernel 6.3
Mit dem Linux-Kernel 6.3 wurden mehrere neue sicherheitsrelevante Funktionen eingeführt. So unterstützt der Kernel jetzt AMDs automatische Funktion Indirect Branch Restricted Speculation (IBRS) zur Spectre-Abschwächung. Diese bietet eine weniger leistungsintensive Alternative zur spekulativen Retpoline-Ausführung und macht ältere AMD-Prozessoren sicherer und schneller.
Der Linux 6.3-Kernel enthält außerdem neue Energieverwaltungstreiber für ARM- und RISC-V-Architekturen und verbessert deren Sicherheit und Leistung. Für Dateisysteme bringt Linux 6.3 AES-SHA2-basierte Verschlüsselungsunterstützung für NFS, was die Sicherheit von Dateioperationen erhöht.
Darüber hinaus bietet der Kernel jetzt im Benutzermodus Linux-Unterstützung für Rust-Code, eine speichersichere Sprache. Dies ist ein Schritt in Richtung des Ziels, die ersten Rust-Module als Upstream in den Linux-Kernel zu integrieren, was die Sicherheit aufgrund der speichersicheren Eigenschaften von Rust erhöhen wird.
Abschließende Überlegungen
Dies sind nur einige der bevorstehenden und kürzlich eingeführten Änderungen, die das Engagement der Linux-Gemeinschaft unterstreichen, die Systemsicherheit zu verbessern und gleichzeitig die bekannte Flexibilität und Leistung des Kernels beizubehalten. Diese Änderungen können einen tiefgreifenden Einfluss auf Benutzer und Entwickler haben und die Sicherheitslandschaft für Linux-Systeme weltweit verbessern.