windows

Que sont les attributs étendus (EA)dans les fichiers de Windows 8 ?

Lorsque j'exécute CheckDisk sur un volume Windows 8 Consumer Preview,j'obtiens :

> chkdsk /v S:
The type of the file system is NTFS.
Volume label is Windows 8.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  91392 file records processed.
File verification completed.
  28 large file records processed.
  0 bad file records processed.
  20224 EA records processed.                 <------------------ huh??

Pourquoi y a-t-il autant d'attributs étendus sur le volume ? Je pensais que plus personne n'utilisait les EAs...


Edit:

Par exemple, le fichier \Windows\CSC\v2.0.6 a un attribut étendu qui contient la chaîne

Ԡ 1X C8A05BC0-3FA8-49E9-8148-61EE14A67687.CSC.DATABASE P X Չ: Չ: ˌΦ]cᑡPcďŠ 4 C8A05BC0-3FA8-49E9-8148-61EE14A67687.CSC.DATABASEEX1 P X _, N0t 08 C8A05BC0-3FA8-49E9-8148-61EE14A67687.CSC.EPOCHEA 8 ͌Φ]cᑡPcďŠ }

qui (grâce à une réponse ci-dessous)semble être lié à la mise en cache côté client des fichiers hors ligne.

Cependant,il semble que la plupart des autres EA soient différents --par exemple,le fichier

\Program Files\WindowsApps  
    \Microsoft.BingFinance_1.0.1022.0_x64__8wekyb3d8bbwe\pages\ETF\js\ETF.js

et la plupart des autres fichiers contiennent (principalement) la chaîne $KERNEL.PURGE.APPXFICACHE , qui ne semble pas être liée. A quoi cela peut-il servir ?

Sur la base du nom EA "CSC.DATABASE", on pourrait supposer qu'il est lié à la mise en cache côté client . Cela expliquerait aussi pourquoi ils sont si nombreux, puisque chaque fichier mis en cache en possède probablement pour les identifier auprès du serveur.

De plus,je ne pense pas du tout que les EA soient particulièrement rarement utilisées.Je suis sûr qu'elles sont utilisées,par exemple,par IE pour identifier un fichier comme ayant été "téléchargé depuis le web" (ce qui fait que l'Explorateur Windows demande avant d'exécuter le fichier et autres choses du genre).




Les attributs étendus SONT utilisés dans Windows,notamment par le noyau,qui les utilise pour suivre diverses restrictions de sécurité et les faire respecter.

See https://docs.microsoft.com/en-us/windows-hardware/drivers/ifs/kernel-extended-attributes

Notamment,le journal USN de NTFS sera capable de suivre en toute sécurité les modifications apportées aux fichiers,de sorte que les instantanés du système de fichiers ou la récupération du système de fichiers après un arrêt brutal inattendu (causé par une perte de puissance,une surchauffe,ou un BSOD et des redémarrages)sont fiables.Il s'agit d'enregistrements sécurisés courts ajoutés dans de petits flux EA (généralement stockés eux-mêmes dans l'enregistrement MFT sans allouer d'extent supplémentaire,à moins que l'enregistrement MFT soit trop petit pour contenir tous les flux,auquel cas ils seront insérés dans des extents NTFS séparés alloués pour les attributs "non-résidents" qui ne tiennent pas dans l'enregistrement MFT de taille fixe qui est généralement petit et d'environ 1KB,mais où certains attributs de fichiers seront TOUJOURS insérés,y compris les attributs de base,et l'attribut spécial contenant la carte des extents alloués pour les flux qui dépassent la capacité,comme le flux "$DATA" par défaut pour le contenu des fichiers ordinaires,ou les index pour les répertoires;le flux qui tiendra dans l'enregistrement MFT dépend de la taille de l'enregistrement MFT,qui peut être ajustée lors du formatage du volume MFT,mais qui est généralement de 1KB,c'est-à-dire plus petite que les "clusters" du régulateur.Cette taille peut être ajustée lors du formatage du volume MFT,mais elle est généralement de 1 Ko,c'est-à-dire plus petite que les "clusters" du régulateur utilisés pour allouer de l'espace aux extents.)

Les attributs étendus gérés par le noyau sont les suivants :

  • "$KERNEL.PURGE.ESBCACHE": apparemment, ceci est utilisé par "Branch Cache" pour faciliter le déploiement et les mises à jour du système sur les hôtes gérés à distance, permettant aux domaines d'appliquer leurs propres politiques (plutôt que les politiques locales par défaut ou les politiques définies par défaut par Microsoft sous Windows).

  • "$KERNEL.PURGE.SEC.FILEHASH" : il contient un hachage de fichier fort (et l'algorithme de hachage utilisé) du contenu du fichier : cela permet à la récupération du système de fichiers de détecter la corruption du contenu.

  • "$KERNEL.PURGE.SEC.CODEINTEGRITY": ce petit EA contient les drapeaux de la politique d'intégrité du code

  • "$KERNEL.SMARTLOCKER.ORIGINCLAIM": il suit en toute sécurité l'application qui a créé le fichier (c'est-à-dire le chemin de son installateur ou du package MSI contenant les signatures de référence)

  • « $CI.CATALOGHINT » : contient le nom d'un fichier *.cat sécurisé dans les catalogues Windows pour le package contenant une source pour ce fichier. Des outils comme "SFC /SCANNOW" ou "DISM /Online Cleanup-Image ScanHealth" peuvent les inspecter, et avec l'aide des précédents EA, il sera en mesure d'identifier en toute sécurité le package d'origine contenant le fichier à partir duquel il a été installé ( si nécessaire, Windows Update pourra trouver, télécharger et réinstaller une copie de ces packages).

  • NE CONFONDRE PAS les deux derniers EA,avec le "Zone.Identifier" qu'IE (ou d'autres navigateurs web pour Windows)ajoute aux fichiers que vous téléchargez sur le web,ou que les unarchivers ajoutent aux fichiers que vous extrayez d'un fichier ZIP ou cabinet téléchargé (ou d'autres formats d'archives),en le copiant depuis le "Zone-Identifier" du fichier archive/cabinet lui-même:ce ne sont pas des EA,ils sont stockés en tant que "flux de données alternatifs" (ADS)qui sont des attributs de type "$DATA" (comme le contenu normal du fichier,sauf que ce $DATA a un nom non vide,alors que le contenu normal du fichier a un nom vide);de plus,ces ADS n'existent que s'ils sont stockés dans des systèmes de fichiers NTFS ou compatibles,et ils ne sont PAS vérifiés par le noyau,mais par l'interface utilisateur (principalement dans l'Explorateur de fichiers)et ne sont pas toujours préservés lorsqu'ils sont copiés ailleurs (par ex.Ils ne sont pas toujours préservés lorsqu'ils sont copiés ailleurs (par exemple,lors du déplacement de tels fichiers marqués dans un fichier ZIP).Ces ADS sont très faibles,ils ne sont pas aussi forts que les EA ou d'autres systèmes de signatures (comme les catalogues sécurisés externes,ou les signatures Authenticode à l'intérieur des fichiers exécutables,ou certains formats de médias permettant des signatures similaires à l'intérieur du contenu normal du fichier;pour sécuriser le système,le noyau n'a pas besoin et n'utilise pas ces ADS hérités,il utilise Authenticode,et les catalogues sécurisés autrement,par exemple dans la base de données des pilotes ou dans les catalogues Windows comme WinSxS).Les flux de données alternatifs sont dépréciés,mais ils sont encore utilisés dans les navigateurs Web uniquement à cette fin,comme une indication pour les utilisateurs,mais ils ne résistent pas aux opérations de base que les utilisateurs peuvent encore effectuer,y compris le contournement de l'alerte que l'Explorer leur montrerait (mais pas toujours,car ils ne sont souvent pas préservés).De même,les navigateurs Web ne doivent pas nécessairement ajouter ces ADS "Zone.identifier" si les fichiers téléchargés utilisent un mécanisme de signature plus fort ou s'ils sont téléchargés par un service spécialisé en arrière-plan (comme Windows Update lui-même qui utilise des catalogues signés de manière sécurisée).

Selon les outils et les fonctionnalités du système d'exploitation que vous utilisez,ou avec certains pilotes,vous pouvez avoir d'autres EA définies.De nombreux outils de sécurité et logiciels anti-malware ajoutent leurs propres EA à divers fichiers ou répertoires (ce qui permet également à ces outils d'analyser plus efficacement les modifications).

Si vous utilisez le Microsoft Store,ou les outils de déploiement AppX sur Windows,il y aura également des EA supplémentaires pour définir l'environnement virtuel sur lequel ils seront exécutés (par ex.paramètres globaux par machine,ou par domaine ou par utilisateur ou par "identité" en ligne en fonction du service distant que vous utiliserez ou avec lequel vous communiquerez,copie sur écriture ou duplication complète,écritures différées ou écritures synchronisées,options ou politiques de partage,licences et droits d'utilisation accordés,traceurs pour les options d'abonnement/paiement sur les services en ligne;certaines applications les utilisent également comme des cookies de suivi sur les pages web et stockeront alors des identifiants personnels ou des préférences spécifiques à certains contenus de fichiers ou applications,et pourront les synchroniser avec des profils personnels en ligne,afin que vous puissiez utiliser ces applications hors ligne,au moins pendant une période donnée...).

Si vous utilisez certains services en nuage (pas seulement ceux de Microsoft),ils peuvent également synchroniser une copie locale pour les fichiers que vous utilisez le plus localement,tout en permettant l'archivage des fichiers en ligne ou leur synchronisation avec d'autres appareils).

En général,les EA sont très petites (environ 100 octets pour la plupart d'entre elles).N'importe quel fichier dans NTFS/ReFS (et d'autres systèmes de fichiers pris en charge)peut avoir de nombreuses AE attachées à lui pour de nombreuses applications différentes.La manière dont ces EA sont codées individuellement dépend de l'application.Les EA ont leurs propres noms (comme les fichiers ordinaires dans les répertoires visibles,et comme les flux ADS),sauf que ces noms ne sont pas destinés à être lus par des humains;ces noms sont donc "techniques" et n'utilisent pas Unicode.Certains préfixes de noms d'EA sont réservés par Microsoft sur les systèmes de fichiers Windows.

La présence ou non de ces EA dans le MFT (des systèmes de fichiers NTFS ou ReFS)dépend du nombre de ces EA pour un fichier donné.S'ils ne tiennent pas dans l'enregistrement MFT,NTFS allouera des extents pour les localiser ailleurs sur le volume.La liste des AE définies pour un fichier est l'un de ses flux,tout comme les attributs standard,ou les attributs de sécurité (ACL)ou le contenu régulier,ou des flux supplémentaires (comme le flux qui suit qu'un fichier a été téléchargé depuis le net et peut être dangereux,il peut suivre son domaine web ou son IP d'origine,et si ce domaine a été accédé avec un protocole sécurisé comme HTTPS:cela permet à Windows d'afficher des popups d'autorisation pour l'utilisateur,ou de demander l'autorisation d'élévation de l'utilisateur;les fichiers ZIP/CAB ont un tel flux,ajouté par les navigateurs web et les téléchargeurs sûrs;et les outils d'extraction zip propageront également ce flux sur chaque fichier extrait s'il peut être exécutable ou avoir des effets secondaires,y compris les fichiers HTML,les polices,les Javascripts,les fichiers média ou les documents Office,qui seront ouverts par défaut en mode sécurisé par les applications qui les utilisent et qui alerteront l'utilisateur que certains composants intégrés comme les scripts ou les polices peuvent être dangereux)Il est vrai que certaines EA ont été conçues pour assurer la compatibilité avec OS/2 ou MacOS (seules ces EA sont dépréciées),mais d'autres systèmes les ajoutent et les utilisent toujours.Et de nouveaux systèmes de sécurité (y compris dans Windows lui-même dans son noyau ou dans ses services et fonctionnalités)en ajoutent constamment.

Les AE sont une caractéristique clé de NTFS (et de ReFS).Elles existent également dans d'autres systèmes de fichiers non-Windows (y compris Ext4 sur Linux);pour certains systèmes de fichiers qui n'ont pas de support natif pour elles,elles peuvent être stockées dans un sous-répertoire séparé ou dans des fichiers avec des noms spéciaux.Les EA ne sont normalement pas affichées dans le contenu des répertoires (pour les systèmes de fichiers qui les prennent en charge)et ne sont pas comptabilisées dans la taille normale des fichiers,de sorte qu'elles peuvent être ajoutées/supprimées facilement sans altérer le contenu normal;elles permettent également à différentes applications,services ou systèmes d'exploitation d'interagir avec les mêmes fichiers en associant de manière sûre leurs propres métadonnées.Ce sont donc des extensions sûres des systèmes de fichiers existants (la plupart du temps,les applications n'ont pas à s'en préoccuper,le système d'exploitation ou ses services les gèrent,le plus souvent pour des raisons de sécurité et d'inspection).

Les EA ne sont absolument pas dépréciées.En fait,ils sont beaucoup plus fréquemment utilisés aujourd'hui,et ont de nombreuses variantes créées par les nombreuses solutions de sécurité développées (si vous regardez Windows 11,il en utilise davantage;si vous utilisez les services Azure,ou si vous rejoignez un domaine AD,il y aura des EA supplémentaires,si vous utilisez divers outils de sécurité,pas seulement ceux de Microsoft,ils ajouteront les leurs,certaines applications les utilisent également pour stocker des traceurs de droits DRM sur vos médias achetés,avec les clés de décryptage si nécessaire,ainsi que des compteurs signés de manière sécurisée des appareils sur lesquels ils ont été autorisés,vous devez vous connecter aux services pour mettre à jour ces signatures ou supprimer un appareil et ses autorisations;Les EA ont de nombreuses utilisations possibles,non seulement pour la sécurité,mais aussi pour optimiser les performances en incluant des conseils de traitement et des traces ou des statistiques spécifiques à une utilisation donnée;elles peuvent également être utilisées pour suivre les sauvegardes et les réplications/mirrorages,mieux que le seul bit "ARCHIVE" hérité;les EA ont leurs propres noms distinctifs et créent une sorte de système de fichiers "parallèle",sauf qu'elles sont généralement facultatives et que seul le fichier ou les répertoires appropriés qui en ont besoin obtiendront ces EA).L'intérêt de placer les EA dans la structure de base de NTFS/ReFS est que leur placement est idéal plutôt que d'utiliser un magasin séparé ailleurs sur les volumes (ce qui serait plus lent,surtout lorsqu'on travaille avec des systèmes de fichiers en réseau ou des disques durs et des matrices de disques,en raison du temps d'accès:Les EA peuvent être récupérées très rapidement en même temps que les attributs de base des fichiers sont chargés;et elles sont plus faciles à ajouter/supprimer dynamiquement).