Как вирус может существовать в изображении? - PullRequest
45 голосов
/ 13 марта 2012

Я недавно посмотрел это видео финского эксперта по интернет-безопасности.Где-то около одиннадцатой минуты он рассказывает о вирусе, который скрыт в изображении и запускается, когда изображение собирается отобразиться.

Мне интересно, как они технически делают это, я имею в виду, как происходит Вирус выполняется , когда картинка должна отображаться и почему изображение каким-то образом не подвергается риску.Я думал, что компьютер сначала смотрит на расширение, затем открывает его соответствующей программой и позволяет программе работать сама (и я не ожидаю, что обычный просмотрщик изображений сможет запустить вирус внутри себя).Очевидно, что это не работает так, но никто, кого я просил, не мог бы помочь мне с этим.

Так кто-нибудь знает, как они это делают, принцип?Большое спасибо.

Ответы [ 3 ]

43 голосов
/ 13 марта 2012

Вы правы, что ваша ОС выберет программу и попросит ее открыть образ. ОС не будет запрашивать у программы выполнить образ - это было бы глупо.

Тем не менее, изображения представляют собой сложные форматы и часто содержат метаданные и другие части, которые не отображаются напрямую - вы можете скрыть их там, не влияя на изображение на экране. Так что внутри файла изображения могут скрываться враждебные данные.

Кроме того, программа может иметь ошибки, в частности переполнения буфера . Вкратце, вирус может использовать это, помещая слишком большие данные в разделы метаданных - больше, чем ожидает программа, которая декодирует изображение. Переполнение внутренних буферов, и, обладая достаточными навыками, вирусописатель может поместить исполняемый код в нужное место в памяти, чтобы программа, декодирующая изображение, в конечном итоге выполняла код . Таким образом, невинный и «мертвый» файл, такой как изображение, может содержать эксплойт.

3 голосов
/ 13 марта 2012

Это не должно быть отображено, это должно быть прочитано.

В ОС может быть поток создания миниатюр, который будет анализировать все найденные изображения.Переполнение буфера в этом коде позволит выполнить код без вмешательства пользователя.

Это относится к любому файлу, имеющему любую форму функции автоматического чтения, для извлечения свойств mp3, индексирования PDF и т. Д.

2 голосов
/ 13 марта 2012

Вирус может хранить информацию в изображении и может использовать уязвимость в программе просмотра изображений.Он не может «заразить» изображение, так как злонамеренно изменяет изображение, так что программа, которая может его открыть, будет подорвана и вызовет эксплойт в этом процессе.

Если вирус помещает искаженные данные визображение, используемое в программе X, и изображение, открываемое в программе Y, вполне вероятно, что изображение либо не будет отображаться, поскольку оно слишком искажено, либо будет отображаться как невинное или случайное изображение в этой программе.

Недостаток, как и во всех этих вещах, заключается не в формате изображения, а в реализации декодера изображения.

...