Virtuelle Maschinen für spezielle Aufgaben? Achtung: Langzeitgedächtnis!

Möchte man Aufgaben auf dem privaten PC trennen, so bieten sich virtuelle Maschinen unter VirtualBox oder vmware an. Es ist also möglich, dass für das Surfen im Web mehrere virtuelle Maschinen erstellt werden oder für Einzelaufgaben – z.B. Homebanking mit HBCI, die Facharbeit, Softwareentwicklung, Multimedia – verschiedene virtuelle Systeme in Betrieb genommen werden. Sicherlich gibt es für Laien einige Hürden zu Meistern: welches System soll verwendet werden? Auch Patches, Updates und nicht zuletzt die Sicherung der angefallenen Daten müssen durchdacht sein. Aber funktioniert das Biotop so hat man getrennte Systeme für spezielle Aufgaben.

Die Vorteile, die sich daraus ergeben: Am Internetzugang können die Daten einzelner Maschinen aufgrund z.B. der IP-Adresse unterschieden werden und geblockt werden: Die Perimeterserver von Microsoft dürfen nicht kontaktiert werden oder nur Webdaten Port HTTP/HTTPS dürfen passieren. Dann können die Maschinen einfach gesichert werden: Backup-Festplatte einschalten bzw. NAS verbinden und Files regelmäßig kopieren. Zudem können die virtuellen Maschinen auf Basis des Betriebssystems verschlüsselt werden. Linux bietet hier dm-crypt und für Windows gibt es VeraCrypt oder Bitlocker. So kann auch ein Transport über USB erfolgen. Es könnte der komplette Container mit samt virtuellen Festplatten in einem Archiv mit Kennwort gesichert werden – als Transportsicherung. Das Starten und Stoppen der Systeme dauert auf aktueller Hardware nur Sekunden. Letztlich verteilt man Sicherheit und das lokale, pyhsikalische System dient im Allgemeinen als Host. Trotz der vielen Vorteile muss das Langzeitgedächtnis virtueller Maschinen beachtet werden.

Virtuelle Maschinen unter VirtualBox

Wir legen uns also für verschiedene Aufgaben mehrer virtuelle Machinen an. Angenommen eine Maschine dient nur zum Surfen im Internet. Ein Linux-System wie Debian und Firefox reichen hier völlig aus.

thomas-zehrer_vbox_01Bild: VirtualBox mit mehreren virt. Maschinen

Mit der Virtualisierungssoftware VirtualBox kann das System nach wenigen Minuten betriebsbereit hergestellt werden. Dabei ist auch ein Webclient: surfen, Multimedia, youtube, AddOns – alles sofort verfügbar.

Achtung: Langzeitgedächtnis!

Wie steht es jetzt um die Sicherheit der Daten in dieser Maschine? Ein Test zeigt Potential zur Vorsicht! Startet man die Maschine, z.B. surfing und gibt im dortigen Firefox Zeichen ein, so versucht der Client denServer:

thomas-zehrer_vbox_03

Bild: VirtualBox und Firefox: Zugriff auf Server

Das klappt nicht da es die Adresse thomas-zehrer.de zwar gibt, jedoch nicht den Teil der URL trallalla – aber egal an dieser Stelle. Beendet man die Maschine durch Ruhezustand oder einen Shutdown und untersucht selbige in einem Hex-Editor (ich verwende den kostenlosen HxD von Mael Hoerz da dieser auch mit sehr großen Dateien umgehen kann) so kommen genau die eingegebenen Daten zum Vorschein:

thomas-zehrer_vbox_04

Bild: Die virt. Festplatte im HexEditor HxD

Die virtuelle Maschine hat also ein Gedächtnis. Exkurs: Funktioniert das auch mit Dateien? Extrapoliert man das Verhalten, so bekommt man einen guten Überblick über die Filehistorie: So könnte man mit OpenOffice eine test.docx erstellen und auf dem Desktop ablegen: Informationen dafür im HxD:

thomas-zehrer_vbox_05

Nach dem Löschen in den Trash: Informationen dafür im HxD:

thomas-zehrer_vbox_06

Nach dem Löschen aus dem Trash: Daten persistent:

thomas-zehrer_vbox_07

Nochmals Achtung: Daten persistent!

Verschiedene Tests mit den Daten im Client ergeben: Datei und Daten im Binärfile bleiben bestehen! Am Beispiel der Browserhistorie: Löschen der Browserhistorie mit samt Cookies, Reboot der Maschine, Update Client: nach allen Standardaktionen konnten die Daten nach einem Shutdown im Binärfile weiter festgestellt werden!

Abhilfe schaffen.

Abgesehend davon, dass bestimmte Daten mit besonderer Vorsicht zu behandeln sind (Patientendaten, Daten zu Krankheiten, religiöse Zugehörigkeiten, politische Meinungen) stellt sich die Frage, wie obiges Risiko minimiert werden kann? Gegen wen oder was sollen die Daten geschützt werden? Offensichtlich gegen physikalischen Zugriff auf die Maschinendaten oder eine Software “Schädling”, der über ein Speicherabbild Daten Dritten zur Verfügung stellt. Speicherabbild-Dateien werden während der Laufzeit erzeugt und geben ein Snapshot des laufenden Systems wieder – vergleichbar mit dem physikalischem File. Die Speicherabbilder können über den Taskmanager in Windows erzeugt werden.

Zunächst sollte der physikalische Zugriff auf das Host-System durch Verschlüsselung beschränkt werden. Wie oben angemerkt könnte das VeraCrypt oder dm-crypt sein. Dann sollten die virtuellen Maschinen ebenfalls durch Verschlüsselung abgesichert werden. Verschlüsselt man die hdd-Container unter dem virt. Linux bei der Installation mit dm-crypt bzw. Windows mit VeraCrypt so können diese Offline nicht mehr analysiert werden.

Es bleiben noch die Snapshots wenn das System lediglich in den Ruhezustand gefahren wird: Systeme dürfen nicht mehr in den Energiesparmodus oder den Ruhezustand versetzt werden. Die daraus folgenden Files sind wiederum lesbar! Werden trotzdem Dateien um das virtuelle System herum erstellt, so müssen diese über einen Eraser-Task regelmäßig geshreddert werden. Am Ende müssen lange Kennwörter vergeben werden. Es ist mittlerweile der Standard, sog. secret phrases zu setzen, d.h. unheimlich lange Passwörter, meist Wörter aneinander gereiht mit Sonderzeichen und Ziffern. Das gilt für die Verschlüsselung ebenso wie für das Userkonto in der virtuellen Maschine.

Als oberstes Gebot steht die Erstellung eines Backups: wenn die virtuelle Maschine beschädigt wird, sind die Daten weg. Und sind die Host-Festplatten oder die virtuellen Datenträger verschlüsselt, so kann man mit hoher Wahrscheinlichkeit die Daten schlicht abschreiben.