6176

Системи захисту програмного забезпечення

Реферат

Информатика, кибернетика и программирование

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

Украинкский

2012-12-30

72.5 KB

7 чел.

Системи захисту програмного забезпечення

1. Класифікація систем захисту програмного забезпечення

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

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

метод установки;

використовувані механізми захисту;

принцип функціонування.

Системи захисту ПО по методу установки можна підрозділити на:

1) системи, установлювані на скомпільовані модулі ПО;

2) системи, що вбудовуються у вихідний код ПО до компіляції;

3) комбіновані.

Системи першого типу найбільш зручні для виробника ПО, тому що легко можна захистити вже цілком готове й протестоване ПО, а тому і найбільше популярні. У той же час стійкість цих систем досить низька (у залежності від принципу дії СЗ), тому що для обходу захисту досить визначити крапку завершення роботи «конверта» захисту і передачі керування захищеній програмі, а потім примусово її зберегти в незахищеному виді.

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

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

По використовуваних механізмах захисту СЗ можна класифікувати на:

1) системи, що використовують складні логічні механізми;

2) системи, що використовують шифрування захищаючого ПО;

3) комбіновані системи.

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

Для захисту ПО використовується ряд методів:

1. Алгоритми заплутування – використовуються хаотичні переходи в різні частини коду, упровадження помилкових процедур – «пустышек», неодружені цикли, перекручування кількості реальних параметрів процедур ПО, розкид ділянок коду по різних областях ОЗУ і т.п.

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

3. Алгоритми компресії даних – програма упаковується, а потім розпаковуються в міру виконання.

4. Алгоритми шифрування даних – програма шифрується, а потім розшифровуються в міру виконання.

5. Обчислення складних математичних виражень у процесі відпрацьовування механізму захисту – елементи логіки захисту залежать від результату обчислення значення якої-небудь формули або групи формул. 6. Методи утруднення дизассемблирования – використовуються різні прийоми, спрямовані на запобігання дизассемблирования в пакетному режимі.

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

8. Эмуляция процесорів і операційних систем – створюється віртуальний процес - сміття і/або операційна система (не обов'язково існуючі) і програма перекладач із системи команд IBM у систему команд створеного процесора або ОС, після такого перекладу ПО може виконуватися тільки за допомогою эмулятора, що різко утрудняє дослідження алгоритму ПО.

9. Нестандартні методи роботи з апаратним забезпеченням – модулі системи захисти звертаються до апаратури ЕОМ, минаючи процедури ОС, і використовують маловідомі або недокументовані її можливості.

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

За принципом функціонування СЗ можна підрозділити на наступні:

1) пакувальники/шифратори;

2) СЗ від несанкціонованого копіювання;

3) СЗ від несанкціонованого доступу (НСД).

2. Переваги і недоліки основних систем захисту

Розглянемо достоїнства і недоліки основних систем захисту ПО виходячи з принципів їхнього функціонування.

2.1. Пакувальники, шифратори

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

Позитивні сторони:

1. У рамках періоду безпечного використання дані системи забезпечують високий рівень захисту ПО від аналізу його алгоритмів.

2. Методи упакування/шифрування набагато збільшують стійкість СЗ інших типів.

Негативні сторони:

1. Практично усі застосовувані методи сповільнюють виконання коду ПО.

2. Шифрування/упакування коду ПО викликає утруднення при відновленні (update) і виправленні помилок (bugfix, servicepack).

3. Можливе підвищення апаратно-програмних вимог ПО.

4. У чистому виді дані системи не застосовні для авторизації використання

ПО.

5. Ці системи застосовні лише до продуктів невеликого обсягу.

6. Даний клас систем уразливий, тому що програмний код може бути, розпакований

або розшифрований для виконання.

7. Мають невеликий термін безпечного використання, через п. 4.

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

2.2. Системи захисту від несанкціонованого копіювання

Системи захисту від несанкціонованого копіювання здійснюють «прив'язку»  ПО до дистрибутивного носія (гнучкий диск, CD і ін.). Даний тип захистів заснований на глибокому вивченні роботи контролерів нагромаджувачів, їх фізичних показників, нестандартних режимах розбивки, читання/запису і т.п. При цьому на фізичному рівні створюється дистрибутивний носій, що володіє приблизно неповторними властивостями (нестандартна розмітка носія інформації або/і запис на нього додаткової інформації – пароля або мітки), а на програмному – створюється модуль, набудований на ідентифікацію й аутентифікацію носія за його унікальним властивостями. При цьому можливо застосування прийомів, використовуваних пакувальниками/шифраторами.

Позитивні фактори:

1. Утруднення нелегального копіювання і поширення ПО.

2. Захист прав користувача на придбане ПО.

Негативні фактори:

1. Велика трудомісткість реалізації системи захисту.

2. Уповільнення продажів через необхідність фізичної передачі дистрибутивного

носія інформації.

3. Підвищення системних вимог через захист (наявність нагромаджувача).

4. Зниження отказоустойчивости ПО.

5. Несумісність захисту й апаратури користувача (нагромаджувач, контролер).

6. На час роботи ЗД займається нагромаджувач.

7. Погроза крадіжки захищеного носія.

2.3. Системи захисту від несанкціонованого доступу

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

Парольні захисти

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

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

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

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

Позитивні сторони:

1. Надійний захист від зловмисника-непрофесіонала.

2. Мінімальні незручності для користувача.

3. Можливість передачі пароля/коду по мережі.

4. Відсутність конфліктів із системним і прикладним ПО й АТ.

5. Простота реалізації і застосування.

6. Низька вартість.

Негативні сторони:

1. Низька стійкість більшості систем захисту даного типу.

2. Користувачеві необхідно запам'ятовувати пароль/код.

2.3.2. Системи «прив'язки» ПО

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

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

Позитивні фактори:

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

2. Утруднення несанкціонованого доступу до скопійованого ПО.

3. Простота застосування.

4. "Невидимість" СЗПО для користувача.

Негативні фактори:

1. Помилкові спрацьовування СЗПО при будь-яких змінах у параметрах ПК.

2. Низька стійкість при доступі зловмисника до ПК користувача.

3. Можливість конфліктів із системним ПО.

2.3.3. Програмно-апаратні засоби захисту ПО з електронними ключами

В даний час даний клас СЗПО здобуває усе велику популярність серед виробників програмного забезпечення (ПО). Під програмно-апаратними засобами захисту розуміються засоби, засновані на використанні так званих «апаратних (електронних) ключів». Електронний ключ – це апаратна частина системи захисту, що представляє собою плату з мікросхемами пам'яті і, у деяких випадках, мікропроцесором, поміщену в корпус і призначену для установки в один з стандартних портів ПК (COM, LPT, PCMCIA, USB) або слот розширення материнської плати. Так само як такий пристрій можуть використовуватися смарт-карты (SmartCard).

За результатами проведеного аналізу, програмно-апаратні засоби захисту в дійсний момент є одними із самих стійких систем захисту ПО від НСД.

Електронні ключі по архітектурі можна підрозділити на ключі з пам'яттю (без мікропроцесора) і ключі з мікропроцесором (і пам'яттю).

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

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

Позитивні фактори:

1. Значне утруднення нелегального поширення і використання ПО.

2. Рятування виробника ПО від розробки власної системи захисту.

3. Висока автоматизація процесу захисту ПО.

4. Наявність API системи для більш глибокого захисту.

5. Можливість легкого створення демо-версий.

6. Досить великий вибір таких систем на ринку.

Негативні фактори:

1. Утруднення розробки і налагодження ПО через обмеження з боку СЗ.

2. Додаткові витрати на придбання системи захисту і навчання персоналу.

3. Уповільнення продажів через необхідність фізичної передачі апаратної частини.

4. Підвищення системних вимог через захист (сумісність, драйвери).

5. Зниження отказоустойчивости ПО.

6. Несумісність систем захисту і системного або прикладного ПО користувача.

7. Несумісність захисту й апаратури користувача.

8. Обмеження через несумісність електронних ключів різних фірм.

9. Зниження розширюваності комп'ютерної системи.

10. Утруднення або неможливість використання захищеного ПО в переносних

і блокнотних ПК.

11. Наявність в апаратної частини розмірів і ваги (для COM/LPT = = 5 × 3 × 2 див ~ 50гр).

12. Погроза крадіжки апаратного ключа.

2.3.4. Засоби захисту ПО з «ключовими дисками»

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

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

Позитивні і негативні сторони даного типу СЗПО практично повністю збігаються з такими в систем з електронними ключами.

3. Показники ефективності систем захисту

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

Показники застосовності

Технічні відповідність СЗПО функціональним вимогам виробника ПО і вимогам по стійкості, системні вимоги ПО і системні вимоги СЗПО, обсяг ПО й обсяг СЗПО, функціональна спрямованість ПО, наявність і тип СЗ в аналіз ПО – конкурентів.

Економічні співвідношення утрат від піратства і загального обсягу прибутку, відношення утрат від піратства і вартості СЗПО і її впровадження, співвідношення вартості ПО і вартості СЗПО, відповідність вартості СЗПО і її впровадження поставленим цілям.

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

Критерії оцінки

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

Стійкість до дослідження/зломові застосування стандартних механізмів, нові/нестандартні механізми.

Отказоустойчивость (надійність) імовірність відмовлення захисту (НСД), час наробки на відмовлення, імовірність відмовлення програми захисту (крах), час наробітку на відказ, частота помилкових спрацьовувань.

Незалежність від конкретних реалізацій ОС використання не документованих можливостей, «вірусних» технологій і «дір» ОС.

Сумісність відсутність конфліктів із системним і прикладним ПО, відсутність конфліктів з існуючої АТ, максимальна сумісність з розроблювальним АТ і ПО.

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

Побічні ефекти перевантаження трафіка, відмовлення в обслуговуванні, уповільнення роботи захисту ПО й ОС, захоплення системних ресурсів, перевантаження ОЗУ, порушення стабільності ОС.

Вартість вартість/ефективність, вартість/ціна захисту ПО, вартість/ліквідовані збитки.

Доброякісність – приступність результатів незалежної експертизи, доступність інформації про побічні ефекти, повна інформація про СЗ для кінцевого користувача.

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

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


 

А также другие работы, которые могут Вас заинтересовать

39576. Психологические особенности политической активности 28.38 KB
  Основой различий между активными и пассивными участниками политической жизни выступают мотивы и установки в соответствии с которыми люди включаются в политическую деятельность. Эгоцентрические это те мотивы которые концентрируются на собственной личности индивида ориентируют его на следование в политической деятельности узколичностным целям. Чтобы разобраться в происходящем выявить разные формы политической активности и политического участия во властных отношениях политическая психология делает определенные обобщения.
39577. Психологические аспекты оппозиционного поведения 1.18 MB
  Чтобы её выработать необходимо иметь представление о явлении оппозиционного поведения и о его носителях. На примере Ульяновской области можно сказать что в борьбу с политическим экстремизмом вкладываются колоссальные ресурсы. Таким образом не вызывает сомнений то что под все эти меры должна быть положена твёрдая научная база. Стоит отметить что проектами по исследованию оппозиции занимается один из фондов исследования общественного мнения что также свидетельствует о наличие интереса к данной теме.
39578. ОСНОВЫ ПОЛИТИЧЕСКОЙ ПСИХОЛОГИИ 2.62 MB
  Данная книга представляет собой впервые осуществленное в России систематическое учебное изложение основных слагаемых новой науки, политической психологии. От ее предмета и задач, через психологию личности, малых и больших групп, а также психологии масс в политике, до исследовательских методов и прикладного использования, читателю предстает широкая панорама роли и потенциала «человеческого фактора» в политике
39579. Электрификация коровника на 200 голов с разработкой кормораздачи в ЗАО «Овощевод» 507.5 KB
  Автоматизация производства это применение автоматических и автоматизированных устройств и систем для полного или частичного освобождения человека от выполняемой им работы по управления и контролю при получении обработке передаче и использовании энергии материалов информации и др. Эти процессы тесно связаны с применением индустриальной технологии производства в сельском хозяйстве совершенствованием планирования и управления. пуск и остановка первичных двигателей регулировка напряжения в сети подача топлива защита от коротких замыканий...
39580. Расчет электрификации коровника на 200 голов с разработкой кормораздачи в ЗАО «Овощевод» 1.68 MB
  Сельскохозяйственная – одна из основных и жизненно важных отраслей народного хозяйства. В нашей стране на эту отрасль приходится около 4% стоимости основных фондов; в ней занято 7,2 млн. человек, что составляет 11% работающего населения. С/х дает 5,4% ВВП, производит продукты питания для населения и сырье для перерабатывающей промышленности.
39581. Связь политически активной студенческой молодёжи как формальность и неформальность с уровнем социальной зрелости 415 KB
  От уровня социальной зрелости зависит нравственнополитический климат и культура нынешнего и будущего общества. не гарантирует высокий уровень социальной зрелости. Эти приписываемые социальнопсихологические признаки по праву можно считать признаками социальной зрелости. Экспериментальные исследования в области социальной зрелости как правило сводятся к изучению школьников и выпускников школ.
39582. Проект электрификации телятника на 25 голов с разработкой навозоудаления в ЗАО «Красный холм» РМО 578.63 KB
  В последнее время принят ряд указов, законов, нормативных актов, которые создают благоприятные условия для развития всех форм хозяйствования на селе в условиях рыночных отношений. Реализация этих решений по выходу с/х из кризиса основана на введении новых форм организации производства
39583. Организация водоохладительной установки АВ-30 1.38 MB
  Повышение производительности труда в сельском хозяйстве а следовательно и эффективности производства возможно лишь при условии максимальной механизации и автоматизации при неуклонном сокращении доли ручного труда. Сокращение доли тяжёлого и малоквалифицированного физического труда непременное условие экономического роста. Рост технической и энергетической вооруженности сельскохозяйственного труда развитие научных исследований с использованием современной научной аппаратуры достижений полупроводниковой микроэлектроники и...
39584. Политическая социализация личности 273.14 KB
  Личность —одновременно и субъект и объект политики. Но одни люди в большей степени проявляют политическую активность, другие — в меньшей, а третьи вообще стараются «убежать» от политики. Одни стремятся к утверждению существующего политического строя и проявляют конструктивное политическое поведение, другие, напротив, предпринимают меры, направленные на его ниспровержение и демонстрируют деструктивную позицию.