Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Основные положения информационной безопасности

Защита программ от несанкционированного копирования

Под системой защиты от несанкционированного использования и копирования (защиты авторских прав, или просто защиты от копирования) понимается комплекс программных или программно-аппаратных средств, предназначенных для усложнения или запрещения нелегального распространения, использования и (или) изменения программных продуктов и иных информационных ресурсов. Термин «нелегальное» здесь понимается как производимое без согласия правообладателя. Нелегальное изменение информационного ресурса может потребоваться нарушителю для того, чтобы измененный им продукт не подпадал под действие законодательства о защите авторских прав.

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

Также очевидно, что надежность системы защиты равна надежности наименее защищенного из ее модулей.

Выделим принципы создания и использования систем защиты от копирования.

  • 1. Учет условий распространения программных продуктов:
    • • распространение дистрибутивных файлов на магнитных носителях через сеть торговых агентов или через сеть Интернет с последующей установкой самим пользователем. Пользователь при этом может пытаться копировать дистрибутивные магнитные диски, исследовать алгоритм работы системы защиты при помощи специальных программных средств (отладчиков и дизассемблеров), пытаться нарушить условия лицензионного соглашения и установить продукт на большем числе компьютеров, пытаться смоделировать алгоритм работы системы защиты для изготовления аналогичного варианта дистрибутивных файлов и распространения их от своего имени;
    • • установка программного продукта официальным представителем правообладателя, при котором пользователь может пытаться нарушить условия лицензионного соглашения или исследовать алгоритм работы системы защиты;
    • • приобретение и использование программного продукта лицами или организациями, не заинтересованными в его нелегальном распространении среди их коммерческих конкурентов — в этом случае возможны только попытки несанкционированного использования продукта другими лицами; приобретение программного продукта только для снятия с него системы зашиты.
  • 2. Учет возможностей пользователей программного продукта по снятию с него системы зашиты (наличие достаточных материальных ресурсов, возможность привлечения необходимых специалистов и т. п.).
  • 3. Учет свойств распространяемого программного продукта (предполагаемого тиража, оптовой и розничной цены, частоты обновления, специализированного по сложности продукта, уровня послепродажного сервиса для легальных пользователей, возможности применения правовых санкций к нарушителю и др.).
  • 4. Оценка возможных потерь при снятии зашиты и нелегальном использовании.
  • 5. Учет особенностей уровня знаний и квалификации лиц, снимающих систему зашиты.
  • 6. Постоянное обновление использованных в системе защиты средств. При добавлении к программному продукту системы его защиты от копирования возможен выбор уже имеющейся системы, что минимизирует издержки на установку системы зашиты. Однако имеющаяся система зашиты от копирования будет более легко сниматься с программного продукта, а также может оказаться несовместимой с защищаемой программой и имеющимся у пользователя программно-аппаратным обеспечением.

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

Основные требования, предъявляемые к системе защиты от копирования:

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

Выделим основные компоненты системы защиты программных продуктов от несанкционированного копирования:

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

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

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

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

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

Для защиты инсталлируемой программы от копирования при помощи криптографических методов инсталлятор программы должен выполнить следующие функции:

  • • анализ аппаратно-программной среды компьютера, на котором должна будет выполняться инсталлируемая программа, и формирование на основе этого анализа эталонных характеристик среды выполнения программы;
  • • запись криптографически преобразованных эталонных характеристик аппаратно-программной среды компьютера на винчестер.

Преобразованные эталонные характеристики аппаратно-программной среды могут быть занесены в следующие области жесткого диска:

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

Можно выделить два основных метода защиты от копирования с использованием криптографических приемов:

  • • с использованием односторонней функции;
  • • с использованием шифрования.

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

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

Основным требованием к записанному на винчестер уникальному идентификатору является то, согласно которому данный идентификатор не должен копироваться стандартным способом.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 
Популярные страницы