Ein neues Com­pu­ter­pro­gramm auf seine Funk­ti­ons­fä­hig­keit zu über­prü­fen ist ein wichtiger Schritt in der Software-Ent­wick­lung. Denn auch wenn der Quellcode keine sicht­ba­ren Fehler aufweist, kann es bei der prak­ti­schen Anwendung zu un­er­war­te­ten Kom­pli­ka­tio­nen kommen. Aber das Testen einer un­aus­ge­reif­ten oder un­be­kann­ten Software birgt auch gewisse Risiken. So kommt es vor, dass das Programm bei seiner In­stal­la­ti­on durch feh­ler­haf­ten und dadurch schäd­li­chen Code das jeweilige Be­triebs­sys­tem verändert oder sogar be­schä­digt. Eine Sandbox schafft hier Abhilfe. Diese bietet Ihnen die Mög­lich­keit, Ihre Software oder fremden Code aus dem Internet in einer iso­lier­ten Umgebung ohne Aus­wir­kun­gen auf das System zu testen.

Was ist eine Sandbox?

In der IT-Welt sind die Begriffe Sandbox oder Sand­boxing immer häufiger zu hören. Aber was ist eine Sandbox genau und wie wird sie ein­ge­setzt? Mit der Sandbox-Technik schaffen Sie ein iso­lier­tes Test­um­feld innerhalb eines Systems. So lassen sich bestimmte Aktionen durch ein Programm ausführen, ohne dass dieses Hardware-Schäden anrichten kann. Im Grunde geht es beim Sand­boxing also darum, Ihr Be­triebs­sys­tem vor feh­ler­haf­tem Code oder Malware ab­zu­schir­men und so zu schützen. In der Software-Ent­wick­lung sowie der Cy­ber­si­cher­heit gehört Sand­boxing mitt­ler­wei­le zum Stan­dard­ver­fah­ren und bietet gerade größeren Un­ter­neh­men not­wen­di­gen Schutz vor Sys­tem­schä­den und Cy­ber­an­grif­fen.

Sand­boxing ist kein neues Konzept, sondern entstand bereits mit der Ent­wick­lung der ersten PC-Systeme. In den 1970er Jahren ver­wen­de­ten Pro­gram­mie­rer Sandboxes zu Test­zwe­cken und für Si­mu­la­tio­nen. So wollten sie fest­stel­len, ob ein be­stimm­ter Code in einem ge­schlos­se­nen Umfeld funk­tio­niert. Erste Si­cher­heits­me­cha­nis­men wie Hydra schützten dabei nicht nur die teure Hardware, sondern hatten noch einen weiteren Vorteil: Mit der Sandbox-Technik ließ sich nämlich auf­zeich­nen, welche Probleme ohne die Iso­lie­rung auf­ge­tre­ten wären.

Heute geben Ihnen bestimmte Programme nicht nur die Mög­lich­keit, Zugriffe auf Ihre Re­gis­trie­rungs­da­ten­bank ab­zu­fan­gen und um­zu­lei­ten. Mit vir­tu­el­len Maschinen (VM) können Sie sogar einen voll­stän­di­gen Rechner si­mu­lie­ren.

Wie funk­tio­niert eine Sandbox?

Sandboxes lassen sich auf ver­schie­de­ne Weisen erzeugen. Während Pro­gram­mie­rer früher ein eigenes ab­ge­schirm­tes Test­um­feld ent­wi­ckel­ten, stehen ihnen heute sofort ein­setz­ba­re Programme zur Verfügung. Je nach Be­triebs­sys­tem und Zweck gibt es ver­schie­de­ne Versionen mit ent­spre­chen­dem Umfang und un­ter­schied­li­chen Vor­ge­hens­wei­sen. Und das aus gutem Grund: Ein Ent­wick­ler, der an einem neuen Com­pu­ter­pro­gramm arbeitet, hat andere Be­dürf­nis­se als ein Un­ter­neh­men, das sein Be­triebs­sys­tem vor­nehm­lich vor un­be­kann­tem Code und Cy­ber­an­grif­fen schützen möchte. In der Regel gilt: Je mehr vom realen Sys­tem­um­feld die Sandbox-Anwendung si­mu­lie­ren soll, desto größer ist auch der Res­sour­cen­be­darf.

Im Folgenden ein kleiner Überblick zu ver­schie­de­nen Sandbox-Versionen und ihren Funk­ti­ons­wei­sen:

  • Sandbox-Programme: Ein beliebtes al­lein­ste­hen­des Programm in der Sandbox-Tech­no­lo­gie ist Sandboxie, das für Windows-Nutzer eine fertige Sandbox be­reit­stellt. Ist diese aktiviert, werden alle Schreib­zu­grif­fe durch das po­ten­zi­ell schäd­li­che Programm auf die Hardware in einen Ordner um­ge­lei­tet, den Sie vor dem Test selbst de­fi­nie­ren. Dateien, die in der Sandbox ab­ge­spei­chert sind, können auf Befehl in das reale System über­tra­gen werden. Innerhalb solcher An­wen­dun­gen haben Sie die Mög­lich­keit, mehrere Sandboxes gleich­zei­tig zu verwalten.
     
  • Sandbox im Be­triebs­sys­tem: Durch manche Ap­pli­ka­tio­nen nutzen Sie die Sandbox mithilfe von Layers und Ebenen direkt in Ihrem Pro­gramm­code. Diese Sandbox ist dann Teil Ihres Be­triebs­sys­tems, aber eine in sich ge­schlos­se­ne Kom­po­nen­te. Wie bei anderer Sandbox-Software geben Sie bestimmte Parameter für die Laufzeit des je­wei­li­gen Programms an, was eine gezielte Sandbox-Analyse er­mög­licht. Mit Windows 10 (ab Version 1903, Build 18305) erhalten Sie gleich die in­te­grier­te Windows-Sandbox, die Sie selbst ak­ti­vie­ren oder de­ak­ti­vie­ren können.
     
  • Virtuelle Maschinen: Viel um­fang­rei­cher als einzelne Programme sind virtuelle Maschinen (VM). Eine VM lässt sich wie ein ganz normaler Rechner bedienen und befindet sich aufgrund ihrer Größe oft auf einem separaten Server. Es ist möglich, die VM-Vir­tua­li­sie­rung in mehrere Gast­sys­te­me auf­zu­tei­len. Dabei bestehen diese Quasi-Systeme un­ab­hän­gig von­ein­an­der und sind voll­stän­dig von der Hardware ab­ge­kap­selt. Bekannte VMs mit kom­plet­tem Interface sind VMware, Java Virtual Machine sowie FAU­ma­chi­ne für Linux und macOS.
     
  • Plug-in-Sandbox: Ein Beispiel für die Sandbox als Plug-in liefert die Pro­gram­mier­spra­che Java. Hier wird die Sandbox durch die so­ge­nann­ten Java-Applets genutzt. Applets sind Com­pu­ter­pro­gram­me, die in einem Client-Web­brow­ser aus­ge­führt werden. Durch die in­te­grier­te Sandbox läuft der im Internet geladene Pro­gramm­code jedoch in einer ab­ge­schot­te­ten Umgebung ab, sodass Fest­plat­ten, der Ar­beits­spei­cher und die Funk­tio­nen Ihres Be­triebs­sys­tems geschützt bleiben.
Hinweis

Neben den soft­ware­ba­sier­ten Sandbox-Pro­gram­men gibt es auch so­ge­nann­te Micro-Vir­tua­li­sie­run­gen, die direkt in der Hardware aus­ge­führt werden. Anders als Sandboxes kon­zen­trie­ren sich diese jedoch nicht auf das Auffinden von Schadcode, sondern auf den Schutz vor direkten Malware-Aus­wir­kun­gen.

Wo wird Sand­boxing ein­ge­setzt?

Ein­satz­mög­lich­kei­ten für das Sand­boxing gibt es viele. Generell sind die Ziele, die mit dieser Tech­no­lo­gie verfolgt werden, in zwei Bereichen an­ge­sie­delt: Software-Testing und Cy­ber­si­cher­heit. Welche Funktion sie dort erfüllen, finden Sie hier kurz zu­sam­men­ge­fasst:

Software-Testing: Sandboxes spielen eine große Rolle im Zu­sam­men­hang mit dem Testen einer neu ent­wi­ckel­ten Software. Die Vir­tua­li­sie­rung von Rech­ner­sys­te­men hilft Pro­gram­mie­rern dabei, eine sichere und funk­ti­ons­tüch­ti­ge Anwendung zu ent­wi­ckeln und diese in un­ter­schied­li­chen Um­ge­bun­gen zu testen. Sandbox-Testing ist hier also ein Tool, das Ent­wick­lern aufzeigt, wann sie einen Code um­pro­gram­mie­ren müssen. Manchmal wird Sand­boxing verwendet, um parallel aus­ge­führ­te Programme von­ein­an­der ab­zu­schot­ten, da sie un­ter­ein­an­der nicht kom­pa­ti­bel sind. Da Code in der Sandbox sicher aus­ge­führt wird, nutzen IT-Experten diese Tech­no­lo­gie auch, um Malware zu ana­ly­sie­ren und deren Aus­wir­kun­gen auf das Be­triebs­sys­tem fest­zu­stel­len.

Cy­ber­si­cher­heit: Auch wenn es um die Si­cher­heit von Browsern geht, sind Sandbox-Tools neben einem ef­fek­ti­ven Firewall-Si­che­rungs­sys­tem eine beliebte Lösung. Sie schützen das Be­triebs­sys­tem beim Start von kri­ti­schen An­wen­dun­gen vor Ma­ni­pu­la­ti­on. Gerade Behörden und Un­ter­neh­men, die mit sensiblen Daten arbeiten, müssen sich vor Advanced Per­sis­tent Threats (APTs) schützen. Darunter versteht man verdeckte und wie­der­keh­ren­de Hack­ing­an­grif­fe, die über einen längeren Zeitraum operieren. Auch der normale In­ter­net­nut­zer kann mit einer Sandbox-Anwendung sicherer surfen. Tat­säch­lich arbeiten die heutigen Chromium-basierten Web­brow­ser bei jeder Webseite oder geladenen Plug-ins mit ge­trenn­ten Sandbox-Prozessen, um Browser-Exploits zu ver­hin­dern.

Wie sicher ist das Sand­boxing?

Es gibt viele Argumente, die für die Ver­wen­dung der Sandbox-Tech­no­lo­gie sprechen. Es bleibt jedoch die Frage, wie sicher Sandboxes wirklich sind, wenn es um Cy­ber­kri­mi­na­li­tät geht. Generell sollten Sie sich als Sandbox-Anwender nicht in falscher Si­cher­heit wiegen. Denn genauso wie moderne Si­cher­heits­me­cha­nis­men ent­wi­ckeln sich auch Ha­cker­an­grif­fe weiter. In­tel­li­gen­te Cy­ber­an­grif­fe erkennen klas­si­sche Sand­boxing-Um­ge­bun­gen und können diese einfach umgehen, indem der Schadcode vor der In­stal­la­ti­on zunächst harmlos erscheint. Aus diesem Grund empfehlen Experten nicht nur ein siloartig auf­ge­bau­tes Stan­da­lo­ne-System, sondern gleich mehrere Sandbox-Tech­no­lo­gien auf un­ter­schied­li­chen Ebenen zu nutzen. Die Multi-Sandbox-Array-Tech­no­lo­gie verwendet z. B. mehrere Sandboxen in derselben Cloud.

Hier sehen Sie die Vor- und Nachteile von Sandboxes noch einmal kurz zu­sam­men­ge­fasst:

Vorteile Nachteile
Kon­trol­lier­ba­re Test­um­ge­bung bei neuer Software Nutzer wiegen sich in Si­cher­heit und werden nach­läs­sig
Schutz der Hardware / des Be­triebs­sys­tems / der Re­gis­trier­da­ten­bank Besonders ältere Sandboxes weisen Si­cher­heits­lü­cken auf
Kein un­er­laub­ter Da­ten­zu­griff auf das Host­sys­tem Komplexe Sandbox-Tools sind res­sour­cen­hung­rig und kost­spie­lig
Keine Konflikte zwischen Pro­gram­men oder Be­triebs­sys­tem und Programm
Si­che­re­res Browsen im Internet durch Schutz vor Malware
Fazit

Sandboxes bieten Ent­wick­lern eine sichere Umgebung, um noch nicht aus­ge­reif­te Software ausgiebig zu testen. In der Cy­ber­si­cher­heit sind Sandboxes am ef­fek­tivs­ten, wenn sie in mehreren Schichten ein­ge­setzt und mit anderen Si­cher­heits­maß­nah­men kom­bi­niert werden.

Zum Hauptmenü