Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

NTFS (New Technology File System)

NTFS (New Technology File System) apporte une plus grande stabilité et une plus grande fiabilité du système de gestion de fichiers, la possibilité de gérer des fichiers dépassant les 4GO, et tout un arsenal de possibilités de restreindre et contrôler l'accès aux fichiers (propriétaires, droits, interdictions, partages...).

24.09.2022 : Pierre Pinard.

NTFS est un système de gestion de fichiers et répertoires sur disques durs d'ordinateurs, de Microsoft. Il a été déployé pour la première fois avec le système d'exploitation pour ordinateurs Windows NT du même Microsoft (Windows NT 3.1 en juillet 1993).

Le système de gestion de fichiers NTFS succède au système de gestion de fichiers FAT (FAT16; FAT32) et va très au-delà de ce que permettait le système FAT (qui est toujours en vigueur sur les supports de type clés USB, etc.).

NTFS permet :

  • d'attribuer des droits spécifiques (ACL - Access Control Lists) d'utilisateurs sur des fichiers et répertoires : lecture, écriture, exécution, appropriation, partage, etc.

  • de chiffrer des fichiers avec EFS (Encrypting File System).

  • de compresser des fichiers.

  • d'établir des quotas par volume.

  • de permettre les notions de montage et démontage de volumes.

  • de définir des jonctions.

  • de définir des liens symboliques.

  • de maintenir des flux additionnels aux flux principaux pour se rapprocher des forks d'Apple.

  • etc.

ADS (Alternate Data Stream) (Flux de Données Additionnels - Ne pas confondre avec Active Directory Service) est une technologie exclusive aux partitions NTFS (New Technology File System) du système d'exploitation d'ordinateurs Windows (voir Comment passer une partition (un volume) de FAT (FAT16 ou FAT32) à NTFS sous Windows NT, 2000, XP, Vista, 7, 8, 8.1, 10...).

NTFS, outre l'augmentation sensible de la fiabilité et de la stabilité du système de gestion de fichiers de Windows, et le fait de faire sauter le verrou de la limitation à 4GO des fichiers, permet d'ajouter aux objets visibles de type « fichiers » et « répertoires » (racine d'un disque, répertoires, fichiers), en plus des données « normales » le constituant (le flux de données principal), un à plusieurs flux de données additionnelles (données alternatives), totalement invisibles, dites « métadonnées », pouvant être de toutes natures (texte, graphique, code exécutable...).

La technologie ADS fut implémentée dans NTFS à partir de Windows 3.1 en mai 1993 par souci de compatibilité avec « Fork » du système de gestion de fichiers HFS (Hierarchical File System) du MacIntosh de la société Apple. Le but de Microsoft était de permettre à des serveurs sous Windows NT d'être serveurs de fichiers pour des clients MacIntosh. Dans HFS du MacIntosh, les fichiers sont stockés en 2 objets : « data fork » et « resource fork ».

Différence fondamentale entre FAT et NTFS avant l'implémentation d'ADS
Avant l'implémentation de la technologie ADS dans NTFS :

  • Sous Windows, le système de gestion de fichiers était FAT, hérité de l'ancien système d'exploitation MS-Dos. Un fichier est constitué d'un unique flux de données et c'est l'extension du nom de fichier (par exemple « .gif », « .mp3 », « .avi », etc.) qui permet au système d'exploitation Windows, par l'intermédiaire d'associations maintenues dans des clés du Registre Windows, de savoir quelle application est associée à ce fichier.

  • Dans HFS, ce sont des informations stockées dans l'objet « resource fork » du fichier qui donnent cette association (il n'y a pas de notion d'extension de fichier).

Depuis l'implémentation de la technologie ADS dans NTFS, les objets sous NTFS (fichiers, répertoires...) sont désormais constitués de :

  • Un flux de données principal (le contenu), visible par son propriétaire et les utilisateurs autorisés (pas toujours - Comment voir les fichiers et dossiers cachés de Windows)

  • Éventuellement, un nombre quelconque de flux de métadonnées extérieurs à l'objet, des ADS (Alternate Data Stream). Ces métadonnées sont des fichiers enfants du flux principal, COMPLETEMENT INVISIBLES à tous les outils standards et il est même impossible d'en soupçonner l'existence. Les ADS (Alternate Data Stream) ne peuvent pas être vus avec l'explorateur de Windows, ni vus à l'intérieur des fichiers. Windows n'en rapporte même pas la taille occupée. Les fonctions de recherches ignorent leurs contenus.

Seuls les volumes organisés avec NTFS (New Technology File System) sont concernés. Pour des raisons de fiabilité, nous vous recommandons vivement de passer à NTFS si vous êtes encore en FAT (Comment passer de FAT à NTFS).

Un objet (un répertoire ou un fichier) peut donc être constitué de plusieurs flux de données dont 1 seul, standard, est visible. La technologie ADS est totalement ignorée et inconnue du « grand public » car très peu d'utilitaires, très techniques, permettent de les voir et, encore moins permettent de les manipuler.

Le transport d'un fichier vers tout autre support non organisé en NTFS fait perdre complètement les métadonnées (copie d'un fichier vers des partitions FAT16, FAT32, disquette, bande, cd-rom, dvd, etc.).

Note :

À partir de Windows Vista, la commande « dir » contient un nouveau switch, /r, qui permet d'ajouter les ADS à la liste obtenue. Utilisez le programme ShowStream qui, en mode graphique, est bien plus agréable, bien plus puissant et bien plus complet.

À partir de Windows 7, Microsoft a eu une excellente initiative, sans en parler : pour des raisons évidentes de sécurité, Microsoft a retiré toute possibilité d'exécuter quoi que ce soit qui se trouve en ADS. Dans cet exercice de création d'un ADS, et jusqu'à Windows Vista, il était possible d'exécuter du code caché dans un ADS.

NTFS (New Technology File System) - De quoi est constitué un fichier NTFS depuis l'implémentation des ADS

Metadata Files enregistrés dans la MFT (Master File Table)

La MFT - Master File Table est le composant principal du système de fichiers NTFS (New Technology File System). Grâce à la MFT le système de fichiers NTFS est un réseau hautement organisé de documents contenant des informations décrivant le contenu de votre système de fichiers. Chaque instance de données sur votre disque dur est décrite dans ces documents, à partir du secteur d'amorçage de votre volume.

Les seize premiers enregistrements de la MFT sont dédiés aux fichiers de métadonnées. Les fichiers de métadonnées définissent la structure de la table MFT et permettent essentiellement une base de données auto-descriptives. L'utilisation de fichiers de métadonnées dans la table MFT n'est pas surprenant, chaque base de données utilise une certaine forme de métadonnées pour définir sa structure de données. Les fichiers de métadonnées qui sont stockées dans les seize premiers enregistrements de la MFT sont les suivantes:

Microsoft utilise plusieurs ADS (Alternate Data Stream) légitimement. En voici la liste (vérifiée le 15.05.2016).

System File

File Name

MFT Record

Purpose of the File

Master file table

$Mft

0

Contient un enregistrement de fichier de base pour chaque fichier et dossier sur un volume NTFS. Si les informations d'allocation d'un fichier ou d'un dossier sont trop volumineuses pour tenir dans un seul enregistrement, d'autres enregistrements de fichier sont également alloués.

Master file table 2

$MftMirr

1

Une image dupliquée des quatre premiers enregistrements du MFT. Ce fichier garantit l'accès au MFT en cas de défaillance d'un seul secteur.

Log file

$LogFile

2

Contient une liste des étapes de transaction utilisées pour la récupérabilité NTFS (New Technology File System). La taille du fichier journal dépend de la taille du volume et peut atteindre 4 Mo. Ce fichier journal est utilisé pour restaurer la cohérence de NTFS après une défaillance du système. Pour plus d'informations sur le fichier journal, consultez Récupération NTFS (NTFS est un système de fichiers récupérable qui garantit la cohérence du volume en utilisant des techniques standard de journalisation des transactions et de récupération.). Voir également la commande CHKDSK.

Volume

$Volume

3

Contient des informations sur le volume, telles que le nom du volume et la version du volume.

Attribute definitions

$AttrDef

4

Un tableau des noms d'attributs, des numéros et des descriptions.

Root file name index

$

5

Le dossier racine.

Cluster bitmap

$Bitmap

6

Une représentation du volume montrant quels clusters sont utilisés.

Boot sector

$Boot

7

Inclut le BPB utilisé pour monter le volume et le code de chargeur d'amorçage supplémentaire utilisé si le volume est amorçable.

Bad cluster file

$BadClus

8

Contient les clusters défectueux pour le volume.

Security file

$Secure

9

Contient des descripteurs de sécurité uniques pour tous les fichiers d'un volume.

Upcase table

$Upcase

10

Convertit les caractères minuscules en caractères majuscules Unicode correspondants.

NTFS extension file

$Extend

11

Utilisé pour diverses extensions facultatives telles que les quotas, les données de point d'analyse et les identificateurs d'objet.

12 à –15

Réservé pour une utilisation future.

NTFS (New Technology File System) - Liste des ADS légitimes # # # # # # # # # # # # # # # # # # # # # # # # # #