Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсова зпз_шевчук.docx
Скачиваний:
33
Добавлен:
24.12.2018
Размер:
629.15 Кб
Скачать
  1. Розробка алгоритму захисту програмного забезпечення від несанкціонованого копіювання

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

    1. Методи прив’язки до параметрів вінчестера

Кожний сучасний комп’ютер має хоча б один жорсткий магнітний диск, іноді їх може бути від двох до восьми залежно від типу інтерфейсу. Стандартні імена також передбачені і для накопичувачів на жорстких магнітних дисках: С: — основне ім’я, D:, E: і т. ін. Часто основний фізичний жорсткий диск може розбиватися на логічні розділи, і тоді їм надаються імена за латинською абеткою після літери, якою позначений жорсткий диск, що розбитий на логічні розділи.

Жорсткі диски відрізняються насамперед такими характеристиками:

  • ємністю, тобто обсягом інформації, яка вміщується на диск;

  • швидкодією — часом доступу до даних і швидкістю читання та запису інформації;

  • інтерфейсом, тобто типом контролера, до якого приєднується жорсткий диск (частіше — IDE/EIDE та різні варіанти SCSI).

Основною характеристикою жорсткого магнітного диска є його ємність, тобто кількість даних, яка розміщується на диску. Ємність жорстких дисків вимірюється в мегабайтах (Мбайтах) та гігабайтах (Гб). Перші жорсткі диски мали обсяг 5 Мбайтів. Ємність сучасних вінчестерів сягає 182 Гбайтів.

Швидкість роботи жорстких дисків оцінюється двома показниками: часом доступу до даних на диску та швидкістю читання-запису на диску. У типових сучасних жорстких дисків час доступу приблизно 10—12 мс, більш швидкі диски мають час доступу 7—9 мс.

Швидкість читання-запису (пропускна можливість введення-виведення) залежить не тільки від диску, але й від його контролера, швидкості процесора, типу шини (інтерфейсу).

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

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

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

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

У цього методу є недоліки:

  • неможлива оптимізація диска такими програмами, які можуть змінити розташування файлів на диску. Хоча цей недолік можна подолати, використовуючи процедуру деінсталяції, або знімання програмного пакету з диска комп’ютера. Тобто, з диска знімаються файли програмного продукту, потім відповідний лічильник на дистрибутивній дискеті зменшується на 1. Після виконання всіх необхідних дій з диском можна виконати повторне установлення програмного продукту. Таким чином, можна переносити програмний продукт з одного комп’ютера на інший, але не можна розмножувати на декілька комп’ютерів.

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

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

Використання фізичних дефектів вінчестера. При роботі жорсткого диска (вінчестера) можливе виникнення збійних ділянок на магнітній поверхні. Такі дефектні місця можуть існувати навіть на зовсім новому вінчестері. Номера цих збійних ділянок містяться у таблиці FAT (їх ознака – код FF…7). При інсталяції програми, що захищається, на вінчестер у її контрольну частину записуються їх адреси. У процесі виконання програми здійснюється порівняння адрес збійних ділянок, записаних у КЧЗП і в FAT. У випадку запуску незаконно скопійованої програми буде виявлена розбіжність порівнюваних адрес (перші не будуть складати підмножину других), і відбудеться виконання аварійних дій, передбачених для такого випадку. Але слід зазначити, що зараз досить рідко можна зустріти насправді «поганий» вінчестер [3].

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

Використання серійного номері вінчестера. Контролер IDE, SCSI має спеціальну команду видачі інформації про підключений пристрій. Можна отримати блок 512 байтів інформації про жорсткий диск, якщо в системі є контролер IDE і жорсткий диск. Деякі ОС не дають доступу до цієї інформації. При форматуванні диска на ньому створюється так званий серійний номер, але його не складно змінити за допомогою програм типу DiskEdit.

Найбільш надійний захист програмного забезпеченні можна здійснити шляхом прив’язки до унікальних параметрів вінчестера. Для більшої надійності потрібно обрати декілька параметрів, таких як серійний номер, модель вінчестера, кількість доріжок та розмір.

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