Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Система захисту програмних засобів від копіювання та дослідження




Методи, що утрудняють зчитування скопійованій інформації. Створення копій програмних засобів для вивчення або несанкціонованого використання здійснюється за допомогою пристроїв виведення або каналів зв'язку. Одним з найпоширеніших каналів несанкціонованого копіювання є використання накопичувачів на знімних магнітних носіях. Загроза несанкціонованого копіювання інформації блокується методами, які можуть бути розподілені за двома групами: методи, що ускладнюють зчитування скопійованій інформації; методи, що перешкоджають використанню інформації. Методи з першої групи грунтуються на наданні особливостей процесу запису інформації, які не дозволяють зчитувати отриману копію на інших носіях, що не до КС, що захищається. Таким чином, ці методи спрямовані на створення сумісності накопичувачів тільки всередині об'єкта. У КС повинна бути ЕОМ, що має в своєму складі стандартні і нестандартні накопичувачі. На цій ЕОМ здійснюється купівлю (продаж) інформації для обміну з іншими КС, а також переписується інформація зі стандартних носіїв на нестандартні, і навпаки. Ці операції здійснюються під контролем адміністратора системи безпеки. Така організація введення-виведення інформації істотно ускладнює дії зловмисника не тільки при несанкціонованому копіюванні, але і при спробах несанкціонованого введення інформації. Особливості роботи накопичувачів на знімних магнітних носіях повинні задаватися за рахунок зміни програмних засобів, що підтримують їхню роботу, а також за рахунок простих апаратних регулювань і налаштувань. Такий підхід дозволить використовувати серійні зразки накопичувачів. Найпростішим рішенням є нестандартна розмітка (Форматування) носія інформації [18]. Зміна довжини секторів, міжсекторальних відстаней, порядку нумерації секторів і деякі інші способи нестандартного форматування дискет ускладнюють їх використання стандартними засобами операційних систем. Нестандартне форматування захищає тільки від стандартних засобів роботи з накопичувачами. Використання спеціальних програмних засобів (наприклад, Disk Explorer для IBM-сумісних ПЕОМ) дозволяє отримати характеристики нестандартного форматування. Перепрограмування контролера ВЗП, апаратні регулювання і настройки викликають збій обладнання при використанні носіїв на стандартних ЗЗП, якщо форматування і запис інформації вироблялися на нестандартному ЗЗП. Для прикладу можна навести зміни стандартного алгоритму підрахунку контрольної суми і роботи системи позиціонування накопичувачів на гнучких магнітних дисках. У контроллерах накопичувачів підраховується і записується контрольна сума даних сектора. Якщо змінити алгоритм підрахунку контрольної суми, то прочитати інформацію на стандартному накопичувачі буде неможливо через збої. Позиціонування в накопичувачах на магнітних дисках здійснюється наступним чином. Визначається номер доріжки, на якій встановлені магнітні головки. Обчислюється кількість доріжок, на яке необхідно перемістити головки і напрямок руху. Якщо нумерацію доріжок магнітного диска починати не з доріжок з максимальним радіусом, як це робиться в стандартних накопичувачах, а нумерувати їх у зворотньому напрямку, то система позиціонування стандартного накопичувача не зможе виконувати свої функції при установці на нього такого диска. Напрямок руху буде задаватися в напрямку, зворотному фактично записаних на дискеті номерами записів, та успішне завершення позиціонування неможливо. Вибір конкретного методу зміни алгоритму роботи ВЗУ (або їх композиції), здійснюється з урахуванням зручності практичної реалізації та складності повторення алгоритму зловмисником. При розробці ВЗП необхідно враховувати потребу використання пристроїв у двох режимах: у стандартному режимі і в режимі сумісності на рівні КС. Вибір одного з режимів, а також вибір конкретного алгоритму нестандартного використання повинен здійснюватися, наприклад, записом в ПЗУ двійкового коду. Число нестандартних режимів має бути таким, щоб виключався підбір режиму методом перебору. Процес зміни режиму повинен виключати можливість автоматизованого підбору коду. Установку коду на ВЗУ всього об'єкта повинен виробляти адміністратор системи безпеки.

Методи, що перешкоджають використанню скопійованій інформації. Ця група методів має на меті ускладнити використання отриманих копіюванням даних. Скопійована інформація може бути програмою або даними. Дані та програми можуть бути захищені, якщо вони зберігаються на ВЗП в перетвореному криптографічними методами вигляді. Програми, крім того, можуть захищатися від несанкціонованого виконання і тиражування, а також від дослідження. Найбільш дієвим (після криптографічного перетворення) методом протидії несанкціонованому виконання скопійованих програм є використання блоку контролю середовища розміщення програми [18]. Блок контролю середовища розміщення є додатковою частиною програм. Він створюється при інсталяції (встановлення) програм. До нього включаються характеристики середовища, в якому розміщується програма, а також засоби одержання і порівняння характеристик. Як характеристик використовуються характеристики ЕОМ чи носія інформації, або спільно, характеристики ЕОМ і носія. За допомогою характеристик програма зв'язується з конкретної ЕОМ та (або) носієм інформації. Програма може виконуватися тільки на тих ЕОМ чи запускатися тільки з тих носіїв інформації, характеристики яких співпадуть з характеристиками, записаними в блоці контролю середовища виконання. Як характеристик ЕОМ використовуються особливості архітектури: тип і частота центрального процесора, номер процесора (якщо він є), склад і характеристики зовнішніх пристроїв, особливості їх підключення, режими роботи блоків і пристроїв і т. п. Складніше здійснюється прив'язка програм до носіїв інформації, так як вони стандартні і не мають індивідуальних ознак [38]. Тому такі індивідуальні ознаки створюються штучно шляхом нанесення фізичних пошкоджень або зміною системної інформації та структури фізичних записів на носії. Наприклад, на гнучких магнітних дисках можуть пропалювати лазером отвори, використовується нестандартне форматування, позначка деяких секторів як дефектних. Наведені засоби захисту від несанкціонованого використання дискет ефективні проти стандартних способів створення копій (COPY, XCOPY, Diskcopy, Pctools, Norton Utilites в MS DOS та ін.). Все ж наведений метод захисту не можна вважати абсолютно неефективним, тому що трудомісткість подолання захисту велика і вимоги до кваліфікації зломщика, високі. Загальний алгоритм механізму захисту від несанкціонованого використання програм в «чужий» середовищі розміщення зводиться до виконання наступних кроків. Крок 1. Запам'ятовування безлічі індивідуальних контрольних характеристик ЕОМ та (або) знімного носія інформації на етапі інсталяції захищається програми. Крок 2. При запуску захищеної програми управління пере5 В. І. Знвгоролній 129 дається на блок контролю середовища розміщення. Блок здійснює збір і порівняння характеристик середовища розміщення з контрольними характеристиками.

Крок 3. Якщо порівняння пройшло успішно, то програма виконується, інакше - відмова у виконанні. Відмова у виконанні може бути доповнений виконанням деструктивних дій стосовно цієї програми, що призводять до неможливості виконання цієї програми, якщо таку самоліквідацію дозволяє виконати ОС. Прив'язка програм до середовища розміщення вимагає повторної їх інсталяції після проведення модернізації, зміни структури чи ремонту КС із заміною пристроїв. Для захисту від несанкціонованого використання програм можуть застосовуватися і електронні ключі [51]. Електронний ключ «HASP» має розміри із сірникову коробку і підключається до паралельного порту принтера. Принтер підключається до комп'ютера через електронний ключ. На функціонування принтера ключ не робить ніякого впливу. Ключ поширюється з захищається програмою. Програма на початку і в ході виконання зчитує контрольну інформацію з ключа. При відсутності ключа виконання програми блокується.

Захист програмних засобів від дослідження. Вивчення логіки роботи програми може виконуватися в одному з двох режимів: статичному і динамічному [60,61]. Сутність статичного режиму полягає у вивченні вихідного тексту програми. Для отримання лістингів вихідного тексту виконується програмний модуль дізассембліруют, тобто отримують із програми на машинній мові програму мовою Асемблер. Динамічний режим вивчення алгоритму програми передбачає виконання трасування програми. Під трасуванням програми розуміється виконання програми на ЕОМ з використанням спеціальних засобів, що дозволяють виконувати програму у покроковому режимі, отримувати доступ до регістрів, областях пам'яті, виробляти зупинку програми за певними адресами і т. д. У динамічному режимі вивчення алгоритму роботи програми здійснюється або в процесі трасування, або за даними трасування, які записані в запам'ятовуючому пристрої. Засоби протидії дизассемблирования не можуть захистити програму від трасування і навпаки: програми, захищені тільки від трасування, можуть бути дизасемблювати. Тому для захисту програм від вивчення необхідно мати засоби протидії як дизасемблювання, так і трасуванні.

Існує кілька методів протидії дизассемблирования:

• шифрування;

• архівація:

• використання самогенерірующіх кодів;

• «обман» дизассемблера.

Архівацію можна розглядати як найпростіше шифрування. Причому архівація може бути об'єднана з шифруванням. Комбінація таких методів дозволяє отримувати надійно закриті компактні програми. Зашифровану програму неможливо дизасемблювати без розшифрування. Зашифрування (розшифрування) програм може здійснюватися апаратними засобами або окремими програмами. Таке шифрування використовується перед передачею програми по каналах зв'язку або при зберіганні її на ВЗУ. Дизасемблювання програм у цьому випадку можливе тільки при отриманні доступу до розшифрованої програмі, що знаходиться в ОП перед її виконанням (якщо вважається, що подолати криптографічний захист неможливо). Інший підхід до захисту від дизассемблирования пов'язаний з поєднанням процесу розшифрування з процесом виконання програм. Якщо розшифрування всієї програми здійснюється блоком, які отримують управління першим, то таку програму розшифрувати досить просто. Набагато складніше розшифрувати і дизасемблювати програму, яка поетапно розшифровує інформацію, і етапи рознесені по ходу виконання програми. Завдання стає ще складнішою, якщо процес розшифрування рознесений по тексту програми. Суть методу, заснованого на використанні самогенерованих кодів, полягає в тому, що виконувані коди програми виходять програмою в процесі її виконання. Самогенеровані коди виходять в результаті певних дій над спеціально обраним масивом даних. Як вихідні дані можуть використовуватися виконувані коди самої програми або спеціально підготовлений масив даних. Даний метод показав високу ефективність, але він складний у реалізації. Під «обманом» дизассемблера розуміють такий стиль програмування, який викликає порушення правильної роботи стандартного дизассемблера за рахунок нестандартних прийомів використання окремих команд, порушення загальноприйнятих угод. «Обман» дизассемблера здійснюється декількома способами:

• нестандартна структура програми

• приховані переходи, виклики процедур, повернення з них і з переривань;

• переходи і виклики підпрограм по динамічно вимірюваними адресами;

• модифікація виконуваних кодів.

Для дезорієнтації дизассемблера часто використовуються приховані переходи, виклики і повернення за рахунок застосування нестандартних можливостей команд. Маскування прихованих дій часто здійснюється із застосуванням стеків. Трасування програм звичайно здійснюється за допомогою програмних продуктів, які називаються отладчиками. Основне призначення їх - виявлення помилок в програмах. При аналізі алгоритмів програм використовуються такі можливості отладчиков як покрокове (покомандне) виконання програм, можливість зупинки в контрольній точці.

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

Для реалізації механізму контрольної точки зазвичай використовується переривання по відповідній команді ЕОМ (для IBM-сумісних ПЕОМ такою командою є команда INT). У сучасних процесорах можна використовувати спеціальні регістри для установки декількох контрольних точок при виконанні певних операцій: звернення до ділянки пам'яті, зміна ділянки пам'яті, вибірка за певною адресою, звернення до певного порту введення-виведення і т. д.рі наявності сучасних засобів налагодження програм повністю виключити можливість вивчення алгоритму програми неможливо, але істотно ускладнити трасування можливо.

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

• модифікація кодів програми

• «випадкові» переходи.

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

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

 

Контрольні питання

 

1. Дайте визначення несанкціонованого доступу до інформації.

2. Порівняйте два підходи до організації розмежування доступу.

3. Поясніть принцип дії і концепцію створення системи розмежування доступу.

4. Наведіть приклади сучасних систем захисту ПЕОМ та їх можливості.

5. Поясніть сутність захисту інформації від копіювання.

6. Які методи застосовуються для захисту програмних засобів від дослідження?

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...