27.05.2014 Views

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

SHOW MORE
SHOW LESS

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 />

во времени («плавающего») протокола.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!