РОЗДІЛ 2
РОЗРОБКА МЕТОДИКИ ПРОТИДІЇ НЕСАНКЦІОНОВАНОМУ ВИКОРИСТАННЮ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Як було вияснено в 1.1.2 для комплексу засобів ДО існує загроза несанкціонованого використання його програмного забезпечення. Реалізація цієї загрози вестиме до несення фінансових збитків освітньою організацією, що розробила це програмне забезпечення. Справді, на його розробку були затрачені кошти, які не повертаються потім за рахунок придбання легальної продукції, оскільки інші освітні організації вдовольняються піратськими копіями. Таким чином, вартість освіти у базовій освітній організації, що розробила ПЗ ДО буде вищою, ніж у закладах, які незаконно користуються чужим ПЗ. В сьогоднішніх умовах жорсткої конкуренції і боротьбі за кінцевих студентів, такі наслідки ведуть до загального зменшення привабливості освітнього закладу, що затратив гроші на розробку власного ПЗ.
Аналогічна ситуація спостерігається в усіх без винятку галузях, де використовується спеціалізоване програмне забезпечення. Організації для проведення нормальної роботи потрібно ПЗ, яке вона може або розробити самостійно, або купити на ринку. Однак, якщо ПЗ конкурентів не має достойної системи захисту, то воно може бути легко використане з отриманням додаткових переваг (відсутність витрат на створення ПЗ). Та ж організація, що створила ПЗ несе прямі (через витрати на розробку ПЗ) та опосередковані (через зменшення конкурентоспроможності своїх послуг) збитки.
Як було сказано в [64] правові заходи не завжди можуть вирішити проблему піратства. Тому виникає потреба у використанні відповідних (програмно-технічних) засобів забезпечення захищеності.
Можливість використання для галузі ДО існуючих засобів захисту від несанкціонованого використання ПЗ була проаналізована в 1.2. Було вияснено, що наявних засобів захисту, що відповідали б вимогам галузі ДО не існує. В той же час на основі деяких перспективних розробок були окреслені шляхи до побудови такої системи. В основу методики розробки такої системи покладено спеціальну класифікацію, розглянуту нижче.
2.1. Обґрунтування необхідності створення двохланкових засобів програмного захисту
Для зручності та однозначного розуміння описуваних нижче процесів наведемо розшифровки понять та термінів, які використовуються далі:
а) Злом (процес злому) програмного забезпечення - виконання дій, що мають на меті створення можливості використання програмного забезпечення без санкції його виробника, або некоректним способом, або внесення змін у код програмного забезпечення. Таким чином, терміном "злом" будемо називати як існуючий факт несанкціонованого використання ПЗ, так і дії, які до цього привели.
б) Фізичний злом програмного забезпечення - внесення змін у двійковий об'єктний код ПЗ, що сприяють виникненню можливості несанкціонованого його використання.
в) Логічний злом програмного забезпечення - виконання дій, що в необхідній мірі імітують алгоритм способу захисту ПЗ, і спрямовані на виникнення можливості несанкціонованого його використання.
г) Тиражний злом програмного забезпечення - ситуація, при якій система захисту ПЗ спроектована таким чином, що одна єдина копія ПЗ може бути нелегально розтиражована необмеженій кількості адресатів із збереженням її належного функціонування.
д) Система захисту - програмна компонента програмного забезпечення, яка виконує послідовність дій, що попереджують злом ПЗ (реалізує методику забезпечення захищеності у програмних кодах).
е) Фізичний захист програмного забезпечення - дії, спрямовані на унеможливлення використання ПЗ, у двійковий код якого було внесено зміни.
є) Превентивний фізичний захист - унеможливлення внесення змін до об'єктних файлів програмного забезпечення.
ж) Контроль цілісності - послідовність дій, які дозволяють дізнатися, чи було внесено зміни до об'єктних файлів програмного забезпечення.
з) Критична до виконання частини програми інформація - відомості, без яких робота даної частини програми неможлива або безглузда. Наприклад, це масив байт, що є ключем або процедурою для розшифровки якоїсь частини програми.
и) Логічний захист програмного забезпечення - дії, спрямовані на унеможливлення імітації роботи системи захисту.
і) Контрольна сума - криптографічне поняття, яке представляє собою функцію, на вхід якої подається довга послідовність байт, а на виході отримуємо коротку послідовність байт, що залежить від довгої. Можливими випадками контрольної суми є хеш-функція та цифровий підпис.
й) Цифровий підпис (електронний цифровий підпис) - криптографічне поняття, яке представляє собою масив байт, що відповідає поданій на вхід послідовності байт, та може бути сформований лише власником секретних даних (ключа). Будь-хто може пересвідчитися у справжності цифрового підпису шляхом виконання якихось операцій над цим масивом байт за допомогою відкритого ключа особи, що створила цифровий підпис, або якихось інших механізмів.
к) Імітація способу захисту - виконання дій, що є секретними у способі захисту, і спрямовані на отримання якихось відомостей або дій, що дозволяють розпочати використовувати ПЗ. Якщо програмне забезпечення вираховує за внутрішнім секретним алгоритмом еталонний активаційний код, то логічним зломом буде імітація цих дій у зовнішній програмі - генераторі. Якщо ж у програмному забезпеченні зберігається еталонний серійний номер у вигляді незашифрованого набору байт, то імітацією буде просте його використання після його знаходження у двійковому образі.
л)Унікальні ідентифікаційні дані - сукупність відомостей, що однозначно ідентифікують умови використання даної копії програмного забезпечення. До унікальних ідентифікаційних відомостей можуть входити персональні дані користувача програмного забезпечення, серійні номери (коди) елементів апаратного забезпечення комп'ютера, особливості його програмного середовища (такі, як перелік встановленого програмного забезпечення, кількість файлів у заданих каталогах, структура