ИО Капитана Очевидности
Сообщения: 5312
Благодарности: 1099
Это не "картинка", а программа (двоичный код) - просто у этого файла используется специально подобранный "неправильный" заголовок от файла-рисунка, вызывающий при его открытии ошибку, которая приводит к тому, что компьютер начинает выполнять загруженную информацию, как программу.
-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)
Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.
Проблема инфицированных изображений и вирусов, замаскированных под них, является достаточно важной ввиду существующих алгоритмов поиска угроз, использующихся в большинстве антивирусов. Антивирусы, использующие преимущественно сигнатурный анализ, и наделенные всеми преимуществами и недостатками этой технологии, часто вынуждены игнорировать бинарные файлы для сохранения высокой скорости сканирования. Именно эта черта антивирусов приводит к удобным возможностям для злоумышленников в деле инфицирования веб-ресурсов и серверов путем сокрытия инфекций в бинарных файлах и, чаще всего, именно в файлах изображений. В этой статье мы рассмотрим наиболее часто встречающиеся типы подобного инфицирования, способы обнаружения подобных файлов и методы их устранения, либо очистки, а также расскажем о том, как Virusdie помогает в борьбе с подобными файлами.
Часто, картина инфицирования сайтов и серверов, предполагает инфицирование исполняемых файлов, либо создание новых. В то же время, в отдельную группу стоит выделить инфекции, маскирующиеся под файлы изображений, либо модернизирующие их. Сложность поиска и устранения подобных заражений заключается не только в самом принципе их выявления, но и в последствиях, к которым может привести их автоматическое устранение или простое удаление файлов.
Вредоносный файл под видом изображения
Подобные описанному ниже случаю встречаются достаточно часто. На сервер злоумышленником загружается файл с типичным расширением изображения (например, *.ico, *.png, *.jpg и т.д.), содержащий код.
Вызов вредоносного файла прописывается в одном из исполняемых при работе CMS сайта файле. Это может быть как основной файл index.php, так и один из файлов шаблона CMS. Обнаружить визуально подобный файл достаточно легко. Обычно, уже само имя подобного файла может даже неподготовленного пользователя навести на мысль о его подозрительности, например, favicon_9b3623.ico. Вы можете легко удостовериться во вредоносности файла, просто открыв его в редакторе. В случае, если ли вы, открыв файл изображения, увидите осмысленный код,- файл вредоносен.
Однако, если в этом случае выявление самого вредоносного объекта не составляет труда, устранение подобного заражения требует особого внимания. В большинстве случаев, простое удаление файла приведет к неработоспособности веб-сайта, поскольку несуществующий файл вызывается в одном из файлов CMS. Для того, чтобы без последствий устранить найденное заражение, вы можете сделать поиск по файлам сайта, задав в качестве объекта поиска фрагмент контента, содержащий имя файла найденной угрозы (например, favicon_9b3623.ico).
После нахождения файлов, содержащих вызов инфицированного объекта, вам останется просто удалить строки обращения к зараженному файлу. В этом случае, при удалении инфекции, маскирующейся под файл изображения, пройдет безболезненно для работы вашего сайта.
Вредоносный код в реальном файле изображения
Случаи инфицирования реальных файлов изображений гораздо более редки, нежели создание вредоносных файлов, содержащих php-код в явном виде и лишь имеющих расширение, соответствующее изображению. Но опасность подобных заражений заключается в их сложном детектировании, почти исключающим возможность обнаружения подобных файлов вручную.
Часто, фрагмент дописывается в конец бинарного файла изображения. Имя самого же файла остается неизменным, а часто, сохраняется и оригинальное время последней легальной модификации файла для избежания детектирования, основанного на выявлении измененных файлов на сервере за определенный период времени. Описываемый случай достаточно нетривиален для детектирования и, тем более, для устранения.
С задачами подобного класса различные антивирусные средства работают различными методами, множество из которых основано на комплексном подходе, учитывающим различные факторы. Например, к файлу, в процессе сканирования, применяются одновременно как репутационные методы, так и эвристические и, в некоторых случаях, даже сигнатурные.
В большинстве случаев, оптимальным вариантом устранения выявленного заражения будет, как в подобном случае, именно восстановление немодифицированного файла из резервной копии или устранение фрагмента кода. Однако, вам следует быть осторожными и предварительно проверить, не содержит ли исходная копия этого файла изображения вредоносных включений.
Подход Virusdie к анализу файлов изображений
Для устранения найденных заражений вы всегда можете воспользоваться нашими советами, приведенными выше в этой статье.
1. Источники попадания троянца Trojan.LameJPG.A в компьютер.
Возможно, троянец устанавливается в компьютер через сеть Интернет какими-то др. вредоносными программами. Однако наиболее вероятным источником попадания в компьютер пользователя являются, на мой взгляд, файло-обменные сети, откуда "зловред" может быть скачан в машину под видом "полезного" файла.
2. Инсталляция в систему.
Изучив функционал троянца, я пришел к выводу, что сие творение является весьма бездарной попыткой его автора создать новый и "необычный" вирус. Однако, "вирус" не только не способен к саморазмножению, но и в роли троянской программы тянет на 3 с плюсом и не более того.
Для работоспособности троянца в ОС Windows должна быть установлена техническая библиотека msvbvm60.dll. Этот компонент необходим для работы любых специализированных и пользовательских программ, написанных на Microsoft VB 6-й версии. В Windows 9X/ME он отсутствует (про Windows 2K точно не скажу), но может быть позаимствован, например, из Windows XP (там он точно есть) и записан для 9X/ME в системный подкаталог %windir%\SYSTEM.
Если троянец при запуске не находит этот компонент, то на экран выдается стандартное системное сообщение об ошибке и работа "зловреда" оказывается невозможна:
Основной файл троянца имеет размер 11780 байт, сжат утилитой компрессии "UPX" версии 1.22 (размер в декомпрессированном виде составляет 17924 байта). При запуске он создает в текущей папке следующие файлы:
- extrk.exe - вспомогательный компонент, содержащийся внутри основного файла троянца. Также написан на VB и сжат при помощи утилиты "UPX"; имеет размер 5636 байт (в декомпрессированном виде - 12292 байта);
- reg.mp3 - файл настроек реестра (REG-формат), размер которого зависит от длины пути к папке, в которой расположен троянский файл (в среднем порядка 100 байт).
Далее основной файл троянца, при помощи команды вызова системной утилиты для работы с реестром "RegEdit", пытается импортировать в реестр содержимое файла reg.mp3. При этом, если троянец запускается с защищенного от записи носителя (например, с флоппи-диска, у которого джампер переключен в положение блокировки записи на носитель), то создание вышеуказанных файлов невозможно, а попытка импортирования несуществующего файла настроек reg.mp3 под Windows 98/ME вызывает появление системного сообщения об ошибке вида
При удачном импортировании в реестр содержимого reg.mp3 в ключах реестра создается следующий раздел и значение параметра:
[HKEY_CLASSES_ROOT\jpegfile\shell\open\command]
@="%path%\\extrk.exe %1"
, где %path% - путь к местоположению файла extrk.exe.
На этом деятельность основного файла троянца завершается.
При последующих попытках пользователя открыть файлы с расширениями "JPG" и "JPEG", управление получают не системные средства обработки изображений, а троянский компонент extrk.exe (также он добавляется в список системных средств, при помощи которых можно открывать картинки). Получив управление, extrk.exe считывает передаваемое системой имя и местоположение запрошенного файла с картинкой, затем пытается найти системное приложение "Блокнот" (NotePad) и открыть картинку при помощи последнего как текстовый файл. При этом троянец пытается запустить "Блокнот" исключительно как C:\WINDOWS\notepad.exe и никак иначе (т.е. варианты, что системный каталог может иметь отличное от "WINDOWS" название и/или что система установлена не на диск C:, а, например, на D:, автор не предусматривал). Если Блокнот действительно расположен по указанному пути, то на экран выводится его окно, в котором содержимое запрашиваемой картинки показывается как текстовый документ:
Изредка при открытии файлов-картинок под любой из Windows-систем дата и время их модификации могут случайным образом меняться на соответствующие текущие значения.
После вышеописанной процедуры "просмотра" файла-картинки работа троянского компонента extrk.exe завершается.
Если под Windows 2K/XP воспроизведение JPG- и JPEG-файлов не работает вообще, то под Windows 9X/ME (опять же с учетом особенностей обработки данного формата системой) их запуск может с энной попытки иметь успех.
3. "Заражение" JPG-файлов.
Автор троянца попытался наделить свое творение способностью "размножаться", причем весьма своеобразным способом - дописывать вредоносный код к телам JPG-файлов. Однако по причине некоторых некорректностей, зловред может превратиться в "вирус" только при маловероятном совпадении следующих условий:
1. В том же каталоге, откуда производится первый запуск троянца на чистой машине, обязательно должен присутствовать хотя бы один файл с расширением "JPG";
2. Данный JPG-файл не должен содержать ни одного из следующих атрибутов: "только для чтения" (read only), "скрытый" (hidden) или "системный" (system).
Если хотя бы одно из указанных условий не выполняется, то процедура "заражения" не сможет сработать никогда (разве только, если пользователь собственноручно запустит процесс инсталляции троянца повторно, предварительно организовав все вышеперечисленные условия).
Если же оба условия выполняются, то троянец "заражает" JPG-файл, дописывая в конец его кода тело своего Основного (полного) файла:
- является ли запускаемый файл зараженным (путь к местоположению файла троянцу передает система), для чего производится считывание последних 4-х байт кода JPG-файла и проверка их соответствия слову
("хвостик" вирусного кода, содержащий данное слово в качестве строки-идентификатора). Если такого слова не обнаружено, то код JPG-файла просто выводится на экран через Блокнот или WordPad (см. описание процедуры открытия файлов в предыдущих разделах этой статьи). Если же данное слово обнаружено, то троянец проверяет 2-е условие:
- совпадает ли местоположение открываемого инфицированного файла с каталогом, в котором находится extrk.exe. Если да, то троянец извлекает из этого JPG-файла Основной (полный) вредоносный код сюда же, в виде временного файла x.exe. Затем копирует оригинальный (незараженный) код JPG-файла сюда же, в виде временного файла rmk.ooo. При этом содержимое rmk.ooo показывается пользователю в Блокноте или WordPad'е, а x.exe запускается на выполнение. Он сканирует содержащиеся в текущей папке JPG-файлы на наличие заражения; проверка производится в алфавитном порядке. Как только будет найден чистый файл, соответствующий условиям заражения, x.exe дописывает себя в конец этого файла, возвращает управление extrk.exe, который, в свою очередь, удаляет уже отработавший x.exe. Схематически процедуру запуска "зараженного" JPG-файла можно изобразить следующим образом:
4. Прочее.
Также в теле Основного файла троянца присутствуют следующие текстовые строки и строки-"копирайты":
jpgvir
1infectionperrun
Project1 ir = jp
Компиляция исходника основного компонента троянца производилась автором в следующем каталоге (данная строка присутствует в коде вируса):
В теле компонента extrk.exe также имеются и такие строки:
Компиляция исходника (почему-то в 2-х вариантах) данного компонента производилась автором в следующем каталоге (данная строка также присутствует в коде вируса):
Также в телах основного и вспомогательного компонентов содержатся информационные секции, в которых записаны следующие данные:
У основного компонента:
CompanyName alCoPaUL
ProductName 1infectionperrun
FileVersion 1.00
ProductVersion 1.00
InternalName jpgvir
OriginalFilename jpgvir.exe
У вспомогательного компонента:
CompanyName alCoPaUL
ProductName Project1
FileVersion 1.00
ProductVersion 1.00
InternalName jpgvir1
OriginalFilename jpgvir1.exe
Иконки основного и вспомогательного компонентов выглядят при просмотре в Проводнике Windows следующим образом:
5. Детектирование и удаление троянца из машины.
На момент создания данного описания Trojan.LameJPG.A и создаваемые им вспомогательные компоненты антивирусы детектируют так:
Антивирус Kaspersky AntiVirus :
Основной файл: Virus.Win32.Perrun.a
файл extrk.exe : Virus.Win32.Perrun.a (декомпрессированный файл - Virus.Win32.Perrun.b )
"зараженные" JPG-файлы: Virus.Win32.Perrun.a (с 08.10.2007 может лечить, но не все)
Антивирус DrWeb :
Основной файл: Win32.HLLP.Perrun
файл extrk.exe : Win32.HLLP.Alcopaul.12288
"зараженные" JPG-файлы: не обнаруживает вирус
Антивирус BitDefender Professional :
Основной файл: Win32.Perrun.A
файл extrk.exe : Win32.Perrun.A
"зараженные" JPG-файлы: Win32.Perrun.A (с 04.12.2007 обнаруживает, но лечить не может)
Антивирус Касперского обнаруживал, но не мог лечить "зараженные" JPG-файлы, предлагая удалять их. Поэтому 07.10.2007 в Антивирусную Лабораторию Касперского были отправлены образцы таких файлов, чтобы инженеры компании могли добавить процедуру лечения. Начиная с 08.10.2007, Антивирус Касперского может лечить файлы. Однако в обновленной процедуре обнаружения и лечения "инфицированных" объектов была допущена ошибка (на момент написания этих строк она так и не была исправлена), в результате которой вирус, "заразивший" файлы размером порядка 100 кб или более, с большой вероятностью не будет обнаружен в коде последних. Поэтому "инфицированные" файлы, в которых вирус не был обнаружен антивирусами, можно просто оставить как есть - как уже было сказано выше, ничего криминального при запуске таких файлов на чистой машине не произойдет и при этом они будут абсолютно нормально открываться. Тем не менее, опытные юзеры могут удалить код вируса из файлов собственными пальчиками.
Для удаления троянца и его компонентов из машины рядовому пользователю рекомендуется проверить зараженный компьютер установленной на нем антивирусной программой, соглашаясь с удалением всех EXE-файлов, которые будут детектироваться как вирусы с вышеперечисленными идентификационными названиями. Файл reg.mp3 удалять необязательно.
С учетом того, что после создания троянцем вышеуказанной ветки ключей реестра со своим значением параметра, открытие JPG- и JPEG-файлов встроенными средствами Windows становится невозможным (даже при удалении вирусной записи, что связано с некоторыми дополнительными правками реестра, осуществляемыми уже непосредственно самой системой сразу же после появления вирусной записи), была разработана специальная утилита, которая аккуратно правит записи реестра и восстанавливает нормальную читабельность картинок и фотографий. Утилита добавлена в спец. набор от VirusHunter'а, который можно скачать здесь . Перед использованием утилиты настоятельно рекомендую прочитать прилагаемое к набору руководство пользователя.
На данный момент разработаны и выложены на нашем сайте описания следующих вариантов данного вируса:
Читайте также:
Пожалуйста, не занимайтесь самолечением!При симпотмах заболевания - обратитесь к врачу.