Suchen

Definition Sandbox Was ist eine Sandbox?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz

Bei einer Sandbox handelt es sich um einen isolierten, von der Systemumgebung abgeschotteten Bereich, in dem sich Software geschützt ausführen lässt. Sandboxen sind beispielsweise einsetzbar, um Software zu testen oder das zugrundeliegende System vor Veränderungen zu schützen.

Firma zum Thema

In der IT versteht man unter einer Sandbox eine isolierte Umgebung zur geschützten Ausführung von Software.
In der IT versteht man unter einer Sandbox eine isolierte Umgebung zur geschützten Ausführung von Software.
(Bild: Pixabay / CC0 )

Eine Sandbox ist ein isolierter Bereich, in dem sich Software ausführen lässt, ohne dass diese auf die eigentliche Systemumgebung Zugriff hat. Die deutsche Übersetzung lautet Sandkasten. Die Sandbox ist von den Ressourcen des Systems getrennt und stellt der auszuführenden Software eine spezielle Laufzeitumgebung zur Verfügung.

Die isolierten Umgebungen können verwendet werden, um Software zu testen, die Auswirkungen und Funktionsweise von Malware näher zu analysieren oder Betriebssysteme vor Beeinflussung durch Anwendungen zu schützen. Auch die Virtualisierung von Rechnern und Services ist über Sandboxen abbildbar. Technisch existieren verschiedene Möglichkeiten zur Realisierung von Sandboxen. In der Regel ist die Performance einer in der geschützten Umgebung ausgeführten Software geringer als in herkömmlichen Umgebungen. Eine Sandbox stellt der auszuführenden Software alle benötigten Funktionen bereit. Für die Gast-Software erscheint die Umgebung wie eine normale, ungeschützte Betriebssystemumgebung.

Vorteile einer Sandbox

Wird eine Software in einer geschützten Umgebung ausgeführt, ergeben sich zahlreiche Vorteile. Diese sind:

  • die Umgebung und die ausgeführte Software lassen sich besser kontrollieren
  • die Software kann nicht unbemerkt auf Ressourcen des Grundsystems zugreifen oder dieses verändern
  • es werden keine Änderungen in zentralen Registrierungsdatenbanken vorgenommen
  • gleichzeitig in verschiedenen geschützten Umgebungen ausgeführte Programme beeinflussen sich gegenseitig nicht
  • der Datenzugriff auf das Hostsystem ist gesperrt
  • Konflikte zwischen Betriebssystem und Software lassen sich durch die Bereitstellung einer geschützten Umgebung vermeiden.

Einsatzmöglichkeiten von Sandboxen

Für Sandboxen ergeben sich viele Einsatzmöglichkeiten. Sie finden häufig Verwendung:

  • für das Testen von Software
  • für die sichere Ausführung von Code
  • für das Analysieren der Funktionsweise und der Auswirkungen schädlicher Software (Malware)
  • zur Steigerung der Applikationssicherheit
  • zum Schutz des zugrundeliegenden Rechnersystems
  • zum Schutz des Betriebssystems vor Manipulation
  • zur Abschottung parallel ausgeführter Software - Trennung von Anwendungen
  • für die Virtualisierung von Rechnersystemen und Services
  • zur Bereitstellung unterschiedlicher Umgebungen auf einem einzigen Rechnersystem
  • zur Bereitstellung eines kompatiblen Betriebssystems unabhängig vom Betriebssystem des Hostrechners

Beispiele für die Verwendung einer Sandbox

Ein Beispiel für die Verwendung von Sandboxen ist ein VMware Server, der verschiedene Workstations, Server oder Netzwerkleistungen virtualisiert und voneinander abgeschottet anbietet. Auch das DNS-Serverprogramm BIND unter Unix nutzt das Sandbox-Prinzip. Das Programm wird in einer isolierten Umgebung ausgeführt und erschwert es Angreifern, das Betriebssystem und den Hostrechner zu manipulieren. Die Programmiersprache Java nutzt Sandboxen, um bei der Ausführung von Programmen bestimmte Ressourcen wie das Dateisystem zu schützen. In Chromium-basierten Browsern sind die geladenen Internetseiten und Plugins durch verschiedene Sandbox-Prozesse voneinander getrennt. Dies erhöht die Stabilität und die Sicherheit des Webbrowsers, indem es Browser-Exploits erschwert, Kontrolle über das Anwender-System zu erhalten. Das Apple iOS-Betriebssystem führt Apps in Sandboxen aus und verhindert dadurch den ungeschützten Zugriff auf Ressourcen des mobilen Endgeräts.

(ID:45433611)

Über den Autor