Zweischneidiges Schwert: Ab März 2012 müssen alle Programme im Mac App Store „App Sandboxing“ nutzen
Mit OS X Lion (10.7) hat Apple diesen Sommer seinem Desktop-Betriebssystem nicht nur eine Fülle neuer Bedienelemente, wie das Launchpad, beschert, sondern auch an der Sicherheit des System gearbeitet. (Hier die Übersicht aller 250+ Mac OS X Features.)
Ein großer Schwerpunkt liegt beim sogenannten „Sandboxing„, das um die „App Sandbox“ ergänzt wurde. Sandboxing bedeutet, dass eine Anwendung vom restlichem System abgeschirmt wird und mangels Schreib- und anderen Zugriffsrechten keinen Schaden an anderen Programmen oder dem System selbst anrichten kann.
Das Sandboxing für eine App zu aktivieren ist noch optional, ursprünglich war die Frist für die Entwickler auf den 1. November festgelegt worden, wurde jedoch nun zum 1. März 2012 verlängert. Ab dann müssen alle Entwickler, die ihre Mac Anwendungen im Mac App Store anbieten möchten, von dieser Funktion Gebrauch machen. Allerdings ist die Implementierung nicht kompliziert und läuft vollautomatisch ab. In Xcode müssen die Entwickler lediglich einen Haken bei der Checkbox „Enable Entitlements“ setzen.
Alles in allem klingt das zunächst ja nicht schlecht. Das Sandboxing hat jedoch nicht nur positive Folgen für den Nutzer. Durch diese Umstellung der Zugriffsberechtigungen können Anwendungen nicht mehr jede beliebige Funktion ausführen. Nur noch die folgenden Zugriffe auf Bereiche außerhalb der Laufzeitumgebung der App werden sich nutzen lassen:
- Lese-/Schreibzugriff auf den Filme-Ordner und die iTunes Filme des Nutzer
- Lese-/Schreibzugriff auf den Musik-Ordner des Nutzer
- Lese-/Schreibzugriff auf den Bilder-Ordner des Nutzer
- Lese-/Schreibzugriff auf den Download-Ordner des Nutzer
- Lese-/Schreibzugriff auf das Adressbuch des Nutzer
- Lese-/Schreibzugriff auf den Kalender des Nutzer
- Video- und Fotoaufnahme mit der integrierten iSight-Kamera
- Tonaufnahme mit dem integriertem Mikrofon
- Nutzung von USB-Geräten
- Lese-/Schreibzugriff auf die der Nutzer mit einer Open-/Save-Dialogbox zugreift
- Vererbte Child-Prozesse der Parent-Sandbox
- Ausgehende und eingehende Netzwerkzugriffe zur Verbindung mit anderen Geräten
- Nutzung von des Core Location Framework um die geographische Position des Computer zu bestimmen
Weiterhin können Entwickler aktuell zumindest temporär weitere Berechtigungen nutzen, bis ihre bestehenden Anwendungen an die neuen Regelungen angepasst wurden.
Mit diesen beschränkten Zugriffsrechten können jedoch einige Anwendungen ab März nicht mehr im Mac App Store weiterbestehen. Macrumors nennt hier mit CoverSutra, einer Erweiterung für die Menüleiste um iTunes fernzusteuern, ein gutes Beispiel. Zwar können Anwendungen auf den Musikordner zugreifen, allerdings können sie nicht mehr fremde Anwendungen, wie iTunes, steuern. Ebenso sind auch Dateisystembrowser betroffen, Backupprogramme und viele andere. Möglicherweise werden sich auch keine Plug-Ins mehr in diese Anwendungen integrieren lassen.
Noch können wir jedoch nicht genau einschätzen, wie drastisch die Folgen sein werden. Wer weitere Berechtigungen für seine Anwendungen benötigt kann beim Einreichen seiner App im Mac App Store einen Antrag auf die Befugnisse stellen. Laut Apple „muss eine Begründung mitgeliefert werden“. Wünschenswert wäre es, dass Apple auch weiterhin diese Schiene fährt und es Entwicklern ermöglicht auf Antrag weitere Systemressourcen zu nutzen.
Letztlich wird Apple sein Entwickler-Community – und damit auch die Nutzer der im Mac App Store angebotenen Anwendungen – wohl nicht zu sehr einzuschränken. OS X ist nicht iOS und zu drastische Anforderungen würden das Angebot des Mac App Stores weit weniger interessant machen. Langfristig dürfte es in Apples Interesse sein, so viele Entwickler wie möglich zum Software-Vertrieb über den Mac App Store zu bewegen. Noch befinden wir uns auf der Suche nach den besten Kompromissen.