Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Взлом ПО.docx
Скачиваний:
116
Добавлен:
23.11.2018
Размер:
3.85 Mб
Скачать

Инструменты исследователя

Дизассемблеры и отладчики, например, OllyDbg (см. Приложение 2), IDA Pro (см. Приложение 3).

Дизассемблер позволяет получить ассемблерный текст программы из машинного кода, т.е. перевести двоичные данные программы в удобные для восприятия ассемблерные (мнемонические) инструкции. Ассемблирование – процесс однонаправленный (!), невозможно синтаксически отличить константы от адресов памяти, сегментов и смещений (присутствует неоднозначность соответствия машинных инструкций конструкциям языков высокого уровня).

Дизассемблеры бывают: пакетные и интерактивные. В пакетных дизассемблерах анализ программы производится автоматически на основе выбранных настроек, в интерактивных (например, IDA Pro и Beye2) – можно контролировать весь процесс дизассемблирования.

В IDA Pro можно влиять на дизассемблированные участки кода, например, клавиша U отмечает участок кода как неисследованный, а нажатие клавиши A преобразует участок кода в ASCII (клавиша С – код, * - массив, D - данные).

Отладка – анализ поведения программы путем исполнения ее в различных режимах (пошаговое выполнение; пошаговое выполнение с заходом в процедуру и пр.).

Декомпиляторы, например, HexRays (см. Приложение 3)

Распаковщики и утилиты для снятия дампа3.

Невозможно дизассемблировать запакованную или зашифрованную программу, но можно извлечь из памяти компьютера дамп («снимок») программы в момент ее работы. Дам можно дизассемблировать, по нему можно восстановить код программы. Распаковщик ждет, пока программа полностью не распаковалась, после этого сбрасывает ее дамп на диск.

Утилиты анализа файлов, например, PEiD.

Позволяют быстро узнать, каким упаковщиком обработана программа, найти текстовые строки в дампе памяти, вывести в файл список импортируемых и экспортируемых программой функций и т.д.

Шестнадцатеричные редакторы и редакторы ресурсов.

Шестнадцатеричные редакторы позволяют злоумышленникам исправлять байты в готовых программах. Редакторы ресурсов редактируют присоединенные к файлу ресурсы (позволяет нелегально русифицировать или дорабатывать интерфейс).

Утилиты мониторинга, например, RegMon, FileMon, PortMon.

Позволяют узнать, какие действия выполняет программа, откуда читает и куда записывает, какие стандартные функции и с какими параметрами она вызывает и т.д.

Утилиты делятся на API-шпионы, перехватывающие системные функции, и программы, создающие снимки реестров, жесткого диска, системных файлов и т.д. Программы второго типа позволяют сравнить состояние компьютера «до» и «после» некого события, построить список различий между состояниями.

Установка исследуемой программы

Инсталляционный файл программы представляет собой инсталляционный набор файлов (инсталляционный пакет) для запуска которого требуется запустить SETUP.EXE либо открыть файл с расширением MSI. Инсталляционный пакет содержит сценарий инсталляции, который включает данные для внесения в реестр, файлы конфигурации, порядок запуска программы и т.д. Сценарий может проверять серийные номера, создание записей в реестре, поэтому при установке программы злоумышленники используют утилиты мониторинга, делающие дампы системы (реестра, модифицированных файлов и т.д.).