Sicherheit durch Virtualisierung?

Desktop-Virtualisierung ist eine sehr schöne Sache, und erlaubt einige Dinge, die bisher nur schwer gingen. Sie gibt zum Beispiel Unabhängigkeit von dem zugrundeliegenden System, indem sie es eben erlaubt, mehrere Betriebssysteme gleichzeitig laufen zu lassen. Und durch entsprechende Optimierung wird der Overhead dafür immer geringer.

Ich persönlich benutze zwar momentan ausschließlich Arch Linux zum Arbeiten, aber ich habe in der Zwischenzeit zum Beispiel schon mit dem Gedanken gespielt, als Hauptsystem Windows 7 laufen zu lassen, und einfach ein virtuelles Linux zu fullscreenen – das liefert mir alle Vorteile von Linux (offenheit, Kompatibilität, große Softwareauswahl) und Windows (auch billige Schrotthardware läuft On-The-Fly, ich muss mich um vieles nicht kümmern, ich kann Spiele spielen). Haupthinderungsgrund war unter Anderem, dass ich trotzdem immernoch einen höheren Energieverbrauch kriege, als wenn ich Linux nativ laufen lasse.

Mit einem entsprechenden Hypervisor sollte das aber wohl nicht das Problem sein.

Auch wenn ich mal auf Webseiten gehe, die potentiell gefährlich sind, oder wenn ich mal ein Spiel testen will, ist es ganz gut, erstmal eine VM zu benutzen. Dass ich dafür ein eigenes Unterbetriebssystem brauche ist natürlich schade, denn durch entsprechend sinnvolle Nutzerverwaltung könnte man dasselbe erreichen. Würde X11 die Anwendung entsprechend gut vom Rest des Systems abschotten, und würde ich den Zugriff auf Netzwerkschnittstellen und IPs, Speicherressourcen und Festplattenspeicherplatz Nutzerbasiert sinnvoll einschränken können, wäre alles in Ordnung. Aber dem ist nunmal nicht so.

Also überlegen sich Sicherheitsexperten laut Heise offenbar, durch Virtualisierung in viele kleine in Aufgabenbereiche eingeteilte virtuelle Maschinen, die Systemsicherheit zu erhöhen. Das Konzept klingt ja auch sinnvoll: Schotte unabhängige Programme voneinander so gut es geht ab. Ich sehe darin allerdings ein paar Probleme.

Zum Einen ist eine virtuelle Maschine erstmal Overkill. Wenn man sie immer leichtgewichtiger macht, wird sie irgendwann zu einem verkorksten Benutzermanagement degenerieren. Sinnvoller erscheint es mir, das User-Management und das Berechtigungensystem aufzustocken, und es so zu erlauben, Umgebungen voneinander abzuschotten. Ein wesentlicher Unterschied, den ich dabei sehe, ist, dass man bei abgeschotteten Usern trotzdem noch IPCs zwischen verschiedenberechtigten Nutzern geben kann.

Und diese IPCs werden teils gebraucht. Es kommt einfach hin und wieder vor, dass Programme miteinander kommunizieren müssen, oder etwas ausführen müssen, was höhere Berechtigungen braucht. Sockets öffnen, Grafik zeichnen, generell alles was mit I/O zu tun hat, Dateizugriff, etc. – ein System das auf virtuellen Maschinen basiert muss also Infrastruktur für all dies anbieten. Aber wenn ein Hypervisor erstmal für all dies Infrastruktur anbietet, ist die Frage, was ihn überhaupt noch von einer Standard-Rechteverwaltung unterscheidet, außer erheblich mehr Overhead.

Nunja, Software ist groß, und demensprechend wird es kaum passieren, dass Software jemals ganz fehlerfrei wird. Aber mein Alternativvorschlag wäre es, mal etwas Geld in ein formal verifiziertes Berechtigungensystem zu stecken. Also eines, dessen Korrektheit mathematisch beweisbar ist. Und darauf alles andere basieren. Sodass man schön Berechtigungen einteilen kann, auf die man sich verlassen kann.

Und dann freilich möglichst viel in den Usermode packen. Alles was irgendwie geht eben. Bzw. was im Kernelmode ist ebenfalls dahingehend formal verifizieren, dass es sich and die Berechtigungen hält.

Ich halte das intuitiv für einfacher und trotzdem sinnvoller, als einen Haufen virtuelle Umgebungen zu erzeugen.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: