Skip to content

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, Modified et Removed, 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 bruteDécodageLecture habituelle
0x00800011Created, Modified, FileUn nouveau fichier a été écrit
0x00800400ExtendedAttrRemoved, FileUn attribut a été supprimé
0x00800008Renamed, FileUn côté d'un renommage ou déplacement
0x03000000Mount, FolderUn 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.