web-dev-qa-db-fra.com

Comment les fichiers normaux peuvent-ils masquer un virus?

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?

29
user52577

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:

enter image description here
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.

19
user45139

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:

  1. 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).

  2. 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.

  3. 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.

16
JvR

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 .

6
Matheus Portela

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.

4
Murphy

Tant de façons!

Quel est le type de faille logicielle le plus courant qui est exploitable?

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.

XKCD Heartbleed Explaination

Continuons.

Le bureau

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.

La toile

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.

Best Mom Ever -- drop tables

Autres choses notables

  • La plupart des virus modernes utilisent des algorithmes de type de chiffrement auto-réplicatifs pour essayer de cacher leur présence sur un ordinateur, principalement aux antivirus et aux chercheurs.

Regardons une technologie:

  • Flux de données alternatifs (ADS).
    • Sur NTFS systèmes de fichiers, un ADS est comme un document caché attaché à un fichier. Ces données ne sont pas facilement visibles pour l'utilisateur final, mais elles sont accessibles par les programmes et le système d'exploitation. Il y a une vieille astuce où vous pouvez ouvrir un ADS dans Bloc-notes en le tapant dans une invite de commande. Une utilisation importante d'ADS est de garder une trace de la provenance des fichiers, je suis sûr que vous avez tous été invités à ouvrir un fichier provenant de Internet auparavant.
  • OLE (comme expliqué dans la réponse alternative), et des variantes intégrées similaires de liaison et d'interfaçage d'objets telles que ActiveX , COM , COM + et DCOM .
  • Enregistrement.
    • Une base de données très simple qui peut stocker une petite poignée de types de données, mais qui est largement utilisée. Comme pour stocker des paramètres sur ce qui se passe lorsque vous double-cliquez sur une icône du bureau ou exécutez un programme.
2
Goldfish Sandwich

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.

0
Léon Pelletier