Методы защиты программных продуктов.
Руководитель _________________ Чубаров А.В.
подпись, дата
Студент УБ15-11б; ___431511837__ _________________ Мартынов В.Е.
(номер зачетной книжки) подпись, дата
Красноярск 2017
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 3
1 ПРАВОВЫЕ МЕТОДЫ ЗАЩИТЫ ПРОГРАММНЫХ ПРОДУКТОВ И БАЗ ДАННЫХ.. 5
1.1 Патентная защита. 5
1.2 Производственный секрет. 5
1.3 Лицензионные соглашения. 5
1.4 Авторское право. 7
2 ПРАВОВОЕ РЕГУЛИРОВАНИЕ НА ИНФОРМАЦИОННОМ РЫНКЕ. 9
3 ПРОГРАММНО-ТЕХНИЧЕСКАЯ ЗАЩИТА ПРОГРАММНОГО ПРОДУКТА 11
4 МЕТОДЫ ЗАЩИТЫ ПРОГРАММНЫХ ПРОДУКТОВ.. 13
4.1 Выполнение на стороне сервера. 13
4.2 Водяной знак (software watermark) и отпечаток пальца. 14
4.3 Установка подлинности кода (tamper-proofing). 14
4.4 Шифрование программного кода. 16
5 ОБФУСКАЦИЯ, КАК ОДИН ИЗ МЕТОДОВ ЗАЩИТЫ ПРОГРАММ.. 18
5.1 Процесс обфускации. 18
5.2 Оценка процесса обфускации. 20
5.3 Алгоритмы процесса обфускации. 21
5.3.1 Алгоритм Колберга ("Collberg`s algorithm"). 21
5.3.2 Chenxi Wang`s алгоритм. 22
5.4 Виды обфускации. 24
5.4.1 Лексическая обфускация. 24
5.4.2 Обфускация данных. 24
5.4.3 Обфускация управления. 26
5.4.4 Превентивная (prevent) обфускация. 27
ЗАКЛЮЧЕНИЕ. 28
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 29
ВВЕДЕНИЕ
Программные продукты и компьютерные базы данных являются предметом интеллектуального труда специалистов высокой квалификации. Процесс проектирования и реализации программных продуктов характеризуется значительными материальными и трудовыми затратами, основан на использовании наукоемких технологий и инструментария, требует применения и соответствующего уровня дорогостоящей вычислительной техники. Это обусловливает необходимость принятия мер по защите интересов разработчика программ и создателей компьютерных баз данных от несанкционированного их использования, а также защиту интеллектуальной собственности самих разработчиков.
Программное обеспечение является объектом защиты также и в связи со сложностью и трудоемкостью восстановления его работоспособности, значимостью программного обеспечения для работы информационной системы. В связи с этим имеются несколько методов программно технической защиты программных продуктов.
Разработка наиболее эффективного метода защиты для того или иного программного продукта, в нынешнее время, становиться одной из важных задач большинства программистов, которые занимаются разработкой специализированного, платного программного обеспечения, так как это позволяет им продавать свой интеллектуальный труд, и исключить возможности его нелегального использования среди потребителей, говоря иными словами, пользователь не сможет использовать оригинальную, лицензионную копию определенной программы предварительно не купив, не заплатив денег её разработчику.
Затраты производителей на создание эффективного метода защиты их программных продуктов окупаются и компенсируют потенциальный ущерб, наносимый нелегальным копированием и использованием программ.
Существуют два основных способа защиты интеллектуальной собственности, и следовательно, самих программных продуктов:
1) Юридический (законный). Данный способ защиты заключается в создании определенных актов, в соответствии с законом, которые будут охранять интеллектуальную собственность (в нашем случае программные продукты) от нелегального использования. Данный способ включает в себя такие методы как патентование, оформление авторских прав на интеллектуальную собственность и т.д. Также он предусматривает возможность лицензирования ПП, так, например большинство ПП поставляются вместе с лицензией, которая подтверждает право пользователя использовать этот ПП, то есть, покупая лицензионную копию программы, пользователь в некой мере производит покупку лицензии на право работы с ее копией. Можно выделить два основных вида лицензий на программные продукты:
- Временная. Позволяет использовать ПП неограниченному числу пользователей в течение ограниченного периода времени.
- Оптимальная. Позволяет использовать ПП ограниченному числу пользователей в течение неограниченного периода времени.
2) Технический. Реализуется путем включения в ПП, какого либо из существующих методов защиты, который будет запрещать его нелегальное использование. По сравнению с юридическим способом защиты ПП, он является наиболее распространенным, так как он практичен, и сравнительно не дорогой в реализации (в дальнейшем, будет приводиться именно его описание).