; Размер области памяти, необходимый для дополнения
; размера вируса до 510 байт
DupSize equ 510-offset End_Virus
; Заполнение не занятой вирусом части сектора
db DupSize dup (0)
db 55h, 0aah
Можно ли вышеописанный или подобный ему код назвать космополитом, встречающимся в "диком виде"? Да, вполне. В качестве яркого примера, иллюстрирующего, насколько умело можно манипулировать с BIOS, уместно привести оригинальное описание знаменитого "Чернобыля" (www.virusList.com).
Virus.Win9x.CIH также известен как «Чернобыль». Это резидентный вирус, работающий исключительно под операционными системами Windows 95/98. Длина вируса около 1 Кбайт. Впервые был обнаружен на Тайване в 1998 году. Избирательно перепрошивает BIOS: для заражения подходят только некоторые типы материнских плат, к тому же в настройках BIOS не должно быть установлено чтение только. После перепрошивки BIOS вирус приступает к винчестеру, а точнее, уничтожает все его содержимое. При этом вирус использует прямой доступ к диску, обходя тем самым стандартную антивирусную защиту от записи в загрузочные сектора.
Возможные варианты защиты (плюс такие классические варианты, как установка последней версии антивирусной программы с новыми базами):
настройка BIOS, контроль режима чтение только;
контроль критических областей с помощью специализированных утилит типа ADINF32.
Возможные варианты лечения:
удаление вируса и его записей с помощью вакцин типа "АнтиЧернобыль" и т. п.;
радикальный метод – перепрошивка BIOS/замена микросхем.
5.4. Как работает эвристический анализатор кода и почему даже два антивируса в системе могут стать бесполезными
В рамках данного раздела мы попытаемся выяснить, действительно ли даже три антивируса могут дать сбой в поимке «хитрого» кода, и как с этим связано такое качество антивирусного продукта, как эвристика. В роли испытуемых антивирусов были выбраны следующие популярные продукты:
"Антивирус Касперского";
ESET NOD32;
Vba32 ("ВирусБлокАда").
ПРИМЕЧАНИЕ
В данном тесте мы акцентируем особое внимание на антивирусном продукте Vba32. Это белорусский антивирус, включающий в себя достаточно оригинальный эвристический модуль, в основе которого стоит запатентованная технология "MalwareScopeTM".
Методология проведения теста
Напомним, что качество эвристики определяется способностью антивируса распознавать модифицированный вредоносный код. Фактически, эвристика предполагает обнаружение вируса, которого нет в базах: по специальным алгоритмам и некоторым признакам антивирус сам должен «домыслить», что проверяемый код является вирусным. Как вы уже поняли, задача не из легких.
Для наибольшей объективности теста мы возьмем максимально широкий перечень инструментов, применяемых в подобных случаях. Помимо упаковщиков, генераторов вирусов и утилит для обфускации, мы включим в наш тест самописный вирус, а также воспользуемся полиморфным образцом Virus.Win32.Zombie, который известен оригинальной технологией декриптования для обхода эвристических анализаторов.
Подобная методология, включающая комплексное тестирование, широко применяется в сертифицированных тестовых лабораториях и позволяет минимизировать возможные погрешности, сделав результат теста максимально объективным.
"Свежесть" баз всех трех антивирусов одинакова. Уровень настроек эвристики во всех трех случаях аналогичен и приравнен к средним.
Итак, пожалуй, начнем.
Тест № 1
Для проведения первого теста были использованы случайным образом отобранные из коллекции (579 штук) четыре экземпляра вредоносного кода:
TrojanDownloader.13547;
Backdoor. Win32Optix.b;
Trojan-Win32PSW.QQRob.16;
Trojan-Win32PSW.QQShou.EH.
Каждый экземпляр был пропущен через PeStubOEP (программа предназначена для защиты EXE-файлов от определения их компилятора/упаковщика). Результаты проверки следующие ("+" – распознан; "-" – не распознан). Итак (результаты на рис. 5.3).
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+".
Рис. 5.3. TrojanDownloader.13547 был успешно найден
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.4).
Рис. 5.4. Backdoor.Win32Optix.b – «крепкие орешки» еще впереди!
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.5).
Рис. 5.5. Наш антивирус пока на высоте
Trojan-Win32PSW.QQShou.EH оказался крепким орешком, и Vba32 определил его, только после того как были установлены максимальные настройки:
Nod32 2.7 "+";
"Антивирус Касперского 6.0" "+";
Vba32 "+" (рис. 5.6, 5.7).