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

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

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

Обфускация точек входа (4)

Стратегии (Win32)

Поиск вызовов функций

Поиск вызовов системных API

010016B7

E8807D0000

call

SUB_L010094

 

 

 

3C

 

 

...

 

0100943C

SUB_L0100943C:

 

0100943C

8BFF

mov

edi,edi

0100943E

51

push

ecx

0100943F

FF1514150001

call

[msvcrt.dll!ti

 

 

 

me]

01009445

59

pop

ecx

01009446

C3

retn

 

Обфускация точек входа (5)

Стратегии (Win32)

Переопределение таблицы импорта

Переопределение адресов системных вызовов =>

возможно только после загрузки программы в память

Injective Code inside Import Table http://www.ntcore.com/files/inject2it.htm

PE загрузчик

Обфускация точек входа (5)

Переопределение таблицы импорта

Обфускация точек входа (5)

Стратегии (Win32)

Использование отладочного API

Перед заражением цель запускается в режиме отладки

Использование нестандартных точек входа

Секция TLS

Определение адресов API-функций

Поиск необходимых функций в таблице импорта

Поиск функций LoadLibrary /GetProcAddress

Вызов системных функций по жестко прописанным адресам

Добавление в таблицу импорта необходимых функций

(LoadLibrary/GetProcAddress)

Поиск функций в памяти (Kernel32.Dll проецируется в адресное пространство процессовб базовый адрес всегда выравнивается по 64 КБ => просканировать половину пространства, найти сигнатуру, найти смещение разобрать таблицу импорта)

Использование обработчика структурных исключений

Использование структуру PEB (Process Environment Block) – структура постоянно меняется

Стратегии защиты от обнаружения

Техника самозащиты, используемая вредоносным ПО

Обфускация точек входа

Использование упаковщиков

Обфускация кода

Шифрование

Полиморфизм

Метаморфизм

Анализ окружения на наличие средств отладки

Анализ окружения на наличие антивирусных решений

Стелс-технологии

Упаковщики

75% ВрПО, заражающие бинарные файлы используют упаковщики

Обычно используются алгоритмы сжатия и шифрования

Скрываются таблицы импорта и таблицы адресов

Часть кода распаковщика также упаковывается

Используют обфускацию кода

Источники:

K. Roundy, B. Miller Binary-Code Obfuscations in Prevalent Packer Tools, University of Wisconsin, 2012

M. Sikorski, A. Honig. Practical Malware Analysis. The Hands-On Guide to Dissecting Malicious Software. NY: No Starch Press, 2012 - 800 P.

Структура упаковщика

Процедура распаковки

Распаковать исполняемый файл

Разрешить все импорты исполняемого файла

Передать управление исходной точке входа

инструкция передачи управления = переход в конец (tail jump).

инструкция jmp – самый простой и наиболее распространненный способ =>

передача управления часто маскируется (инструкции push, ret, call, системные вызовы NtContinue ZwContinue.

Процедура распаковки

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