Assiste.com
cr 01.04.2012 r+ 22.10.2024 r- 22.10.2024 Pierre Pinard. (Alertes et avis de sécurité au jour le jour)
Sommaire (montrer / masquer) |
---|
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...).
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" (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".
Avant l'implémentation de la technologie ADS dans NTFS :
Depuis l'implémentation de la technologie ADS dans NTFS, les objets sous NTFS (fichiers, répertoires...) sont désormais constitués de :
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. ...).
À 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.
|
Puisque les flux ADS sont si bien cachés et indétectables, les cybercriminels s'en servent, une fois une machine pénétrée, pour y cacher des données ou des parasites.
On estimait, fin 2012, que, sur les 2 milliards d'ordinateurs installés dans le monde (2 230 000 000 d'internautes fin 2011), 25% d'entre eux, soit 500 millions d'ordinateurs, sont zombifiés silencieusement, à l'insu de leurs propriétaires, et sont devenus des Zombies dans des BotNet (des réseaux de Zombies).
Le 21 janvier 2018, les statistiques Internet en temps réel estiment qu'il y a :
Les Zombies (et les BotNets dans lequel ils se trouvent) sont utilisés pour :
L'internaute n'est pas victime de la zombification de son ordinateur, mais complice des attaques déployées, à cause de son laxisme à protéger l'accès à son ordinateur. L'internaute sera juridiquement recherché pour complicité passive. Les dispositions de la loi dite " Hadopi " reposent sur le même principe de négligence caractérisée, punissable de contraventions de cinquième classe pour :
Il n'y a pas que les cybercriminels qui transforment des machines en Zombies dans des BotNet. Des terroristes ou des criminels peuvent utiliser votre machine pour y cacher dans des ADS et revenir les consulter et les mettre à jour, des plans d'attaques, des schémas d'armes et explosifs, des plans de bâtiments, des professions de foi, des vidéos etc. ... tous documents qu'il serait trop dangereux pour eux de manipuler sur leurs propres ordinateurs... Des pédophiles ne conserveront jamais des milliers d'images ou vidéos pédophiles dans leurs propres ordinateurs mais dans ceux des autres, qu'ils ont pénétrés, sous formes de flux ADS indétectables.
Les flux ADS peuvent contenir un graphique, tel un icône, associé au flux principal ou un code de Tracking dans la poursuite des pirates de musiques et films ou un hashcode inscrit par un antivirus ou un outil de contrôle d'intégrité, etc. ...
La séparation entre un objet et ses flux ADS est à tel point complète qu'il est possible de le vérifier en utilisant les Hashcodes. Les Hashcodes sont des "chiffres clé" calculés à partir d'un contenu, de telle manière qu'il est impossible d'obtenir 2 Hashcodes identiques à partir de 2 contenus différents (quoique des attaques sur les Hashcodes obtenus avec l'algorithme MD5 rendent celui-ci moins fiable actuellement, la fabrication de "collisions" étant devenue possible). Installez SummerProperties, ou HashTab, et vérifiez les Hashcodes MD5 et SHA1 d'un fichier, ajoutez des flux ADS (noms des flux et contenus), revérifiez les Hashcodes : ils n'ont pas changé !
|
Nous allons créer un fichier de test, à la racine de la partition C:. Nous utilisons le nom de fichier ads.txt - assurez-vous de ne pas avoir un fichier légitime portant déjà ce nom. Nous utilisons le programme "Notepad", le bloc-notes de Windows, un programme toujours disponible et faisant partie intrinsèque de Windows.
Jusqu'à présent, tout le monde suit : c'est une opération normale (même si elle n'est pas habituelle).
Appelez l'explorateur de Windows : votre fichier ads.txt est là et vous pouvez lire son contenu.
Vous pouvez tester la même chose avec un répertoire et un à plusieurs flux ADS attachés, y compris si le répertoire est la racine du volume (de la partition).
Et si le flux ADS est un code exécutable ?
|
Là où cela devient dangereux, c'est lorsque ce flux ADS contient des données sensibles cachées pour être relevées ou exécutées ou consultées ultérieurement, localement ou à distance. Rien ne permet de soupçonner un programme quelconque, à commencer par les milliers de composants de Windows, d'écrire des données dans des flux ADS et rien ne permettra de voir et savoir qu'un fichier qui sort légalement de notre ordinateur (à l'occasion d'un test antivirus, par exemple) n'est pas en train de faire sortir un flux ADS contenant des données cachées (et, probablement, compressées et chiffrées (cryptées)).
À partir du « Service Pack 2 (SP2) » de Windows XP, sorti en août 2004, Microsoft a introduit un nouvel élément dans la gestion des fichiers NTFS : l'identifiant de zone ou « Zone Identifier » –« ZoneID ». Ce drapeau est positionné dans la partie « ADS » ("Alternate Data Stream") de la structure de chaque fichier issu/téléchargé depuis les applications Internet Explorer, Outlook Express ou Windows Messenger. Il permet de contrôler l'origine du fichier afin de prévenir l'utilisateur de toute exécution de fichier « parasite » provenant d'Internet à travers un des logiciels susmentionnés. Cette fonctionnalité fait l'objet de nombreux débats, car elle peut être contournée aisément (en nécessitant néanmoins une interaction de l'utilisateur connecté).
|
Metadata Files enregistrés dans la MFT (Master File Table)
La MFT 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 :
Source : http://www.microsoft.com
Vérifié le 15.05.2016
System File | File Name | MFT Record | Purpose of the File |
---|---|---|---|
Master file table | $Mft | 0 | Contains one base file record for each file and folder on an NTFS volume. If the allocation information for a file or folder is too large to fit within a single record, other file records are allocated as well. |
Master file table 2 | $MftMirr | 1 | A duplicate image of the first four records of the MFT. This file guarantees access to the MFT in case of a single-sector failure. |
Log file | $LogFile | 2 | Contains a list of transaction steps used for NTFS recoverability. Log file size depends on the volume size and can be as large as 4 MB. This log file is used to restore consistency to NTFS after a system failure. For more information about the log file, see NTFS Recoverability. Voir également la commande CHKDSK. |
Volume | $Volume | 3 | Contains information about the volume, such as the volume label and the volume version. |
Attribute definitions | $AttrDef | 4 | A table of attribute names, numbers, and descriptions. |
Root file name index | $ | 5 | The root folder. |
Cluster bitmap | $Bitmap | 6 | A representation of the volume showing which clusters are in use. |
Boot sector | $Boot | 7 | Includes the BPB used to mount the volume and additional bootstrap loader code used if the volume is bootable. |
Bad cluster file | $BadClus | 8 | Contains bad clusters for the volume. |
Security file | $Secure | 9 | Contains unique security descriptors for all files within a volume. |
Upcase table | $Upcase | 10 | Converts lowercase characters to matching Unicode uppercase characters. |
NTFS extension file | $Extend | 11 | Used for various optional extensions such as quotas, reparse point data, and object identifiers. |
|
| 12 à –15 | Reserved for future use. |
|
|
Calcul de l'espace disque réel utilisé, taille des ADS et liens physiques multiples
Lorsque l'on regarde la taille d'un fichier, d'un répertoire, etc., ces calculs sont faux ! La taille annoncée des données sur un volume (un disque organisé en NTFS (New Technology File System)), ou la taille annoncée de l'espace libre sur un volume, sont faux ! Que ces valeurs soient annoncées par l'Explorateur de Windows ou par des utilitaires et outils de tierces parties, elles sont fausses !
Avec les propriétés d'un volume organisé en NTFS, d'un répertoire ou d'un fichier (Explorateur de Windows clic droit Propriétés), ou avec les outils donnant les mêmes informations, la taille libre ou occupée d'un volume disque (d'une partition) est fausse.
Certaines données, qui peuvent être extrêmement volumineuses, sont peut-être stockées dans des ADS. Elles ne sont absolument pas visibles et il n'est absolument pas tenu compte de leurs tailles.
Le seul outil, à interface graphique, qui soit capable de le faire, est TreeSize Professional. Il tient compte de la compression NTFS, des fichiers fragmentés, de liens en dur et des flux de données alternatifs ADS. Pour ces deux derniers, une option doit être sélectionnée car elle ralentit l'analyse d'un disque.
En cas de liens physiques (hard links créés, sur les systèmes de fichiers NTFS, avec les commandes fsutil hardlink ou mklink), il y a un problème particulier : si vous avez deux liens physiques, dans deux dossiers différents, pointant vers le même fichier, il faut se poser la question « Pour lequel de ces deux dossiers allez-vous comptabiliser la taille du fichier ? » (si vous ne voulez pas le compter deux ou plusieurs fois !). Il n'est pas possible de retrouver, lors d'un calcul de ce type, les autres noms qui pointent, par des liens physiques, vers une donnée physique. Tout ce dont on peut être sûr, c'est qu'elle sera dans le même système de fichiers (le même volume - si la ressource se trouvait sur un autre volume, elle ne compterait pas et les liens utilisés seraient des « liens symboliques » et non pas des « liens physiques »). Cela signifie que si nous trouvons un fichier ayant plus d'un lien physique pointant vers lui, nous ne savons pas si nous avons déjà tenu compte, par ailleurs, de la taille de cette donnée. TreeSize Professional résout ce problème en comptant, au niveau de l'espace disque total utilisé, 1 / n de la taille du fichier qui a n liens physiques pointant sur lui.
|
Les encyclopédies |
---|