2015_лекции / Лекция №6_2015
.pdfЗадачи самозащиты ВрПО
сокрытие следов присутствия в системе от пользователя;
затруднение анализа вредоносного ПО вирусными
аналитиками; атака на антивирусные решения
Основные методики анализа вредоносного кода
динамический анализ
Использование виртуальной исполнительной среды
Использование отладчиков
статический анализ
Изучение структуры файлов (без исходного кода)
Дизассемблирование
Основные методики затруднения
анализа
Обфускация кода
Обфускация точек входа
Шифрование
Полиморфизм/метаморфизм
Использование упаковщиков
Антидизассемблирование
Антидебагинг
Антиэмуляция
Антидебагинг
http://www.symantec.com/connect/articles/windows-anti-debug-reference
Использование отладчиков
Отладчик - это программное или аппаратное обеспечение, которое используется для тестирования и исследования выполнения другой программы.
Назначение
=> разработка программы
=> анализ программы
Использование отладчиков
Отладчики дают представление, что происходит во время исполнения программы
Просматривать
адреса памяти
регистров
аргументов вызываемых функций
Стек вызовов
Управлять ходом выполнения программы, изменяя значения соответствующих переменных
Просматривать дизассемблированный код программы
Типы отладчиков
отладчики высокоуровневых языков
встроенные в IDE разработки
Есть исходный код программы
низкоуровневые отладчики (отладчики ассемблера)
Не требуется доступа к исходному кода программы
Отладка в режиме ядра и режиме пользователя
RING 3
Int 0x2e sysenter
RING 0
Отладка в режиме пользователя
WinDbg (режим пользователя + режим ядра) OllyDbg
Immunity Debugger (OllyDbg + поддержка скриптов на Python ) IDA debugger (поддержка скриптов на Python )
Отладка в режиме ядра
Инструменты WinDbg, Visual SoftICE
Удаленная отладка в режиме ядра
Ядро
ОС |
Ntoskrnl.exe |
debugger.exe
Target.exe
Пространство пользователя