Question:
Un malware peut-il être attaché à une image?
user2143356
2014-04-08 02:39:15 UTC
view on stackexchange narkive permalink

I have a small number of employees who use a company computer but these people aren't very tech savvy. They use an email client and a messaging client.

I'm pretty sure they wouldn't click on .exe or .zip file in an email without thinking, and I know that's one area of concern.

However, I'm thinking about images. In fact, regardless of how capable a person is with technology I believe that attaching things (code or anything else) to an image can be a security risk.

What can be attached to images to harm another?

I believe that images can pose a security risk as they 'automatically execute' or something.

There are so many ways that images can be received by a computer (including phone or tablet of course):

- email- iMessage (or any other messaging app)- someone right-clicking and saving an image from a web page- just viewing a web page of course downloads the image to cache

What precautions do I need to take regarding the above four things? Can someone just attach some code to an image and it execute?

What do I need to do to prevent images being used against my computers?

I'm guessing you couldn't just attach code to an image and iMessage someone's iPhone. What about Android?

Cette question semble cibler principalement les utilisateurs finaux.Cependant, il peut être intéressant de noter que les serveurs sont en fait encore plus ciblés par ce type d'attaque, généralement via une sorte de mécanisme de téléchargement de fichier image, car contrairement aux utilisateurs finaux avec des serveurs, l'attaquant qui a téléchargé le fichier malveillant est également libre de déclencher sonl'exécution comme il le souhaite (pas besoin d'attendre et d'espérer qu'un utilisateur fasse une certaine action).Vous pouvez voir quelques exemples [ici] (https://security.stackexchange.com/q/32580/32746) et [là] (https://security.stackexchange.com/q/90968/32746) ainsi que surautres messages connexes.
Neuf réponses:
jamesdlin
2014-04-08 06:58:35 UTC
view on stackexchange narkive permalink

Les autres réponses parlent principalement d'attacher du code arbitraire à des images via des techniques stéganographiques, mais ce n'est pas très intéressant car cela nécessite que l'utilisateur soit complice de l'extraction et de l'exécution de cela. L'utilisateur pourrait simplement exécuter du code malveillant directement si tel est son objectif.

Vous êtes vraiment intéressé par la possibilité d'une exécution de code arbitraire inattendue lors de la visualisation d'une image. Et oui, il existe une telle possibilité pour un attaquant de construire une image malveillante (ou quelque chose qui prétend être une image) qui cible des implémentations de visualisation d'images spécifiques avec des défauts connus. Par exemple, si une visionneuse d'images alloue un tampon et calcule la taille de tampon nécessaire à partir d'un calcul naïf de width * height * bytes_per_pixel , une image malveillante pourrait signaler des dimensions suffisamment grandes pour provoquer le débordement du calcul ci-dessus, alors obligeant le spectateur à allouer un tampon plus petit que prévu, puis autorisant une attaque par débordement de tampon lorsque des données y sont lues.

Exemples spécifiques:

En général, ce genre de choses est difficile à protéger. Certaines choses que vous pouvez faire:

  • Gardez vos systèmes et applications à jour.
  • Activez DEP.
  • Activez ASLR si possible.
  • Évitez d'exécuter des programmes avec des privilèges administratifs.
  • Sous Windows, EMET de Microsoft peut également fournir une certaine protection.
Ceci, pour moi, est la seule bonne réponse. Toutes les autres réponses impliquent que l'utilisateur extrait délibérément, de manière malveillante, des logiciels malveillants cachés dans un fichier image - et l'OP a déclaré que les utilisateurs n'étaient pas avertis en technologie, donc c'est très peu probable.
Le PO a posé des questions sur la prévention, il convient donc probablement de mentionner que le problème peut être largement évité en veillant à ce que les mises à jour de sécurité soient appliquées rapidement aux systèmes et en installant un logiciel antivirus sur tous les systèmes Windows.
Il n'y a rien de «stéganographique» à exploiter les vulnérabilités répertoriées.C'est plutôt une technique RARJPEG.
@FreeConsulting Hm?Ma réponse n'a rien à voir avec la stéganographie, et je ne l'ai pas non plus affirmé.
"... aux images via des techniques stéganographiques ..."
@FreeConsulting Cette citation faisait référence à [certains] (https://security.stackexchange.com/a/55062/43625) des [autres] (https://security.stackexchange.com/a/55064/43625) publiés [réponses] (https://security.stackexchange.com/a/55125/43625).* Ma * réponse n'a rien à voir avec la stéganographie.
Oui je sais.Il n'y a toujours pas lieu de débattre avec une mauvaise réponse (dans le scénario du PO, il n'y a pas de partie pour recevoir un message sténographique).
bob
2014-04-08 05:43:36 UTC
view on stackexchange narkive permalink

Yes, there are ways to 'exploit' buffer overflows.

Sometimes the code may need to be executed via a separate script, and in theory you could assemble a virus from multiple images that contained code hidden within the picture using stenography but there are easier ways.

Basically many computer systems expected images to comply with the exact specification for the type and the failed to correctly range check the formats/parameters being passed.

By 'engineering' an image so that externally it looks like it complies but internally it does not, it was to be possible to trigger stack corruption/buffer overflows that would allow code hidden in an image to be executed under the authority of the user.

But note that this does not ONLY apply to images, it can apply to ANY file, take a look at the recent RTF exploit in MS word.

Matthew Peters
2014-04-08 02:48:38 UTC
view on stackexchange narkive permalink

Vous pouvez toujours masquer des fichiers / programmes / quoi que ce soit dans le «espace libre» de n'importe quel fichier. Ensuite, vous pouvez exécuter un script plus tard pour extraire et / ou compiler ce que vous avez caché ... Par exemple, vous pouvez intégrer un exécutable malveillant (ou un script plus petit) dans plusieurs images sur un site Web. Lorsqu'un utilisateur accède au site Web, il télécharge les images.

Pour en savoir plus sur Slack Space, cliquez ici: http://www.computerhope.com/jargon/s/slack-space.htm, puis jouez avec vous-même en saisissant un éditeur hexadécimal ( http://mh-nexus.de/en/hxd/) et déconner.

Merci, quelques bonnes informations. Mais qu'en est-il de l'exécution du code malveillant? Votre réponse explique comment quelqu'un pourrait cacher le code. Ils ne peuvent certainement pas simplement intégrer un fichier .exe dans une image et chaque visiteur Web a ce fichier exécuté. Je vois qu'il est très facile pour quelqu'un d'intégrer le code, mais je ne peux pas croire que quoi que ce soit fonctionnera bon gré mal gré. Le hacker doit-il faire quelque chose spécifiquement pour déclencher l'exécution du code?
Une attaque peut se produire à partir de l'espace libre de deux manières. Le plus simple est simplement de stocker le très mauvais code (ce qui est le plus susceptible d'être détecté par un antivirus) dans l'espace libre, puis d '«activer» le code par une méthode plus traditionnelle. Par exemple, vous pouvez aller sur un site torrent et non directement dl un virus lui-même, mais seulement le fichier torrent apparemment inoffensif (pour votre scanner de virus) pendant que votre navigateur dl le virus réel dans l'espace libre de toutes ces bannières publicitaires. . L'autre façon est d'incorporer la méthode d'appel dans la partie image «réelle».
Voici un bel article sur tous les différents types de virus de l'espace libre et une telle http://computervirus.uw.hu/ch04lev1sec2.html section 4.2.13.6 est probablement la plus utile pour décrire ma deuxième méthode.
L'intégration de l'appel dans la partie image ne fonctionnera pas. la seule façon d'exécuter un virus comme celui-ci serait d'appeler directement le code de l'image nuisible par un autre exécutable ou script.
Alors puis-je être sûr que même si les images peuvent contenir toutes sortes de logiciels malveillants (espace libre, EXIF, etc.) qui ne font que visualiser et télécharger des images ne vont pas infecter mon ordinateur et que le code de ces images doit être exécuté par un script séparé?
@Kotzu, a raison de dire que le code malveillant ne peut pas s'exécuter simplement parce que l'image se charge (pour autant que je sache). Cependant, le code est toujours là et peut être appelé par n'importe quel nombre d'autres vecteurs. Il fut un temps où les navigateurs permettaient même des liens directs vers des fichiers locaux directement à partir d'une page Web ... Par exemple, un `` mauvais code '' dans l'espace non Slack pouvait toujours être dangereux s'il exploitait un problème par le programme légitime chargeant l'image (similaire à une injection SQL, vous pouvez lancer de mauvaises métadonnées et demander à Firefox de les interpréter). Pour répondre à votre question, je dirais que l'utilisateur moyen est en sécurité 90% du temps.
@MatthewPeters La question de savoir si un code malveillant peut être exécuté lors du chargement de l'image est un problème de qualité de mise en œuvre. Les décodeurs d'images peuvent avoir des bogues qui conduisent à des débordements de tampon (qui pourraient alors conduire à l'exécution de code).
Windows a ses vidéos exécutables antivirus (WMA), ont-ils également l'équivalent en image?
Mais les données transmises par le réseau n'ont pas de marge jusqu'à ce qu'elles soient écrites dans le stockage ...
Peteris
2014-04-08 13:55:58 UTC
view on stackexchange narkive permalink

For pretty much any file format, the programs who read it might have some bugs exploitable by a maliciously crafted file.

It can happen (and has happened) also for images; but it'd generally be limited to a single particular program (or library) reading it, not a general "image with malware" that attacks all such programs.

Even text files aren't theoretically safe if the programs try to do something interesting with them. A sql injection in a blog comment post is essentially "malware attached to text"; there was a vulnerability in Python allowing crash (=denial of service) by submitting malicious text data and claiming that it's in UTF-7 encoding, exploiting a bug in that decoder; and there exist attacks based on breaking XML parsers by, again, malicious near-text data.

Ubaidah
2014-04-08 03:01:06 UTC
view on stackexchange narkive permalink

Yes, it is possible to hide malware in an image. It is not very common attack at all but recently it seems that malware authors start hiding malware inside images.

Malware analysis is not my thing. if you want more information search for "Steganography Malware".

One advice is do not open emails from untrusted/unknown source.

user3437670
2014-04-08 09:53:30 UTC
view on stackexchange narkive permalink

Exploits are just that, exploits. Someone finds a vulnerability in some widely used code, and then sets out to set the stage for that vulnerability to do its thing. Let's pretend for example someone out there figured out that some widely-used email client has a bug that leads to a buffer overflow in some specific circumstance. If enough malformed data is fed into the buffer, it overruns onto the stack. Now you can take an image, malformed exactly like it needs to be to cause the buffer overflow, embed into it some malware, and pad the end of the data with a bunch of NOPs and then a clever small assembly routine that get dumped on the stack, which when run points directly to the malware that is already loaded in memory in the image buffer. All a user has to do to get infected is have the malformed image be displayed in the vulnerable application. This is a more common channel of attack in highly specific zero-day exploits.

Remedies to these problems are fortunately easy to apply. Configure the machines to only allow plain-text messages. Make sure you use only well maintained software and apply all updates automatically.

"Configurer les machines pour n'autoriser que les messages en texte brut" Mais vous pouvez facilement intégrer des logiciels malveillants en texte brut. Disons, des scripts shell ou VBScript.
Man Person
2014-04-08 20:03:59 UTC
view on stackexchange narkive permalink

There are programs called binders which will normally attach an executable to an image. Malware found in images tend to be RATs(Remote Administration Tools) which is some skid stuff that some skid will use to gain access to your computer. Normally this is only used though on websites where horny idiots talk to these skids, and the skids pretend they're a girl and tell them to download an image. Personally I think there are much better ways of spreading things, also most anti-viruses should detect these "bindings" even if the virus is FUD(fully undetected).

Drunken Code Monkey
2014-04-12 11:17:25 UTC
view on stackexchange narkive permalink

The of plain text messages is that when the mail client is only reading plain text, none of the potentially dangerous or hidden scripts will be interpreted or run at all. It will just be a string to the mail client.

user2497
2017-06-08 00:50:49 UTC
view on stackexchange narkive permalink

Voici un exemple de vulnérabilité décrite ici - exécution complète du code sur les systèmes Windows, si javascript était activé => SVG SNAFU.

Info:

Joshua Yabut, un autre chercheur qui a également analysé le code, a déclaré à Ars qu'il exploitait un soi-disant bogue d'utilisation après la liberté qui nécessite l'activation de JavaScript sur l'ordinateur vulnérable. Yabut a poursuivi en disant que le code est «100% efficace pour l'exécution de code à distance sur les systèmes Windows». Le code d'exploitation, a ajouté le chercheur, ajuste l'emplacement mémoire de la charge utile en fonction de la version de Firefox exploitée. Les versions vont de 41 à 50, la version 45 ESR étant la version utilisée par la dernière version du navigateur Tor. Les ajustements indiquent que les personnes qui ont développé l'attaque l'ont testée de manière approfondie pour s'assurer qu'elle fonctionnait sur plusieurs versions de Firefox. L'exploit fait des appels directs à kernel32.dll, une partie essentielle du système d'exploitation Windows. Source



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...