Bundesamt für Sicherheit in der Informationstechnik

M 4.375 Einsatz der Sandbox-Funktion unter Mac OS X

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator

Das Betriebssystem Mac OS X ist mit einer Sandbox-Funktion ausgestattet. Eine Sandbox-Funktion ermöglicht es, einen Prozess in einer eigenen, eingeschränkten Umgebung auszuführen, in der er vom Rest des IT -Systems vollständig abgeschirmt ist. Es ist somit zum Beispiel möglich, der in einer Sandbox eingesperrten Applikation den Netz- oder Dateizugriff zu entziehen, um den möglichen Schadensumfang bei einer Fehlfunktion des Prozesses zu minimieren. Die Sandbox-Funktion ist eine weiterführende Einschränkung und setzt keine tiefer liegenden Limitierungen wie Access-Control-Listen außer Kraft. Somit kann eine Sandbox nichts ermöglichen, was durch andere Techniken beschränkt wurde, es handelt sich vielmehr um eine sehr feingliedrige Möglichkeit, um die Auswirkungen von Programmen zu testen und deren Auswirkungen gezielt einzuschränken.

Es ist empfehlenswert, neue Programme oder Dienste, die an einer Netzkommunikation teilnehmen, vor dem produktiven Einsatz in einer Sandbox zu testen. Wird ein neuer Kindprozess in der Sandbox gestartet, erbt er die Einschränkungen der Sandbox. Wenn beispielsweise Safari in einer Sandbox läuft und durch den Browser eine mit Schadsoftware präparierte PDF-Datei heruntergeladen und automatisch geöffnet wird, dann werden die eingeschränkten Rechte der Sandbox für die Ausführung der PDF-Datei übernommen und der mögliche Schadensumfang erheblich eingeschränkt.

Wenn Benutzer den Browser nur in einer Sandbox nutzen können, kann auf diese Weise auch das Installieren von nicht freigegebenen Plug-Ins verhindert werden, da der Browser nach jedem Neustart wieder im ursprünglichen Zustand ist. Welche Anwendungen innerhalb einer Sandbox ausgeführt werden sollen, ist durch den Administrator festzulegen und zu konfigurieren.

Folgender Befehl startet Safari in einer Sandbox ohne Dateizugriffsrechte:

sandbox-exec -p "(version 1) (allow default) (deny file-write*)" /Applications/Safari.app/Contents/MacOS/Safari

Wird der Befehl um den Parameter (debug all) ergänzt, können alle Aktionen in der Console.app angesehen werden.

Weiterhin ist es möglich, ein Sandbox-Profil anzulegen, um alle Konfigurationsparameter dorthin auszulagern. Im Verzeichnis /usr/share/sandbox befinden sich mehrere Profilvorgaben für eine Sandbox, die für bestimmte Systemdienste definiert wurden. Ist ein entsprechendes Profil vorhanden und an die lokalen Richtlinien angepasst, so kann der Befehl zum Aufruf einer Anwendung wie folgt aussehen:

sandbox-exec -f /usr/share/sandbox/safari.sb /Applications/Safari.app/Contents/MacOS/Safari &

Prüffragen:

  • Sind die Anwendungen, die innerhalb einer Sandbox laufen sollen, durch den Administrator festgelegt worden?

Stand: 13. EL Stand 2013