Защита от копирования

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

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

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

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

· Невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика. В данном случае непрофессионал или программист средней квалификации скорее всего не сможет “пройти” защищенную программу отладчиком.

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

· Невозможность трассировки по существенно важным прерываниям с помощью стандартных средств. При этом будет скрыт обмен программы с “внешним миром”, - диском, DOS и т.д.

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

Системы защиты от копирования, как правило, состоят из следующих компонентов.

· Модуль проверки недублированной или оригинальной информации - проверяет наличие некопируемых признаков на дискете или оригинальной для данной АС информации.

· По размещению этого модуля можно выделить три основных типа системы защиты.

· система с “навесным” проверочным модулем, созданным по технологии файлового вируса;

· системы с внешним проверочным модулем, вынесенным в отдельную программу;

· системы с внутренними функциями проверки.

· Модуль защиты от просмотра и анализа логики системы.

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