ЗІ від НСД має свої особливості в різних середовищах. Нижче розглянуто деякі особливості ЗІ від НСД в таких найбільш поширених і цікавих сферах, як локальні обчислювальні мережі (ЛОМ), бази даних, при організації парольного захисту, а також при організації конфіденційного зв'язку. Під особливостями тут розуміється наявність додаткових для певного середовища специфічних загроз.
6.1. Особливості ЗІ від НСД в локальних обчислювальних мережах
Інститут інженерів -електриків та -електроніків (ІЕЕЕ) визначає ЛОМ як «систему передачі даних, що забезпечує певному числу незалежних пристроїв можливість прямої взаємодії в обмеженому географічному просторі за допомогою фізичного каналу взаємодії обмеженої продуктивності». Типова ЛОМ належить тільки до однієї організації, що її використовує і керує нею. Звичайна ЛОМ за допомогою мережевої ОС поєднує сервери, робочі станції, принтери і стримери, дозволяючи користувачам спільно використовувати ресурси і функціональні можливості ЛОМ.
Типи додатків, забезпечувані ЛОМ, включають розподілене збереження файлів, віддалені обчислення та обмін повідомленнями. Не підлягає сумніву, що ці можливості ЛОМ є її перевагою. Однак вони пов'язані з додатковим ризиком, що призводить до проблем безпеки ЛОМ.
Які проблеми виникають при розподіленому збереженні файлів? Файлові сервери можуть контролювати доступ користувачів до різних частин файлової системи. Це звичайно здійснюється дозволом користувачу приєднати деяку файлову систему (чи каталог) до робочої станції користувача для подальшого використання як локальний диск. Виникають відразу дві потенційні проблеми. По-перше, сервер може забезпечити захист доступу тільки на рівні каталогу, тому якщо користувачеві дозволено доступ до каталогу, то він одержує доступ до всіх файлів, що містяться в цьому каталозі. Щоб мінімізувати ризик у цій ситуації, важливо відповідним чином структурувати і керувати файловою системою ЛОМ. Наступна проблема полягає в неадекватних механізмах захисту локальної робочої станції. Наприклад, персональний комп'ютер (ПК) може забезпечувати мінімальний захист чи не забезпечувати ніякого захисту інформації, збереженої на ньому. Копіювання користувачем файлів із сервера на локальний диск ПК призводить до того, що файл перестає бути захищеним тими
засобами захисту, що захищали його, коли він зберігався на сервері. Для деяких типів інформації це може бути прийнятним. Однак інші типи інформації можуть вимагати більш сильного захисту. Ці вимоги фокусуються на необхідності контролю середовища ПК.
Віддалені обчислення повинні контролюватися таким чином, щоб тільки авторизовані користувачі могли одержувати доступ до віддалених компонентів і додатків. Сервери повинні мати здатність автентифікувати віддалених користувачів, що запитують послуги чи додатки. Ці запити можуть також видаватися локальними і віддаленими серверами для взаємної автентифікації. Неможливість автентифікації може привести до того, що і неавторизовані користувачі будуть мати доступ до віддалених серверів і додатків. Повинні існувати деякі гарантії цілісності додатків, використовуваних багатьма користувачами через ЛОМ.
Топології і протоколи, використовувані сьогодні, вимагають, щоб повідомлення були доступні великому числу вузлів при передачі до бажаного призначення. Це набагато дешевше і легше, ніж мати прямий фізичний шлях між кожною парою машин. З цього випливають можливі загрози, які включають як активне, так і пасивне перехоплення повідомлень, переданих у лінії. Пасивне перехоплення включає не тільки читання інформації, а й аналіз трафіка (використання адрес, інших даних заголовка, довжини повідомлень і частоти повідомлень). Активне перехоплення включає зміну потоку повідомлень (у тому числі модифікацію, затримку, дублювання, видалення чи неправомочне використання реквізитів).
Служби обміну повідомленнями збільшують ризик для інформації, збереженої на сервері чи переданої між джерелом і відправником. Неадекватно захищена електронна пошта може бути легко перехоплена, змінена чи повторно передана, що впливає як на конфіденційність, так і на цілісність повідомлення.
Серед інших проблем безпеки ЛОМ можна відзначити такі:
неадекватну політику керування і безпеки ЛОМ;
відсутність навчання особливостям використання ЛОМ і захисту;
неадекватні механізми захисту для робочих станцій;
неадекватний захист у ході передачі інформації.
Слабка ПБ також збільшує ризик, пов'язаний із ЛОМ. Повинна існувати формальна ПБ, яка б визначала правила використання ЛОМ, для демонстрації позиції керування організацією стосовно важливості захисту наявних у ній цінностей. ПБ є стислим формулюванням позиції вищого керівництва з питань інформаційних цінностей, відповідальності за їх захист і організаційні зобов'язання. Повинна існувати сильна ПБ ЛОМ для забезпечення керівництва і підтримки з боку верхньої ланки керування організацією. Політика повинна визначати роль кожного службовця у забезпеченні того, що ЛОМ і передана в ній інформація адекватно захищені. ПБ ЛОМ повинна робити наголос на важливості
керування ЛОМ і забезпеченні його підтримки. Керування ЛОМ повинне мати необхідні фінансові кошти, час і ресурси. Слабке керування мережею може привести до помилок захисту. У результаті цього можуть з'явитися такі проблеми: ослаблена конфігурація захисту, недбале виконання заходів захисту чи навіть невикористання необхідних механізмів захисту.
Використання ПК у середовищі ЛОМ також привносить ризик. Загалом у ПК практично відсутні заходи захисту щодо автентифікації користувачів, керування доступом до файлів, ревізії діяльності користувачів і т. п. У більшості випадків захист інформації, що зберігається й обробляється на сервері ЛОМ, не супроводжує інформацію, коли вона посилається на ПК.
Відсутність поінформованості користувачів стосовно безпеки ЛОМ також збільшує ризик. Користувачі, не знайомі з механізмами захисту; засобами захисту і т. п., можуть використовувати їх неправильно і, можливо, менш безпечно. Відповідальність за впровадження механік змів і засобів захисту, а також за виконання правил використання ПК; у середовищі ЛОМ звичайно лягає на користувачів ПК. Користуваччам мають дати відповідні інструкції і рекомендації, необхідні, щоб підтримувати прийнятний рівень захисту в середовищі ЛОМ.
Розглянемо загрози, що пов'язані з особливостями ЛОМ. Загрозою може бути будь-яка особа, об'єкт чи подія, що, у разі реалізації, може потенційно стати причиною завдання шкоди ЛОМ. Загрози можуть бути зловмисними, такими, як умисна модифікація критичної інформації, чи випадковими, такими як помилки в обчисленнях чи випадкове видалення файлу. Загроза може бути також природним явищем, таким як повінь, ураган, блискавка і т. п. Безпосередня шкода, завдана загрозою, називається впливом загрози.
Вразливими місцями є слабкі місця ЛОМ, що можуть використовуватися загрозою для своєї реалізації. Наприклад, неавторизований, доступ (загроза) до ЛОМ може бути здійснений сторонньою людиною, і що вгадала очевидний пароль. При цьому вразливим місцем є поганий вибір пароля, зроблений користувачем. Зменшення чи обмеження вразливих місць ЛОМ може знизити чи взагалі усунути ризик від загроз ЛОМ. Наприклад, засіб, що може допомогти користувачам вибрати надійний пароль, зможе знизити імовірність того, що користувачі будуть! використовувати слабкі паролі, і цим зменшити загрозу НСД до ЛОМ.
Ідентифікація загроз передбачає розгляд впливів і наслідків реалізації загроз. Вплив загрози, що звичайно містить у собі проблеми, які виникли безпосередньо після реалізації загрози, приводить до розкриття, модифікації, руйнування чи відмови в обслуговуванні. Більш | значні довгострокові наслідки реалізації загрози призводять до втрати бізнесу, порушення таємниці, громадянських прав, втрати адекватності даних, втрати людського життя чи інших довгострокових ефектів. Потрібно розуміти, що реалізація багатьох загроз призводить до більш ніж одного впливу, однак далі кожна загроза буде розглядатися у зв'язку тільки з одним впливом. Розглянемо можливі впливи, що можуть використовуватися для класифікації загроз середовищу ЛОМ:
Неавторизований доступ до ЛОМ - відбувається в результаті одержання неавторизованою людиною доступу до ЛОМ.
Невідповідний доступ до ресурсів ЛОМ - відбувається в результаті одержання доступу до ресурсів ЛОМ авторизованою чи неавторизованою людиною неавторизованим способом.
Розкриття даних - відбувається в результаті одержання доступу до інформації чи її читання людиною і можливим розкриттям нею інформації випадковим неавторизованим чи навмисним чином.
Неавторизована модифікація даних і програм - відбувається в результаті модифікації, видалення чи руйнування людиною даних і програмного забезпечення ЛОМ неавторизованим чи випадковим чином.
Розкриття трафіка ЛОМ - відбувається в результаті одержання доступу до інформації чи її читання людиною і можливим її розголошенням випадковим неавторизованим чи навмисним чином тоді, коли інформація передається через ЛОМ.
Підміна трафіка ЛОМ - відбувається в результаті появи повідомлень, що мають такий вигляд, начебто вони послані законним заявленим відправником, а насправді повідомлення послані не ним.
Непрацездатність ЛОМ - відбувається в результаті реалізації загроз, що не дозволяють ресурсам ЛОМ бути вчасно доступними.
6.2. ЗІ від НСД в базах даних
Головне джерело загроз, специфічних для систем управління базами даних (СУБД), міститься у самій природі баз даних [12]. Як відомо, СУБД призначені для створення, модифікації, відображення і збереження даних. Ці дані можуть зберігатися і відображатися в такому вигляді, у якому вони були створені автором, чи будуватися (виводитися) за допомогою операцій, підтримуваних системою, на підставі збережених даних. Практично в будь-якому додатку, що забезпечує доступ до БД, передбачається контроль доступу на рівні користувача і бази даних. Тільки авторизований користувач може створювати нові бази даних чи змінювати структуру існуючих. Інші користувачі мають право змінювати і переглядати дані відповідно до своїх прав доступу. Одні з обмежень покликані підтримувати погодженість даних (один з видів цілісності), інші призначені для захисту від НСД. Для того щоб продемонструвати, що система захищена, необхідно довести, що ці обмеження коректно дотримуються за будь-яких умов.
Оскільки в БД може зберігатися величезна кількість різноманітної інформації, то наявність потужного інструмента для зручного і дуже простого маніпулювання даними (котрий надає кожна СУБД) майже завжди призводить до виникнення наступних проблем ЗІ, характерних для БД.
Проблема агрегування полягає в тому, що мітка безпеки даних, отриманих у результаті застосування операцій маніпулювання даними, може виявитися більшою, ніж найбільша мітка усіх використаних даних,
Прикладом агрегації менш секретної інформації для одержання , більш секретної може служити одержання секретної інформації про і загальну чисельність загону солдатів у конкретній зоні на підставі несекретних даних про місце розташування окремих солдатів. Таким чином, агрегована інформація може виявитися більш секретною, ніж кожен з компонентів, її що складає.
Інший приклад. Розглянемо базу даних, що зберігає параметри І всіх комплектуючих, з яких буде збиратися ракета, та інструкцію зі збирання. Дані про кожен вид комплектуючих необхідні постачальникам, інструкція зі збирання складальному виробництву. Інформація про окремі частини сама по собі не є секретною (який сенс і ховати матеріал, розміри, кількість гайок?). У той же час аналіз усієї бази дозволяє довідатися, як зробити ракету, що може уже вважатися державною таємницею. Підвищення рівня таємності даних при агрегуванні є цілком природним - це наслідок закону переходу кількості в якість. Боротися з агрегуванням (як і логічним висновком) можна за рахунок ретельного проектування моделі даних і максимального ' обмеження доступу користувачів до інформації.
Проблема логічного висновку полягає в можливості одержати секретну інформацію, що не міститься явно в структурах даних, шляхом об'єднання нової інформації зі знаннями. Нерідко шляхом логічного висновку можна витягти з бази даних інформацію, на одержання якої стандартними засобами в користувача не вистачає привілеїв. Виведення секретних даних за допомогою допустимих запитів і інформації в БД може бути проілюстроване такими прикладами.
Розглянемо лікарняну базу даних, що складається з двох таблиць. У першій зберігається інформація про пацієнтів (анкетні дані, діагноз, призначення і т. п.), у другій - відомості про лікарів (розклад заходів, перелік пацієнтів і т. п.). Якщо користувач має право доступу тільки до таблиці лікарів, він, проте, може одержати непряму інформацію про діагнози пацієнтів, оскільки, як правило, лікарі спеціалізуються на лікуванні певних хвороб.
Загальна кількість одиниць секретна, однак загальна вартість і ціна одиниці - доступні всім.
Відповіддю на запит користувача, що не має доступу до секретної інформації: «Одержати всі дані, що стосуються факту транспортування бомб рейсом № 1» може бути повідомлення: «доступ заборонений», оскільки один чи кілька записів засекречені. Це відразу ж говорить неавторизованому користувачу про те, що рейс № 1 справді таємно транспортує бомби.
Крім того, якщо мітки безпеки в БД прив'язуються до об'єктів (контейнерів), що містять дані, то може виникнути ситуація, коли
модифікація контейнера приведе до збільшення або до зменшення рівня його таємності. Іншими словами, рівень безпеки об'єкта БД може змінюватися з модифікацією інформації.
Ще одна загроза для баз даних - це замах на високу готовність або доступність. Якщо користувачу доступні всі можливості СУБД, він може досить легко ускладнити роботу інших користувачів (наприклад, ініціювавши тривалу транзакцію, яка потребує великого числа таблиць).
Жодна з цих проблем не вирішується за допомогою традиційних заходів захисту.
Отже, можна зробити висновок, що в більшості випадків необхідно застосовувати таку модель політики безпеки, що обмежувала б привілей користувачів відповідно до тієї ролі, що він (користувач) виконує в даний момент. Відповідно до такої політики користувачам буде дозволено виконувати визначені ролі в системі при виконанні деяких умов. Так, наприклад, у магазині тільки визначеним користувачам буде дозволено виконувати роль касира тільки в заплановані часи їх роботи. Або в страховій компанії працівники можуть виконувати обов'язки агента тільки у звичайний робочий час.
Крім того, обробка даних, яку можуть виконувати користувачі, відіграючи деяку роль, теж повинна бути обмежена. Приміром, користувач, що виконує роль аналітика, може мати доступ для перегляду лише деяких статистичних даних. Більш того, частоту виконання подібних запитів можна обмежити для зменшення імовірності атаки БД за допомогою логічного висновку.
6.3. Особливості ЗІ від НСД при організації парольного захисту
Спочатку кілька слів про програмні закладки. Однією з найбільш небезпечних і розповсюджених є атака захищеної системи за допомогою програмних закладок. Програмна закладка - це програма або фрагмент програми, котрий приховано впроваджується в захищену систему і дає змогу зловмиснику, що впровадив його, здійснювати надалі НСД до тих або інших ресурсів захищеної системи.
Основна небезпека програмних закладок полягає в тому, що програмні Закладки, стаючи частиною захищеної системи, спроможні вживати активних заходів для маскування своєї присутності в системі. При впровадженні в систему закладки в захищеній системі створюється прихований канал інформаційного обміну, що, як правило, залишається непоміченим для адміністраторів системи протягом тривалого часу. Практично всі відомі програмні закладки, що застосовувалися в різний час різноманітними зловмисниками, були виявлені або через помилки, допущені при програмуванні закладок, або чисто випадково.
Отже, розглянемо один із найбільш поширених класів програмних закладок - закладки, що перехоплюють паролі користувачів ОС (перехоплювачі паролів). Перехоплювачі паролів були розроблені в різний час для цілого ряду ОС, включаючи 08/370, М8-ЕЮ8 і багато версії ^ішіохуз і ІЛЧІХ. Перехоплювач паролів, впроваджений в ОС, тим або іншим способом одержує доступ до паролів, що вводяться користувачами при вході в систему. Перехопивши черговий пароль, закладка записує його в спеціальний файл або в будь-яке інше місце, доступне ЗЛ, що впровадив закладку у систему. Виділяють перехоплювачі трьох родів,
Перехоплювачі паролів першого роду діють за таким алгоритмом.
ЗЛ запускає програму, що імітує запрошення користувачу для входу в систему, і чекає вводу. Коли користувач вводить ім'я і пароль, закладка зберігає їх у доступному ЗЛ місці, після чого завершує роботу і здійснює вихід із системи користувача-зловмисника (у більшості ОС вихід користувача із системи можна здійснити програмно). По закінченні роботи закладка на екрані виводить дійсне запрошення для входу користувача в систему. >,
Користувач, що став жертвою закладки, бачить, що він не ввійшов систему і що йому знову пропонується ввести ім'я і пароль. Користувач припускає, що при введенні пароля відбулася помилка, і вводить ім'я і пароль повторно. Після цього користувач входить у систему, і подальша його робота проходить нормально. Деякі закладки, що функціонують за такою схемою, перед завершенням роботи видають на екран правдоподібне повідомлення про помилку, наприклад: «Пароль введено неправильно. Спробуйте ще раз».
Основною перевагою цього класу перехоплювачів паролів є те, що написання подібної програмної закладки не потребує від ЗЛ ніякої спеціальної кваліфікації. Будь-який користувач, що вміє програмувати хоча б на мові ВАSІС, може написати таку програму за лічені хвилини. Єдина проблема, що може тут виникнути, полягає в програмній реалізації виходу користувача із системи. Проте відповідний системний виклик документовано для всіх багатокористувацьких ОС, і якщо ЗЛ не полінується уважно вивчити документацію ОС, то він вирішить дану проблему дуже швидко.
Перехоплювачі паролів першого роду являють найбільшу небезпеку для тих ОС, у яких запрошення користувачеві на вхід має дуже простий вигляд. Наприклад, у більшості версій ОС Ш4ІХ це запрошення виглядає так:
1оgin: user
password:
Таким чином, задача створення програми, що підробляє таке запрошення, є тривіальною.
Як можна захищатися від перехоплювачів паролів першого роду? Ускладнення зовнішнього вигляду запрошення на вхід у систему дещо ускладнює розв'язання задачі перехоплення паролів, проте н© створює для ЗЛ ніяких принципових проблем. Для того щоб істотно утруднити встановлення в систему перехоплювачів паролів першого роду, необхідні більш складні заходи захисту. Прикладом ОС, де такі заходи реалізовані, є Windows NT. Крім того, захищеність системи від перехоплювачів паролів першого роду можна підвищити адміністративними заходами, наприклад такими: кожний користувач системи повинен бути проінструктований, що коли він кілька разів поспіль не може ввійти в систему, йому слід звернутися до адміністратора.
Перехоплювачі паролів другого роду перехоплюють усі дані, що вводяться користувачем із клавіатури. Найпростіші програмні закладки даного типу просто скидають усі ці дані на жорсткий диск комп'ютера або в будь-яке інше місце, доступне ЗЛ. Більш професійно зроблені закладки аналізують перехоплені дані і відсіюють інформацію, що явно не має відношення до паролів.
Декілька подібних закладок були в різний час написані для ОС MS-DOS, деякі з них використовувалися на практиці, причому дуже ефективно.
Ці закладки являють собою резидентні програми, що перехоплюють одне або декілька переривань процесора, що мають відношення до роботи з клавіатурою. Інформація про натиснуту клавішу і введений символ, що повертається цими перериваннями, використовується закладками для своїх цілей.
Наприкінці 1997 року на хакерських серверах Internet з'явилися перехоплювачі паролів другого роду для Windows 3.x і Windows 95. Приклади їх використання ЗЛ для здійснення НСД поки що не зустрічалися на практиці. У телеконференціях Internet (newsgroups) кілька разів зустрічалися повідомлення про атаки Windows 95 перехоплювачами паролів другого роду. Проте ця інформація жодного разу не підтверджувалася.
Створення подібних програмних закладок також не пов'язане зі значними проблемами. Програмні інтерфейси Win16 і Win32 підтримують спеціальний механізм фільтрів (hooks), що може бути використаний для перехоплення паролів користувачів. За допомогою цього механізму прикладні програми і сама ОС вирішують цілий ряд задач, у тому числі і задачу підтримки національних розкладок клавіатури. Будь-який русифікатор клавіатури, що працює в середовищі Windows, перехоплює всю інформацію, що вводиться користувачем з клавіатури, у тому числі і паролі. Нескладно написати русифікатор так, щоб він, крім своїх основних функцій, виконував би і функції перехоплювача паролів.
Написання програми локалізації клавіатури є достатньо простою задачею. У багатьох довідниках і підручниках з програмування ця задача докладно описана, у деяких виданнях наведено вихідні тексти найпростішого русифікатора клавіатури. Більш того, Windows підтримує ланцюжки фільтрів, за допомогою яких декілька програм можуть одночасно одержувати доступ до інформації, що вводиться із клавіатури, і опрацьовувати її так, як вважають за потрібне, за необхідності передаючи оброблену інформацію далі по ланцюжку. Можна вбудувати; перехоплювач паролів у ланцюжок фільтрів перед русифікатором або; після нього так, що вся інформація, яка вводиться користувачем з клавіатури, проходитиме і через русифікатор, і через перехоплювач паролів. У цьому випадку задача написання програмної закладки, що перехоплює паролі користувачів Windows, стає настільки простою, що) практично не потребує від автора закладки спеціальної кваліфікації.
Взагалі у більшості випадків справедливе таке твердження: якщо ОС передбачає переключення розкладки клавіатури при введенні пароля, то для цієї ОС можна написати перехоплювач паролів другого роду. Справді, якщо для ОС існує програма локалізації розкладки клавіатури і якщо ця програма використовується при введенні пароля, то після незначної зміни вихідного тексту ця програма перетворюється в перехоплювач паролів другого роду.
Для організації захисту від перехоплювачів паролів другого роду; необхідно домогтися виконання в ОС таких трьох умов:
Переключення розкладки клавіатури в процесі введення пароля неможливе. Інакше задача створення перехоплювача паролів другого роду істотно спрощується.
Конфігурування ланцюжка програмних модулів, що беруть участь в одержанні ОС пароля користувача, доступне тільки | адміністраторам системи.
Доступ на запис до файлів цих програмних модулів дається тільки адміністраторам системи.
Для підвищення стійкості системи захисту до помилок адміністраторів можна сформулювати останню умову в такий спосіб: доступ ;на запис до файлів програмних модулів, що беруть участь в одержанні пароля користувача, не довіряється нікому. Доступ на запис до атрибутів захисту цих файлів дається тільки адміністраторам. Будь-які звертання з метою запису до цих файлів, а також до їхніх атрибутів захисту реєструються в системному журналі аудита.
Якщо в системі виконується третя умова в другому формулюванні, адміністрування ОС у частині обслуговування клавіатури (зокрема, установка і зміна розкладок клавіатури) дещо ускладнюється.
Для того, щоб перераховані умови виконувалися, необхідно, щоб підсистема захисту ОС підтримувала розмежування доступу й аудит.
Для більшості сучасних ОС всі умови, крім першої, можуть бути;забезпечені організаційними заходами. Перша умова в некирилічних версіях ОС звичайно виконується автоматично. Для більшості кирилічних версій ОС (зокрема, для російської версії Windows NT 4.0) домогтися виконання цієї умови неможливо - можливість створювати користувачів із російськими іменами закладена в програмне забезпечення ОС. В усіх англомовних версіях Windows NT і усіх версіях UNIX можливі створення і підтримка політики безпеки, за якої виконуються всі три зазначені умови.
Якщо забезпечити виконання першої умови в даній ОС неможливо, потрібно домогтися виконання другої і третьої умов. Виконання цих умов значно підвищує захищеність системи від перехоплювачів паролів другого роду.
До перехоплювачів паролів третього роду належать програмні закладки, які цілком або частково підміняють собою підсистему автентифікації ОС. Оскільки задача створення такої програмної закладки набагато складніша, ніж задача створення перехоплювача паролів першого або другого роду, цей клас програмних закладок з'явився зовсім недавно. Існують дві демонстраційні версії перехоплювачів паролів третього роду (обидві для Windows NT).
Перехоплювач паролів третього роду може бути написаний для будь-якої багатокористувацької ОС. Складність створення такого перехоплювача паролів залежить від складності алгоритмів, реалізованих підсистемою автентифікації, складності інтерфейсу між її окремими модулями, а також від ступеня документованості підсистеми автентифікації ОС. У цілому задача створення перехоплювача паролів третього роду набагато складніша, ніж задача створення перехоплювача паролів першого або другого роду. Напевно, цим і пояснюється невелика кількість програмних закладок даного класу.
Оскільки перехоплювачі паролів третього роду частково беруть на себе функції підсистеми захисту ОС, перехоплювач паролів третього роду при впровадженні в систему повинен виконати принаймні одну з таких дій:
підмінити собою один або кілька системних файлів; впровадитися в один або кілька системних файлів за одним з «вірусних» алгоритмів;
використовувати підтримувані ОС інтерфейсні зв'язки між програмними модулями підсистеми захисту для вбудовування себе в ланцюжок програмних модулів, що опрацьовують введений користувачем пароль;
використовувати для тієї ж цілі низкорівневі інтерфейсні зв'язки ОС, використовувані підсистемою захисту для вирішення своїх завдань.
Кожна з цих дій залишає в ОС сліди, що можуть бути виявлені за допомогою таких заходів захисту:
1. Дотримання адекватної політики безпеки. Підсистема автентифікації повинна бути найбільш захищеним місцем ОС. Заходи, необхідні для підтримки адекватної політики безпеки, сильно різняться для різних ОС. При дотриманні адекватної політики безпеки впровадження в систему перехоплювача паролів третього роду, як і будь-якої іншої програмної закладки, неможливе. Проте, оскільки адміністратори, як і всі люди, схильні припускатися помилок у своїй роботі, підтримка адекватної політики безпеки протягом тривалого часу вважається практично нездійсненним завданням. Крім того, дотримання адекватної політики безпеки
захищає тільки від проникнення програмної закладки в систему. Як і тільки перехоплювач паролів впроваджується в систему, заходи для підтримки політики безпеки стають безглуздими - за наявності в системі програмної закладки політика безпеки не може бути адекватною, що б! не думали з цього приводу адміністратори системи. Тому необхідні додаткові заходи захисту.
Контроль цілісності виконуваних файлів ОС. Необхідно контролювати не тільки файли, що входять до складу підсистеми захисту, а також бібліотеки, що містять низькорівневі функції ОС.
Контроль цілісності інтерфейсних зв'язків усередині підсистеми захисту, а також інтерфейсних зв'язків, використовуваних підсистемою захисту для вирішення низькорівневих завдань.
Побудова абсолютно надійного захисту проти перехоплювачів і паролів третього роду вважається неможливою. Оскільки машинний | код перехоплювачів паролів третього роду виконується не в контексті користувача, а в контексті ОС, перехоплювач паролів третього роду може вживати заходів, що ускладнюють його виявлення адміністраторами системи, зокрема:
перехоплення системних викликів, що можуть використовуватися адміністраторами для виявлення програмної закладки з метою підміни інформації, що повертається;
фільтрація реєстрованих повідомлень аудита;
будь-який захист від перехоплювачів паролів може бути надійним тільки за умови повного дотримання адміністраторами системи адекватної політики безпеки. З огляду на те, що: адміністратори, як і всі люди, час від часу припускаються помилок у роботі, для впровадження в систему перехоплювача паролів 1 достатньо усього однієї помилки адміністратора;
перехоплювач паролів після впровадження в систему дістає, можливість починати активні заходи для маскування своєї присутності, побудова абсолютно надійного захисту від перехоплювачів паролів вважається практично неможливою. Тугі має місце «боротьба щита і меча», коли для будь-якої відомої атаки може бути побудований надійний захист від неї, і для будь-якого відомого захисту може бути реалізована атака, що дозволяє його ефективно переборювати.
6.4. ЗІ при організації конфіденційного зв'язку
Під витоком інформації в каналі телефонного зв'язку розуміється навмисне і несанкціоноване її одержання ЗЛ з використанням технічних засобів [2]. Одержання такої інформації можливе трьома шляхами;
прямим підслуховуванням;
підслуховуванням з використанням пристроїв, аналогічних тим, що застосовують власники інформації;
• записом інформації з наступною її обробкою за допомогою спеціальних засобів.
Телефонним каналом зв'язку звичайно є або провідна лінія зв'язку, або канал радіообміну.
У першому випадку перехоплення конфіденційного зв'язку здійснюється безпосереднім підключенням до телефонної мережі, включаючи апаратуру зв'язку, чи зняттям побічного електромагнітного випромінювання ліній зв'язку. Доступ до каналів зв'язку (вузлів комутації і до кабелів зв'язку) для сторонніх осіб обмежений чи ускладнений. Справді, вузли комутації звичайно розміщуються в охоронюваних приміщеннях, а кабелі прокладаються в підземних траншеях чи тунелях метро. Значно легше перехоплювати інформацію на абонентських лініях у житлових будинках чи в установах і фірмах. Часто ЗЛ, будучи співробітниками організацій, підслуховують конфіденційні розмови у виділених приміщеннях. Слід зауважити, що при підключенні підслуховуючих пристроїв до телефонного каналу їх неважко виявляти внаслідок зміни навантаження в каналі. Однак побічні випромінювання можна підсилити і прослухувати за допомогою досить простих приймачів, виявлення яких є дуже складним завданням.
У другому випадку (тобто при використанні радіоканалів) доступ до інформації практично необмежений.
Звідси випливає, що незахищеність каналів зв'язку вимагає використання засобів шифрування. Існують різні методи і пристрої шифрування - від простого кодування до складних алгоритмів перетворень інформації. Пристрої, що реалізують такі перетворення, звичайно називають скремблерами чи маскіраторами. Місце включення такого засобу в канал зв'язку може бути різним і залежить від ряду факторів. Якщо необхідно захиститися від витоку будь-якими шляхами, то його необхідно включати на вході в телефонний апарат. Якщо важливим є завдання захиститися від витоку інформації по каналах зв'язку, то достатньо пристрій включити на виході телефонного апарата. Якщо ж необхідно запобігти витоку інформації тільки на окремих ділянках мережі, досить його включити на вході цієї ділянки.
При виборі виду шифрування телефонних каналів зв'язку слід виходити з таких міркувань: фінансових, необхідного часу збереження таємниці телефонної розмови, оперативності передачі повідомлень і т. д.
6.5. Захист програмного забезпечення
Захист ПЗ включає широке коло засобів, що починається законодавчими актами і закінчується конкретними апаратурними розробками. В основному всі засоби захисту ПЗ є аналогічними всім іншим засобам і раніше обговорювалися, тому тут дамо лише короткий їхній огляд [4]. Виділяються такі категорії засобів захисту ПЗ: власні, у складі КС, із запитом інформації, активні й пасивні.
Засоби власного захисту визначають елементи захисту, що містяться в самому ПЗ чи супроводжують його. До таких засобів належать: документація, поширення продукції у вигляді виконуваних модулів, супроводження програм розробником, обмеження застосування, проектування на замовлення, ідентифікаційні мітки.
Документація, розповсюджувана разом з ПЗ, насамперед є суб'єктом авторського права. її розмноження коштує досить дорого і, як правило, копія гірша за оригінал. Постачання програм у вигляді завантажувальних модулів ускладнює її аналіз, що забезпечує певну захищеність. Важливим є фактор супроводу програм розробником, коли легальним користувачам постачаються дороблені версії ПЗ, а також його адаптація до конкретного оточення. Такий засіб захисту, як обмеження застосування, пов'язаний з визначенням списку користувачів, за якого можна ефективно здійснювати контроль за використанням ПЗ. Програми, виконані для спеціального застосування, як правило, враховують особливості роботи замовника, і їхня крадіжка малоймовірна, оскільки вони широко не застосовуються і можуть бути легко пізнані. Легальними користувачами можуть використовуватися відмітні ідентифікаційні мітки, за якими можна визначити власника ПЗ. !
До засобів захисту в складі комп'ютерних систем належать: захист магнітних дисків, захисні механізми пристроїв КС, замки захисту, зміна функцій у системі.
Захист магнітних дисків може виконуватися за різними рівнями складності залежно від кваліфікації неавторизованої сторони, що ;здійснює доступ. При захисті дисків використовуються спеціальні чи модифіковані ОС, застосовуються нестандартне форматування й інші ;механізми захисту (введення додаткових доріжок і секторів, зміна !розмірів каталогів, секторів, форматів даних, чергування доріжок, заміна інформаційних заголовків і т. п.). \
Захисні механізми пристроїв КС ґрунтуються на використанні особливостей апаратури. Великий інтерес свого часу становила методика І створення унікального диска, що ґрунтувалася на механічному ушкодженні магнітної поверхні, а пізніше на ушкодженні за допомогою І лазерного пучка. Таким чином, диск нібито стримує «рідні плями». Можливе також використання спеціальних процесорів і мікроконтролерів, що дозволяють захистити оригінали програм і даних від перегляду чи копіювання за допомогою, наприклад, виконання процедур шифрування.
Під замком захисту маються на увазі заборони доступу до програми, якщо в результаті її виконання не пізнано оточення. Таким оточенням може служити час використання програм, серійний номер комп'ютера, деякі властивості динамічної пам'яті, паролі, особливості диска й інші характеристики обладнання і ПЗ. і
Зміни функцій у системі пов'язані з виконанням певних перепризначень і чергувань. Наприклад, установка періодів дії ключів, перезапис пам'яті, переустановка переривань і перепризначення атрибутів, зміна імен файлів і інші перевизначення, що створюють труднощі випадковим і некваліфікованим користувачам.
Програми, що використовують засоби захисту із запитом інформації для подальшого виконання призначених функцій, здійснюють запит на введення додаткової інформації, представленої, наприклад, у вигляді ключових слів. У структуру зазначених засобів входять паролі, шифри, сигнатури й апаратура.
Доступ до захищеної КС здійснюється за допомогою пароля. Його перевірка проводиться шляхом порівняння прийнятого значення зі значенням образу, що зберігається в системі. Існують різні механізми розподілу і формування паролів. Останні створюються на основі питально-відповідної системи, одноразових блокнотів, сегментів слів чи пропозицій і інших способів. Паролі, що пред'являються користувачем КС, як правило, розкриваються неавторизованою стороною (НАС), і особливо легко в тих випадках, коли будуються за синтаксичними правилами на основі букв і цифр.
Шифри утворюються в результаті криптографічних перетворень вихідної інформації. При високій кваліфікації НАС прості шифри, особливо за наявності комп'ютера, можуть бути легко розкриті. Надійність шифру значною мірою залежить від довжини ключа і вихідного тексту. Захист може стати малоефективним, якщо НАС одержить доступ до зашифрованого тексту й оригіналу. Відомі системи шифрування із спільними і відкритими ключами. У першому випадку для процесів шифрування і дешифрування використовується той самий ключ, часто сформований за допомогою генератора псевдовипадкових чисел. У другому випадку зазначені процеси грунтуються на різних ключах, пов'язаних не взаємооднозначними функціями, що значно ускладнює обчислення одного ключа через інший.
Сигнатури формуються на основі унікальних характеристик КС, що ідентифікуються програмами і використовуються для захисту. До таких характеристик можна віднести особливості структур і форматів дисків, вміст постійної пам'яті, характеристики динамічного запам'ятовуючого пристрою, наявність певних компонентів устаткування, їхньої характериртики й ін. При використанні такого виду захисту від копіювання бажано підбирати найменш мінливі і важковідтворювані в інших системах сигнатури, що не заважають нормальній роботі програм.
Апаратура захисту при вмілій організації може стати одним з найефективніших засобів. До них належать різні пристрої, що підключаються, як правило, через стандартний інтерфейс чи системну шину. Ця апаратура в основному призначена для захисту програм в оперативній пам'яті і на магнітних дисках. Вона може будуватися як на найпростіших схемах з пам'яттю, так і на високоінтегрованих мікропроцесорних модулях, що реалізують як найпростіші псевдовипадкові послідовності, так і складні криптографічні алгоритми.
Засоби активного захисту поділяються на зовнішні і внутрішні й активізуються при виникненні певних (позаштатних) обставин, що, підпадають у сферу контролю. До них належать неправильно введені) паролі, час користування якими минув, вичерпана кількість запусків,; неправильна контрольна сума ділянок програм, несанкціоноване копіювання і т. п.
Внутрішні засоби активного захисту мало рекламуються для НАС і можуть з появою позаштатної ситуації блокувати виконання програми чи частини її функцій, знищувати її, пошкодити інші доступні програмні;засоби КС, поширити вірус чи виконати інші деструктивні впливи.
Зовнішні засоби активного захисту виявляються в процесі виконання програми у вигляді запитів пароля, видачі різних попереджень, авторських етикеток, інформації про власника, розробників, фірму чи виробника й ін. Зазначені прояви часто активізуються після реалізації яких-небудь внутрішніх засобів активного захисту.'
Засоби пасивного захисту включають методи ідентифікації програм, пристроїв контролю, водяні знаки і психологічні заходи. За їхньою допомогою здійснюються попередження, контроль, пошук доказів факту копіювання і т. п.
Ідентифікація програми чи окремого модуля в іншій програмі здійснюється з метою доказу авторських прав. Тут важливо знайти корекції в модулі, виконані НАС, які можуть змінити його кількісні характеристики, наприклад частоти появи операторів чи машинних команд. Визначення подібності двох програм чи їхніх частин часто пов'язане з поняттям «рідних плям», що утворюються в результаті створення програм. Вони пов'язані зі стилем програмування, надмірностями, певними помилками, що не виникають при незалежній роботі авторів. Для визначення вставленого модуля також можна використовувати кореляційні характеристики, що вимагають досить складних розрахунків. Переконливим доказом копіювання служать ідентифікаційні мітки (особливо закодовані), що вводяться з метою визначення авторства і невідомі НАС.
Пристрої контролю призначені для реєстрації подій, що включавють виконання процедур, встановлення неадекватності виконуваних/функцій і засобів захисту, доступ до програм, даних та ін.¦
Водяні знаки використовуються для запобігання створенню пов4ноцінної копії, яку НАС не зможе відрізнити від оригіналу, внаслідок чого буде виявлена підробка. Цей метод базується, як правило, н«(ідентифікації середовища носія програмних засобів.
Психологічні заходи грунтуються на підтримуванні у свідомості НАС комплексу страху, стурбованості, непевності від наслідків, реалізованих усіма способами захисту, що починаються дружніми попередженнями і закінчуються судовими розглядами.
Як бачимо, методи захисту ПЗ мають широке коло дії. Таким чином, при виборі механізму захисту варто враховувати його вартість і здатність забезпечити необхідний рівень захисту.