Schema mit drei übereinanderliegenden Schichten: oben die Anwendung, darunter die gVisor-Schicht mit dem Baustein Sentry als nachgebautem Kernel, darunter der echte Linux-Kernel und die Hardware. Pfeile zeigen, wie Befehle der Anwendung zuerst vom Sentry abgefangen und nur zu einem kleinen Teil gefiltert an den echten Kernel weitergereicht werden. Daneben zum Vergleich ein normaler Container, dessen Befehle direkt und ungefiltert den Kernel erreichen.

gVisor

gVisor ist eine von Google entwickelte Software, die fremde Programme in einer stark abgeschirmten Umgebung laufen lässt. Sie schiebt sich zwischen Programm und Betriebssystem und fängt dessen Anfragen ab, bevor sie den Computer erreichen.

Wer fremden Programmcode auf seinen Servern ausführt, geht ein Risiko ein. Ein bösartiges Programm könnte versuchen, aus seinem zugewiesenen Bereich auszubrechen. Dann käme es an Daten anderer Kunden auf demselben Rechner. gVisor ist eine Software von Google, die genau das verhindern soll. Sie legt sich wie eine Schutzschicht um das fremde Programm. Alle Anfragen, die das Programm an den Computer stellt, laufen zuerst durch gVisor und werden dort geprüft.

Warum fremder Code so gefährlich ist

Cloud-Anbieter vermieten Rechenleistung. Auf einem einzigen physischen Server laufen oft die Programme von dutzenden Kunden gleichzeitig. Üblicherweise trennt man sie mit Containern voneinander ab. Ein Container ist ein abgeschotteter Bereich, in dem ein Programm mit allem läuft, was es braucht. Der Haken: Alle Container auf einem Server teilen sich denselben Kern des Betriebssystems.

Dieser Kern heißt Kernel. Er verwaltet Speicher, Festplatte und Netzwerk für alle Programme. Der Linux-Kernel besteht aus Millionen Zeilen Code und bietet über 300 verschiedene Befehle an. In so viel Code stecken zwangsläufig Fehler. Findet ein Angreifer eine solche Lücke, kann er aus seinem Container ausbrechen. Fachleute nennen das einen Container-Escape.

Für KI-Firmen ist das Problem sehr aktuell geworden. Moderne Sprachmodelle schreiben Programmcode und führen ihn selbst aus, etwa um eine Rechnung zu überprüfen. Dieser Code entsteht spontan und wurde von keinem Menschen geprüft. Er muss trotzdem irgendwo laufen, ohne Schaden anzurichten.

Der Kernel als Nachbau im Zwischenraum

gVisor löst das Problem mit einer zusätzlichen Schicht. Ein Programm namens Sentry stellt sich zwischen die Anwendung und den echten Kernel. Der Sentry verhält sich selbst wie ein Kernel: Er nimmt die Befehle der Anwendung entgegen und beantwortet die meisten davon eigenständig. Geschrieben ist er in der Programmiersprache Go, die viele typische Speicherfehler von vornherein ausschließt.

Der entscheidende Punkt ist die Reduktion der Angriffsfläche. Statt über 300 Kernel-Befehlen erreichen den echten Kernel nur noch wenige Dutzend, und die sind streng gefiltert. Ein Angreifer müsste also zwei Schutzschichten nacheinander überwinden. Eine Analogie: Ein Besucher spricht nie direkt mit dem Chef, sondern immer mit einem Assistenten, der jede Anfrage prüft und weiterleitet.

Diese Sicherheit kostet Leistung. Jeder Umweg über den Sentry braucht Zeit. Bei Programmen, die viel mit Dateien oder dem Netzwerk arbeiten, kann gVisor spürbar langsamer sein als ein normaler Container. Bei reiner Rechenarbeit fällt der Unterschied dagegen kaum ins Gewicht. Man muss also abwägen, welche Aufgaben den Aufwand rechtfertigen.

Vom Google-Rechenzentrum in die KI-Werkzeuge

Google nutzt gVisor seit Jahren im eigenen Betrieb, unter anderem für den Cloud-Dienst App Engine und für Cloud Run. Die Software ist quelloffen, jeder kann sie also kostenlos herunterladen und den Code einsehen. In der Praxis begegnet man ihr unter dem Namen runsc, so heißt das ausführbare Programm.

Interessant ist gVisor vor allem dort, wo KI-Systeme selbstständig handeln. Wenn ein Chatbot Code schreibt und ausführt, braucht er eine Sandbox — einen sicheren Spielbereich, aus dem nichts nach außen dringt. Anbieter von Programmierassistenten und sogenannten Agenten setzen daher auf solche Technik. Eine Alternative sind winzige virtuelle Maschinen wie Firecracker, die einen kompletten Computer nachbilden.

Ein verbreiteter Irrtum ist, gVisor sei eine virtuelle Maschine. Das stimmt nicht. Es wird kein vollständiger Rechner nachgebaut, sondern nur die Schnittstelle des Betriebssystems abgefangen. Deshalb startet gVisor in Sekundenbruchteilen statt in Sekunden. In Meldungen über Cloud-Sicherheit taucht der Begriff meist als Stichwort für diese Zwischenlösung auf.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.