iOS: Sandbox-Fix für Mobile Device Management Bug Quicksand

Mit iOS 8.4.1 hat Apple die Sandbox für 3rd-Party-Apps verbessert, um Daten, die zur Managed App Configuration des Mobile Device Managements (MDM) gehören, besser zu schützen:

CFPreferences
Available for: iPhone 4s and later, iPod touch (5th generation) and later, iPad 2 and later
Impact: A malicious app may be able to read other apps' managed preferences
Description: An issue existed in the third-party app sandbox. This issue was addressed by improving the third-party sandbox profile.
CVE-ID
CVE-2015-3793 : Andreas Weinlein of the Appthority Mobility Threat Team

Betroffen sind somit nur Geräte, die Apps verwenden, die Daten von einem MDM-Server bekommen. Also typischerweise spezielle Firmen-Apps. Und auch bei denen sind nur die Daten betroffen, die als Konfigurations-Daten vom MDM-Server an die App geliefert werden.

Wie man an Apples MDM Beispiel-Projekt sehen kann, dient die Managed App Configuration nämlich dazu, dafür ausgelegte Apps mit Hilfe eines MDM-Servers zentral mit Konfigurations-Daten zu versorgen. Die umgekehrte Richtung wird als User-Feedback-Funktion verwendet, um dem MDM-Server Fehlerberichte und dergleichen zukommen zu lassen.

Den Bug hatte appthority gefunden. Sie nennen ihn Quicksand. Kein Bug ohne eigenen Namen. Wir sind schließlich in 2015. Apps, die im Rahmen des Mobile Device Managements (MDM), was Apple für Firmen anbietet, teilnehmen, können Daten (Preferences) unter /Library/Managed Preferences/mobile/ ablegen. Ihre Daten landen dabei jeweils in einem individuellen Unterverzeichnis, das als Namen den App-Identifier trägt, der eindeutig vergeben wird vom App Store. Das ist so etwas wie de.macmark.testapp.

Der Fehler bestand darin, daß der Zugriff auf diese individuellen Verzeichnisse auch anderen Apps erlaubt war im Rahmen der Sandbox-Definition. Ab iOS 8.4.1 können Apps nur noch ihr eigenes Verzeichnis innerhalb des Verzeichnisses für MDM-Preferences auslesen.

Bei appthority schreiben sie, es wäre eine "sandbox violation". Das ist Käse, weil kein Sandbox-Ausbruch stattfindet. Die Sandbox legt neben anderen Dingen auch fest, welche Verzeichnisse für die App lesbar sind. Dieses Sandbox-Profile hat Apple nun ergänzt. Vorher hatte das Sandbox-Profile den Zugriff einfach nicht unterbunden. Der Bug war also schlicht eine unerwünschte Fehl-Konfiguration der Sandbox.

OS X und iOS verwenden zwar grundsätzlich dieselbe Sandbox-Technik, aber Apps in iOS werden in der Regel mit einem stärker einschränkendem Sandbox-Profile gestartet als Apps auf OS X. Auch viele Systemdienste haben spezielle Sandbox-Profiles auf beiden Plattformen.

Valid XHTML 1.0!

Besucherzähler


Latest Update: 11. September 2015 at 19:48h (german time)
Link: macmark.de/blog/osx_blog_2015-08-b.php