Средства исследования программ

МЕТОДЫ ЗАЩИТЫ ОТ ИССЛЕДОВАНИЯ ПРОГРАММ

Технологии противодействия заметно обгоняют эволюцию систем защиты

Крис Касперски. Техника и философия

хакерских атак

· Средства исследования программ

· Защита программ от дисассемблирования

· Защита программ от работы под контролем отладчика

Противодействие попыткам запуска и/или исполнения защищенной программы обязательно необходимо сопровождать механизмами, предотвращающими возможность исследования программы, в том числе и зарегистрированных (законных) копий.

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

Средства исследования программ

Основными инструментами для исследования программ являются дисассемблеры и отладчики.

Дисассемблирование - это получение из исполняемого кода программы код на языке ассемблера.

Дисассемблер - программа, осуществляющая дисассемблирова­ние.

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

Отладчик - программа, предназначенная для анализа поведения другой программы, обеспечивающая остановку в указанных точках и позволяющая просматривать (редактировать) содержимое ячеек памяти, регистров процессора и команды программы.

Эмулирующий отладчик - отладчик, который самостоятельно интерпретирует и выполняет команды программы (без использования реального процессора).

Существует также множество программ-утилит, предназначенных для вспомогательных операций по изучению логики работы механизма защиты. Широко используются

· шестнадцатеричные просмотрщики - редакторы;

· редакторы таблиц экспорта/импорта;

· так называемые файловые мониторы, позволяющие отслеживать операции работы с файлами;

· а также мониторы реестра, создающие протокол обращений к реестру

· и многие другие.

Например, с помощью файлового монитора (FileMonitor) взломщик может отследить работу защищенной программы с файлами и обнаружить ключ (пароль), хранящийся в некотором файле. Произведя анализ протокола обращений к реестру с помощью монитора реестра (RegMon), взломщик может обнаружить ключ (пароль), хранящийся в системной базе данных Registry.

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

С помощью современных версий интерактивных дисассемблеров и эмулирующих отладчиков может быть обнаружена практически любая защита.

!

Тем не менее отказываться от использования приемов и методов защиты от дисассемблирования кода программы и ее работы под отладчиком нельзя.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: