А,В,Соколов, 0,М, Степанюк - Скачать документы
А,В,Соколов, 0,М, Степанюк - Скачать документы
А,В,Соколов, 0,М, Степанюк - Скачать документы
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
228<br />
Защищенное DOS-Windows приложение<br />
<strong>А</strong>нтиотладочные механизмы<br />
Шифрование данных<br />
Защита от эмуляции ключа<br />
Защита от излучения логики работы программы<br />
Проверка целостности кода<br />
Защита от заражения вирусами<br />
Обращение к ключу<br />
Обработка ответа<br />
вход<br />
Продо<br />
-режим<br />
раб<br />
,жение<br />
оты<br />
Д^^^^\Нет<br />
**ч^ -^ или<br />
^«Р<br />
эав< фшение<br />
\^^/^ работы<br />
Шифрованный<br />
динамически<br />
изменяющийся<br />
протокол<br />
обмена<br />
Расшифровка тела программы<br />
<strong>В</strong>ыполнение программы<br />
Обращение к ключу<br />
с помощью функции HASP API<br />
Рис. 3.14. Схема защиты<br />
Q в процессе работы пользователи имеют возможность получать новые версии программ<br />
при перепрограммировании ключей соответствующими администраторами.<br />
<strong>В</strong>ажнейшей частью системы защиты с использованием электронных ключей является<br />
ее программный компонент. Как правило, он включает в себя:<br />
Q защитный «конверт» (Envelope);<br />
О библиотечные функции обращения к ключу API (Applications Program Interface).<br />
Каждый из этих способов обеспечения безопасности имеет свое назначение, но в<br />
идеале они должны применяться совместно. Системы автоматической защиты (рис.<br />
3.14) предназначены для защиты уже готовых приложений без вмешательства в исходный<br />
код программы. Таким образом обеспечивается сохранность СО<strong>М</strong>-, ЕХЕ-файлов,<br />
библиотеки DLL. Для встраивания дополнительного модуля внутрь используется «вирусная»<br />
технология вживления и перехвата на себя управления после загрузки.<br />
При использовании «конверта» тело программы шифруется, в нее встраивается<br />
дополнительный модуль, который в момент запуска берет управление на себя. После<br />
отработки специальных антиотладочных и антитрассировочных механизмов выполняются<br />
следующие действия:<br />
Q проверка наличия «своего» электронного ключа и считывание из него требуемых<br />
параметров;<br />
Q анализ «ключевых» условий и выработка решения.<br />
Для защиты от аппаратной или программной эмуляции обмен между «конвертом»<br />
и электронным ключом выполняется с использованием зашумленного изменяющегося<br />
во времени («плавающего») протокола.