Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Основні методи захисту від копіювання

Основні функції засобів захисту від копіювання

ОСНОВНІ ПІДХОДИ ДО ЗАХИСТУ ПРОГРАМ ВІД НЕСАНКЦІОНОВАНОГО КОПІЮВАННЯ

При захисті програм від несанкціонованого копіювання застосовуються методи, які дозволяють привносити в програму, що захищається, функції прив'язки процесу виконання коду програми тільки до тих ЕОМ, на які вони були інстальовані. Інстальована програма для захисту від копіювання при кожному запуску повинна виконувати наступні дії:

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

Етап перевірки достовірності середовища є одним з самих уразливих з погляду захисту. Можна детально не розбиратися з логікою захисту, а трохи "підправити" результат порівняння, і захист буде знятий.

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

Для зняття захисту від копіювання застосовують два основні методи: статичний і динамічний.

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

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

Криптографічні методи

Для захисту програми, що інсталюється, від копіювання за допомогою криптографічних методів інсталятор програми повинен виконати наступні функції:

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

Перетворені еталонні характеристики апаратно-програмного середовища можуть бути занесені в наступні області жорсткого диска:

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

Можна виділити два основні методи захисту від копіювання з використанням криптографічних прийомів:

  • з використанням односторонньої функції;
  • з використанням шифрування.

Одностороння функція це функція, для якої при будь-якому x з області визначення легко обчислити f(x), проте майже для всіх у з її області значень, знайти x, таке, щоби виконувалося y=f(x), обчислювально важко.

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

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

Метод прив'язки до ідентифікатора

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

Основным требованием к записанному на винчестер уникальному идентификатору является требование, согласно которому данный идентификатор не должен копироваться стандартным способом. Для этого идентификатор целесообразно записывать в следующие области жесткого диска:

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

  • у окремі кластери області даних, які повинні позначатися потім в FAT як зарезервовані під операційну систему або як дефектні;
  • у зарезервовані сектори системної області вінчестера.

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

Методи, засновані на робота з переходами і стеком

Дані методи засновані на включення в тіло програми переходів за адресами і перериваннями, що динамічно змінюються, а також команд, що самогенеруються (наприклад, команд, отриманих за допомогою додавання і віднімання). Крім того, замість команди безумовного переходу (JMP) може використовуватися повернення з підпрограми (RET). Заздалегідь в стек записується адреса переходу, який в процесі роботи програми модифікується безпосередньо в стеку.

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

Маніпуляції з кодом програми

Можна навести два наступні способи маніпуляцій з кодом програми:

  • включення в тіло програми "порожніх" модулів;
  • зміна програми, що захищається

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

Другий спосіб полягає в зміні початку програми, що захищається, так, щоб стандартний дизасемблер не зміг її правильно дизасемблювати. Наприклад, такі програми, як Nota і Copylock, упроваджуючи захисний механізм у файл, що захищається, повністю модифікують початковий заголовок EXE-файлу.


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

  1. II. Основні закономірності ходу і розгалуження судин великого і малого кіл кровообігу
  2. Аварійно-рятувальні підрозділи Оперативно-рятувальної служби цивільного захисту, їх призначення і склад.
  3. Авілум – “син чоловіка” – повноправна людина, охороні його життя, здоров’я, захисту його майнових інтересів присвячена значна частина законника.
  4. Автоматизація водорозподілу на відкритих зрошувальних системах. Методи керування водорозподілом. Вимірювання рівня води. Вимірювання витрати.
  5. Агрегативна стійкість, коагуляція суспензій. Методи отримання.
  6. Адаптовані й специфічні методи дослідження у журналістикознавстві
  7. Адвокатура в Україні: основні завдання і функції
  8. Адміністративні (прямі) методи регулювання.
  9. Адміністративні методи - це сукупність прийомів, впливів, заснованих на використанні об'єктивних організаційних відносин між людьми та загальноорганізаційних принципів управління.
  10. Адміністративні методи управління
  11. Адміністративні, економічні й інституційні методи.
  12. Адміністративно-правовий спосіб захисту прав




Переглядів: 1175

<== попередня сторінка | наступна сторінка ==>
Основні принципи забезпечення безпеки ПЗ | Заводи З випуску

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.006 сек.