Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASOIB.doc
Скачиваний:
111
Добавлен:
17.09.2019
Размер:
4.95 Mб
Скачать

51

ВВЕДЕНИЕ. Защита программного обеспечения от несанкционированного использования с помощью программно-аппаратных средств

Проблема защиты программного обеспечения от несанкционированного использования

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

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

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

1. Изготовление официальным распространителем нелегальных копий программ. При этом копии программ являются нелегальными (контрафактными) исключительно из-за превышения числа изготавливаемых для распространения экземпляров сверх разрешенного правообладателем.

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

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

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

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

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

Организационно-экономические меры

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

К данным мерам относят:

1. Обеспечение подробной пользовательской документацией.

2. Периодическое распространение дополнительной документации, новых услуг по сниженным ценам.

3. Горячая линия для справки, тех. поддержка.

4. Регулярное оповещение об изменениях и обнаруженных ошибках.

5. Обучение пользователей, организация семинаров.

6. Обновление версий со скидкой и т.д.

Правовые меры

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

Технические меры

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

Методы защиты ПО от несанкционированного использования.

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

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

В настоящее время можно выделить два основных способа распространения ПО – продажа дистрибутивов и распространение их shareware версий.

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

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

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

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

Привязка программного продукта, устанавливаемого с дистрибутива, к оборудованию, или к конкретному месту на диске для исключения нелегального копирования.

Использование электронных ключей или других электронных идентификаторов для авторизации пользователя.

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

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

Использование электронных ключей для защиты ПО является наиболее предпочтительным с точки зрения степени защиты. Однако, данный способ имеет существенный недостаток, заключающийся в увеличении стоимости программного продукта на 30-40$, а также в необходимости использования аппаратного разъема (LPT, COM, USB) для подсоединения ключа. Таким образом, электронные ключи используются, в основном, для защиты достаточно дорогого ПО, использование же на одном рабочем месте более 3-4 программных продуктов, защищенных с помощью электронных ключей представляет значительную сложность.

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

Тем не менее, во вводной главе, рассмотрим наиболее известные технические средства защиты ПО.

Модульная архитектура технических средств защиты по от несанкционированного использования

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

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

Основными требованиями к системе защиты ПО от несанкционированного использования являются следующие [Error: Reference source not found]:

  • система защиты должна выявлять факт несанкционированного запуска программы;

  • система защиты должна реагировать на факт несанкционированного запуска программы;

  • система защиты должна противостоять возможным атакам злоумышленников, направленных на нейтрализацию системы защиты.

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

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

  1. подсистемы внедрения механизмов системы защиты;

  2. внедряемого защитного кода.

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

Рис. 1. Модульная архитектура системы защиты ПО от несанкционированного использования

П одсистема реализации защитных функций на структурном уровне также является составной и включает в себя три модуля: 1. блок установки характеристик среды, 2. блок сравнения характеристик среды и 3. блок ответной реакции

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

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

Блок сравнения характеристик среды устанавливает факт легальности запуска защищаемой программы, сравнивая текущие значения параметров среды с эталонными.

Блок ответной реакции реализует ответные действия системы защиты на попытки несанкционированного исполнения защищаемой программы.

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

1. Разработчик программы внедряет защитные механизмы в защищаемую программу.

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

3. При каждом запуске программы выполняются следующие действия:

  • снимаются текущие характеристики среды;

  • текущие характеристики сравниваются с эталонными;

  • если сравнение характеристик дало положительный результат, то ПО запускается (либо продолжает работать);

  • если сравнение характеристик дало отрицательный результат, то запускается блок ответной реакции.

Рассмотрим более подробно функциональное назначение каждой из подсистем и модулей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]