- Es wurde ein Problem festgestellt, bei dem die Privacy-&-Security-Einstellungen von macOS den tatsächlichen Status von Zugriffsrechten nicht korrekt widerspiegeln
- Selbst wenn der Zugriff auf den Ordner Documents blockiert ist, kann die App Insent weiterhin Dateien lesen
- Wenn der Benutzer den Ordner direkt auswählt, betrachtet das TCC-System dies als beabsichtigten Zugriff und hebt die Beschränkung auf
- Im Einstellungsfenster wird der Zugriff weiterhin als blockiert angezeigt, tatsächlich sind die Sandbox-Beschränkungen jedoch aufgehoben und der Zugriff bleibt erlaubt
- Um den Zugriff vollständig zu blockieren, sind ein Terminal-Befehl und ein Neustart erforderlich, was das Risiko birgt, dass Nutzer die Kontrolle verlieren
Zuverlässigkeitsproblem der macOS-Privacy-&-Security-Einstellungen
- Es wurde ein Fall bestätigt, in dem die macOS-Privacy-&-Security-Einstellungen den tatsächlichen Status von Zugriffsrechten nicht korrekt widerspiegeln
- Mit einer einfachen App namens Insent trat das Phänomen auf, dass der Zugriff auf den Ordner Documents trotz blockierter Einstellung tatsächlich möglich war
- Das Problem lässt sich auch auf macOS-Versionen ab 13.5 identisch reproduzieren
-
Funktionsweise der App Insent
- Die Schaltfläche Open by consent öffnet mit Zustimmung des Benutzers eine beliebige Textdatei im Ordner Documents und zeigt sie an
- Die Schaltfläche Open from folder öffnet Dateien im ausgewählten Ordner und zeigt sie an, wenn der Benutzer den Ordner direkt auswählt
- Im zweiten Fall wird die Absicht (intent) des Benutzers als Zugriffsfreigabe gewertet, sodass das TCC-System (Transparency, Consent, and Control) den Zugriff ohne zusätzliche Zustimmung erlaubt
-
Versuchsablauf und Ergebnisse
- Zunächst wurde bestätigt, dass Insent Dateien normal lesen kann, nachdem der Zugriff auf Documents erlaubt wurde
- Danach wurde der Documents-Zugriff von Insent in den Privacy-&-Security-Einstellungen deaktiviert, woraufhin der Zugriff blockiert war
- Wird Documents jedoch über Open from folder ausgewählt, ist der Zugriff wieder möglich, und danach funktioniert auch Open by consent wieder ohne Einschränkungen
- Im Einstellungsfenster wird der Zugriff weiterhin als blockiert angezeigt, tatsächlich kann Insent aber weiterhin auf den Ordner Documents zugreifen
- Um den Zugriff vollständig zu blockieren, muss der Befehl
tccutil reset All co.eclecticlight.Insentausgeführt und der Mac neu gestartet werden
-
Analyse des internen Ablaufs
- Insent ist eine normal notarized App und verwendet weder Sandbox noch besondere Berechtigungen
- Bei aktiviertem System Integrity Protection (SIP) werden einige Vorgänge in der Sandbox verarbeitet
sandboxdfängt Dateizugriffsanfragen ab und sendet an TCC eine Anfrage zur Genehmigung; bei Zustimmung des Benutzers wird der Zugriff erlaubt- Nachdem der Zugriff deaktiviert wurde, verweigert TCC ihn zwar, aber sobald der Benutzer den Ordner über das Open/Save-Panel auswählt, fängt
sandboxddie Anfrage nicht mehr ab - Dadurch kann TCC den Zugriff nicht mehr steuern, und der Zugriff auf den Ordner ist möglich, weil die Sandbox-Beschränkung aufgehoben ist
-
Ursache des Problems
- Wenn ein Zugriff entsprechend der Benutzerabsicht erfolgt, wird die Sandbox-Beschränkung für diesen Ordner entfernt
- Diese Änderung wird nicht in der UI der Privacy-&-Security-Einstellungen angezeigt, sodass es zwar so aussieht, als sei der Zugriff blockiert, tatsächlich bleibt er jedoch erlaubt
- Andere geschützte Ordner (z. B. Desktop, Downloads) funktionieren normal; das Problem tritt unabhängig pro Ordner auf
-
Fazit
-
Die Anzeige von Zugriffsbeschränkungen im Bereich Files & Folders ist hinsichtlich des tatsächlich angewendeten Status nicht vertrauenswürdig
- Selbst wenn eine App nicht in der Liste erscheint oder als blockiert angezeigt wird, kann sie in manchen Fällen tatsächlich auf geschützte Ordner zugreifen
- Wurde ein Zugriffsrecht einmal gewährt, lässt es sich ohne Terminal-Befehl und Neustart nicht aufheben, was das Risiko birgt, dass Nutzer die Kontrolle über die Zugriffskontrolle verlieren
-
-
Zusätzliche Diskussion (Zusammenfassung der Kommentare)
- Nach dem Experiment wurde vermutet, dass dem Ordner Documents das erweiterte Attribut
com.apple.maclhinzugefügt wurde und dieses den Zugriff von Insent erlaubt - Der Befehl
tccutil resetentfernt zwar die macl-Einträge aus der Datenbank, aber xattr (erweiterte Attribute) können bestehen bleiben, sodass der Zugriff erhalten bleibt - Bei aktiviertem SIP ist es schwierig, dieses Attribut zu entfernen; möglich ist das nur im Recovery-Modus mit dem Befehl
xattr -d com.apple.macl path/to/Documents - Dadurch befinden sich Benutzer in einer Situation, in der sie den tatsächlichen Zugriffsstatus einer App nur schwer prüfen oder kontrollieren können
- Nach dem Experiment wurde vermutet, dass dem Ordner Documents das erweiterte Attribut
1 Kommentare
Hacker-News-Kommentare
Für mich wirkt das wie ein simples Problem. Wenn man einer App Ordnerzugriff gibt, würde ich selbstverständlich erwarten, dass sie auch auf die Dateien in diesem Ordner zugreifen kann
Nachdem ich den Artikel gelesen hatte, habe ich alle Ordnerberechtigungen entfernt und getestet, und Insent konnte Documents lesen, obwohl in der UI „None“ angezeigt wurde. Das wirkt wie ein Transparenzversagen
Das ist die Ironie eines GUI-zentrierten OS. Um den Zugriff auf den Documents-Ordner vollständig zu blockieren, muss man im Terminal
tccutil reset All co.eclecticlight.Insentausführen und neu starten
Der Titel sollte eher zu „macOS-Apps behalten Ordnerzugriff, selbst wenn der Nutzer den Zugriff entzieht“ geändert werden
Das Sandbox-System des Mac erinnert mich an die Windows-UAC. Eine Struktur, die nur die Ermüdung der Nutzer verstärkt.
Ich halte den optionalen Container-Ansatz von *nix für deutlich besser.
Besonders seltsam ist, dass im Terminal gestartete Hintergrundprozesse ihre Berechtigungen behalten, selbst wenn der Elternprozess beendet wurde. Das ganze Berechtigungssystem wirkt dadurch eher formalistisch
Neben
tccutil resetkann man auch zurücksetzen, indem man in den Sicherheitseinstellungen die Berechtigung einschaltet und wieder ausschaltet.Die UI zeigt den Status wegen eines Bugs nur falsch an, die tatsächlichen Berechtigungen funktionieren normal.
Auch die Farbe der Checkboxen ändert sich je nach Fokus und sorgt für Verwirrung. Das ist selbst in der Sequoia-Version noch so.
Interessant ist auch, dass auf externen Laufwerken installierte Spiele Zugriff auf „removable volumes“ anfordern und dadurch massenhaft in der Liste auftauchen
Ich bin unsicher, ob das ein Bug, eine Sicherheitslücke oder nur ein Versehen ist. Ich überlege, ob es sinnvoll wäre, für alle Apps den Reset-Befehl auszuführen
Auch in aktuellen macOS-Versionen gibt es ähnliche Verwirrung in der Security-UI.
Im Bereich „Full Disk Access“ werden manche Apps grau dargestellt, aber man kann nicht erkennen, ob das „ein“ oder „aus“ bedeutet.
Es ist unklar, ob das ein Bug ist oder ob die Berechtigung tatsächlich besteht
Selbst wenn Full Disk Access deaktiviert ist, werden nur einige sensible Ordner geschützt, während normale Ordner (Desktop, Documents usw.) weiterhin zugänglich bleiben (Apple-Dokument)
Die Ursache des Problems ist das für den Documents-Ordner gesetzte erweiterte Attribut
com.apple.macl. Wegen SIP lässt es sich nicht entfernenIch frage mich, ob es auf iOS dasselbe Phänomen gibt