- •Анотація
- •Огляд систем захисту програмного забезпечення
- •Класифікація систем захисту програмного забезпечення
- •Системи захисту від несанкціонованого копіювання
- •Методи захисту програмного забезпечення шляхом прив’язки до комп’ютера
- •Розробка алгоритму захисту програмного забезпечення від несанкціонованого копіювання
- •Методи прив’язки до параметрів вінчестера
- •Захист на основі генерації коду активації програмного забезпечення
- •Розробка алгоритму захисту програмного забезпечення від несанкціонованого копіювання
- •Розробка модуля захисту програмного забезпечення від несанкціонованого копіювання
- •Обґрунтування вибору мови програмування
- •Розробка модуля захисту програмного забезпечення від нск шляхом прив’язки до унікальних параметрів вінчестера
- •Робота програми захисту від несанкціонованого копіювання
- •Тестування роботи програми
- •Висновки
- •Перелік посилань
- •Додатки Додаток а Модуль захисту програмного забезпечення
- •Додаток б Генерація коду активації програмного забезпечення
-
Методи захисту програмного забезпечення шляхом прив’язки до комп’ютера
Серед усіх методів прив’язки до комп’ютера перевірка окремих його підсистем є найбільш придатна і ефективна, оскільки такі характеристики, як швидкодія диска або процесора є досить унікальними для кожного конкретного комп’ютера.
Розрізняють такі методи прив’язки до комп’ютера:
-
прив’язка до вінчестера;
-
прив’язка до BIOS;
-
прив’язка до архітектури, набору ПЗ;
-
дистрибутивного носія;
-
вимірювання продуктивності апаратури;
-
метод з частковим стиранням пам’яті.
У інформації, що записана на вінчестері, можна знайти унікальні характеристики, наприклад, час створення файлу або каталогу, номера кластера тощо.
Метод перевірки версії, дати трансляції або контрольних сум BIOS придатний для захисту від копіювання між комп’ютерами, які містять різні версії BIOS.
Системи захисту від несанкціонованого копіювання здійснюють прив'язку ПЗ до дистрибутивного носія. Даний тип захистів ґрунтується на глибокому вивченні роботи контролерів накопичувачів, їх фізичних показників, нестандартних режимів розбиття при форматуванні, зчитування/запису і т.п. При цьому на фізичному рівні створюється дистрибутивний носій, що, наприклад, володіє неповторними властивостями (зазвичай це досягається за допомогою нестандартної розмітки носія інформації і запису на нього додаткової інформації, пароля або мітки), а на програмному рівні створюється модуль (контролююча частина програми), налаштований на ідентифікацію й аутентификацію носія за його унікальними властивостями.
Сутність методу полягає в маніпулюванні refresh-каналом DMA. Це викличе втрату інформації в частині ОЗП. Справа у тому, що характер реакції DMA (конкретно скорочені області ОЗП, їх нове значення, час зникнення даних і т.п.) специфічний для кожного кристала, хоча, можливо, і може змінюватись в залежності від зовнішніх умов (вік кристала, температура, тощо). Найголовніше при цьому – не пошкодити життєво важливих ділянок ОЗП (наприклад, область DOS, таблицю переривань, саму програму).
Перевіряючи продуктивність підсистем комп’ютера, можна вимірювати, наприклад:
-
швидкодію комп'ютера, фіксуючи відлік таймера за час виконання якогось певного фрагмента програми, оскільки час виконання однієї й тієї самої ділянки програми на різних комп'ютерах швидше за все буде відрізнятися, що і дозволить виділити визначену ЕОМ із ряду аналогічних;
-
швидкість роботи оперативного запам'ятовувального пристрою, тактову частоту, час доступу до ОЗП і т.п. (змінюючи час виконання контрольної ділянки програми);
-
швидкість обертання двигунів дисковода (через команду READ_ID) або вінчестера, що може бути знайдено, наприклад, замірюванням таймером операції зчитування/записування деякого сектора чи доріжки дискети (як “COPYLOCK”);
-
швидкість підсистем введення-виведення. Ця швидкість, на відміну від швидкості доступу до ОЗП, може не збігатись навіть на машинах однієї партії;
-
швидкість реакції на зовнішні впливи.
На жаль, надійність таких перевірок і їх стійкість до часу, коливань температури, вологості повітря і т.п. не гарантована і повинна кожний раз досліджуватись.
Найбільш доцільним є захист ПЗ від несанкціонованого копіювання шляхом прив’язки до вінчестера.