Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS лаба1-2.docx
Скачиваний:
2
Добавлен:
07.08.2019
Размер:
446.45 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Національнийуніверситет “Львівськаполітехніка”

Системне програмування та операційні системи

Лабораторна робота № 1-2

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

Виконав:

студент

групи КН-22

Муха Богдан

Прийняв:

Різник О.Я

Львів – 2012

Мета роботи: Зрозуміти принципи побудови захисту від копіювання.

Завдання: Написати програму, яка нестандартно форматує дискету, записує та зчитує інформацію на дискету.

Загальна теорія

Загальні принципи побудови захисту від копіювання

Система захисту від копіювання або система захисту авторських прав - комплекс програмних або програмно-апаратних засобів, що забезпечують ускладнення або заборону нелегального поширення, використання і/або зміни програмних продуктів.

Під нелегальним поширенням розуміється продаж, обмін або безкоштовне поширення програмного продукту, авторські права на який належать третій особі, без його згоди.

Нелегальне використання програмного продукту без згоди власника авторських прав.

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

При розгляді питання про захист авторських прав можна виділити три основні ситуації, пов'язані з методом поширення програмного забезпечення:

• Поширення (розсилка або передача) програмного продукту на магнітних носіях (дискетах) і установка самим користувачем.

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

Користувач може:

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

• дослідити логіку роботи захисту за допомогою відлагоджувальний і дизасемблерних коштів;

• намагатися перенести інстальований пакет на інший комп'ютер;

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

Отже, будь-яка система захисту від копіювання може бути розкрита. Чим же керуватися при створенні і використанні засобів захисту?

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

По-друге, приблизно оцінити свої втрати від зняття захисту.

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

Отже, треба врахувати:

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

• ціну захищеного продукту і знижки при купівлі великого числа копій (чим ціна нижче, тим менше бажання тратити сили на зняття захисту);

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

• спеціалізованість і складність в освоєнні захищеної програми (спеціалізована радіоелектрона САПР навряд чи знадобиться пересічному користувачеві, в той час як красиву захищену гру постійний об'єкт нападу «хаккерів»);

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

• рівень післяпродажного сервісу, який Ви можете забезпечити (можливо, нелегальний користувач не зможе без вашої допомоги або інструкції розібратися з програмою);

• знижки при легальному придбанні попередніх версій;

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

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

• Некопійованість дискет (якщо це необхідне за умовами поширення) автоматичними копіювальниками.

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

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

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

• Некоректне дизасемблювання захищеної програми або її істотно важливих фрагментів при застосуванні стандартних пакетів.

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

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

Отже, в цьому випадку в системі захисту повинен бути передбачена захист у всіх цих напрямках.

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

• Використання програмного продукту особами, не зацікавленими в його подальшому поширенні.

Особливістю даного випадку є те, що користувач буде сам намагатися не допустити поширення програм і задача захисту від копіювання в атом випадку зводиться до захисту від несанкціонованого доступу іншими особами. А ця проблема вирішується значно легше. Такий випадок не так рідкий, як це може показатися. Так, наприклад, в умовах конкуренції, СУБД, що використовується для торгів на біржі, або інженерна САПР на заводі будуть суворо охоронятися від «відходу» до інших потенційних користувачів-конкурентів.

Нарешті, можна виділити ситуацію, коли система захисту придбається тільки для «взлому».

Надійність системи захисту від копіювання здатність протистояти спробам проникнення в алгоритм її роботи і обходу механізмів захисту.

При розгляді питання надійності треба пам'ятати про два основні твердження.

Твердження 1.

Будь-яка система захисту від копіювання може бути розкрита в кінці кінців.

Твердження 2.

Надійність системи, захисту рівна надійності її найслабшої ланки.

Вірність першого виходить з того, що інструкції (команди) системи захисту від копіювання достовірно розпізнаються ПЕОМ і в момент виконання присутні у відкритому вигляді як машинні команди. Отже, досить відновити послідовність цих інструкцій, щоб зрозуміти роботу захисту. А таких інструкцій, очевидно, може бути лише численна кількість.

Друге твердження цілком очевидне.

При цьому буде прихований обмін програми із «зовнішнім світом» - диском, ОС і т.д.

• Складність вивчення структури розпізнавання індивідуальних параметрів ПЕОМ або технологічного аналізу апаратних засобів захисту, що застосовуються.

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

Структура захисту від копіювання

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

• Модуль перевірки недублюючої або оригінальної інформації, перевіряє наявність ознак, що некопіюються, на дискеті (розділ 2) або оригінальну для даної ПЕОМ інформацію.

По розміщенню цього модуля можна виділити 3 основних типи систем захисту:

• системи з «навісним» перевірочним модулем, створеним по технології файлового вірусу (системи SHIELD, CONVOY, NOTA, Zond 3.0, Super Guard, Cerberus);

• системи із зовнішнім перевірочним модулем, винесеним в окрему програму (Protect 5.0, Protect-Super, Watch);

• системи з внутрішніми функціями перевірки (захищені пакети MetaDesign, Boeing Graph, Xilinx).

• Модуль захисту від перегляду і аналізу логіки системи (розділи 3, 4, 5).

• Модуль узгодження із захищеними структурами забезпечує правильну роботу захищених програм і адекватне сприйняття захищених даних у разі легальних копій (розділ 6).

Методи отримання міток, які не копіюються, на гнучких магнітних дисках

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

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

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

Міткою, що не копіюється назвемо сукупність інформаційних ознак магнітного носія, що істотно змінюється при його копіюванні.

Існують два основних способи формування таких міток:

• нанесенням магнітної мітки;

• нанесенням фізичної мітки.

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

З іншого боку, можливо так створити мітку, щоб вона не могла бути коректно прочитана і/або записана. Наприклад, форматувати велике число секторів малої довжини, а записувати інформацію у вигляді довгих секторів і т.д.

Отже, при нанесенні магнітної мітки можна виділити наступні прийоми:

• Винесення мітки за межі стандартного поля копіювання;

• Нестандартна розмітка доріжки (доріжок) дискети;

• Прив'язка до тимчасових параметрів читання/запису;

• Комбіновані методи (поєднання перших трьох).

Відомі системи захисту від копіювання використовують, як правило, комбіновані методи простановки мітки. Так, система SHIELD використовує нестандартне форматування нульової доріжки з створенням довгого сектора (8196 байт), який при копіюванні не може бути коректно записаний. Система CONVOY використовує простановку мітки на нульовій доріжці шляхом прямого програмування портів контролера флопi-дисковода (мітка ставиться в мiжсекторному інтервалі).

Система CERBERUS використовує нестандартне форматування перших трьох доріжок спільно з вимірюванням тимчасових параметрів читання. Системи PROTECT і НОТА суміщають нестандартну розмітку доріжки з винесенням мітки за межі стандартного поля копіювання.

Розглянемо метод винесення мітки за межі поля копіювання. Відомо, що, наприклад, дискети формату 360 Кб містять 40 доріжок по 9 секторів в кожному; нумерація доріжок від 0 до 39. Ідея методу полягає в тому, щоб, використовуючи функцію 05h переривання int 13h, форматувати доріжки з номерами від 40 і більш.

Цей спосіб дозволяє захиститися від програмних копіювальників, які копіюють тільки доріжки в фіксованому інтервалі номерів наприклад від 0 до 39 (або 40) (для дискет 360 Кб) або від 0 до 79 (для дискет 1,2 Мб).

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

    1. Засіб копіювання

Поле копіювання (доріжки)

Diskcopy

360 - 0 - 39

1.2 - 0 - 79

TeleDisk

360 - 0 - 39

1.2 - 0 - 79

CopyIIPC

360 - 0 - 40

1.2 - не копіює

Copywrit

0-43

Програма № 1. Форматування доріжки поза полем копіювання. (написана мовою Сі)

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