
Dateizugriff in macOS: Versteckte Zugriffsrechte auf Ordner


Die Zugriffskontrollen unter macOS werden zunehmend stringenter: Bevor Apps auf Dateien, Ordner, Kontakte oder den Ort zugreifen dürfen, müssen sie mindestens einmal um Erlaubnis bitten. In den Systemeinstellungen unter „Datenschutz & Sicherheit“ finden Anwender diese Berechtigungen und können diese einer App wieder entziehen. „Transparency, Consent & Control“ (TCC) nennt Apple dies. Doch was Dateien und Ordner angeht, klaffen Lücken im feinmaschigen Netz der Zugangsberechtigungen,
berichtet Howard Oakley.
Bevor eine frisch installierte App Dateien beispielsweise im Dokumente- oder Downloads-Ordner öffnen oder ablegen kann, muss sie die Zustimmung des Nutzers (Consent) einfordern: Ein Dialog fragt den Anwender, ob er dies gewährt oder nicht. Danach darf sich diese App im Ordner umsehen, Dateien öffnen und neue anlegen. Gleichzeitig entsteht in den Systemeinstellungen unter Datenschutz & Sicherheit/Dateien & Ordner ein neuer Eintrag mit dem Namen der App und dem jeweiligen Ordner. Schaltet man den Zugriff wieder ab, kann die App keine Dateien von dort mehr öffnen.
Ausnahme via „Öffnen“-DialogWer stattdessen den Öffnen-Dialog bemüht und einer App einmalig Zugriff auf einen Ordner gewährt, erhält die jeweilige App ein dauerhaftes Leserecht für den ausgewählten Ordner – und dieser ist unabhängig von dem Dialog in den Systemeinstellungen. Mehr noch: Auf welche Ordner eine App dank dieser Regelung zugreifen kann, lässt sich in der grafischen Bedienoberfläche weder einsehen noch löschen.
Insent hat laut Systemeinstellungen keinen Zugriff auf den Dokumentordner – und kann darin doch Dateien lesen und schreiben.
App zum ExperimentierenUm diesem Phänomen auf die Spur zu kommen, schrieb Oakley die Software
Insent. Sie fordert Dateizugriffe an und versucht dann, Textdateien zu lesen oder zu schreiben. Bisher konnte er nur einen Weg finden, sämtliche Ordnerzugriffe seiner App zu entfernen – und dieser setzt einen Terminal-Befehl mit anschließendem Neustart voraus:
tccutil reset All co.eclecticlight.Insent
In den (Ordner-)Attributen verstecktIn den Nutzerkommentaren offenbart sich eine mögliche Antwort: Höchstwahrscheinlich speichert macOS die Zugriffserlaubnis in den erweiterten Attributen (xattr) des jeweiligen Ordners. Im Eintrag „com.apple.macl“ scheint dies in Binärform gespeichert zu werden. Oakley sieht aufgrund der komplexen Gestaltung keine bedeutende Sicherheitslücke, aber wundert sich über die mangelnde Transparenz – zusammen mit dem komplizierten Weg, diese Einstellung zurückzusetzen. Möglicherweise betrachtet Apple dieses Phänomen als bedauernswerte Randerscheinung der offeneren Struktur von macOS: Das beschriebene Verhalten gilt für Programme, welche ohne Sandbox gestaltet sind; solche lässt Apple im App Store gar nicht zu.
Was ist geschützt?In weiteren Experimenten versuchte Oakley herauszufinden, welche Ordner überhaupt eine Consent-Abfrage auslösen. Bisher fand er sechs Orte: Schreibtisch, Dokumente, Downloads, Cloud-Ordner, Netzwerkordner und auswerfbare Volumes – letztere allerdings nur, wenn sie nicht schon beim Hochfahren angemeldet wurden. Das bedeutet wiederum, dass die Ordner „Bilder“ und „Filme“ anscheinend nicht vom TCC-Mechanismus geschützt werden – ebenso wenig eigene im Benutzer-Ordner angelegte Ordner.