Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2015_лекции / Лекция №8_2015

.pdf
Скачиваний:
72
Добавлен:
22.03.2016
Размер:
3.05 Mб
Скачать

Олигоморфизм

mov

ebp,00405000h

; выберем в качестве базы

mov

ecx,0550h

; такое кол-во байт

mov

ecx,0550h

; такое кол-во байт

mov

ebp,00405000h

; выберем в качестве базы

lea

esi,[ebp+0000002E]

; смещение "Start"

lea

esi,[ebp+0000002E]

; смещение "Start"

add

ecx,[ebp+00000029]

; прибавим такое количество байт

add

ecx,[ebp+00000029]

; прибавим такое количество байт

mov

al,[ebp+0000002D]

; выберем первый ключ

mov

al,[ebp+0000002D]

; выберем первый ключ

Decrypt:

 

Decrypt:

 

nop

 

; мусор

nop

 

; мусор

nop

 

; мусор

nop

 

; мусор

xor

[esi],al

; расшифровка байта

xor

[esi],al

; расшифровка байта

inc

esi

; следующий байт

inc

esi

; следующий байт

nop

 

; мусор

inc

al

; увеличим ключ

inc

al

; увеличим ключ

dec

ecx

; есть еще что расшифровывать?

dec

ecx

; есть еще что расшифровывать?

loop

Decrypt

; пока все не расшифровано

jnz

Decrypt

; да

jmp

Start

; нет, выполняем Start

jmp

Start

; нет, выполняем Start

; Данные

 

 

 

;Данные

Start:

 

 

Start:

;

зашифрованное/расшифрованное тело вируса

; зашифрованное/расшифрованное тело вируса

 

 

 

 

 

 

Полиморфизм

Используемые методики

Использование мусорных инструкция, типа INC SI, NOP, CLI, STI и т.д.

Изменение порядка следования инструкций.

Переназначение регистров, используемых для хранения переменных.

Использование взаимозаменяемых инструкций

Полиморфизм

В зависимости от скорости смены дешифратора различают

 

Медленные

Быстрые

(Дешифровщик

(при каждом

полностью строится

инфицировании)

только во время запуска

 

ОС)

Полиморфизм: пример

Вирус 1260первый вирус, применившим технику полиморфизма

; Group 1 – Секция Инициализации

inc

si

; необязательный мусор

mov

ax,0E9B

; устанавливаем ключ 1

clc

 

; необязательный мусор

mov

di,012A

; смещение Start

nop

 

; необязательный мусор

mov

cx,0571

;устанавливаем ключ 2

; Group 2 – Секция Расшифровщика

Decrypt:

 

xor

[di],cx

; расшифровываем первое слово ключом 2

sub

bx,dx

; необязательный мусор

xor

bx,cx

; необязательный мусор

sub

bx,ax

; необязательный мусор

sub

bx,cx

; необязательный мусор

nop

 

; обязательный мусор

xor

dx,cx

; необязательный мусор

xor

[di],ax

; расшифровываем первое слово ключом 1

; Group 3 – Секция инкрементации ключей

inc

di

; Следующий байт

nop

 

; необязательный мусор

clc

 

; необязательный мусор

inc

ax

; увеличиваем 1

; loop

 

 

loop

Decrypt

; пока все байты не расшифрованы

 

 

;увеличиваем ключ 2

;случайное заполнение 39 байт

Start:

;зашифрованное/расшифрованное тело вируса

Метаморфизм вирусов

Метаморфизм вирусов – это полиморфизм вирусного кода

(И. Муттик)

Метаморфизм вирусов

Уровни метаморфизма:

Использование тех же инструкций, но с другими регистрами

Использование «мусорных» и эквивалентных инструкций по смыслу инструкций

Изменение выполняемого кода

Метаморфизм вирусов

Соседние файлы в папке 2015_лекции