Система защиты от копирования или система защиты авторских прав — комплекс программных или программно-аппаратных средств, обеспечивающих затруднение или запрещение нелегального распространения, использования и/или изменения программных продуктов.
Требования:
1) некопируемость дискет автоматическими копировщиками,
2) невозможность применения стандартных отладочных средств при изучении ими логики работы защищенных программ без дополнительных манипуляций с кодом программы или без платы аппаратного отладчика,
3) некорректное дисассемблирование защищенной программы или ее существенно важных фрагментов при применении стандартных пакетов.
4) невозможность трассировки по существенно важным прерываниям при помощи стандартных средств. При атом будет скрыт обмен программы с «внешним миром» — диском, DOS и т. д.
5) затрудненность изучения структуры распознавания индивидуальных параметров ПЭВМ или технологического анализа применяемых аппаратных средств защиты.
Принципы построения:
1) Модуль проверки недублируемой или оригинальной информации — проверяет наличие некопируемых признаков на дискете или оригинальную для данной ПЭВМ информацию.
1.1) системы с «навесным» проверочным модулем, созданным по технологии файлового;
1.2) системы с внешним проверочным модулем, вынесенным в отдельную программу;
1.3) системы с внутренними функциями проверки.
2) Модуль защиты от просмотра и анализа логики системы.
3) Модуль согласования с защищенными структурами — обеспечивает правильную работу защищенных программ и адекватное восприятие защищенных данных в случае легальных копий.
Защита информации на НЖМД может осуществляться с помощью:
1. защиты по ключевой дискете (хороший уровень секретности, но ключ на дискете может быть утерян);
2. используя метку на жёстком диске (есть две неиспользуемые области на жёстком диске – в начале (все сектора, кроме первого под таблицу разделов, не используются) и конце (состоит из пользовательского диагностического цилиндра, который является следующим после последнего цилиндра диска на AT и последним на машинах типа находится PS/2) но эти области могут использоваться низкоуровневыми программами). С помощью операции длинного чтения/записи (функция 0Аh/0Bh прерывания 13h) можно произвести чтение/запись 516 байтов (512+4) длиной сектора. При обычном чтении 4 дополнительных байта будут не прочитаны, а при записи они не будут перезаписаны. Странная накладка в DOS, которая позволяет просмотреть (функция DOS 42h) данные за концом файла, делает доступ к этому хвосту файла достаточно простым для высокоуровневых языков.) Привязка к местоположению BAD-кластеров (пометка ложных BAD-кластеров). Для привязки к местоположению BAD-кластеров на винчестере необходимо определить тип FAT-таблицы и найти в ней элементы, соответствующие BAD-кластерам, после чего запомнить их положение, а в дальнейшем проверять их наличие на фиксированных местах.