Введение в архитектуру компьютеров


Классификация и особенности программных методов защиты от копирования - часть 2


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

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

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

Наиболее эффективным методом программной защиты выполняемых программ от НСК является их защита на этапе разработки. Модули защиты могут располагаться в нескольких местах программы, что значительно затруднит работу "взломщика" по поиску в дизассемблированной программе тех мест, где производится проверка каких-либо параметров машины. Это особенно эффективно, если программа написана не на Ассемблере, а на языке высокого уровня (С, ПАСКАЛЬ и др.).

Можно отметить два существенных момента:

· не использовать для защиты нескольких программ стандартные программные модули;

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

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

Второе обусловлено легким поиском в дизассемблированной программе места вызова модуля защиты.

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




- Начало -  - Назад -  - Вперед -



Книжный магазин