МОДУЛЬ ООІ та ПЗ-1.1. Комплектування конфігурації та комплексів обладнання інформаційних систем
ПЛАН УРОКУ № 62 - 63 МОДУЛЬ ООІ та ПЗ-1.1.3.
програмного забезпечення
ТЕМА УРОКУ Принципи захисту програмного забезпечення
ТЕОРЕТИЧНІ ВІДОМОСТІ
Системи захисту програмного забезпечення (СЗПЗ) широко поширені і знаходяться в постійному розвитку, завдяки розширенню ринку програмного забезпечення і телекомунікаційних технологій. Необхідність використання систем захисту СЗ ПЗ обумовлена поруч проблем, серед яких варто виділити: незаконне використання алгоритмів, що є інтелектуальною власністю автора, при написанні аналогів продукту (промислове шпигунство); несанкціоноване використання ПО (крадіжка і копіювання); несанкціонована модифікація ПЗ з метою введення програмних зловживань; незаконне поширення і збут ПЗ (піратство).
Існуючі системи захисту програмного забезпечення можна класифікувати по ряду ознак, серед яких можна виділити:
• метод установки;
• використовувані механізми захисту;
• принцип функціонування. Системи захисту ПЗ по методу установки можна підрозділити на:
1) системи, установлювані на скомпільовані модулі ПЗ; 2) системи, що вбудовуються у вихідний код ПЗ до компіляції; 3) комбіновані.
Системи першого типу найбільш зручні для виробника ПЗ, тому що легко можна захистити вже цілком готове й протестоване ПЗ, а тому і найбільше популярні. У той же час стійкість цих систем досить низька (у залежності від принципу дії СЗ), тому що для обходу захисту досить визначити крапку завершення роботи «конверта» захисту і передачі керування захищеній програмі, а потім примусово її зберегти в незахищеному виді.
Системи другого типу незручні для виробника ПЗ, тому що виникає необхідність навчати персонал роботі з програмним інтерфейсом (API) системи захисту з витікаючими звідси грошовими і тимчасовими витратами. Крім того, ускладнюється процес тестування ПЗ і знижується його надійність, тому що крім самого ПЗ помилки може містити API системи захисту або процедури, його що використовують. Але такі системи є більш стійкими до атак, тому що тут зникає чітка границя між системою захисту і як таким ПЗ.
Найбільш живучими є комбіновані системи захисту. Зберігаючи переваги і недоліки систем другого типу, вони максимально утрудняють аналіз і дезактивацію своїх алгоритмів.
По використовуваних механізмах захисту СЗ можна класифікувати на:
1) системи, що використовують складні логічні механізми; 2) системи, що використовують шифрування захищаючого ПЗ; 3) комбіновані системи.
Системи першого типу використовують різні методи і прийоми, орієнтовані на утруднення дизассемблирования, налагодження й аналізу алгоритму СЗ і що захищається ПЗ. Цей тип СЗ найменш стійкий до атак, тому що для подолання захисту досить проаналізувати логікові процедур перевірки і належним образом їх модифікувати. Більш стійкими є системи другого типу. Для дезактивації таких захистів необхідно визначення ключа дешифрування ПЗ. Самими стійкими до атак є комбіновані системи. Для захисту ПЗ використовується ряд методів:
1. Алгоритми заплутування – використовуються хаотичні переходи в різні частини коду, упровадження помилкових процедур – «пустышек», неодружені цикли, перекручування кількості реальних параметрів процедур ПЗ, розкид ділянок коду по різних областях ОЗП і т.п.
2. Алгоритми мутації – створюються таблиці відповідності операндів – синонімів і заміна їхній один на одного при кожнім запуску програми за визначеною схемою або випадковим образом, випадкові зміни структури програми.
3. Алгоритми компресії даних – програма упаковується, а потім розпаковуються в міру виконання.
4. Алгоритми шифрування даних – програма шифрується, а потім розшифровуються в міру виконання.
5. Обчислення складних математичних виражень у процесі відпрацьовування механізму захисту – елементи логіки захисту залежать від результату обчислення значення якої-небудь формули або групи формул.
6. Методи утруднення дизассемблирования – використовуються різні прийоми, спрямовані на запобігання дизассемблирования в пакетному режимі.
7. Методи утруднення налагодження – використовуються різні прийоми, спрямовані на ускладнення налагодження програми.
8. Эмуляция процесорів і операційних систем – створюється віртуальний процес - сміття і/або операційна система (не обов'язково існуючі) і програма перекладач із системи команд IBM у систему команд створеного процесора або ОС, після такого перекладу ПЗ може виконуватися тільки за допомогою эмулятора, що різко утрудняє дослідження алгоритму ПО.
9. Нестандартні методи роботи з апаратним забезпеченням – модулі системи захисти звертаються до апаратури ЕОМ, минаючи процедури ОС, і використовують маловідомі або недокументовані її можливості.
У свою чергу, зловмисники так само застосовують ряд методів і засобів для порушення систем захисту. Ситуація протистояння розроблювачів СЗПЗ і зломисників постійно змінюється за рахунок комбінування уже відомих методів захисту і нападу, а так само за рахунок створення і використання нових методів.
За принципом функціонування СЗ можна підрозділити на наступні:
1) пакувальники/шифратори;
2) СЗ від несанкціонованого копіювання; 3) СЗ від несанкціонованого доступу (НСД). Засоби захисту ПЗ з «ключовими дисками»
В даний момент цей тип систем захисту мало розповсюджений, через його морального старіння. СЗПЗ цього типу багато в чому аналогічні системам з електронними ключами, але тут критична інформація зберігається на спеціальному, ключовому, носії. Основною погрозою для таких СЗПЗ є перехоплення зчитування критичної інформації, а так само незаконне копіювання ключового носія.
Позитивні і негативні сторони даного типу СЗПЗ практично повністю збігаються з такими в систем з електронними ключами.
Необхідно відзначити, що користувачі явно відчувають лише негативні сторони систем захистів, а виробники ПЗ розглядають тільки стосовні до них «плюси» і «мінуси» систем захисту і практично не розглядають фактори, що відносяться до кінцевого споживача. За результатами досліджень був розроблений набір показників застосовності і критеріїв оцінки СЗПЗ.
Технічні – відповідність СЗПЗ функціональним вимогам виробника ПЗ і вимогам по стійкості, системні вимоги ПЗ і системні вимоги СЗПЗ, обсяг ПЗ й обсяг СЗПЗ, функціональна спрямованість ПЗ, наявність і тип СЗ в аналіз ПЗ – конкурентів.
Економічні – співвідношення утрат від піратства і загального обсягу прибутку, відношення утрат від піратства і вартості СЗПЗ і її впровадження, співвідношення вартості ПЗ і вартості СЗПЗ, відповідність вартості СЗПЗ і її впровадження поставленим цілям.
Організаційні – поширеність і популярність ПЗ, умови розповсюдження і використання ПЗ, унікальність ПЗ, наявність погроз, імовірність перетворення користувача в зловмисника, роль документації і підтримки при використанні ПЗ.
Захист як така – утруднення нелегального копіювання і доступу, захист від моніторингу, відсутність логічних проломів і помилок у реалізації системи.
Стійкість до дослідження/зломові – застосування стандартних механізмів, нові/нестандартні механізми.
Отказоустойчивость (надійність) – імовірність відмовлення захисту (НСД), час наробки на відмовлення, імовірність відмовлення програми захисту (крах), час наробітку на відказ, частота помилкових спрацьовувань.
Незалежність від конкретних реалізацій ОС – використання не документованих можливостей, «вірусних» технологій і «дір» ОС.
Сумісність – відсутність конфліктів із системним і прикладним ПЗ, відсутність конфліктів з існуючої АТ, максимальна сумісність з розроблювальним АТ і ПЗ.
Незручності для кінцевого користувача ПЗ – необхідність і складність додаткового настроювання системи захисту, приступність документації, приступність информації про відновлення модулів системи захисту через помилки/несумісності/нестійкості, приступність сервісних пакетів, безпека мережної передачі пароля/ключа, затримка через фізичну передачу пароля/ключа, порушення прав споживача.
Побічні ефекти – перевантаження трафіка, відмовлення в обслуговуванні, уповільнення роботи захисту ПЗ й ОС, захоплення системних ресурсів, перевантаження ОЗП, порушення стабільності ОС.
Вартість – вартість/ефективність, вартість/ціна захисту ПЗ, вартість/ліквідовані збитки.
Доброякісність – приступність результатів незалежної експертизи, доступність інформації про побічні ефекти, повна інформація про СЗ для кінцевого користувача.
З чотирьох зазначених вище видів середовища взаємодії стороні, що захищається, підконтрольні (або частково підконтрольні) три види – організаційна, технічне й економічне середовище. Найважливішим середовищем взаємодії є безсумнівно економічне середовище, тому що економічна взаємодія, у даному випадку, є першопричиною і метою усієї взаємодії.
При розробці й аналізі захисту програмного забезпечення необхідно враховують існуючу законодавчу базу, при цьому потрібно проводити докладний економічний аналіз ситуації, застосовуючи різні критерії оцінки, а потім створювати стратегію захисту, що включає застосування технічних і організаційних мір захисту програмного забезпечення.и захисту програмного забезпечення
ДЗ: Дайте відповідь на питання.
1.Критерії оцінки ПЗ?
2.Показники застосовності ПЗ?
3.Показники ефективності систем захисту ПЗ?
4.Засоби захисту ПЗ з «ключовими дисками»?
5.Для захисту ПЗ який ряд методів використовується?
6. Як можна класифікувати системи захисту програмного забезпечення?