Glossaire
Flags FSEvents
L'ensemble de 32 bits présent dans chaque enregistrement FSEvents, qui indique ce qui a changé (création, suppression, renommage…) et le type d'élément.
Les flags FSEvents sont le champ de 32 bits présent dans chaque enregistrement FSEvents, qui indique ce qui est arrivé au chemin et de quel type d'élément il s'agit. La valeur est stockée en little-endian. Lue ainsi, les bits de poids faible décrivent la modification (Created 0x1, Removed 0x2, InodeMetaMod 0x4, Renamed 0x8, Modified 0x10, ExtendedAttrModified 0x200, ExtendedAttrRemoved 0x400, ItemCloned 0x4000…), et les bits de poids fort donnent le type d'élément (File 0x00800000, Folder 0x01000000, SymbolicLink, HardLink) ainsi que les événements de volume (Mount, Unmount, EndOfTransaction).
Pourquoi c'est important en investigation
Les flags sont la seule description d'un événement : FSEvents ne conserve ni utilisateur, ni processus, ni contenu. Bien les lire fait la différence entre « un fichier a été téléchargé » et « les permissions d'un fichier ont changé ».
Trois pièges reviennent souvent :
- L'ordre des octets. FSEventsParser lit les mêmes quatre octets en big-endian et utilise des constantes inversées (
Created= 0x01000000). Les deux conventions donnent les mêmes noms ; les mélanger, non. - Les constantes de l'API sont différentes. Les valeurs publiques
kFSEventStreamEventFlag*d'Apple décrivent ce que reçoit une application en cours d'exécution, pas ce qui est écrit dans.fseventsd. Appliquer cette table aux fichiers journaux produit des noms erronés. - Plusieurs modifications par enregistrement. À cause de la fusion d'événements, un enregistrement peut porter à la fois
Created,ModifiedetRemoved, sans ordre enregistré.
Mieux vaut afficher en hexadécimal les bits sans signification documentée plutôt que de deviner ; dans des données récupérées par carving, ils suggèrent un enregistrement endommagé.
Exemple
| Valeur brute | Décodage | Lecture habituelle |
|---|---|---|
0x00800011 | Created, Modified, File | Un nouveau fichier a été écrit |
0x00800400 | ExtendedAttrRemoved, File | Un attribut a été supprimé |
0x00800008 | Renamed, File | Un côté d'un renommage ou déplacement |
0x03000000 | Mount, Folder | Un volume a été monté à ce chemin |
Termes associés
Le FSEvents Parser affiche les flags sous forme de pastilles, avec la valeur brute ; chaque bit est détaillé dans les flags FSEvents expliqués.