I read an article a while back (forgot from where) that essentially stated that someone wrote a virus and inserted it into an image. The end result allowed the cracker to have his way with the system.
How is this possible?
Software Engineering Stack Exchange is a question and answer site for professionals, academics, and students working within the systems development life cycle. It only takes a minute to sign up.
Sign up to join this communityI read an article a while back (forgot from where) that essentially stated that someone wrote a virus and inserted it into an image. The end result allowed the cracker to have his way with the system.
How is this possible?
Using this would generally depend on a fairly simple fact: most images are compressed. Along with this, the code to de-compress an image is often written assuming that the data in the image was compressed according to a fairly specific set of rules.
At times, however, people have found various vulnerabilities, chiefly that old standby, the buffer overrun, in image decompression code. By writing a file that does not follow the rules expected by the decompressor, they can figure out a way to overrun a stack-allocated buffer, and write data outside the allocated space on the stack.
From there, it's a fairly typical buffer-overflow attack, which are widely enough documented that there's no real point in my trying to go into it here.
It's possible to hide information (text, data, anything) in a image using steganography technique.
If an executable is hidden in a image, it still needs to be executed to infest your system. In practice, it depends on how you open the image, depending on the software/OS you use to open it.
Simple. He also smuggled in a (most likely) vbs script, that did the actual job of extracting the virus code from the picture and executing it. Not very different from just double clicking the BeautifulGirls.exe attachment that was arriving in your inbox 5-6 years ago.
Suppose there is a buffer overflow bug in an image loading/processing module. It could be possible to create an image that triggers the bug and injects malicious code this way.