Was ist eine Sandbox und warum sollten Sie in einer spielen?

Was ist eine Sandbox und warum sollten Sie in einer spielen? / Webkultur

Sehen Sie sich die Anwendungen an, die Sie am häufigsten auf Ihrem Computer verwenden. Es ist sehr wahrscheinlich, dass eine gute Anzahl von ihnen äußerst konnektive Funktionen bietet, insbesondere Ihren Webbrowser. Diese äußerst verbindlichen Programme können eine Menge bewirken, aber sie sind auch eine offene Einladung für böse Hacker zum Streik.

Um zu verhindern, dass Streiks erfolgreich sind, müsste ein Entwickler jede einzelne Lücke in ihrem Code erkennen und schließen, was einfach nicht möglich ist. Stattdessen müssen Entwickler diese Tatsache berücksichtigen und ihren Code entsprechend planen. Die häufigste und effektivste Lösung: eine Sandbox.

Sand in einer Box?


Nein, ich ziehe nicht die lokale Park-Sandbox vor, sondern Software-Sandboxen. Diese Sandkästen haben ein Hauptziel: die Ausbreitung eines Angriffs zu verhindern. Wie ich oben bereits erwähnt habe, wissen intelligente Entwickler, dass Code nicht perfekt ist und dass sein Produkt schließlich gehackt oder anderweitig durchdrungen wird. Um den Benutzer zu schützen, implementieren sie eine Sandbox, die Teile ihres Programms isoliert. Im Wesentlichen bleibt alles, was in einer Sandbox passiert, in dieser Sandbox.

Sandkästen in Aktion


Um Sandboxes in Aktion zu erklären, verwende ich Google Chrome als Hauptbeispiel. Chrome ist eines der bekanntesten Produkte für das Sandboxing-Verfahren, das Google als ein einzigartiges Sicherheitsmerkmal unter den Browsern hervorhebt. Google hat Chrome in drei verschiedene Kategorien eingeteilt: den Hauptprozess, der alles miteinander verbindet, den Tab-Prozess (die Prozesse), der die Seiten enthält und den Renderer enthält, und den Plugin-Prozess (die Plug-Ins). Alle diese Kategorien verfügen über unterschiedliche Berechtigungsstufen, so dass sie ausgeführt werden können. Diese Berechtigungen sind jedoch das absolute Minimum, sodass alle sehr eingeschränkt sind. Darüber hinaus können die verschiedenen Prozesse nicht wirklich miteinander sprechen, sondern koexistieren. Obwohl Flash-Inhalte aus dem Flash-Plugin auf einer Seite vorhanden sein können, sind die Prozesse zum Beispiel immer noch getrennt und sprechen nicht miteinander. Der Renderer lässt nur einen Platz auf der Seite, in dem dieser Prozess angezeigt werden kann. Diese Kommunikationsunfähigkeit ist wichtig, da eine Registerkarte entweder abstürzt oder entführt wird und sich nicht auf die anderen Registerkarten oder das System selbst auswirkt.

Firefox hat es auch


Firefox verfügt auch über eine Sandbox-Funktion, die jedoch begrenzt ist und sie von Plug-Ins von Drittanbietern wie Flash trennt. Während der Browser und alle seine Registerkarten in einem einzigen Prozess zusammengefasst sind, gibt es einen separaten Prozess für alle Plugins. Beim Ansatz von Firefox setzt er mehr auf seinen eigenen Code als auf Googles mit Chrome, und verursacht die Ursache für alle Browserprobleme bei Plug-Ins. Wenn also die Plugins auf irgendeine Weise abstürzen, sind der Browser und die Registerkarten nicht betroffen.

In andere Richtungen denken


Obwohl es eine gute Strategie ist, Sandboxing-Techniken in den Programmcode selbst zu integrieren, gibt es viele andere Programme, die keinerlei Sandboxing haben. Stattdessen sollten Sie eine virtuelle Sandbox ausführen, in der Sie Programme ausführen können, die nur soviel Chaos anrichten wie in der Sandbox, sodass Ihr System im Takt bleibt. Während dies häufig für das Testen von Software gedacht ist, ist es auch eine gute Wahl, einen Webbrowser oder andere Software dort auszuführen, wenn Sie eher paranoid sind (oder Ihr anderes Lieblingswort hier einfügen). Eine sehr beliebte Wahl hierfür ist Sandboxie Isolieren und Testen unsicherer Anwendungen auf Ihrem PC. Isolieren und Testen unsicherer Anwendungen auf Ihrem PC. Weitere Informationen. Es gibt jedoch andere Produkte, die sowohl kostenlos als auch kostenpflichtig sind.

Fazit

Sandboxing ist derzeit eines der heißesten Themen, wenn es um Sicherheit geht, und es macht die Arbeit definitiv gut. Natürlich sollten sich Entwickler immer noch darauf konzentrieren, ihren Code so gut wie möglich zu machen, aber es ist definitiv nicht hilfreich, wenn Sie Aktionspläne haben, wenn ein Problem auftritt. Beachten Sie, dass Sandboxen immer noch nicht perfekt sind, da Chrome's Sandbox in Pwn2Own 2012 nach einigen extrem schwierigen Hacks besiegt wurde. Sie sind jedoch definitiv eine bessere Wahl als gar keine.

Wie ist Ihre Meinung zu den Sandbox-Anwendungen? Welche Verbesserungen möchten Sie in Sandboxing-Webbrowsern sehen oder welche Anwendungen benötigen Sie für das Sandboxing? Lass es uns in den Kommentaren wissen!

Bildnachweise: Katie Gregory, Ernst Vikne

Erfahren Sie mehr über: App-Entwicklung, Programmierung, Virtualisierung.