Die iOS Hacker und Entwickler reden immer wieder von einer sogenannten Sandbox, doch was ist eigentlich eine Sandbox?
Wir erklären euch in diesem Beitrag, was eine Sandbox unter iOS ist.
[INDENT]The App Sandbox
For security reasons, iOS places each app (including its preferences and data) in a sandbox at install time. A sandbox is a set of fine-grained controls that limit the app’s access to files, preferences, network resources, hardware, and so on. As part of the sandboxing process, the system installs each app in its own sandbox directory, which acts as the home for the app and its data.
To help apps organize their data, each sandbox directory contains several well-known subdirectories for placing files. Figure A-1 shows the basic layout of a sandbox directory. For detailed information about the sandbox directory and what belongs in each of its subdirectories.
Important The purpose of a sandbox is to limit the damage that a compromised app can cause to the system. Sandboxes do not prevent attacks from happening to a particular app and it is still your responsibility to code defensively to prevent attacks. For example, if your app does not validate user input and there is an exploitable buffer overflow in your input-handling code, an attacker could still hijack your app or cause it to crash. The sandbox only prevents the hijacked app from affecting other apps and other parts of the system. – iPhone Programming Guide, Seite 130
[/INDENT]
Aus Sicherheitsgründen werden alle Apps bei Installation (inklusive allen Einstellungen und Daten) in einer sogenannten Sandbox platziert. Die Sandbox kontrolliert und limitiert den Zugriff auf das Dateisystem, Einstellungen, Netzwerk Resourcen, Hardware und so weiter. Alle Apps werden beim installieren in einer Sandbox platziert, welches als Home Verzeichnis für die jeweilige App und seine Daten gilt.
Um die Daten besser organisieren zu können beinhaltet jede Sandbox Unterorder um Dateien abzulegen.
Das folgende Bild zeigt das Basis Layout einer Sandbox:
Hinweis: Weitere Details über die Sandbox Verzeichnisse und was in welches Verzeichnis gehört, könnt ihr im File System Programming Guide nachlesen.
Hinweis: Der Zweck einer Sandbox ist, das System vor kompromitierten Apps zu schützen damit diese keinen Schaden im System anrichten. Genau aus diesem Grund möchten auch die iOS Hacker aus der Sandbox ausbrechen können, damit sie den Exploit im System einpflanzen können, weil man aus der Sandbox nicht auf das System zugreifen kann.
Die Sandbox ist eigentlich nichts anderes als ein Gefängnis für Apps
quelle hack2learn.com