Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Mac-Tipp: Dateizugriff am Mac – Zugriffskontrolle entschlüsselt (weitgehend)

Rechner, die ständig im Netz sind, sind potenziellen Gefahren ausgesetzt: Unbewusst installierte Schadsoftware kann versuchen, gespeicherte Informationen auszulesen, um sie an Unbefugte zu senden. Um das zu verhindern, setzt Apple auf strikte Zugriffskontrollen: Programme dürfen nur auf Dateien und Ordner zugreifen, bei denen Anwender explizit eine Erlaubnis erteilt hat. Darüber wachen zwei Mechanismen: „Transparency, Consent & Control“ (TCC) sowie ein dateibasiertes erweitertes Attribut. Letztere wurde mit macOS Catalina im Jahr 2019 eingeführt und von Apple nicht weiter dokumentiert. Dank intensiver Forschung konnte Howard Oakley nun umfangreiche Details ans Licht bringen – inklusive einer einfachen Methode, das erweiterte Attribut de facto zurückzusetzen.


Oakley programmierte für diesen Zweck ein eigenes Programm namens Insent. Diese Sandbox-freie App dient lediglich dem Zweck, Dateizugriffe einzurichten sowie zu überprüfen, sowohl für den Zugriff über „Consent“ (der in Systemeinstellungen unter Datenschutz & Sicherheit widerrufen werden kann) sowie Intent (für den es bisher keinen für den Nutzer zugänglichen Weg zurück gibt). Intent-gesteuerte Dateizugriffe hinterlassen allerdings ihre Spuren in den erweiterten Dateiattributen (xattr): Ein Eintrag namens „MACL“ protokolliert, welche Programme ein Finder-Objekt nutzen dürfen.

Kryptischer Inhalt
Deren Inhalt erwies sich anfangs als harter Brocken. Erst durch eine vergleichende Analyse umfangreicher Datenmengen offenbarten sich einzelne Elemente. Die ersten zwei Bytes eines MACL-Eintrags stellen den Header dar, welcher wiederum zwei Mustern folgt:

  • Das erste Byte enthält eine Zahl, welche wahrscheinlich eine Art Versionierung darstellt: Im Jahr 2019 wurde ausschließlich „01“ ausgegeben, bis ins Jahr 2025 stieg diese auf 08 an. In einem solchen Fall besteht das zweite Byte entweder aus 00 oder 40.
  • Das erste Byte ist auf 00 gesetzt, enthält also keine Versionsnummer. In diesem Fall beobachtete Oakley drei unterschiedliche Werte für das zweite Byte: 43, 81 oder C1.

Oakley interpretiert diese Header-Bytes als Information, wie sich dieses eine (programmspezifische) MACL-Attribut auswirkt: „08 00“ etwa gewähre Lesezugriff auf ein geschütztes Verzeichnis und dessen Inhalte.

Einzigartige Kennung
Nach den beiden Header-Bytes folgt eine Kennung im Format UUID (Version 4), somit eine Zufallskennung von 122 Bit Länge. Diese ist App-spezifisch, aber nicht nur das: Sie wird unter Einbezug der Kennung des aktuellen Nutzers und der Session erstellt. Dadurch lässt die UUID nicht ohne Weiteres auf die ursprüngliche App schlussfolgern. Derlei Kennungen erscheinen in Sammelsätzen von bis zu vier solcher MACL-Attribute; ein Viererpaket nimmt 72 Bytes ein. Sie werden anscheinend niemals entfernt.

Die Struktur des erweiterten Attributs mit dem Namen „MACL“.

Neustart macht die Erlaubnis ungültig
Howard Oakley machte eine interessante Beobachtung: Zumindest in macOS 26.4 (Tahoe) verliert ein MACL-Eintrag seine Gültigkeit, sobald der Nutzer seinen Mac neu startet. Der xattr-Eintrag bleibt zwar erhalten, doch er funktioniert nicht mehr, da die UUID dank der neuen Session ihre Gültigkeit verloren hat. Somit können Nutzer tatsächlich mit einfachen Mitteln die „Intent“-Zugriffserlaubnis (mittels „Datei-öffnen“-Dialog) widerrufen.

Besser wäre Dokumentation
Es hat über sechs Jahre gedauert, bis die Bedeutung und Funktionsweise des MACL-Attributs entschlüsselt wurde – und sich damit eine einfache Möglichkeit offenbarte, den Dateizugriff für Programme ohne Sandbox-Beschränkungen zurückzusetzen. Einfacher wäre es gewesen, wenn Apple mit offenen Karten gespielt und von vornherein die Funktionsweise dokumentiert hätte.

Kommentare

Retrax27.04.26 19:06
Vor ein paar Jahren hatte ich auf einem Intel Mac folgendes Szenario:

- Auf dem iMac lief Snow Leopard.
- Auf einer externen Festplatte habe ich ebenfalls Snow Leopard installiert.

Ich habe dann von der externen gebootet, und konnte auf jede einzelne Datei auf der iMac Installation zugreifen, verändern, lesen, löschen,... einfach alles, obwohl die Ordner wenn ich mich recht entsinne ein kleines rotes Verbotsschild aufwiesen.

Eigentlich hätte doch der Zugriff auf eine andere Mac OS X Installation verhindert werden müssen.

Aber scheinbar hat es damals ausgereicht, mit einer externen Installation den Mac zu booten um an die Daten des Macs zu gelangen - wenn sie nicht mit FileFault gesichert waren.

Warum war das so?
0
Weia
Weia27.04.26 19:47
Retrax
Aber scheinbar hat es damals ausgereicht, mit einer externen Installation den Mac zu booten um an die Daten des Macs zu gelangen - wenn sie nicht mit FileFault gesichert waren.

Warum war das so?
Wenn Du von einer externen Platte bootest, ist die Mac-interne Platte für macOS eine „externe“ Platte (da nicht das Bootmedium).

Auf externen Platten ignoriert macOS per Default unsinnigerweise die Zugriffsrechte; man muss das erst im Finder-Inspektor aktivieren (= Eigentumsrechte auf diesem Volume ignorieren deaktivieren). Das war seinerzeit ein Zugeständnis der NeXT-Fraktion an die Apple-Fraktion, die mit Unix-Zugriffsrechten fremdelte und die Auffassung vertrat, auf externen Platten würde das die Nutzer überfordern. Diese Default-Einstellung hat schon sehr viel Unheil angerichtet (z.B: auch, weil Dateien, die von einer externen auf die interne Platte kopiert werden, dabei die kompletten Zugriffsrechte-Einstellungen verlieren und alle mit denselben Standardrechten (Eigentümer ist der kopierende Nutzer, er darf lesen und schreiben, alle anderen dürfen stets lesen) gespeichert werden. Wenn man so z.B. eine macOS-Installation kopieren wollte (was man im klassischen Mac OS ja konnte), ging das gesamte System kaputt.

Hat aber alles nichts mit dem Thema hier zu tun.
„Meinung“ ist das Foren-Unwort des Jahrzehnts.
+7

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.