Was ist eine Sandbox? Definition, Tools + Alternative einfach erklärt

Sandbox in der Software-Entwicklung? Keine Ahnung!

Ich bringe Dir die Sandbox in diesem Post näher.

+ Praxis Tutorial, um eine Sandbox zu erstellen und zu nutzen.

Was ist eine Sandbox?

Eine Sandbox ist ein isolierter Bereich in einem Computer. Jede Datenverarbeitung innerhalb der Sandbox hat keine Auswirkungen auf das äußere System. Eine Sandbox dient zum geschützten Testen von Software.

04 VirtualBox ist cool - Was ist Sandbox - Coding Lab Steffen Lippke Tutorials
04 VirtualBox ist cool – Was ist Sandbox – Coding Lab Steffen Lippke Tutorials

Anwendung von Sandboxen

Neben dem Testen von Software verwenden Entwickler Sandboxen für …

  • … das Testen von selbst-programmierter Software
  • … das Überprüfen von Programme auf Malware-Eigenschaften
  • … den Betrieben von verschiedenen Betriebssystemen parallel
  • … die Sicherstellung der Stabilität einer Systemlandschaft (Kubernetes)
  • … das Vermeiden von Schaden am Hauptsystem
  • … die Trennungen von Arbeits- (Office) und Entwicklungsumgebung (Programmieren)
  • … das Nutzen von Betriebssystem-exklusiven Anwendungen: Office läuft nur auf Mac und Windows – auf Linux nur bedingt, macOS beansprucht Final Cut Pro und Xcode für sich alleine, Docker funktioniert nur „gut“ auf Linux…

Wie große Software-Unternehmen Sandboxes nutzen

Stell Dir vor, Du hast im Keller einen starken Streaming-Server für all Deine Katzen-Videos.

Dieser bedient parallel 10.000 Clients. 1 Client (Hacker Heino) sendet eine ungewöhnlich geformte Anfrage, die den Server zum Absturz bringt. Bei den anderen 9.999 Clients bricht die Streaming-Verbindung ab L.

Du versuchst den Server wieder online zu bekommen. Das Hochfahren mit allen notwendigen Programmen dauert 5 Minuten. Die 9.999 Nutzer beschweren sich mit bösen E-Mails bei Dir…

Was passiert, wenn Du nur 1 Server pro Client nutzt? Wenn der Hacker seinen Server zu Fall bringt, dann bleiben die anderen Server unberührt. Anstatt 10.000 physische Server aufzustellen, nutzen die Admins 10.000 Sandboxen, die auf einem großen physischen Server laufen.  Das Programm Kubernetes kann 1000nd Sandboxen managen.

Sandbox – alle Vor- und Nachteile

Wieso brauche ich eine Sandbox? Hier sind ein paar Gründe dafür und dagegen:

Vorteile – Gründe eine Sandbox zu nutzen

  • Falls Du beim Testen das Betriebssystem zerstörst, tauschst Du die Sandbox (in wenigen Minuten) aus.
  • Du musst nicht die anderen Nutzdaten auf dem Test-Computer riskieren, weil die Sandbox einen abgetrennten Festplatten-Speicher und Hauptspeicherbereich zu gewiesen bekommen hat.
  • Teste mit verschiedenen Versionen eines Betriebssystems Deine Software, um die Up- und Down-Kompatibilität zu testen (Windows XP, Windows 7, Windows 10 usw.)

Nachteile – Sandboxen sind keine Universallösung

  • Die Einrichtung ohne Sandbox-Datei kann länger dauern
  • Die Sicherungsdateien einer Sandbox sind groß (ein Linux mit einer Entwicklungsumgebung entspricht bei mir 30 + GB)
  • Die Sandboxen sind nur für leistungsstarke Maschinen geeignet, weil diese das Gast- und Host- Betriebssystem gleichzeitig ausführen. Dein Computer braucht min. 8 GB Hauptspeicher (RAM) und min. freie 50 GB Festplattenspeicher (am besten SSD).
  • Das Anhalten einer virtuellen Maschine im laufenden Prozess dauert lange, weil der Hauptspeicher seinen gesamten Inhalt auf die Festplatte schreibt.

Alternativen für Sandboxen

Verwende das Windows Subsystem für Linux (WSL) zum Programmieren, Testen und Spiel mit Linux.

Windows WSL Sandbox Alternative
Windows WSL Sandbox Alternative

Ubuntu, Open Suse, Debian, Kali Linux und Intel Clear Linux kannst Du in der WSL installieren und für jegliche Aufgaben nutzen. Viele Verbesserungen mit eigenen Kernel bringt WSL 2 mit sich (Windows 10 Version 2004).

Die WSL dient zur nativen Ausführung von Linux Programmen auf Windows. Wenn Du nach einer robusten Entwicklungsumgebung suchst und auf Office nicht verzichten kannst, nutze die WSL. Eine WSL arbeitet performanter mit weniger System-Ressourcen als ein komplettes Linux.

Linux User können sich in WSL 2 auf einen vollständigen Linux Kernel mit allen klassischen Linux-Befehlen freuen.

Tutorial für die Windows Sandbox

Bevor Du Dir VMware oder VirtualBox herunterlädst, verwende die Windows eigene Sandbox (ab Windows 10 Version 1903), wenn Du nur ein kleines Programm testen willst:

  1. Überprüfe mit dem Task Manager, ob die Virtualisierung eingeschaltet ist
    Leistung > CPU > Beschreibung unten
    00 Taskmanager - Was ist Sandbox - Coding Lab Steffen Lippke Tutorials
  2. Optional: Aktivere die Virtualisierung in Deine BIOS (Geräte-spezifisch)
  3. Suche in den Programmen „Optionale Features“
    01 Windows Features - Was ist Sandbox - Coding Lab Steffen Lippke Tutorials
  4. Setze den Harken bei Windows Sandbox
  5. Starte den Computer neu
  6. Suche nach der Windows Sandbox
  7. Starte die Sandbox mit den Admin-Rechten
  8. Beachte: Nach dem Schließen reinigt sich die Sandbox komplett und kein Programm oder Datei ist mehr verfügbar. Die Sandbox ist nur zum Testen gedacht

Voraussetzungen zur Nutzung von Sandboxen

Dein Windows-Rechner (Host-OS) sollte für ein virtualisiertes, durchschnittliches Linux (Linux Mint, Arch Linux, Debian usw.) mind. 8 GB Arbeitsspeicher und mind. 50 GB SSD mitbringen. Eine HDD verlangsamt das Starten, Stoppen und Bedienung des Linuxes.

Bedenkt: Wenn Du vorhast das Gast-OS länger zu nutzen, plane ausreichend Festplatten-Speicher (Programme + Nutzdaten) ein. Eine Speichervergrößerung ist nicht immer möglich bzw. nicht einfach durchzuführen.

Die Virtualisierung mit der Hyper-V in Windows muss angeschaltet sein.

Sandbox Software für die Praxis

Eine Auswahl an kostenlosen Sandboxen kannst Du im Internet downloaden und finden.

  • VMware entwickelt Virtualisierungssoftware (Cloud Computing) für Linux, Windows und Mac. Mit einem Umsatz von 9 Mrd. Dollar in 2018 stellt VMware den Hypervisors (Virtual Machine Monitor) her.
  • VirtualBox gilt als die kostenfreie Alternative zur VMware für x86, AMD64 und Intel64. Die Software ist mit GPLv2 für alle bekannten Betriebssysteme lizenziert (Copyleft).
  • KVM (Kernel-based Virutal Machine) ist eine Virtualisierungslösung für x86-Hardware mit Intel-VT- and AMD-V-Erweiterungen.
  • Der Quick Emulator (QEMU) ist ein Open Source Hypervisor mit Hardware.
  • Windows Sandbox ist ab Windows 10 Version 1903 für jeden verfügbar.

„Wie soll ich eine Sandbox in VMware erstellen?“ – Ich habe zu VMware ein ausführliches Schritt-für-Schritt-Tutorial entwickelt, welches Du für die Einrichtung Deiner Sandbox nutzen kannst.

Bevor Du anfängst, VMware oder VirtualBox einzurichten, überlege, ob ein fertiges Image mit allen Einstellungen für Deine Bedürfnisse ausreicht. Jemand anderes kann bereits ein VMware-Image mit Deinem Wunsch-Betriebssystem in der neusten Version hochgeladen.

Meine Tipps zum Testen verscheiden Betriebssysteme

Was sind gute Betriebssysteme, die nichts kosten? Teste doch mal …

  • Du brauchst es modern, schnell und elegant? – Nutze Elementary OS.
  • Hacker lieben Kali Linux mit vielen guten Configs.
  • Ein vielseitiges Betriebssystem ist Linux Mint mit großer Community.
  • Verwende das leicht gewichtiges Arch Linux zum Selbst werkeln

Bonus: Effektiver Schutz gegen Virus + Torjaner – Malware Sandbox

Stell Dir vor, Du brauchst einen neuen Video-Player aus dem Netz. Du gehst auf eine Download-Plattform und lädst Dir den nächsten Player runter, der Deinen Vorstellungen entspricht.

  • Wer sagt, dass der Download Malware-frei ist?
  • Traust Du der Download-Plattform blind die Sicherheit Deines Computers an?

Wenn das Programm mit Admin-Rechten eine Malware ist, dann sage Bye-Bye zu Deinen Daten und Deinem Betriebssystem. Falls Du ein Offline-Backup hast, kannst Du viele Daten retten, aber nicht alle.

Nutze eine Malware Sandbox! Teste nicht-vertrauenswürdige Software auf einem isolierten System aus, bevor Du versuchst das Programm auf Deiner Host-OS zu installieren! Hier ein paar Malware-Sandboxen:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.