Windows-Apps isolieren mit Sandboxie Plus
Warum sollte ich es nutzen?
Vorteile:
- verhindert Datenmüll
- schützt vor Veränderungen am System (z.B. Verschlüsselung der Daten, Änderungen an der Registry, …)
- geringe Systemanforderungen (im Gegensatz zu einer virtuellen Maschine)
- schützt vor der Auslesung des RAMs außerhalb der Sandbox
- Sandbox kann das aufnehmen von Screenshot verhindern (Experimentel)
- Zugriff auf Kamera und Mikrofon verhindern
- Datenschleudern einsperren
- Schutz vor:
- (Software-)Keyloggern
- Verschlüsselungs-Malware (Ransomware)
- Trojanern
- …
Nachteile:
- funktioniert nur unter Windows
- nicht jede Software lässt sich in einer Sandbox installieren/ausführen
- Malware kann herausfinden, dass sie sich in einer Sandbox befindet und sich dann unauffällig verhalten
- Zugriff auf Kamera und Mikrofon kann nicht freigegeben werden
- Programme in einer Sandbox können Prozesse außerhalb der Sandbox sehen
Was bedeutet Sandbox?
Eine Sandbox ist wie ein „Gefängnis“ für ein Programm. Das Programm wird eingesperrt/isoliert und man kann festlegen worauf die Sandbox, und damit das darin laufende Programm, zugreifen darf. In der Sandbox hat das Ausnutzen von Sicherheitslücken im Idealfall keine Auswirkungen auf das System.
Sandboxie Classic/Plus
Sandboxie ist ein Open Source Programm mit dem man unter Windows andere Programme in eine Sandbox packen kann. Es gibt zwei Versionen von Sandboxie, Sandboxie Plus und Sandboxie Classic. Sandboxie Plus hat im Gegensatz zu Sandboxie Classic eine modernere Oberfläche mit mehr Einstellungsmöglichkeiten, daher sollte man immer Sandboxie Plus installieren. In diesem Tutorial gehe ich auch ausschließlich auf die Kostenlose Version ein, da diese oft schon ausreicht. Wer jedoch mehr Funktionen will oder den Entwickler unterstützen möchte, kann ein Zertifikat kaufen oder dem Entwickler spenden.
Installation
Herunterladen kann man sich Sandboxie Plus von von Github. Dort beim „Latest Release“ die Sandboxie Plus Variante downloaden und ausführen. Danach dem Installationsassistenten folgen bis man gefragt wird ob das Programm installiert oder für die portable Nutzung extrahiert werden soll. „Extrahiere alle Dateien in einen Ordner zur tragbaren Verwendung“ auswählen, warum man das machen sollte habe ich im Artikel Langzeitnutzung erklärt. Als letztes legt man den Pfad fest in dem die Dateien extrahiert werden sollen und das Programm wird installiert.
Erster Start
Um Sandboxie nach der Installation zu starten geht ihr in den Sandboxie-Plus Ordner und startet die Datei Sandman (Sandman heißt die GUI von Sandboxie Plus). Es kommt eine Meldung die besagt das Sandboxie seine Dienste starten muss was Admin-Rechte benötigt, bestätigt dies. Jetzt kommt noch eine Meldung das Sandboxie im Portablen Modus gestartet wird und man kann auswählen wo die Ordner der Sandboxen gespeichert werden sollen. Klick auf ja oder nein und wählt dann „Diese Nachricht nicht mehr anzeigen.“, da die Nachricht sonst bei jedem Start aufpoppt.
Folge dem Einrichtungsassistenten und wähle bei Benutzeroberfläche „Erweiterte Nutzeroberfläche für Experten“. Danach kann man auswählen ob Sandboxie mit Windows gestartet werden soll, hake das am besten an, genauso wie „Füge Starte Sandgeboxt zum Kontextmenü des Explorers hinzu“ (damit kann man per Kontextmenü (was mit rechtsklick auf die Datei aufgerufen wird) eine Datei in einer Sandbox starten). Zum Schluss legt man noch fest ob regelmäßig auf Updates geprüft werden soll.
Das letzte was getan werden muss ist bei einem aufpoppendem Fenster „Zukünftig nicht auf Softwarekompatibilität prüfen“ an zu haken und auf ok zu drücken.
Einrichtung
Nach der Installation muss Sandboxie noch eingerichtet werden. In die Einstellungen kommt man über Einstellungen > Globale Einstellungen oder in dem man auf klickt.
Links sind die unterschiedliche Reiter und Oben mehrere Tabs. Zur Einfachheit werde ich zuerst den Reiter und danach den Tab nennen.
Unter Generelle Konfiguration > Generelle Optionen (wo man automatisch landet wenn die Einstellungen geöffnet werden) empfehle ich „Berechne und zeige den Festplattenspeicherplatz an, der von jeder Sandbox verwendet wird“ und „Führe Boxoptionen asynchron aus, wenn möglich“ an zu haken. Damit könnt ihr sehen wie viel Speicherplatz eine Sandbox einnimmt und durch asynchrone Boxoperationen kann Sandboxie ressourcenschonender Arbeiten.
Im Reiter Menüintegration und dem Tab Windows-Shell kann ganz unten festgelegt werden wie ein in einer Sandbox installiertes Programm in das Hauptmenü integriert werden soll. Es gibt 3 Möglichkeiten:
- Links nicht integrieren: Programme werden nicht in das Hauptmenü integriert
- Als Untergruppe: Programme sind in einem separaten Ordner im Hauptmenü
- Vollständig integriert: Programm wird ganz normal integriert
Wählt aus was euch am besten gefällt. Keine Option bietet mehr Sicherheit als die andere. Wer es einfach haben möchte (so wie ich ) nimmt die Option „Vollständig integriert“.
Den Rest der Einstellungen kannst du dir gerne angucken, ich persönlich habe daran aber nichts geändert.
Sandboxen
Nach der Installation gibt es eine Sandbox die DefaultBox heißt. Ich würde nicht empfehlen diese Sandbox zu nutzen da sie nicht wirklich sicher eingestellt ist, deswegen legen wir selber eine Sandbox an. Geh unter „Sandbox“ oder per Kontextmenü auf „Neue Sandbox erstellen“. Jetzt kann man sich einen Namen ausdenken und den Boxtypen wählen. In der kostenlosen Variante kann man nur die Standard Sandbox auswählen. Falls man etwas anderes auswählt wird die Sandbox nach 5 Minuten beendet.
Wähle „Konfiguriere erweiterte Optionen“ und klicke dann auf weiter.
Auf der nächsten Seite gibt es die Option „Trenne Benutzerordner“. Falls man mehrere Benutzerkonten auf dem PC hat und ein Programm mit unterschiedlichen Benutzern in der gleichen Sandbox startet, wird für jeden Benutzer ein neuer Ordner in der Sandbox erstellt.
Auf der Seite kann man auch auswählen ob der Inhalt der Sandbox nach dem Beenden des letzten Prozesses geleert werden soll. Das kann nützlich sein wenn man z.B. den Browser darin startet, um sicher zu sein das wirklich alle Cookies usw. gelöscht sind.
Die letzte Option heißt „aktiviere Sofortwiedereherstellung“. Diese Funktion sorgt dafür das man gefragt wirdob eine Datei oder einen Ordner aus der Sandbox auf das Host-System übertragen werden soll. Klingt praktisch ist im Alltag aber sehr lästig weswegen das auch deaktiviert werden sollte.
Auf der nächsten Seite kann man einstellen ob die Sandbox Internetzugriff haben darf, für diese Sandbox würde ich den Zugriff verweigern. Es gibt auf der Seite noch die Funktion „Die Rechte der Administratoren und Hauptbenutzergruppe einschränken“. Aktiviere diese Funktion. Darunter findet man die Funktion „Lasse Programme denken, sie würden mit erhöhten Rechten laufen“, sie sorgt dafür das Programme in der Sandbox denken sie würden Adminrechte haben (was nicht der fall ist). Damit kann man Programme installieren die Adminrechte benötigen.
Die nächste Seite kann übersprungen werden und dann wurde die Sandbox auch schon erstellt.
Nun muss die Sandbox aber noch richtig konfiguriert werden. Dafür macht man einen rechtsklick auf die Sandbox und geht auf Sandboxeinstellungen.
[…]
Im Reiter „INI Sektion bearbeiten“ kannst du folgendes hinzufügen (egal welche Zeile) um den Zugriff auf USB-Speichermedien zu blockieren:
ClosedFilePath=A:\
ClosedFilePath=B:\
ClosedFilePath=D:\
ClosedFilePath=E:\
ClosedFilePath=F:\
ClosedFilePath=G:\
ClosedFilePath=H:\
ClosedFilePath=I:\
ClosedFilePath=J:\
ClosedFilePath=K:\
ClosedFilePath=L:\
ClosedFilePath=M:\
ClosedFilePath=N:\
ClosedFilePath=O:\
ClosedFilePath=P:\
ClosedFilePath=Q:\
ClosedFilePath=R:\
ClosedFilePath=S:\
ClosedFilePath=T:\
ClosedFilePath=U:\
ClosedFilePath=V:\
ClosedFilePath=W:\
ClosedFilePath=X:\
ClosedFilePath=Y:\
ClosedFilePath=Z:\
Jetzt ist die Konfiguration der Sandbox abgeschlossen. Um zu prüfen ob du die Sandbox wie in diesem Tutorial konfiguriert hast, vergleichst du den Text im Reiter „INI Sektion bearbeiten“ mit dem hier:
Enabled=y
BorderColor=#076fee,ttl,2
Template=BlockPorts
Template=BlockTelemetry
Template=AutoRecoverIgnore
Template=BlockDNS
Template=BlockAccessWMI
ConfigLevel=10
UseFileDeleteV2=y
UseRegDeleteV2=y
DropAdminRights=y
NeverRemove=y
NormalKeyPath=*
NormalFilePath=C:\
NoRenameWinClass=*
NoRenameWinClass=Shell_TrayWind
NoRenameWinClass=#
FakeAdminRights=y
NetFwTrace=*
BlockNetworkFiles=y
ClosedFilePath=A:\
ClosedFilePath=B:\
ClosedFilePath=D:\
ClosedFilePath=E:\
ClosedFilePath=F:\
ClosedFilePath=G:\
ClosedFilePath=H:\
ClosedFilePath=I:\
ClosedFilePath=J:\
ClosedFilePath=K:\
ClosedFilePath=L:\
ClosedFilePath=M:\
ClosedFilePath=N:\
ClosedFilePath=O:\
ClosedFilePath=P:\
ClosedFilePath=Q:\
ClosedFilePath=R:\
ClosedFilePath=S:\
ClosedFilePath=T:\
ClosedFilePath=U:\
ClosedFilePath=V:\
ClosedFilePath=W:\
ClosedFilePath=X:\
ClosedFilePath=Y:\
ClosedFilePath=Z:\
ClosePrintSpooler=y
OpenClipboard=n
CopyLimitKb=-1
ClosedIpcPath=\
OpenWinClass=*/IgnoreUIPI
BlockInterferePower=y
ForceProtectionOnMount=n
IsProtectScreen=n
IsBlockCapture=y
NotifyInternetAccessDenied=n
BlockScreenCapture=y
AllowNetworkAccess=!<InternetAccess>,n
HideNonSystemProcesses=y
Je nachdem ob du eine Option nicht wie ich beschrieben eingestellt hast kann eine Zeile verändert, verschwunden oder hinzugekommen sein. Im großen und ganzen sollten sie aber übereinstimmen.
Diese Sandbox kann anschließend auch als Standard Sandbox konfiguriert werden. In den Globalen Einstellungen unter Erweiterte Konfiguration und dort als „Standard Sandbox“ die auswählen die du gerade erstellt hast.
Falls du nun ein Programm Sandboxen möchtest kannst du einfach die Standard-Sandbox duplizieren. Mache einen Rechtsklick auf die Sandbox und gehe unter Sandboxwerkzeuge auf Dupliziere Boxkonfiguration. Die duplizierte Sandbox kannst du jetzt so einstellen das sie für das Programm passt (z.B. Internet-Zugang freigeben).
Erweiterungen
Sandboxie bietet die Möglichkeit Erweiterungen zu installieren. Die Erweiterungen in den Globalen Einstellungen unter Erweiterungsmanager > Optionale Erweiterungen bieten keine großen Änderungen oder benötigen ein Zertifikat, weswegen ich davon abrate sie zu installieren (z.B. ImDisk benötigt ein Zertifikat und ist schwer wieder zu entfernen).
Mit den Erweiterungen die auf Github verlinkt wurden habe ich keine Erfahrung, wer Erfahrung hat kann sie gerne schreiben.
Programm in Sandbox starten
Wenn ein Programm in einer Sandbox installiert wurde, wird es auch immer in dieser Sandbox ausgeführt. Falls ein Programm aber schon auf dem Host installiert ist kann man auch ein Programm „zwingen“ in einer Sandbox zu starten. In den Einstellungen der jeweiligen Sandbox im Reiter Programmkontrolle und dem Tab Erzwungene Programme kann man den Namen der Datei angeben welches in der Sandbox gestartet werden soll. Zukünftig wird das Programm immer in der Sandbox gestartet.
Langzeitnutzung
Nach einiger Zeit Nutzung von Sandboxie Plus (ca. 170 Tage) werdet ihr eine Meldung erhalten das die Programme verzögert starten werden, damit ihr Zeit habt euch zu überlegen ob ihr euch ein Zertifikat holt. Da du Sandboxie nur Portabel Installiert hast kannst du die Sandboxie.ini aus dem Ordner Sandboxie-Plus irgendwo anders zu sichern, und dann den Sandboxie-Plus Ordner ganz einfach zu entfernen. Danach installiert ihr Sandboxie neu, gebt bei der Installation den Ordner an wo eure Sandboxen gespeichert sind, und überschreibt die Sandboxie.ini mit der die du zuvor gesichert hast.
Wichtig ist das unter Optionen > Globale Einstellungen > Erweiterte Konfiguration > Sandboxie Konfiguration, bei Sandboxstandard bei Sandbox Dateisystemquelle der Ordner eurer Sandboxen angegeben ist, sollte der nicht stimmen habt ihr die ganzen Programme aus den Sandboxen vor der Neuinstallation nicht mehr.
Das klingt erst einmal nach viel Arbeit, ist aber in höchstens 10 Minuten geschafft.
INI
Die Globalen Einstellungen sowie die Einstellungen jeder einzelnen Sandbox werden in der Sandboxie.ini gespeichert. In der Datei werden aber nur (!) die Abweichungen vom Standard gespeichert. In den Einstellungen einer Sandbox im Reiter „INI Sektion bearbeiten“ wird nur der Teil der Sandbox aus der INI angezeigt.
Was sollte ich Sandboxen?
Prinzipiell so viel wie möglich. Vor allem Programme die gefährdet sind, weil sie z.B. viel mit Dateien aus dem Internet arbeiten (Browser, Mail-Programm, Mediaplayer, Bildbearbeitungsprogramme, PDF-Viewer, Office, …) und Datenschleudern wie z.B. Edge (wenn man es nicht deinstallieren möchte). Falls es weitere Datenschleudern auf dem System gibt kann man diese in der gleichen oder in einer angepassten Sandbox starten und so auch den Datenschutz etwas erhöhen.
Was sollte ich nicht Sandboxen?
Programme die Zugriff auf das Host-System benötigen wie Portmaster sollte und kann man meistens nicht sandboxen. Viele AntiCheat Programme können auch nicht in einer Sandbox gestartet werden, da kann man wenigstens alle Unterprozesse in eine Sandbox stecken.
Sandboxie Plus Links
Quellen
https://www.heise.de/tests/Programme-unter-Windows-isolieren-Sandboxie-Plus-im-Test-7271191.html
https://de.wikipedia.org/wiki/Sandboxie