Реферат

Содержание

Введение

Нелегальное копирование и распространение программных продуктов является одной из основных проблем разработчиков программного обеспечения. Создание успешного программного продукта требует много ресурсов: времени и денег. И в том случае, если продажи выпущенных программных продуктов не приносят достаточно прибыли, и причиной тому является нелегальное использование программного продукта, разработчику будет невыгодно продолжать сопровождение данного продукта [1].

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

1. Актуальность темы

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

Такая ситуация сложилась в результате активной деятельности так называемых варез-групп (англ. warez group) — групп лиц, специализирующихся на взломе технических средств защиты авторских прав (англ. DRM — digital rights management). Наиболее известными на текущий момент являются 3DM, RELOADED, CPY, SKIDROW, CODEX [2]. Таким образом, существующие методы и средства, которые применяются для защиты авторского права на использование современного программного обеспечения, являются недостаточно эффективными, чтобы противодействовать взлому.

2. Цель и задачи исследования, планируемые результаты

Цель исследования — повышение эффективности методов и средств защиты авторского права в области разработки программного обеспечения для распределённых систем.

Объект исследования — методы и средства защиты авторского права на программное обеспечение.

Основные задачи исследования:

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

В рамках магистерской работы запланировано:

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

3. Обзор исследований и разработок

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

3.1 Обзор международных источников

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

  • Keygen — облачная служба лицензирования и распространения ПО, предоставляет API и поддерживает несколько видов лицензии [3];
  • Nalpeiron Licensing Service — облачная служба лицензирования, поддерживает оффлайн-активацию ПО [4];
  • License4J — Java-библиотека с поддержкой идентификаторов оборудования при проверке лицензии [5];
  • SafeGuard LM — предоставляет API и модуль антихакинга для противодействия исследованию защиты [6];
  • Reprise License Manager — предоставляет отказоустойчивые распределённые серверы и подписывает лицензии электронной цифровой подписью [7].

В книге Distributed Systems. Principles and paradigms (Распределённые системы. Принципы и парадигмы Э. Таненбаума, М. ван Стеен) [8] детально описаны принципы, концепции и технологии распределённых систем: связь, целостность, защита от сбоев и безопасность.

3.2 Обзор национальных источников

В книге Искусство защиты и взлома информации Дмитрия Склярова [9] уделяется внимание ошибкам, которые чаще всего допускаются в процессе разработки средств защиты и приводятся примеры реальных систем, которые были взломаны из-за таких ошибок.

Книга Искусство дизассемблирования Криса Касперски и Евы Рокко [10] посвящена обратной разработке (reverse engineering). В начале книги описываются базовые основы хакерства, выполнен обзор популярных хакерских инструментов, подробно описаны приёмы идентификации и реконструкции ключевых структур исходного языка. Значительное внимание уделяется реконструкции алгоритмов работы защитных механизмов и методам преодоления антиотладочных приёмов.

3.3 Обзор локальных источников

Среди магистров ДонНТУ можно выделить следующие публикации.

В работе Кирилла Попырко Система обеспечения устойчивости программ к несанкционированной модификации [11] исследованы существующие методы защиты ПО, выполнен обзор и сравнение существующих решений по защите программ от взлома.

В работе Артёма Егорова Исследование методов и средств защиты конфиденциальных данных при распределённой обработке в облачной инфраструктуре [12] выполнен анализ существующих средств защиты для распределённых систем и исследована распределённая система Apache Hadoop.

4. Повышение эффективности методов и средств защиты авторского права в области разработки программного обеспечения для распределённых систем

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

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

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

Для решения уязвимости, связанной с модификацией исполнимого бинарного кода с целью отключения проверки лицензии, необходимо применить метод защиты исполнимых данных, при котором важная часть функционала программного продукта остаётся неработоспособной без наличия на клиентской машине дополнительного исполнимого модуля. Данный модуль может содержать как лицензируемый функционал, доступ к которому появляется только после успешной проверки лицензии, так и являться вспомогательным модулем (мостом), без которого невозможно получить доступ к лицензируемому функционалу [13].

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

Алгоритм проверки лицензии
Рисунок 1 – Алгоритм проверки лицензии (анимация: 6 кадров, задержка 5 с, 10 циклов повторения, 161 КБ)

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

Для реализации распределённой системы планируется применить свободно распространяемый фреймворк для разработки и выполнения распределённых программ Apache Hadoop [15], а именно дистрибутив Cloudera Distribution for Hadoop (CDH) [16], включающий в себя встроенные средства, которые позволяют обеспечить защиту кластеров, используя шифрование данных, аутентификацию пользователя и механизмы авторизации.

Для хранения информации о разработчиках, лицензируемых программных продуктах, их версиях, их пользователях и лицензиях планируется использовать нереляционную распределённую базу данных Apache HBase, которая также входит в состав CDH.

Выводы

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

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

Список источников

  1. Чернышова, А.В. Подсистема защиты авторского права в программном обеспечении / А.В. Чернышова, Д.В. Кубашевский // Информатика и кибернетика. – 2016. – № 2(4). – С. 68-72.
  2. All Scene Groups and Crackers [Электронный ресурс] // CrackWatch. – Режим доступа: https://crackwatch.com/groups – Загл. с экрана.
  3. Keygen [Электронный ресурс] // Keygen. – Режим доступа: https://keygen.sh/ – Загл. с экрана.
  4. Software Licensing Cloud-Based [Электронный ресурс] // Nalpeiron. – Режим доступа: https://www.nalpeiron.com/ – Загл. с экрана.
  5. License4J [Электронный ресурс] // License4J. – Режим доступа: https://www.license4j.com/ – Загл. с экрана.
  6. Tech [Электронный ресурс] // Persistent Security. – Режим доступа: https://www.persistentsecurity.com/tech/ – Загл. с экрана.
  7. RLM [Электронный ресурс] // Reprise Software. – Режим доступа: http://www.reprisesoftware.com/products/software-license-management.php – Загл. с экрана.
  8. Таненбаум, Э. Распределённые системы. Принципы и парадигмы / Э. Таненбаум, М. ван Стеен. – СПб.: Питер, 2003. – 877 с.
  9. Скляров, Д.В. Искусство защиты и взлома информации / Д.В. Скляров. – СПб.: БХВ-Петербург, 2004. – 288 с.
  10. Касперски, К. Искусство дизассемблирования / К. Касперски, Е. Рокко. – СПб.: БХВ-Петербург, 2008. – 891 с.
  11. Система обеспечения устойчивости программ к несанкционированной модификации [Электронный ресурс] // Портал магистров ДонНТУ. – Режим доступа: http://masters.donntu.ru/2013/fknt/popyrko/ref.html – Загл. с экрана.
  12. Исследование методов и средств защиты конфиденциальных данных при распределённой обработке в облачной инфраструктуре [Электронный ресурс] // Портал магистров ДонНТУ. – Режим доступа: http://masters.donntu.ru/2017/fknt/yegorov/diss/index.htm – Загл. с экрана.
  13. Чернышова, А.В. Подсистема защиты авторского права в программном обеспечении [Текст] / А.В. Чернышова, Д.В. Кубашевский // Сборник материалов VIII Международной научно-технической конференции Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ–2017). - Донецк: ДонНТУ, 2017. – С. 110-114.
  14. Чернышова, А.В. Подсистема защиты авторского права в сфере программного обеспечения / А.В. Чернышова, Д.В. Кубашевский // Информатика и кибернетика. – 2017. – № 4(10). – С. 84-90.
  15. Apache Hadoop [Электронный ресурс] // Apache Hadoop. – Режим доступа: https://hadoop.apache.org/ – Загл. с экрана.
  16. Overview of Cloudera and the Cloudera Documentation Set [Электронный ресурс] // Cloudera Documentation. – Режим доступа: https://www.cloudera.com/documentation/enterprise/5-13-x/topics/introduction.html – Загл. с экрана.