Anwendungen abschotten mit Kata Containers, gVisor und Nabla

Brechen Prozesse aus Containern aus, gefährdet dies den Kern des Betriebssystems. Abhilfe versprechen Kata Containers, gVisor und Nabla Containers.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Anwendungen abschotten mit Kata Containers, gVisor und Nabla
Lesezeit: 18 Min.
Von
  • Dr. Udo Seidel
Inhaltsverzeichnis

Containe bieten Entwicklern und Administratoren viele Vorteile. Doch wie sicher sind sie als Anwendungsbehälter? Das Risiko: Prozesse können ausbrechen. Tritt dieser Fall ein, betrifft das nicht nur die einzelne Container-Instanz, sondern auch alle anderen Prozesse, die ebenfalls auf dem (Host-)Rechner laufen. Das primäre Angriffsziel bei einem solchen Ausbruch ist der Betriebssystemkern. Kontrolliert ein Angreifer diesen, hat er das gesamte System in der Hand.

Container und der Betriebssystem-Kernel im Zusammenspiel.

Zwei Ansätze können das Risiko minimieren: Beim ersten schottet man Container so ab, dass sie hundertprozentig dicht sind. Sie bilden in diesem Fall eine Schutzschicht um den Kern des Betriebssystems. Das lässt sich jedoch nicht so leicht bewerkstelligen. Daher geht es in diesem Artikel um den zweiten Ansatz, bei dem man die Angriffsfläche verringert. Es ist unausweichlich, dass eine Container-Instanz direkt oder indirekt mit dem Kernel des Hostsystems interagiert, und jede dieser Interaktionen bildet eine Möglichkeit, den Betriebssystemkern anzugreifen. An dieser Stelle setzen die hier vorgestellten Systeme Kata Containers, gVisor und Nabla Containers an.

iX-TRACT
  • Container-Sandboxing hilft, den Kernel des Hostsystems zu schützen.
  • Kata Containers ist von den drei vorgestellten Ansätzen am ausgereiftesten und bietet die größte Rückwärtskompatibilität.
  • gVisor verwendet einen eigenen, Linux-ähnlichen Kernel. Die Projektdokumentation ist stark verbesserungsbedürftig.
  • Nabla Containers setzt auf einen Unikernel und macht ein Neukompilieren der Anwendung erforderlich.

Kata Containers schützt den Host-Kernel mit Methoden der klassischen Hardwarevirtualisierung, inklusive eines weiteren Betriebssystems in einer abgespeckten Version. gVisor minimiert diesen Ansatz weiter und benutzt einen Linux-ähnlichen Kernel als Schutzschicht. Nabla Containers setzt ebenfalls auf einen weiteren Betriebssystemkern zum Abschotten – die Verwendung von Unikernels wie MirageOS begräbt bei diesem Ansatz jedoch alle Hoffnung auf Rückwärtskompatibilität und Wiederverwendbarkeit.

Das war die Leseprobe unseres heise-Plus-Artikels "Anwendungen abschotten mit Kata Containers, gVisor und Nabla ". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.