Теория и практика защиты программ


         

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


Способы защиты от исследования можно разделить на четыре класса [ПАС].

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

·     использование аппаратных особенностей микропроцессора (особенности очередности выборки команд, особенности выполнения команд и т.д.);

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

·     переадресация обработчиков отладочных событий (прерываний) от отладочного средства к защищаемой программе.

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

2. Влияние на работу отладочного средства путем использован~ особенностей его аппаратной или программной среды. Например:

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

·     влияния на процесс регенерации оперативной памяти (на некотором участке кода регенерация памяти отключается, а затем опять включается, - при нормальной работе никаких изменений нет, при медленном выполнении программы отладчиком она «зависает»);

·     перехода микропроцессора в защищенный режим.

3. Влияние на работу отладчика через органы управления или/и устройства отображения информации.



Содержание  Назад  Вперед