Was ist eine Sandbox-Umgebung? Kurze Übersicht (2023)

Von Tibor Moes / Aktualisiert: Juli 2023

  Was ist eine Sandbox-Umgebung? Wofür wird sie verwendet?

Was ist eine Sandbox-Umgebung?

Viele Menschen hören den Begriff “Sandkastenumgebung” und denken sofort an riesige virtuelle Räume, in denen sie erschaffen und tun können, was sie wollen. Aber obwohl die Spieleindustrie diesen Begriff populär gemacht hat, kann er auch eine ganz andere Bedeutung haben. In der Entwicklungs- und Cybersicherheitsbranche gehören Sandbox-Umgebungen zu den wertvollsten Tools.

Zusammenfassung

  • Eine Sandbox-Umgebung ist eine Test- oder Staging-Infrastruktur, die eine Produktionsumgebung genau simuliert, aber isoliert ist, um zu verhindern, dass sich Änderungen auf die realen Systeme auswirken, was ein sicheres Erforschen, Lernen und Debuggen ermöglicht.
  • Sie ermöglicht es Entwicklern, Code zu erstellen, zu ändern und zu testen, ohne die betriebliche Integrität des Hauptprodukts zu gefährden und damit potenzielle Schäden zu mindern.
  • Weitere Anwendungen sind Schulungen zur Cybersicherheit, bei denen eine kontrollierte Umgebung für die Analyse von bösartigem Code und die Erforschung von Verteidigungsstrategien zur Verfügung steht, sowie die Ausbildung, bei der Studenten lernen und experimentieren können, ohne erhebliche Auswirkungen befürchten zu müssen.

Werden Sie kein Opfer von Cyberkriminalität. Schützen Sie Ihre Geräte mit dem besten Antivirenprogramm und Ihre Privatsphäre mit dem besten VPN-Dienst.

Was ist eine Sandbox-Umgebung?

Eine Sandbox-Umgebung ist ein Begriff aus der Entwicklungs- und Cybersicherheitsbranche und bezeichnet etwas, das eine Benutzer-Betriebsumgebung nachahmt und die Ausführung, Validierung und Visualisierung verschiedener Arten von Code ermöglicht. Aufgrund ihrer isolierten Natur bietet eine Sandbox-Umgebung Sicherheit und verhindert, dass der Code mit dem zugrunde liegenden System interagiert, selbst wenn er ausgeführt wird.

Stellen Sie sich Sandbox-Umgebungen als sichere Testräume vor, in denen Cybersicherheitsspezialisten und Programmierer verschiedene Variablen und Codezeilen testen können, um herauszufinden, wie eine Software funktionieren könnte.

Die isolierte Natur einer Sandbox bedeutet, dass dem Rechner, auf dem die Umgebung läuft, kein Schaden zugefügt werden kann, selbst wenn etwas schief geht. In gewisser Weise ist sie die perfekte Methode, um nicht vertrauenswürdigen Code zu überprüfen, der in ein Netzwerk gelangen könnte. Dies geschieht, indem der Zugriff auf Systemdaten und -ressourcen begrenzt und eingeschränkt wird.

Beispiele für Sandbox-Umgebungen

Windows 10 war das erste Microsoft-Betriebssystem (OS), das eine integrierte Sandbox-Umgebung enthielt. Dabei handelt es sich um einen isolierten Testbereich, der als zusätzliche Verteidigungsschicht gegen nicht vertrauenswürdigen Code dient, der über Dateiübertragungen in das System gelangt.

HTML5 verfügt außerdem über eine Sandboxing-Funktion, die den Missbrauch von Iframes verhindert, die häufig zur Verbreitung von verdächtigem Code im Internet verwendet werden.

Ein weiteres Beispiel ist die Sandbox-Umgebung, die mit der Google Sandbox API geliefert wird. Dies ist ein sicherer Raum für Softwareentwickler, die C++-Code testen möchten, bevor sie ihn in die Produktionsumgebung eingeben.

Wie eine Sandbox-Umgebung funktioniert

Eine Sandbox ist oft ein Test- oder Entwicklungsserver, der sichere Patch-Tests, Funktionsentwicklung, Schwachstellen-Scans, Fehlerbehebung und vieles mehr ermöglicht.

In der Cybersicherheit kann die Sandbox-Umgebung Malware proaktiv aufspüren, statt wie herkömmliche Netzwerksicherheitstools reaktiv. Der Vorteil ist, dass bösartiger Code ausgeführt werden kann, um seine Natur zu bestimmen, bevor der Code mit dem Betriebssystem interagieren kann.

Ein Sandbox-Testbereich kann alles widerspiegeln, was eine Produktionsumgebung in Echtzeit tun kann.

Standard-Sandbox-Funktionen

Jede Sandbox-Umgebung sollte mindestens drei wichtige Funktionen enthalten.

  • Virtualisierte Umgebung
  • Vollständige System-Emulation
  • Ziel-OS-Emulation

Eine virtualisierte Umgebung bedeutet, dass das Sandboxing auf einem virtuellen Gerät durchgeführt wird, das keinen Zugriff auf die physischen Ressourcen des Host-Geräts hat.

Die Emulation eines vollständigen Systems bedeutet, dass die Sandboxing-Umgebung wie ein Computer oder ein mobiles Gerät aussieht, sich anfühlt und funktioniert.

Bei der Emulation des Zielbetriebssystems kann der getestete Code oder die Anwendung über ein virtuelles Gerät auf das Betriebssystem zugreifen. Das sollte aber immer noch keinen Zugriff auf Hardwarekomponenten und -ressourcen ermöglichen.

Arten von Sandbox-Umgebungen

Es gibt vier Sandbox-Umgebungen für die Cybersicherheit und die Softwareentwicklung, die bei verschiedenen Anwendungen entscheidende Vorteile bieten.

Umgebungen mit virtuellen Maschinen (VM)

Eine virtuelle Maschine ist in der Lage, ein Betriebssystem zu erstellen, das auf dem Host-Rechner und seinem vorhandenen Betriebssystem ausgeführt werden kann. Diese Umgebungen, die manchmal auch VM-Images genannt werden, können Code, Software, Ressourcenmanagement und andere Abhängigkeiten testen.

Die Erstellung einer virtuellen Maschine ist kein Kinderspiel. Sie erfordert Können, Zeit und viele Ressourcen. Daher ist dies keine empfehlenswerte Lösung für schnelle Testprojekte, auch wenn Sie damit gute Arbeit leisten können.

Große Projekte, die eine VM-Sandbox-Umgebung erfordern, laufen oft in VMware oder Microsoft Hyper-V. Kleinere Projekte laufen jedoch auch in einer einfachen Virtualisierungssoftware wie Oracle VirtualBox.

Eingebaute OS-Sandboxen

Eine integrierte Sandbox benötigt keine Virtualisierungssoftware, um einen isolierten Testbereich zu schaffen. Stattdessen ist sie mit einer Container-Technologie ausgestattet, die mit verschiedenen Betriebssystemen kompatibel ist.

Im Wesentlichen geben integrierte Betriebssystem-Sandboxen Entwicklern Zugang zu einer sauberen Kopie des Betriebssystems. Sie können Code ausführen und Anwendungen testen, bevor sie entscheiden, ob sie in das System des Host-Rechners übernommen werden sollen.

Die Windows Sandbox ist ein beliebter Sandbox-Bereich, der einfach einzurichten und für schnelle Tests bereit ist. macOS hat eine ähnliche integrierte Umgebung, die Apple Sandbox.

Container-Sandkästen

Die Container-Technologie speichert Dateien, Einstellungen und andere Komponenten einer Anwendung, damit diese in einer isolierten Umgebung getestet werden kann.

Die Verwendung von Containern ist im Gegensatz zu anderen Sandboxing-Techniken schwieriger. Sie sind nicht so gut davor geschützt, dass Malware in das Betriebssystem eindringt und die Systemeinstellungen beschädigt, es sei denn, sie werden von Entwicklern und Sicherheitsexperten fachmännisch konfiguriert.

Sandkasten-Programme

Sandbox-Programme sind eigenständige Anwendungen, die die Bedingungen der Produktionssoftware nachbilden können, während sie vom Hauptsystem isoliert bleiben.

Sie ermöglichen es Benutzern, Programme in Sandbox-Umgebungen auszuführen und ihr Verhalten zu testen. Beliebte Sandbox-Programme sind SHADE und BitBox.

Hauptanwendungen für Sandbox-Umgebungen

Sandboxing kann von jedem genutzt werden, der Anwendungen in einem sicheren und isolierten Raum testen möchte. In zwei Branchen werden Sandbox-Umgebungen stärker genutzt als in anderen.

Software-Entwicklung Testen

Das Programmieren und Erstellen von Anwendungen ist ein langwieriger, komplexer Prozess. Entwickler müssen Code erstellen, ihn testen, Feedback einholen und schließlich auf Build-Server warten, um das Endprodukt fertigzustellen.

Sandboxing macht den gesamten Prozess einfacher. Sie ermöglicht es Entwicklern, Code auf lokalen Rechnern zu schreiben und zu testen, ohne sich um all die beweglichen Teile zu kümmern. Sie können Patches simulieren und Code neu schreiben, ohne die eigentliche Produktionsumgebung zu beeinträchtigen.

Mit anderen Worten: Es erhöht die Produktivität und verringert die Anzahl der Fehler im Endprodukt.

Testen von bösartigem Code

Cybersecurity-Spezialisten verwenden Sandbox-Umgebungen wie Entwickler, aber mit einem anderen Ziel. Anstatt Anwendungen zu entwickeln, geben Forscher und Analysten bösartigen Code ein, um dessen Verhalten zu analysieren.

Eine häufige Anwendung für Cybersecurity-Sandboxing ist die Behebung von Zero-Day-Exploits. Diese Art von Malware-Angriffen hat unbekannte Auswirkungen und nutzt geheime Systemschwachstellen aus.

Sie gehört zu den gefährlichsten Bedrohungen für die Cybersicherheit, da es viele unbekannte Variablen gibt. Firewalls, Anti-Malware- und Antiviren-Software können ein System nicht schützen, wenn sie nicht wissen, dass es eine Schwachstelle hat.

Mit Sandboxing kann die Zero-Day-Schwachstelle in einer isolierten Umgebung ohne Zugriff auf kritische Systeminfrastrukturen ausgeführt werden. Sobald die Auswirkungen und die Nutzlast bekannt sind, können Cybersecurity-Ingenieure damit beginnen, die Sicherheitslücken zu schließen.

Sicherheitsforschung, die einen Webdienst, bekannte und unbekannte Sicherheitsrisiken und alles dazwischen einbezieht, profitiert von einer virtuellen Umgebung zum Testen verdächtiger Programme.

Sandboxing in der Qualitätssicherung

Softwareoptimierung ist ein Prozess von Versuch und Irrtum. Der Code muss getestet und verbessert werden, bevor ein Programm besser laufen kann.

Die einzige Möglichkeit, Softwareanwendungen zu optimieren, besteht darin, diese Änderungen in isolierten Umgebungen durchzuführen und die Auswirkungen des neuen Codes schnell zu testen.

Sandboxing im Marketing

Die Vermarktung von Produkten ist immer schwierig, besonders in der Proof-of-Concept-Phase. Es kann viel schief gehen, bevor die letzten Details geklärt und alle Macken beseitigt sind.

Eine Sandbox-Umgebung kann der perfekte Ort sein, um die Merkmale und Funktionen von Softwareprodukten zu demonstrieren. Sie bietet ausreichend Interaktivität, ohne dass das Gerät, das Betriebssystem oder der Softwareprototyp selbst gefährdet werden.

Sandboxing ermöglicht die Visualisierung von unfertigen oder unausgereiften Funktionen. Die Entwickler können das Produkt mit Dummy-Funktionen präsentieren und eine überzeugendere Verkaufsdemo erstellen.

Sandboxing in Webbrowsern

Sandboxing ist in Webbrowsern weiter verbreitet, als Sie vielleicht glauben. Das liegt daran, dass in Sandbox-Umgebungen bestimmte Browser ausgeführt werden können. Diese Funktion ermöglicht es Benutzern, Browser in verschiedenen Interaktionen mit Websites zu testen.

Sollten sie auf verdächtige Software stoßen, beschränkt sich der Schaden auf die Sandbox und nicht auf das gesamte System.

Sandboxing beim Softwareschutz

Bei so vielen Anwendungen und Tools von Drittanbietern ist es schwer zu wissen, was Sie auf Ihrem System verwenden können und was nicht. Eine angepasste Sandbox-Umgebung kann ein vollständiges Betriebssystem imitieren.

Benutzer können die nicht vertrauenswürdige Anwendung in der OS-Replik ausprobieren. Die Software weiß nicht, dass sie sich nicht auf dem eigentlichen Host-Betriebssystem befindet und sollte wie angewiesen funktionieren. Wenn alles normal läuft, können die Benutzer die App auf ihrem Hauptsystem installieren.

Wenn nicht, können sie es löschen, bevor es Schaden anrichten kann. Aber denken Sie daran, dass dies nicht immer funktioniert, insbesondere bei ressourcenintensiven und komplexen Programmen.

Wie sich eine Sandbox-Umgebung von einer Produktionsumgebung unterscheidet

Eine Entwicklungs- oder Produktionsumgebung ist notwendig, um Code zu kompilieren und Softwareanwendungen zu erstellen. Obwohl eine Sandbox-Umgebung dies imitiert, sind die beiden Plattformen recht unterschiedlich.

Die meisten Softwareentwicklungsaktivitäten finden innerhalb der Produktionsumgebung unter der Leitung von Entwicklern und Ingenieuren statt. Es werden Tests, Validierungen und Codeanalysen durchgeführt, um notwendige Änderungen an der Programmierung zu ermitteln. Eine Sandbox-Umgebung arbeitet jedoch in der Regel mit Code, der aus Offline-Anwendungen stammt.

Ein weiterer großer Unterschied besteht darin, wie die beiden Umgebungen funktionieren und was sie leisten können. Produktionsumgebungen eignen sich nicht gut für das Testen und die Bereitstellung von Anwendungen. Das Testen und Bereitstellen von Software kann das Betriebssystem, das Hostgerät und die Hardwareressourcen gefährden, wenn etwas schief geht.

Sandboxing bietet Entwicklern eine sichere Umgebung, in der sie mit Test- und Validierungsfunktionen spielen können. Es besteht kein Risiko, dass der Code das Hostsystem oder das Gerät beschädigt.

Die höhere Lernkurve von Entwicklerumgebungen ist ein weiterer Unterschied. Und was einige bemerken, ist, dass die Fähigkeit von Sandbox-Umgebungen, Benutzerumgebungen zu imitieren, noch einfacher wird. Das ist etwas, was Produktionsumgebungen im Allgemeinen nicht können, zumindest nicht genau.

Perfekte virtuelle Testumgebungen

Obwohl Sandboxen virtuelle und physische Komponenten enthalten können, handelt es sich immer um virtuelle Umgebungen. Benutzer greifen auf diese isolierten Systeme zu, wenn sie Patches oder neue Funktionen testen oder Systemressourcen schützen möchten.

Ob als Sicherheitstool oder als Umgebung zum Testen von Software, Sandboxen schützen ihre Host-Geräte. Sie können bösartigen Code erkennen, neue Funktionen analysieren und visualisieren und vieles mehr. Sandboxing schützt vor unerwartetem Verhalten und erhöht die Entwicklungsproduktivität.

Wie Sie online sicher bleiben:

  • Verwenden Sie sichere Passwörter: Verwenden Sie für jedes Konto ein einzigartiges und komplexes Passwort. Ein Passwort-Manager kann Ihnen dabei helfen, diese zu erstellen und zu speichern. Aktivieren Sie außerdem die Zwei-Faktor-Authentifizierung (2FA), wann immer sie verfügbar ist.
  • Investieren Sie in Ihre Sicherheit: Der Kauf des besten Antivirenprogramms für Windows 11 ist der Schlüssel für Ihre Online-Sicherheit. Ein hochwertiges Antivirenprogramm wie Norton, McAfee oder Bitdefender schützt Ihren PC vor verschiedenen Online-Bedrohungen, einschließlich Malware, Ransomware und Spyware.
  • Seien Sie vorsichtig bei Phishing-Versuchen: Seien Sie vorsichtig, wenn Sie verdächtige Mitteilungen erhalten, in denen nach persönlichen Daten gefragt wird. Seriöse Unternehmen werden niemals per E-Mail oder SMS nach sensiblen Daten fragen. Bevor Sie auf einen Link klicken, vergewissern Sie sich über die Echtheit des Absenders.
  • Bleiben Sie auf dem Laufenden: In unserem Blog behandeln wir eine breite Palette von Cybersicherheitsthemen. Und es gibt mehrere glaubwürdige Quellen (in englischer Sprache), die Berichte über Bedrohungen und Empfehlungen anbieten, wie NIST, CISA, FBI, ENISA, Symantec, Verizon, Cisco, Crowdstrike und viele mehr.

Viel Spaß beim Surfen!

Häufig gestellte Fragen

Nachstehend finden Sie die am häufigsten gestellten Fragen.

Was bedeutet Sandkasten in der Computerentwicklung?

Eine Sandbox ist ein sicherer Testbereich, in dem Entwickler mit dem Code spielen und verschiedene Varianten ausführen können, ohne das System zu beschädigen oder den Quellcode zu zerstören.

Gibt es einen Unterschied zwischen der Sandbox und den Testumgebungen?

Der Begriff “Sandbox” bezieht sich im Allgemeinen auf eine uneingeschränkte Spielwiese für Entwickler. Testumgebungen sind weniger unübersichtlich und werden hauptsächlich von QA-Teams genutzt, die an neuen Funktionen arbeiten.

Was ist der Zweck eines Sandkastens?

In der Entwicklung helfen Sandboxen dabei, Produktionsumgebungen und Ressourcen von schädlichem Code oder bösartiger Software zu trennen.

Autor: Tibor Moes

Autor: Tibor Moes

Gründer & Chefredakteur bei SoftwareLab

Tibor ist ein niederländischer Ingenieur. Er testet seit 2014 Sicherheitssoftware.

Im Laufe der Jahre hat er die meisten führenden Antivirenprogramme für Windows, Mac, Android und iOS getestet, ebenso wie viele VPN-Anbieter.

Er nutzt Norton zum Schutz seiner Geräte, CyberGhost für seine Privatsphäre und Dashlane für seine Passwörter.

Diese Website wird auf einem Digital Ocean-Server über Cloudways gehostet und ist mit DIVI auf WordPress erstellt.

Sie können ihn auf LinkedIn finden oder ihn hier kontaktieren.