Programme von Windows entkoppeln

Der nächste Trend heißt Anwendungs-Virtualisierung

04.08.2008
Von Michael Pietroforte

Sichere Lehmschicht

Applikations-Virtualisierung verbessert auch die Sicherheit. So tut sich Malware erheblich schwerer, die Virtualisierungsschicht zu durchdringen und das Betriebssystem zu infizieren. Wie bereits angedeutet, unterscheiden sich die verschiedenen Lösungen beträchtlich bezüglich der Stringenz und der Art der Isolierung. Grundsätzlich gilt hier, dass der Grad Trennung zwischen Anwendung und Betriebssystem mit dem Maß an Sicherheitsgewinn einhergeht.

Bei VMware ThinApp lässt sich konfigurieren, welche Benutzer berechtigt sind, auf die virtualisierte Anwendung zuzugreifen.
Bei VMware ThinApp lässt sich konfigurieren, welche Benutzer berechtigt sind, auf die virtualisierte Anwendung zuzugreifen.

Bei so manchem Produkt lässt sich die Isolierung so weit treiben, dass eine Anwendung, die normalerweise nur mit Administratorrechten läuft, sogar auf einen Kiosksystem, also auf einem System, das nur minimale Benutzerrechte gewährt, gestartet werden kann. Die Anwendung hinterlässt dabei keinerlei Spuren auf dem System. Man spricht dann vom so genannten "Zero Footprint".

Dieses Feature bieten nur die Produkte, die ohne die Installation eines Agenten auf dem Ziel-PC auskommen. Sie erlauben es, die gesamte virtualisierte Umgebung in eine einzige ausführbare Datei zu packen. Diese enthält dann neben der Virtualisierungs-Software alle Dateien der virtualisierten Anwendung inklusive der Registry-Einträge. Der Ziel-PC muss in diesem Fall nicht vorbereitet werden und ist es dann auch möglich, die ausführbare Datei von einem USB-Stick oder einer CD zu starten.

Ende der DLL-Hölle

Nicht zuletzt erhöht diese strikte Entkopplung von Betriebssystem und Anwendungen die Systemstabilität. Die Registry wird durch neue Programme nicht aufgebläht und man entgeht der berühmt-berüchtigten DLL-Hölle. Fehlerhaft programmierte Software kann das System kaum lahmlegen und vom Anwender kaputtkonfigurierte Umgebungen lassen sich ohne großen Aufwand wieder in den Originalzustand zurücksetzen. Und sollte doch einmal das Betriebssystem, zum Beispiel wegen eines Hardware-Defekts, neu aufgespielt werden müssen, stehen die Anwendungen sofort wieder bereit, da sich diese ja ohne vorherige Installation sofort über das Netz starten lassen.

Der Knackpunkt ist hierbei, dass vom Anwender vorgenommene Konfigurationen dann wieder verfügbar sind. Nach Möglichkeit sollten diese Einstellungen auch auf mehreren Arbeitsplatzrechnern zugänglich sein. Hier verfolgen die einzelnen Lösungen unterschiedliche Ansätze. Eine Möglichkeit besteht darin, Konfigurationsänderungen im Benutzerprofil abzulegen. Die entsprechenden Daten und Registry-Einträge werden dabei vom Rest des Profils mit der jeweiligen Virtualisierungstechnik isoliert. Diese Lösung kommt aber nur in Frage, wenn mit Server-basierten Benutzerprofilen gearbeitet wird.

Wohin mit den Benutzereinstellungen?

Einen Schritt weiter gehen Ansätze, die Benutzerdaten zusammen mit der virtualisierten Anwendung auf dem Server speichern können. Änderungen an der virtuellen Umgebung werden in diesem Fall mit einer Serverkomponente synchronisiert. Bei diesem Verfahren ist es dann auch möglich, dass Benutzer selbst Add-ins installieren oder die Applikation aktualisieren, ohne dass Administratorrechte erforderlich wären.

Einige Tools erlauben es dem Systemverwalter, solche Erweiterungen in einem eigenen virtuellen Paket abzulegen. Bei ausgefeilteren Lösungen wie der von InstallFree kann man dann zentral festlegen, welche Anwender ein bestimmtes Plug-in angeboten kommen. Zum Beispiel lässt sich so auf Knopfdruck bei diesen Benutzern der aktuelle Adobe Reader oder die Google Toolbar in den Web-Browser integrieren. Diese Technik eignet sich auch dazu, ein für die Anwendung notwendiges Framework bereitzustellen. Das ermöglicht dann beispielsweise die Verknüpfung einer Java-Applikationen mit der passenden Laufzeitumgebung.