big lexkon logo

Der Begriff Sandbox bezeichnet eine Technik, die Software innerhalb einer speziellen Form abseits von den anderen Systemressourcen isolierten Laufzeitumgebung ausführt.

Bei der Bezeichnung Sandbox handelt es sich um eine Technik, welche mit in sich geschlossenen Containern verglichen werden kann, in denen Software ausgeführt wird, ohne das andere Ressourcen eines Systems beeinflusst werden.

Entwicklung von Sandboxes

Sandboxes sind keine neueren Erfindungen, sondern ein Thema mit welchem sich Entwickler bereits seit den frühen 70er Jahren beschäftigten. So gibt es unterschiedliche Ansätze zur Realisierung von Sandboxen, welcher aber auf jeden Fall eine Rückwirkung auf die jeweilige Softwareperformance haben kann.

Verwendung des Sandbox-Begriffes

Heute wird der Begriff der Sandbox in verschiedenen Kontexten verwendet:
Bei Virtuelle Maschinen (VM) werden spezielle Laufzeitumgebungen angeordnet, wobei hier als Beispiel die Java virtuelle Maschine (JVM) benannt werden kann.
Sandbox-Mechanismen berücksichtigen die Applikationen direkt im Programmcode. Bei dem speziellen Proof Carrying Code (PCC) handelt es sich um eine häufig angewandte Technik, welche für die sichere Ausführung von nicht gesicherten Codes angewendet werden kann.
Ebenso werden Sandboxes beispielsweise in Form von Bibliotheks-Funktionen implementiert, welche die eigentlichen System-Aufrufe abfangen. So kann die Sandbox-Ebene als Teil des Betriebssystems implementiert werden.
So funktionieren Sandboxes nicht nur entsprechend mit der Aufgabe eine entsprechende Testumgebung zur Verfügung zu stellen, sondern so werden auch verschiedene Laufzeit-Parameter für eine anschließende Analyse aufgezeichnet.

Folgende Produkte ermöglichen Sandboxing

Die FAUmachine realisiert eine virtuelle Maschine und ist als Open-Source verfügbar

Solaris Zones fungiert als virtueller Service, der über das Betriebssystem Solaris verfügt, mit welchen voneinander getrennte Umgebungen bzw. Zonen – erzeugt werden. Auf diese Weise werden dann die Anwendungen separat ausgeführt und es wird verhindert, dass sich die Prozesse der unterschiedlichen Zonen wechselseitig beeinflussen.

Bei dem VMware Server handelt es sich um einen Server, der verschiedene Typen von Workstations und Servermaschinen erstellt und diese werden dann simuliert. Auch werden hier die virtuellen Netzwerke unterstützt.

Das Produkt Klik ist eine Sandbox-Umgebung unter Linux.

BIND. BIND, Berkeley Internet Name Domain, ist eine Open-Source verfügbare Software zur Implementierung eines Domain-Name-Servers (DNS).

Der Begriff der Sandbox wird in der Programmiersprache mit speziellen Applikationen – wie den Applets – in der Programmiersprache Java benutzt, die nur spezielle Rechte besitzen.
Die Sandbox besteht aus dem spezifischen Klassenlader (Klasse ClassLoader) und dem Sicherheitsmanager (SecurityManager). Der SecurityManager beispielsweise bewilligt das Ausführen externer Programmen nicht, da die Systemressourcen wie beispielsweise das Dateisystem beeinflusst werden könnten.

Beispiel

Bei dem bereits 1975 entstandene System Hydra handelt es sich um eine Sandbox. Dort unterstützte ein Sicherheits-Kernel die Codierung von Sicherheits-Mechanismen in die mit dem Kernel kommunizierenden  Anwendungsprogramme.