Werbung

Was ist ein Sandkasten?Sehen Sie sich die Anwendungen an, die Sie am häufigsten auf Ihrem Computer verwenden. Höchstwahrscheinlich bieten viele von ihnen hochgradig konnektive Funktionen, insbesondere Ihren Webbrowser. Diese hochgradig konnektiven Programme können viel bewirken, sind aber auch eine offene Einladung für schlechte Hacker zum Streik.

Um zu verhindern, dass Streiks erfolgreich werden, müsste ein Entwickler jedes einzelne Loch in seinem Code erkennen und schließen, was einfach nicht möglich ist. Stattdessen müssen Entwickler diese Tatsache berücksichtigen und ihren Code unter diesem Gesichtspunkt planen. Die häufigste und effektivste Lösung: ein Sandkasten.

Sand in einer Kiste?

Was ist ein Sandkasten?
Nein, es ist nicht die lokale Park-Sandbox, die ich bevorzuge, sondern Software-Sandboxen. Diese Sandkästen haben einen Hauptzweck: die Ausbreitung eines Angriffs zu verhindern. Wie oben erwähnt, wissen intelligente Entwickler, dass Code nicht perfekt ist und dass ihr Produkt irgendwann gehackt oder auf andere Weise 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.

instagram viewer

Sandkästen in Aktion

Was ist eine Sandbox-Anwendung?
Um Sandboxen in Aktion zu erklären, verwende ich Google Chrome als primäres Beispiel. Chrome ist eines der bekanntesten Produkte für die Implementierung von Sandboxing, das Google stolz als einzigartiges Sicherheitsmerkmal unter Browsern ankündigt. Google hat Chrome genommen und es im Wesentlichen in drei verschiedene Kategorien unterteilt: den Hauptprozess, der zusammenhängt alles zusammen, die Registerkartenprozesse, die die Seiten enthalten und den Renderer enthalten, und der Plugin-Prozess (es). Alle diese Kategorien haben unterschiedliche Berechtigungsstufen, damit sie ausgeführt werden können. Diese Berechtigungen sind jedoch das absolute Minimum, sodass sie alle ziemlich eingeschränkt sind. Darüber hinaus können die verschiedenen Prozesse nicht wirklich miteinander kommunizieren, sondern existieren nur nebeneinander. Obwohl Flash-Inhalte aus dem Flash-Plugin möglicherweise auf einer Seite vorhanden sind, sind die Prozesse immer noch getrennt und sprechen nicht miteinander. Der Renderer lässt nur einen Platz auf der Seite, damit dieser Prozess angezeigt werden kann. Diese Unfähigkeit zur Kommunikation ist wichtig, da ein Absturz eines Tabs oder eine Entführung weder die anderen Tabs noch das System selbst beeinträchtigen kann.

Firefox hat es auch, irgendwie

Was ist eine Sandbox-Anwendung?
Firefox verfügt auch über eine eingeschränkte Sandbox-Funktion, die es von Plugins von Drittanbietern wie Flash unterscheidet. Während der Browser sowie alle Registerkarten in einem einzigen Prozess zusammengefasst sind, gibt es für alle Plugins einen separaten Prozess. Beim Ansatz von Firefox wird mehr Vertrauen in den eigenen Code gesetzt als bei Google mit Chrome, und Plugins werden für alle Probleme beim Surfen verantwortlich gemacht. Wenn die Plugins auf irgendeine Weise abstürzen, sind der Browser und die Registerkarten daher nicht betroffen.

In andere Richtungen denken

Was ist ein Sandkasten?
Während es eine gute Strategie ist, Sandbox-Techniken in den Code eines Programms selbst zu implementieren, gibt es viele andere Programme, die überhaupt kein Sandboxing haben. Stattdessen möchten Sie eine virtuelle Sandbox ausführen, in der Sie Programme ausführen können, die nur so viel Chaos wie möglich in der Sandbox anrichten können, sodass Ihr System in Kontakt bleibt. Während dies häufig zum Testen von Software gedacht ist, ist es auch eine gute Wahl, einen Webbrowser oder eine andere Software darin auszuführen, wenn Sie eher paranoid sind (oder hier Ihr anderes Lieblingswort einfügen). Eine sehr beliebte Wahl dafür ist Sandboxie So isolieren und testen Sie unsichere Anwendungen auf Ihrem PC Weiterlesen , aber es gibt andere Produkte, sowohl kostenlos als auch kostenpflichtig, die das gleiche erreichen können.

Fazit

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

Was ist Ihre Meinung zu den Sandbox-Anwendungen? Welche Verbesserungen möchten Sie in Sandboxing-Webbrowsern sehen oder welche Anwendungen benötigen Ihrer Meinung nach Sandboxing? Lass es uns in den Kommentaren wissen!

Bildnachweis: Katie Gregory, Ernst Vikne

Danny ist Senior an der University of North Texas und mag alle Aspekte von Open Source Software und Linux.