Huawei Proponuje nowy tryb „SandBox“ dla jądra Linux w celu poprawy bezpieczeństwa pamięci

Huawei, der chinesische Technologieriese, hat einen innovativen „SandBox“ Modus für den Linux-Kernel vorgeschlagen, um die Speichersicherheit zu verbessern. Dieser Modus ermöglicht die Ausführung von nativem Kernel-Code in einer Umgebung, die nur auf vordefinierte Speicheradressen zugreift. Dadurch werden Schwachstellen daran gehindert, ausgenutzt zu werden oder den Rest des Kernels zu beeinträchtigen.

Der „SandBox“ Modus fügt dem Kernel eine API und eine architekturunabhängige Infrastruktur hinzu, die die Ziel-Funktion auf kopierten Eingabe- und Ausgabedaten mithilfe von vmalloc() ausführt. Dadurch werden bestimmte Probleme mit verletztem Speicherbereich durch Schutzseiten verhindert. Die „SandBox“ API ermöglicht die Ausführung jedes einzelnen Komponenten in einer isolierten Umgebung.

Spezifische Speicherbereiche, die als Eingabe und/oder Ausgabe dienen, werden vom Rest des Kernels isoliert und von Schutzseiten umgeben. Ohne architektonische Unterstützung bietet diese gemeinsame Grundlage jedoch eine schwache Isolation. Bei Architekturen, die die erforderlichen architektonischen Hooks implementieren, nutzt der „SandBox“ Modus die Hardware-Paging-Einrichtungen und die CPU-Privilegienstufen, um die Verwendung nur dieser vordefinierten Speicherbereiche zu erzwingen. Mit architektonischer Unterstützung kann der „SandBox“ Modus auch Schutzrechtsverletzungen wiederherstellen. Dies bedeutet, dass der „SandBox“ Modus einen Abbruch erzwingt und einen Fehlercode (z. B. -EFAULT) an den Aufrufer zurückgibt, um die Ausführung fortzusetzen. Diese Implementierung sorgt für eine starke Isolation.

Laut einer Ankündigung auf der Linux-Mailingliste hat Petr Tesarik von Huawei Cloud eine Reihe von Patches für den „SandBox“ Modus eingereicht, um Feedback zu sammeln. Petr beschrieb den „SandBox“ Modus wie folgt:

Das ultimative Ziel des „SandBox“ Modus besteht darin, nativen Kernel-Code in einer Umgebung auszuführen, die nur auf Speicher von vordefinierten Adressen zugreift und so potenzielle Schwachstellen daran hindert, ausgenutzt zu werden oder den Rest des Kernels zu beeinträchtigen.

FAQ:

1. Was ist der „SandBox“ Modus von Huawei?
Der „SandBox“ Modus von Huawei ist ein Vorschlag zur Verbesserung der Speichersicherheit im Linux-Kernel, indem nativer Kernel-Code in einer isolierten Umgebung ausgeführt wird, die nur auf vordefinierte Adressen zugreift.

2. Wie verbessert der „SandBox“ Modus die Speichersicherheit im Linux-Kernel?
Der „SandBox“ Modus fügt dem Kernel eine API und eine architekturunabhängige Infrastruktur hinzu, die die Ziel-Funktion auf kopierten Eingabe- und Ausgabedaten mithilfe von vmalloc() ausführt. Dadurch werden bestimmte Probleme mit verletztem Speicherbereich durch Schutzseiten verhindert.

3. Wie isoliert der „SandBox“ Modus Speicherbereiche vom Rest des Kernels?
Der „SandBox“ Modus isoliert Speicherbereiche, die als Eingabe und/oder Ausgabe dienen, vom Rest des Kernels. Diese Bereiche sind von Schutzseiten umgeben, die Isolation bieten.

4. Wie funktioniert der „SandBox“ Modus auf verschiedenen Architekturen?
Auf Architekturen, die über die erforderlichen Hooks verfügen, nutzt der „SandBox“ Modus Hardware-Paging-Einrichtungen und CPU-Privilegienstufen, um die Verwendung nur vordefinierter Speicherbereiche zu erzwingen. Dadurch wird eine starke Isolation erreicht.

5. Wie kann der „SandBox“ Modus zur erhöhten Sicherheit beitragen?
Der „SandBox“ Modus eliminiert die Möglichkeit, potenzielle Schwachstellen im Kernel-Code auszunutzen und stellt sicher, dass sie den Rest des Kernels nicht beeinträchtigen. Dies stärkt die Systemsicherheit.

Definitionen:

1. „SandBox“ Modus – eine isolierte Ausführungsumgebung für nativen Kernel-Code zur Verbesserung der Speichersicherheit.
2. Linux-Kernel – die Kernsoftware des Linux-Betriebssystems, die Hardware-Ressourcen verwaltet und die Ausführung von Anwendungen ermöglicht.
3. API (Application Programming Interface) – eine Reihe von Regeln und Protokollen, die die Kommunikation zwischen verschiedenen Softwarekomponenten ermöglichen.
4. Architektur – im Kontext dieses Artikels bezieht sich dies auf eine spezifische Mikroprozessor-Architektur, die in einem Computersystem verwendet wird.
5. Paging – eine Technik, die vom Betriebssystem verwendet wird, um den physischen virtuellen Speicher über feste Seiten zu verwalten.
6. Architektur Hooks – besondere Mechanismen in der Prozessorarchitektur, die die Kontrolle über den Zugriff auf Speicherbereiche ermöglichen.

Weiterführende Links:
Huawei Homepage

The source of the article is from the blog karacasanime.com.ve