- •11.1. Загрози безпеці операційних систем
- •11.1.11 Сканування файлової системи
- •11.1.2. Викрадення ключовоїінформації
- •11.1.3. Добирання паролів
- •11.1.4. Збирання сміття
- •11.1.5. Перевищення повноважень
- •11.1.6. Програмні закладки
- •11.1.7. «Жадібні» програми
- •11.2. Поняття захищеної операційної системи
- •11.2.1. Підходи до побудови захищених операційних систем
- •11.2.2. Принципи створення захищених систем
- •11.2.3. Адміністративні заходи захисту
- •11.2.4. Політика безпеки
- •11.3. Типова архітектура комплексу Засобів захисту операційних систем
- •11.3.1. Основні функції k33
- •11.3.2. Розмежування доступу
- •11.3.3. Ідентифікація, автентифікація й авторизація
- •11.3.4. Аудит
11.3.2. Розмежування доступу
Функції системи розмежування доступу було розглянуто у розділі 2. Тому тут ми лише конкретизуємо особливості підсистем розмежування доступу, що входять до складу операційних систем, а далі, в розділах 12-14, розглянемо особливості реалізації таких підсистем у популярних ОС.
Нагадаємо, що система розмежування доступу здійснює контроль за доступом суб'єктів до об'єктів. Суб'єкт доступу здійснює доступ до об'єкта. Об'єкт доступу — це елемент ОС (наприклад, ресурс), доступ до якого контролюється і може бути обмежений. Важливе значення має метод доступу — операція, яку здійснює суб'єкт над об'єктом. Слід розрізняти метод доступу і право доступу. Право доступу — це право здійснювати доступ до об'єкта з використанням деякого методу чи групи методів. Суб'єкти можуть мати певні привілеї. Під привілеєм розуміють право доступу з використанням деякого методу доступу, яке надається певному суб'єкту на всі об'єкти ОС, що підтримують цей метод [91].
В операційних системах суб'єктами доступу можуть бути користувачі, процеси та потоки. Звісно, мова йде не про користувачів як фізичних осіб, а про об'єк-ти-користувачі, які було описано у розділі 1. Точніше кажучи, суб'єктом в ОС є суперпозиція користувача і процесу (або потоку). Фактично доступ здійснює процес (потік), але в усіх захищених ОС він діє від імені певного користувача (нагадаємо, що саме такий підхід було покладено в основу побудови захищених систем згідно з вимогами «Критеріїв оцінювання захищених комп'ютерних систем» Міністерства оборони США, розглянутими в розділі 7).
Для спрощення опису і реалізації політики безпеки користувачів об'єднують у групи. Це відображає принципи побудови реальної політики безпеки у будь-якій організації: доступ до інформації надається співробітнику на підставі його приналежності до певних робочих груп і виходячи з його кваліфікації, досвіду роботи та посади. Так само і на рівні ОС: здійснюється настроювання доступу окремих груп користувачів до захищених об'єктів, а права окремих користувачів настроюються шляхом їх долучення до тих чи інших груп. Очевидно, що в такому випадку для реалізації політики безпеки необхідно мати можливість долучати користувача відразу до кількох груп. Таку можливість підтримують багато сучасних операційних систем. 3 іншого боку, є стандарт програмного інтерфейсу POSIX, запропонований свого часу для полегшення перенесення прикладних програм із середовища однієї ОС до іншої. Цей стандарт вимагає, щоб користувач у поточний момент був членом лише однієї групи. Для сумісності з цим стандартом у сучасних операційних системах (наприклад, Windows) виділяють так звану «первинну» групу користувача.
Суб'єктами можуть бути також псевдокористувачі або спеціальні користувачі. Це об'єкти-користувачі, які не є фізичними користувачами, але від імені яких у системі можуть діяти процеси. Наприклад, псевдокористувач SYSTEM в ОС Windows, від імені якого діють системні процеси. Цей псевдокористувач має визначені повноваження в системі (тобто права доступу до визначеної множини об'єктів). Як наслідок, системні процеси також мають обмежені права, і, якщо необережно зменшити права SYSTEM, це може призвести до того, що ОС втратить роботоздатність.
Тепер розглянемо об'єкти доступу в ОС. Основними об'єктами, що потребують захисту і знаходяться під керуванням ОС, є об'єкти, що можуть містити
інформацію, яка перебуває у стані оброблення та зберігання, або приймати чи передавати інформацію. Насамперед до таких об'єктів належать:
оперативна пам'ять; точніше, її елементи: секції, сегменти, сторінки;
об'єкти файлових систем;
пристрої введення-виведення інформації.
У різних ОС підходи до вибору об'єктів доступу можуть суттєво різнитися. Наприклад, в UNIX захищеними об'єктами є лише об'єкти файлової,системи, Щоб захистити пристрої введення-виведення, доступ до них організуютьчерез файлову систему за допомогою спеціальних файлів. А у Windows, навпаки, список об'єктів доступу дуже широкий — він містить майже всі об'єкти, якими оперує ОС (докладніше див. розділ 13).
Об'єкти різних типів підтримують специфічні методи доступу. Знову-таки, різні ОС можуть мати дуже різні підходи до укладання переліку методів доступу і прав доступу, що контролює система розмежування доступу. Так, B.UNIX розрізняють лише три права доступу — читання (Read), записування (Write) та запуск на виконання (eXecute). Методів доступу є більще, наприклад, методи записування у файл і дописування в кінець файлу. (Слід зауважити, що обидва ці методи контролюються одним правом — записування») Право запуску на виконання також може мати різне значення залежно від того, до якого об'єкта (файлу чи каталогу) воно надається. В операційній системі Windows розрізняють більше 20 різних методів доступу, майже кожному з яких відповідає певне право досту-пу. Ці методи і відповідні права також залежать від того, якому об'єкту доступу вони відповідають.
До типових привілеїв, які підтримує ОС, належать такі: привілей власника об'єкта (у разі довірчого керування доступом власник завжди може змінити права доступу до об'єкта), привілей адміністратора (у різних ОС він може мати доволі різний рівень — аж до повних і необмежених прав), цривілей налагоджувати програми, привілей здійснювати доступ до журналів аудита тощо.
Політику керування .доступом на рівні ОС, як правило, реалізують втіленням дискреційного керування доступом. Позаяк об'єктів доступу в операційній системі дуже багато, застосувати в ній матрицю доступу в чистому вигляді не видається за можливе. Натомість в ОС використовують списки керування доступом, які пов'язують з кожним об'єктом доступу. У деяких ОС реалізовано розширення дискреційного керування доступом, за якого звичайні правила дискреційної політики певним чином модифікуються: по-перше, можливість доступу однозначно визначається не трійкою користувач-об'єкт-метод, а четвіркою користувач-процес-об'єкт-метод, а по-друге, для кожного суб'єкта визначається список програм, які він може запускати. Середовище з такою політикою керування доступом називають ізольованим (або замкненим) програмним середовищем (див. розділ 4).
У спеціально призначених для побудови ІКС операційних системах, які використовують для оброблення конфіденційної інформації, окрім дискреційного керування достугош, є ще й мандатне керування доступом. Системи розмежування доступу в таких ОС реалізують певний набір моделей, переважно модель Белла — ЛаПадула та її розширення (див. розділ 4).
Слід відзначити таку важливу особливість систем розмежування доступу. У більшості їх реалізацій права доступу суб'єкта до об'єкта перевіряються лише в момент відкривання об'єкта для доступу з використанням певного методу або набору методів. Після того, як права доступу успішно перевірено, створюються умови для доступу суб'єкта до об'єкта (наприклад, процес одержує покажчик або відкривається порт доступу). Після цього суб'єкт вільно працює з об'єктом протягом визначеного часу або допоки його не буде закрито.
Але є системи, в яких права доступу перевіряються щоразу, коли здійснюється спроба доступу. Необхідність контролювати кожну спробу доступу пов'язана з тим, що можливість доступу визначається не лише четвіркою користувач-про-цес-об'єкт-метод, а й тим, в якому стані знаходиться процес у поточний момент. Стан процесу може бути змінено під час його функціонування залежно від того, наприклад, до яких об'єктів і за якими методами цим процесом уже було здійснено доступ. Таку модель керування доступом називають мандатним керуванням із контролем інформаційних потоків. Саме ця модель забезпечує найбільш надійний захист від витоку конфіденційної інформації, хоча й створює найбільше навантаження на систему.
