104 votes

Pourquoi diable NTFS autorise-t-il les exécutables invisibles ?

Vous pouvez cacher n'importe quel fichier à l'intérieur d'un autre fichier en tapant simplement :

type sol.exe > container.txt:sol.exe

et pour exécuter le fichier caché, il suffit d'utiliser :

start c:\hide\container.txt:sol.exe

Mais le plus fou, c'est que cela n'augmente pas la taille du fichier (c'est donc totalement caché).

Et si vous supprimez le fichier avec les éléments cachés à l'intérieur, les éléments cachés ne sont pas supprimés. Utilise juste :

more <  container.txt:sol.exe > sol.exe

Pourquoi NTFS permet-il cela ? Ça semble être le meilleur moyen de cacher un virus.

98voto

RBerteig Points 3305

Il y a deux côtés à cette question. Le premier est de savoir pourquoi cette fonctionnalité existe, et le second est de savoir pourquoi l'interface graphique (ou l'invite de commande) ne facilite pas la visualisation et la gestion de cette fonctionnalité.

Il existe parce qu'il est utile. Plusieurs autres plateformes prennent en charge plusieurs flux de données par fichier. Sur le Mac, ils étaient appelés fourches par exemple. Je suis raisonnablement sûr que des choses similaires existaient dans le monde des ordinateurs centraux, mais je ne peux pas mettre le doigt sur des exemples explicites aujourd'hui.

Sous Windows moderne, il est utilisé pour contenir des attributs supplémentaires pour un fichier. Vous remarquerez peut-être que la boîte de propriétés disponible dans l'Explorateur Windows comporte un onglet Résumé qui, dans la vue Simple (je suis sous Windows XP, votre kilométrage sera différent sur les autres versions), comprend un certain nombre de champs utiles tels que Titre, Sujet, Auteur, et ainsi de suite. Ces données sont stockées dans un flux alternatif, plutôt que de créer une sorte de base de données latérale pour les contenir, qui serait trop facilement séparée du fichier.

Un flux alternatif est également utilisé pour contenir le marqueur indiquant que le fichier provient d'une source réseau non fiable, qui est appliqué par Internet Explorer et Firefox lors des téléchargements.

La question difficile est de savoir pourquoi il n'y a pas une meilleure interface utilisateur pour remarquer que les flux existent, et pourquoi il est possible d'y placer du contenu exécutable et pire, de l'exécuter plus tard. S'il y a un bogue et un risque de sécurité, c'est bien celui-là.

Editar:

Inspiré par un commentaire sur une autre réponse, voici un moyen de savoir si votre protection antivirus et/ou anti-malware est consciente des flux alternatifs.

Obtenez une copie de la Fichier de test EICAR . Il s'agit de 68 octets de texte ASCII qui se trouve être un exécutable x86 valide. Bien que totalement inoffensif, il a été accepté par l'industrie antivirus pour être détecté comme s'il s'agissait d'un véritable virus. Les auteurs ont pensé que tester un logiciel antivirus avec un vrai virus serait un peu comme tester l'alarme incendie en mettant le feu à la poubelle...

Le fichier EICAR est :

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Enregistrez-le avec l'extension .COM et il s'exécutera (à moins que votre AV ne soit attentif) et imprimera un message de bienvenue.

Il serait instructif de l'enregistrer dans un flux de données alternatif et de lancer un scan...

15voto

Jon Limjap Points 46429

Cette fonction est nécessaire pour une fonction multiplateforme de Windows Server : les services pour Mac.

Cela permet à un serveur Windows fonctionnant sur NTFS de partager des macs via AFP. Pour que cette fonctionnalité fonctionne, le système de fichiers NTFS doit supporter les fourches, ce qui est le cas depuis le premier jour.

Et avant que vous ne demandiez, cette fonction est-elle toujours utilisée ? Oui, elle l'est, je l'utilise quotidiennement sur le serveur d'un client que je supporte.

Le principal problème de sécurité survient lorsque les personnes et les applications oublient ou ne se rendent pas compte de sa présence.

Il devrait probablement y avoir une option permettant d'inclure les fourches dans la taille totale du fichier ou de les afficher dans l'explorateur Windows.

5voto

Sean Moubry Points 821

Voici un bon article sur le potentiel vulnérabilité de sécurité posée par Autres flux de données .

5voto

RedBlueThing Points 137

J'imagine que l'une des principales utilisations (peut-être même l'utilisation prévue) serait de permettre de manière transparente l'ajout de n'importe quel type de méta-données à un fichier. La raison pour laquelle la taille du fichier ne change pas est que, dans ce scénario, vous ne voulez pas que le fichier ait un aspect ou un comportement différent, de peur que l'application d'origine ne s'appuie sur un aspect de l'apparence du fichier.

Je pourrais imaginer des utilisations intéressantes dans les IDE par exemple, où parfois plusieurs fichiers sont impliqués pour former une seule unité (fichier de code / fichier de formulaire, etc.), qui pourrait être attachée au fichier original de cette manière afin qu'ils ne puissent pas être séparés accidentellement.

Je crois également qu'il existe une commande permettant de trouver toutes ces "pièces jointes" dans une arborescence de répertoires donnée, de sorte qu'elles ne sont pas complètement cachées. Je serais également surpris que les meilleurs scanners de virus ne soient pas conscients de cela et vérifient ces zones "cachées", mais vous pourriez vérifier cela en attachant délibérément un exécutable infecté à un fichier texte et voir s'il est détecté.

4voto

Magus Points 911

Bonne question. Je ne connaissais pas vraiment ADS avant l'année dernière et je suis développeur Windows depuis de nombreuses années. Je peux vous garantir que je ne suis pas le seul dans ce cas.

En ce qui concerne la possibilité de vérifier la présence de données alternatives dans les fichiers, j'ai trouvé le petit outil utile appelé Les gars disponible auprès du logiciel Frank Heyne. Il peut lister les ADS sur tous les fichiers d'un répertoire donné, même sur les fichiers cryptés (et aussi dans les sous-répertoires).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X