inode Analysis
forensicsDéfinition
Un inode (index node) est une structure de données fondamentale des systèmes de fichiers Unix/Linux qui stocke toutes les métadonnées d'un fichier ou répertoire, à l'exception de son nom (qui est dans l'entrée de répertoire) et de son contenu (dans les blocs de données). L'analyse forensique des inodes permet de reconstituer l'historique complet d'un fichier, même après modification ou suppression. Chaque inode contient : les permissions (mode), l'UID et GID du propriétaire, la taille du fichier, le nombre de liens durs (hard links), quatre timestamps (atime/mtime/ctime/crtime sur ext4), les pointeurs vers les blocs de données, et les attributs étendus. Le numéro d'inode est l'identifiant unique d'un fichier dans son système de fichiers. Forensiquement, les timestamps d'inode sont critiques. Le ctime (change time) est souvent mécompris : il ne s'agit pas de la date de création mais de la date de dernière modification des métadonnées de l'inode (permissions, propriétaire, liens). Il est automatiquement mis à jour lors de chmod, chown, ou mv, ce qui le rend utile pour détecter des modifications de fichiers légitimes ou malveillantes. Le mtime (modification time) est mis à jour lors de toute écriture dans le fichier. L'atime (access time) est mis à jour à la lecture, mais souvent désactivé (noatime) pour les performances. La technique de 'time stomping' (manipulation des timestamps) consiste à modifier mtime, atime et ctime pour masquer l'activité malveillante. Bien que touch puisse modifier mtime et atime, ctime résiste à la manipulation via les API standard — il ne peut être modifié que par des opérations privilégiées ou en accédant directement au disque. Forensiquement, une incohérence entre ctime et mtime/atime peut révéler un time stomping. L'analyse des inodes supprimés (deleted inodes) via debugfs ou sleuthkit révèle les numéros d'inodes libérés récemment, permettant parfois de reconstituer partiellement les fichiers supprimés. Sur ext4, les pointeurs de blocs sont effacés à la suppression, mais debugfs peut parfois retrouver des entrées dans le journal.
Fonctionnement
Le numéro d'inode est stocké dans l'entrée de répertoire (nom → numéro d'inode). La structure inode ext4 fait 256 octets et contient tous les attributs du fichier. Les liens durs (hard links) partagent le même inode. Un inode est libéré quand son link count tombe à 0 et qu'aucun processus ne l'ouvre.
Application DFIR
L'analyse des inodes permet de : détecter les modifications de permissions (ctime mis à jour), identifier les fichiers avec timestamps impossibles (futur ou avant installation), détecter les hard links inhabituels (techniques anti-forensics), et analyser l'espace non alloué pour la récupération de données.
Outils
stat (timestamps d'un fichier), ls -lai (liste avec numéros d'inodes), debugfs -R 'stat
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h