Реферат

Зміст

Вступ

Нелегальне копіювання та розповсюдження програмних продуктів є однією з основних проблем розробників програмного забезпечення. Створювання успішного програмного продукта вимагає багато ресурсів: часу та грошів. І в тому випадку, якщо продажі випущених програмних продуктів не приносять достатньо прибутку, і причиною тому є нелегальне використання програмного продукта, розробнику буде невигідно продовжувати супровід даного продукта [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 Огляд локальних джерел

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

У роботі Кирила Попирко Система забезпечення стiйкостi програм до несанкцiонованої модифiкацiї [11] досліджені існуючі методи захисту ПЗ, виконаний огляд і порівняння існуючих рішень щодо захисту програм від зламування.

У роботі Артема Єгорова Дослідження методів і засобів захисту конфіденційних даних при розподіленої обробки в хмарної інфраструктурі [12] виконаний аналіз існуючих засобів захисту для розподілених систем і досліджена розподілена система Apache Hadoop.

4. Підвищення ефективності методів і засобів захисту авторського права в області розробки програмного забезпечення для розподілених систем

Хакери варез-груп використовують різні програмні інструменти, які дозволяють досліджувати та нейтралізувати захист авторського права. У випадку, якщо система захисту працює в автономному режимі та не взаємодіє із зовнішним світом (офлайн перевірка та активація ліцензії на використання ПЗ), хакеру буде достатньо дослідити алгоритм і підібрати такі дані ліцензії, які система захисту буде вважати за справжні.

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

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

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

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

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

Однак, необхідно також урахувати потрібний рівень продуктивності та відмовостійкості системи захисту авторського права, що розробляється. Якщо дану систему захисту буде застосовувати декілька розробників для захисту своїх програмних продуктів, кожен з яких має велику кількість користувачів, необхідно забезпечити належний рівень продуктивності для сервера ліцензій. Для вирішення даної проблеми необхідно застосовувати методи розподілених обчислень і ділити навантаження між різними обчислювальними кластерами та серверами баз даних [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 – Загл. с экрана.