Защита от копирования
Система защиты от кодирования или система защиты авторских прав — это комплекс программных или программно-аппаратных решений, обеспечивающих затруднение или запрещение нелегального определения, использования и (или) изменения программных продуктов.
Наиболее часто встречающийся способ распространения программ (рассылка или передача на магнитных носителях) накладывает самые жесткие требования на систему защиты. При этом у пользователя остается возможность практически неограниченных экспериментов с защищенным программным продуктом.
Сформулируем некоторые априорные требования, выполнение которых существенно повысит надежность системы защиты от копирования.
- Некопируемость дисков (если это необходимо по условиям распространения) автоматическими копировщиками. Данный пункт гарантирует, что для понимания принципа некопируемости необходимо будет ручное изучение структуры диска.
- Невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика. В данном случае непрофессионал или программист средней квалификации скорее всего не сможет “пройти” защищенную программу отладчиком.
- Некорректное дизассемблирование защищенной программы или ее существенно важных фрагментов при применении стандартных пакетов. Это гарантирует, что для дизассемблирования, в лучшем случае, придется писать специальную программу.
- Невозможность трассировки по существенно важным прерываниям с помощью стандартных средств. При этом будет скрыт обмен программы с “внешним миром”, — диском, DOS и т.д.
- Затрудненность изучения структуры распознавания индивидуальных параметров АС или технологического анализа применяемых аппаратных средств защиты. Подразумевается необходимость такого выбора индивидуальных параметров, чтобы они редко повторялись и трудно обнаруживались; в случае применения аппаратных ключей — чтобы их вскрытие не давало существенной информации об их работе.
- Модуль проверки недублированной или оригинальной информации — проверяет наличие некопируемых признаков на дискете или оригинальной для данной АС информации.
- По размещению этого модуля можно выделить три основных типа системы защиты.
- система с “навесным” проверочным модулем, созданным по технологии файлового вируса;
- системы с внешним проверочным модулем, вынесенным в отдельную программу;
- системы с внутренними функциями проверки.
- Модуль защиты от просмотра и анализа логики системы.
- Модуль согласования с защищенными структурами — обеспечивает правильную работу защищенных программ и адекватное восприятие защищенных данных в случае легальных копий.
Системы защиты от копирования, как правило, состоят из следующих компонентов.