Skip to content

Glossar

TCC-Datenbank (TCC.db)

Die SQLite-Datenbanken, in denen macOS Datenschutzberechtigungen wie Festplattenvollzugriff, Kamera oder Bildschirmaufnahme speichert.

TCC (Transparency, Consent and Control) ist der Mechanismus von macOS, der entscheidet, welche Apps geschützte Ressourcen nutzen dürfen: Festplattenvollzugriff, Kamera, Mikrofon, Bildschirmaufnahme, Bedienungshilfen, Kontakte und mehr. Seine Entscheidungen liegen in SQLite-Datenbanken namens TCC.db: einer systemweiten unter /Library/Application Support/com.apple.TCC/TCC.db, die unter anderem den Festplattenvollzugriff verwaltet, und einer benutzerspezifischen unter ~/Library/Application Support/com.apple.TCC/. Der Systemintegritätsschutz (SIP) schützt beide; sie zu lesen, erfordert Festplattenvollzugriff.

Warum das für Untersuchungen wichtig ist

Viele Angriffe unter macOS brauchen zuerst eine Datenschutzberechtigung. Ein Tool, das Mails, Browserdaten oder Dateien anderer Benutzer lesen will, benötigt Festplattenvollzugriff; eines, das den Bildschirm beobachtet, benötigt Bildschirmaufnahme. Eine Änderung an TCC.db unmittelbar vor einer sensiblen Aktivität ist daher ein starker Ansatzpunkt.

FSEvents verzeichnet, dass die Datenbankdateien geschrieben wurden, einschließlich ihrer Begleiter -wal und -shm, aber nie ihren Inhalt. Es zeigt, dass sich Berechtigungen geändert haben und in welcher Reihenfolge relativ zu anderen Ereignissen, nicht welche App welchen Dienst erhielt. Der FSEvents Parser meldet Schreibvorgänge in beide Datenbanken als Befund und gibt an, ob die System- oder eine Benutzerdatenbank betroffen ist. Die Zeilen der Datenbank vervollständigen das Bild: Die Tabelle access enthält für jeden Eintrag den service, den client (die App) und einen Zeitpunkt last_modified.

Beispiel

Im synthetischen Beispiel, im Logfenster 10:09:55 bis 10:23:18 UTC:

  • Users/dana.whitlock/Library/Preferences/com.apple.systempreferences.plist: Modified;File
  • Library/Application Support/com.apple.TCC/TCC.db-wal, TCC.db und TCC.db-shm: Modified;File

Das passt dazu, dass jemand Terminal in den Systemeinstellungen Festplattenvollzugriff gewährt hat. Die Zeile kTCCServiceSystemPolicyAllFiles für Terminal mit ihrem eigenen Zeitstempel würde es bestätigen.

Verwandte Begriffe

Erkennen Sie TCC-Schreibvorgänge im FSEvents Parser, und verfolgen Sie die ganze Abfolge im Exfiltrationsbeispiel.