Comment les fichiers normaux pris en charge dans le système d'exploitation Windows peuvent-ils masquer un virus?
Parfois, l'ouverture d'un fichier . Txt, . Jpg ou . Docx entraîne l'exécution d'un virus. Comment est-ce possible?
Ceci est possible grâce à la technique OLE ( Object Linking and Embedding ). Elle est destinée à partager des informations entre les applications qui s'exécutent sur le système d'exploitation Microsoft Windows. Elle permet principalement pour incorporer des objets dans des documents.
La documentation officielle de Microsoft explique les avantages de OLE . Mais comme tout autre concept, il pourrait être utilisé pour une intention néfaste.
La façon la plus simple d'expliquer cela est peut-être la figure ci-dessous: en faisant glisser et en déposant l'icône exécutable du Bloc-notes sur un fichier Wordpad ouvert et en l'enregistrant, le double-clic sur le fichier Wordpad entraînera l'ouverture de l'application Bloc-notes. La figure ci-dessous explique mieux l'idée:
Vous pouvez enregistrer le document au format .txt . Il ressemblera à un fichier bénin normal. Cependant, si vous vérifiez ses propriétés, vous constaterez que sa véritable extension est SHS . Vous pouvez imaginer ajouter des commandes au fichier: comme formater certaines partitions de disque.
Parfois, l'ouverture d'un fichier .txt, .jpg ou .docx entraîne l'exécution d'un virus. Comment est-ce possible?
Pour ajouter à la réponse à une question similaire (merci de l'avoir trouvée, Tcholas!):
Vous avez raison de penser qu'un virus en lui-même est inoffensif. Un virus se trouvant quelque part dans un fichier ne constitue pas une menace immédiate pour votre ordinateur. Mais lorsque vous ouvrez un fichier contenant un virus, vous exécutez en fait un programme pour ouvrir ce fichier.
Lorsque vous demandez à votre système d'exploitation (par exemple, Windows) d'ouvrir un fichier, il fait essentiellement ce qui suit:
Vérifiez de quel type de fichier il s'agit. Cela peut être en lisant l'extension (.txt, .doc) ou en lisant certaines des données (les fichiers Zip ont "PK" dans les premiers octets).
Connaissant le type du fichier, il trouve le "programme par défaut" pour l'ouvrir. Ceci est stocké dans une base de données quelque part sur votre ordinateur.
Exécutez le programme et chargez-y le fichier de données.
Ainsi, lorsque vous double-cliquez sur "mynotes.txt", Windows recherche le programme par défaut pour les fichiers .txt, probablement "notepad.exe", puis exécute "notepad.exe" et lui fait charger "mynotes.txt". Lorsque vous double-cliquez sur une image JPEG, elle charge une visionneuse d'images. Même quelque chose d'aussi simple que de brancher une clé USB sur votre ordinateur portable exécutera du code.
Le diable est dans tous les bugs/erreurs que ce programme de chargement peut avoir. Les virus utilisent ces "trous" pour inciter le système d'exploitation à exécuter du code différent et à modifier/subvertir une partie de votre ordinateur. Lorsque les responsables du logiciel entendent parler de la vulnérabilité, ils (espérons-le) la corrigent et émettent une mise à jour de sécurité.
Cela signifie également que les virus ont tendance à cibler des programmes spécifiques. Quelque chose qui fonctionne sur MS Word ne fonctionnera probablement pas sur OpenOffice. Même chose avec Acrobat Reader et Evince, Chrome et Internet Explorer, Thunderbird et Outlook, etc.).
tl; dr - Lorsque vous ouvrez un fichier, vous ouvrez vraiment un programme qui l'ouvre ensuite. Ce sont les vulnérabilités de ce programme qui permettent aux virus de faire leur travail.
Une possibilité consiste à exploiter les vulnérabilités de débordement. Lors de l'ouverture de l'image, l'échec du logiciel "jette" le virus dans des sections de mémoire non autorisées qui peuvent être exécutées par le système.
Ici vous avez une description par Symantec d'une vulnérabilité qui exploitait Internet Explorer dans ce sens.
En outre, cette question a été répondue dans Stack Overflow .
Une possibilité est nicode manigances.
Unicode prend en charge l'affichage de nombreuses langues, y compris celles écrites de gauche à droite et celles écrites de droite à gauche. Pour ce faire, il utilise des caractères spéciaux, notamment [U + 202E] (remplacement de gauche à droite (LRO)).
Windows prend en charge Unicode, y compris dans les noms de fichiers.
Vous voyez un fichier sur votre bureau: evilexe.txt. Cela ressemble à un fichier texte, mais ce n'est pas le cas. Il s'appelle vraiment evil [U + 202E] txt.exe.
Il peut avoir une icône définie pour le faire ressembler à un fichier texte ou à un fichier JPEG , mais c'est vraiment un fichier EXE.
Débordement de tampon.
Un débordement de tampon est l'endroit où un programme demande une taille de mémoire mais écrit ensuite plus de données à cet emplacement (débordement) dans la mémoire à côté.
Par exemple: Un programme comme OpenOffice Writer (un traitement de texte comme MS-Word) (c'est de la pure fiction d'ailleurs) a une limite sur la taille d'un paragraphe, disons qu'il a 65535 caractères. Un pirate malveillant crée un document avec un paragraphe de 65555 caractères. Le programme n'a pas de vérification en place pour voir la taille d'un paragraphe - il le charge simplement en mémoire. Sur le 65536e caractère, au lieu d'un caractère réel, le pirate met le code d'octet pour une instruction de saut quelque part plus tard dans le document du pirate ou n'importe où que le pirate connaît et contrôle. Lorsque le programme lit accidentellement l'instruction de saut, ce document malveillant contrôle désormais le flux de traitement de l'application. C'est un virus et vous venez d'être infecté.
Il existe de nombreux types de composants pouvant déborder dans un ordinateur, alors faites attention!
Si cela ressemble à exploit Heartbleed c'est parce que c'est le cas.
Continuons.
La plateforme Office de Microsoft est extrêmement extensible. Il vous permet d'ajouter du code compilé et interprété au programme et aux documents. Le code interprété, la macro, a beaucoup de puissance à des fins de productivité, mais jusqu'à il y a environ dix ans, il était également utilisé massivement pour propager du code malveillant . Ce n'est plus tant le cas, mais ça continue d'apparaître. Souvent, un document malveillant contient un peu de code qui écrit un fichier sur votre disque dur, puis l'exécute lorsque vous ouvrez le document. Bien sûr, la plupart de ces gars sont venus dans une présentation PowerPoint contenant des photos de chats mignons et autres, donc ce n'était pas une perte totale lorsque vous avez pwned.
De nombreux progiciels plus volumineux sont généralement extensibles et peuvent également souffrir d'exploits similaires.
Souvent, un pirate crée un fichier et le présente sous forme d'image ou de texte brut lorsqu'il ne l'est pas. La responsabilité de l'auteur d'un site Web est d'échapper, d'encapsuler et de mettre en bac à sable toutes les données qu'il peut recevoir d'Internet. C'est un travail difficile.
Un pirate peut donc mettre un fichier appelé "NotA.phpfile.jpg" dans un PHP formulaire de site Web qui se présente comme un image/jpeg
fichier, mais en réalité c'est un application/php
fichier. Maintenant, lorsque vous chargez l'url vers laquelle l'image a été téléchargée, vous avez peut-être pris le contrôle du site Web.
De même, le site Web doit échapper du texte ou il pourrait souffrir de injection SQL et des données peuvent être volées.
Regardons une technologie:
Le court OP demande pourquoi cliquer sur un .txt exécute un virus. Si un virus modifie le programme associé pour une extension, votre ordinateur peut démarrer mad_notepad_that_also_runs_a_virus.exe au lieu de notepad.exe lorsque vous cliquez sur un fichier .txt.
Mais en cliquant sur i_love_you.txt.extension_like_that_will_obviously_make_this_computer_explode.exe, même si un comportement très naïf peut se produire.