Points clés de cet article

  • Comprendre les fondamentaux et les enjeux liés à NTFS Forensics : Methodologie et Recommandations de Securite
  • Découvrir les bonnes pratiques et méthodologies recommandées par nos experts
  • Appliquer concrètement les recommandations : analyse forensique approfondie ntfs : master file table ($mft), alternate data streams (ads), usn journal, récupération de données, détection malware,

NTFS Forensics : $MFT, Alternate Data Streams et USN Journal

Analyse approfondie des structures NTFS pour l'investigation numérique avancée L'investigation numerique et l'analyse forensique constituent des disciplines essentielles de la cybersecurite moderne. Face a la multiplication des incidents de securite, les analystes DFIR doivent maitriser un ensemble d'outils et de methodologies pour identifier, collecter et analyser les preuves numeriques de maniere rigoureuse. Cet article detaille les techniques avancees, les processus de chaine de custody et les bonnes pratiques pour mener des investigations efficaces dans des environnements complexes. Cet article fournit une analyse technique approfondie et des recommandations pratiques pour les professionnels de la cybersecurite. Les concepts presentes sont issus de retours d'experience terrain et des meilleures pratiques du secteur. Les equipes techniques y trouveront des methodologies eprouvees, des outils recommandes et des strategies de mise en oeuvre adaptees aux environnements de production modernes. La maitrise de ces sujets est devenue incontournable dans le contexte actuel de menaces en constante evolution.

Introduction

Le système de fichiers NTFS (New Technology File System) représente l'architecture de stockage la plus élaborée de l'écosystème Windows, intégrant des mécanismes de journalisation transactionnelle, de sécurité granulaire, et de métadonnées riches qui en font un terrain d'investigation forensique exceptionnellement fertile. Au centre de cette architecture, la Master File Table ($MFT) constitue la structure centrale documentant chaque fichier et répertoire du volume, tandis que les mécanismes comme les Alternate Data Streams (ADS) et l'Update Sequence Number Journal (USN Journal) offrent des perspectives uniques sur l'activité du système de fichiers et les tentatives de dissimulation de données.

L'évolution de NTFS depuis son introduction avec Windows NT 3.1 jusqu'aux implémentations modernes dans Windows 11 a considérablement enrichi les capacités forensiques du système de fichiers. L'ajout de fonctionnalités comme la compression transparente, le chiffrement EFS, les points de reparse, et plus récemment l'intégration ReFS, a créé de nouvelles opportunités d'investigation tout en introduisant des complexités techniques significatives. La compréhension approfondie de ces mécanismes permet non seulement la récupération de données supprimées mais aussi la détection d'activités malveillantes complexees et la reconstruction détaillée de l'historique des modifications du système de fichiers.

Cette analyse technique approfondie explore les aspects les plus avancés de l'investigation NTFS, en se concentrant sur l'exploitation forensique de la $MFT et ses attributs complexes, l'analyse des Alternate Data Streams souvent utilisés pour la dissimulation de malware, et l'exploitation du USN Journal pour la reconstruction chronologique précise des événements. Ces trois piliers de l'analyse NTFS, correctement maîtrisés et corrélés, permettent une compréhension exhaustive de l'activité du système de fichiers impossible à obtenir par d'autres moyens.

Notre avis d'expert

L'analyse de la mémoire vive est devenue incontournable dans les investigations modernes. Les malwares fileless, les attaques living-off-the-land et les techniques d'injection en mémoire ne laissent souvent aucune trace sur le disque. Ignorer la RAM, c'est passer à côté de 60% des preuves.

Vos preuves numériques seraient-elles recevables devant un tribunal ?

Partie 1 : Architecture de la Master File Table ($MFT)

Structure fondamentale et organisation des enregistrements

La Master File Table constitue le cœur du système de fichiers NTFS, implémentant une base de données relationnelle aboutie où chaque fichier, répertoire, et métadonnée système est représenté par un enregistrement MFT de taille fixe, typiquement 1024 octets. Cette architecture tabulaire, radicalement différente des systèmes de fichiers basés sur des listes chaînées comme FAT, permet un accès direct et efficace aux métadonnées de n'importe quel objet du système de fichiers via son numéro d'enregistrement MFT.

Les 16 premiers enregistrements de la $MFT sont réservés aux métafichiers système, chacun jouant un rôle critique dans l'architecture NTFS. L'enregistrement 0 ($MFT elle-même) contient les métadonnées de la table principale, créant une structure autoréférentielle élégante. L'enregistrement 1 ($MFTMirr) maintient une copie miroir des premiers enregistrements critiques pour la récupération en cas de corruption. L'enregistrement 2 ($LogFile) implémente le journal transactionnel, tandis que l'enregistrement 5 (.) représente la racine du volume. Cette organisation systématique facilite l'analyse forensique en fournissant des points d'entrée prévisibles dans la structure du système de fichiers.

Chaque enregistrement MFT commence par un en-tête standard de 42 octets contenant la signature "FILE" (0x454C4946), les offsets vers les séquences de mise à jour, le numéro de séquence LSN, et crucialemen, le sequence number qui s'incrémente à chaque réutilisation de l'enregistrement. Ce mécanisme de versioning permet la détection de la réutilisation d'enregistrements et la reconstruction de l'historique des allocations, une capacité forensique précieuse pour tracer l'évolution du système de fichiers.

Analyse des attributs NTFS standards et résidents

Les attributs NTFS constituent les blocs de construction fondamentaux stockant toutes les données et métadonnées associées à un fichier. Chaque attribut possède un en-tête standard définissant son type, sa taille, son nom optionnel, et ses flags de compression ou chiffrement. La distinction entre attributs résidents (stockés directement dans l'enregistrement MFT) et non-résidents (stockés dans des clusters externes) a des implications forensiques majeures, les attributs résidents étant souvent préservés même après la suppression du fichier.

Analyse approfondie et recommandations

L'attribut $STANDARD_INFORMATION (0x10) contient les timestamps fondamentaux et les attributs de fichier DOS compatibles. Les quatre timestamps NTFS - création, modification, accès, et modification MFT - offrent une granularité temporelle de 100 nanosecondes. Cependant, l'analyse forensique doit considérer les mécanismes de mise à jour sélective : le timestamp d'accès peut être désactivé pour performance, et certaines opérations mettent à jour uniquement des timestamps spécifiques. La présence de divergences entre les timestamps $STANDARD_INFORMATION et $FILE_NAME peut révéler des manipulations temporelles ou l'utilisation d'outils antiforensiques.

L'attribut $FILE_NAME (0x30) peut apparaître multiple fois dans un enregistrement MFT, stockant différentes représentations du nom (nom long, nom court 8.3, nom DOS). Chaque instance contient ses propres timestamps, créant des opportunités de corrélation temporelle. Les timestamps dans $FILE_NAME ne sont mis à jour que lors du renommage ou du déplacement du fichier, préservant ainsi un historique temporel partiel même après des modifications substantielles du fichier. Cette caractéristique, souvent négligée par les outils de timestomping, constitue une source forensique précieuse.

L'attribut $DATA (0x80) stocke le contenu réel du fichier, implémentant des mécanismes poussés selon la taille. Pour les petits fichiers (typiquement <700 octets), les données sont résidentes, stockées directement dans l'enregistrement MFT. Cette optimisation a des implications forensiques importantes : le contenu de petits fichiers peut persister dans la $MFT même après suppression et écrasement des clusters de données. Pour les fichiers plus grands, l'attribut devient non-résident, contenant des data runs encodant les séquences de clusters alloués.

Cas concret

L'analyse forensique de NotPetya (2017) a révélé que le malware utilisait le mécanisme de mise à jour du logiciel comptable ukrainien M.E.Doc comme vecteur de distribution initiale. La reconstruction de la timeline d'infection a montré que la propagation mondiale s'était faite en moins de 45 minutes via EternalBlue.

Mise en pratique et recommandations

Structure d'un enregistrement MFT (1024 bytes) MFT Record Header (42 bytes) Signature: "FILE" (0x454C4946) | Update Sequence | LSN | Sequence Number | Hard Links | Offset to first attribute Update Sequence Array (USN) - Fixup values for integrity verification Attributes: $STANDARD_INFORMATION (0x10) Create | Modified | MFT Change | Access times $FILE_NAME (0x30) Parent dir ref | Filename | Timestamps (creation, modify, MFT, access) $DATA (0x80) Resident Small file data (<700 bytes) $DATA (0x80) Non-Resident Data runs → Clusters on disk $ATTRIBUTE_LIST (0x20) - Optional Points to additional MFT records (for large files) $SECURITY_DESCRIPTOR (0x50) DACL/SACL permissions ADS: $DATA:stream_name Alternate Data Streams End Marker (0xFFFFFFFF) Signals end of attributes Free space (slack space) - May contain remnants of deleted attributes Copyright Ayi NEDJIMI Consultants https://www.ayinedjimi-consultants.fr
Structure d'un enregistrement MFT avec ses principaux attributs