Wie die macOS App-Sandboxing Benutzer schützt

Einführung im Jahr 2007 und bis 2012 erforderlich, ist Sandboxing ein Werkzeug, das von macOS verwendet wird, um den Schaden zu begrenzen, den eine gehackte App anrichten kann. Apple sagt: „Während die App-Sandbox Angriffe auf Ihre App nicht verhindert, minimiert sie den Schaden, den ein erfolgreicher Angriff verursachen kann. Die macOS-App-Sandboxing schützt Benutzer, indem sie einschränkt, wie viel Ärger eine Anwendung verursachen kann.

Lesen Sie auch: 4 der besten Sandbox-Anwendungen für Windows, um Sie sicher zu halten

Was ist macOS App-Sandboxing?

Jede App erhält ihren eigenen Bereich zum Spielen: eine „Sandbox“. Wenn die Anwendung außerhalb ihrer Sandbox gelangen möchte, muss sie das Betriebssystem um Erlaubnis bitten. Abhängig von den Sandbox-Einstellungen wird das OS entweder die Anfrage der Anwendung ablehnen oder genehmigen und dabei die am wenigsten spezifischen Informationen bereitstellen, die erforderlich sind, um die Anfrage zu erfüllen.

about-sandboxing

Denken Sie an ein Auto. Der Fahrer ist durch mehrere Sicherheitsfunktionen wie Antiblockiersysteme, Airbags, Crumple-Zonen und mehr geschützt. Im Jahr 2007, als die App-Sandboxing eingeführt wurde, gab es keine analogen Computersysteme. Wie die einführende Präsentation fragte, wo waren die Sicherheitsgurte für Computer? Sandboxing schützt Benutzer, wie Autos ihre Fahrer schützen: Indem es Ausfälle mit Schadensreduktionssystemen begegnet. Egal, ob sie durch böswillige Aktivitäten oder Programmierfehler verursacht werden, der Schaden sinkt.

Da Sandboxing einschränkt, was Apps tun können, kann es die Freiheit der Entwickler einschränken. Sandbox-Apps laufen langsamer und benötigen länger für die Entwicklung. Dank der enormen Leistungsfähigkeit des Macs können Sandbox-Grenzen erhebliche Auswirkungen auf die Kompatibilität verschiedener Apps haben. Infolgedessen sind Power-User oft gezwungen, Apps zu wählen, die außerhalb der Sandbox laufen, sei es aus Leistungs- oder Funktionsgründen.

Wie funktioniert App-Sandboxing?

Sandboxing basiert auf dem Prinzip der geringsten Privilegien. Kurz gesagt, Systeme können tun, was sie tun müssen, aber nicht mehr. Indem Sie jeden Teil eines Systems darauf beschränken, nur sein erklärtes Ziel zu erreichen, verringern Sie die Wahrscheinlichkeit, dass Ihre App gehackt wird. Zum Beispiel gibt es keinen Grund, warum eine Taschenlampen-App Zugriff auf Ihre Kontaktliste haben sollte.

Apps können außerhalb ihrer Sandbox gelangen, aber nur mit Erlaubnis des Betriebssystems. Nehmen Sie das Dialogfeld „Speichern und Öffnen“ in macOS. Die App, die sich in ihrer Sandbox befindet, kann nicht direkt auf Dateisystemressourcen auf Ihrer Festplatte zugreifen. Sie kann beispielsweise kein offenes Panel unter „~/Documents“ zeichnen. Stattdessen muss die App die Powerbox-API mit den Klassen NSOpenPanel und NSSavePanel um Zugriff auf das Panel bitten.

macos-app-sandboxing-powerbox-design

Die Anwendung kann nicht direkt sehen, was in Powerbox passiert. Nur die geöffnete oder gespeicherte Datei wird für die App zugänglich sein. Auf diese Weise können die Apps kritische Funktionen ohne unnötige Risiken ausführen.

Diese Funktionalität wird durch eine Berechtigung ermöglicht (insbesondere com.apple.security.files.user-selected.read-write). App-Entwickler legen Berechtigungen fest, die erklären, was eine App tut. Basierend auf den erklärten Berechtigungen erlaubt das Betriebssystem der Anwendung ein angemessen eingeschränktes Maß an Funktionalität.

Dieser Denkprozess liegt dem gesamten Modell und Mechanismus der App-Sandboxing zugrunde: Apps müssen Absichten erklären und beim OS-Level-Boss um Erlaubnis bitten, um etwas Gefährliches zu erreichen.

Sandbox-Apps vs. Nicht-Sandbox-Apps

Seit dem 1. Juni 2012 müssen alle Drittanbieteranwendungen, die über den Mac App Store verteilt werden, sandboxed sein. Während Sandboxing eine große Bandbreite an App-Funktionalität erlaubt, werden Sie feststellen, dass Mac App Store-Apps oft eingeschränkter sind als ihre nicht-sandboxed Komponenten. Einige Entwickler pflegen sogar zwei Versionen: eine voll funktionsfähige App für den direkten Download und eine eingeschränkte Version für den Mac App Store. Dank der größeren Komplexität der Sandbox-Entwicklung ist es schwieriger, neue Funktionalitäten zu einer Anwendung hinzuzufügen – wenn diese Funktionalität vom OS überhaupt erlaubt ist.

Während sandboxed Apps den Vorteil der Verteilung über den Mac App Store genießen können, können Sie erraten, wie wertvoll wir das einschätzen. Sandboxing kann auch mit Sicherheitsberechtigungen erweitert werden. Während eine App die Zugriffsberechtigungen für sich selbst nicht aktivieren kann, kann sie den Benutzer bitten, dies zu tun.

macos-security-privacy-permissions-hero

Um zu sehen, welche Ihrer Apps sandboxed sind, öffnen Sie die Aktivitätsanzeige und klicken Sie mit der rechten Maustaste auf die Spaltenüberschriften, um „Sandbox“ zum Fenster hinzuzufügen.

macos-app-sandboxing-activity-monitor-view

Es gibt einige Apps, die einfach niemals in einer Sandbox existieren können. Tatsächlich werden durch Sandboxing eine Vielzahl wertvoller Anwendungsfälle verhindert. Sandboxing verhindert die Inter-App-Kommunikation, Beobachtung oder Modifikation und schränkt erheblich ein, wie Anwendungen interagieren können. Systemweite Abkürzungen wie TextExpander sind völlig verboten, da dieses Maß an Funktionalität von der Sandbox nicht erlaubt werden könnte.

Fazit

Obwohl vielversprechend, wurde die macOS-App-Sandboxing nicht gut umgesetzt. Sie schränkte die einzigartigen Verkaufsargumente von Mac-Apps ein, wie Geschwindigkeit und verbesserte Funktionalität. Apps, die außerhalb der Sandbox laufen, sind fast immer leistungsfähiger und schneller. Aus der Perspektive eines Power-Users sind meine am häufigsten verwendeten Apps nicht sandboxed. Apps wie TextExpander, SnagIt und TotalFinder sind alle entscheidend für meine tägliche Arbeit. Um eine ähnliche weit verbreitete Vermeidung zu vermeiden, benötigen zukünftige Sicherheitssysteme Flexibilität und Leistung, die mit Transparenz ausgeglichen sind.

Bildnachweis: Apple