Glossaire
Base TCC (TCC.db)
Les bases SQLite où macOS enregistre les autorisations de confidentialité comme l'accès complet au disque, la caméra ou l'enregistrement de l'écran.
TCC (Transparency, Consent and Control) est le mécanisme de macOS qui décide quelles applications peuvent utiliser des ressources protégées : Accès complet au disque, caméra, micro, enregistrement de l'écran, accessibilité, contacts, etc. Ses décisions sont stockées dans des bases SQLite nommées TCC.db : une base système, /Library/Application Support/com.apple.TCC/TCC.db, qui gère notamment l'Accès complet au disque, et une base par utilisateur sous ~/Library/Application Support/com.apple.TCC/. La protection de l'intégrité du système (SIP) protège les deux ; les lire nécessite l'Accès complet au disque.
Pourquoi c'est important en investigation
Beaucoup d'attaques sur macOS ont d'abord besoin d'une autorisation de confidentialité. Un outil qui veut lire les e-mails, les données du navigateur ou les fichiers d'autres utilisateurs a besoin de l'Accès complet au disque ; un outil qui observe l'écran a besoin de l'enregistrement de l'écran. Une modification de TCC.db juste avant une activité sensible est donc une piste sérieuse.
FSEvents enregistre que les fichiers de la base ont été écrits, y compris leurs compagnons -wal et -shm, mais jamais leur contenu. Il indique que des autorisations ont changé, et dans quel ordre par rapport aux autres événements, pas quelle application a obtenu quel service. Le FSEvents Parser génère un constat pour les écritures dans l'une ou l'autre base et précise s'il s'agit de la base système ou d'une base utilisateur. Les lignes de la base complètent le tableau : la table access indique pour chaque entrée le service, le client (l'application) et une date last_modified.
Exemple
Dans l'exemple synthétique, dans la fenêtre du journal de 10:09:55 à 10:23:18 UTC :
Users/dana.whitlock/Library/Preferences/com.apple.systempreferences.plist:Modified;FileLibrary/Application Support/com.apple.TCC/TCC.db-wal,TCC.dbetTCC.db-shm:Modified;File
Cela concorde avec l'octroi de l'Accès complet au disque à Terminal dans les Réglages Système. La ligne kTCCServiceSystemPolicyAllFiles de Terminal, avec son propre horodatage, le confirmerait.
Termes associés
Repérez les écritures dans TCC avec le FSEvents Parser, et suivez la séquence complète dans l'exemple d'exfiltration commenté.