macOS: Apps können Festplattenvollzugriff des Terminals missbrauchen

Programme, die nicht in einer Sandbox laufen, können den Systemschutz TCC von macOS umgehen, sobald man dem Terminal Festplattenvollzugriff gestattet.​

In Pocket speichern vorlesen Druckansicht 14 Kommentare lesen
Systemeinstellung "Sicherheit & Datenschutz" von macOS
Lesezeit: 3 Min.

Wie der Entwickler und Blogger Jeff Johnson herausfand, können Programme die Sicherheitsvorkehrungen von macOS mit einem Trick umgehen und auf alle Ordner des Systems zugreifen, wenn das Terminal das Recht zum Festplattenvollzugriff hat.

Die Lücke betrifft laut Johnson nur Apps, die nicht in der Sandbox laufen. Diese ist für den Vertrieb von Programmen über Apples App Store Vorschrift, aber nicht für Programme, die zum Beispiel per Download oder Mail den Weg auf den Mac finden. Schädliche Software kann mit wenigen Zeilen Code im Programm-Bundle enthaltene Shell-Skripte im Terminal starten. Hat das Dienstprogramm Festplattenvollzugriff, bekommt auch das gestartete Skript diese Rechte und kann Schaden anrichten oder Daten abgreifen, auf die eine App sonst keinen Zugriff hat.

Per Sandbox abgedichtete Apps dürfen generell keine Skripte im Terminal starten. Hier meldet macOS dann einen Fehler. Über den App Store bezogene Programme können das Schlupfloch also nicht verwenden.

Normalerweise dürfen selbst Mac-Apps, deren Dateisystemzugriffe nicht per Sandbox eingeschränkt sind, nicht ohne Rückfragen auf Ordner wie Downloads, Dokumente oder den Schreibtisch zugreifen. Dieser Zugriffsschutz gilt seit macOS 10.15 Catalina und höher und wird vom Framework "Transparency, Consent, and Control" (TCC) bereitgestellt (Details siehe Apple). Worauf eine App konkret zugreifen darf, verrät die Systemeinstellung "Sicherheit & Datenschutz" im Reiter "Datenschutz" im Bereich "Dateien und Ordner".

Neben den gezielten Zugriffsrechten gibt es den Festplattenvollzugriff, der beispielsweise für Backup-Programme wichtig ist, aber auch gerne von Admins dem Terminal gewährt wird. Erst mit dieser Berechtigung darf ein Programm auch auf generell geschützte Ordner wie "~/Library/Application Support/com.apple.TCC" zugreifen. Darin liegt beispielsweise die SQLite-Datenbank von Apples TCC-Framework und ist somit im Normalfall vor Manipulation geschützt.

Die Zugriffssteuerung (TCC) von macOS greift normalerweise auch bei Programmen ohne Sandbox, wie hier beim Terminal.

Wer den Festplattenvollzugriff im Terminal benötigt, sollte ihn nur bei Bedarf einschalten. Selten gibt es Fälle, in denen er permanent erforderlich ist. Ohne die Berechtigung läuft auch vermeintliche Malware ins Leere, die die geschilderte Lücke ausnutzen möchte.

Da das Terminal standardmäßig nur eingeschränkte Rechte hat, bedarf es für Anwender keiner Maßnahmen, wenn Sie es noch nie benutzt haben. Ein Kontrollblick in die Systemeinstellung "Sicherheit & Datenschutz" im Abschnitt "Festplattenvollzugriff" des Reiters "Datenschutz" schadet aber nicht. Dort sollte das Terminal nicht aufgeführt oder die Checkbox deaktiviert sein.

Wer grundsätzlich nur Apps aus dem App Store nutzt, kann in der Systemeinstellung "Sicherheit & Datenschutz" im Reiter "Allgemein" die Einstellung "App-Download erlauben von" auf "App Store" umschalten. Dann verhindert macOS den Start von Programmen aus anderen Quellen, wie per Mail verteilte Malware.

(wre)