НОУ ІНТУІТ, Лекція, Система керування доступом
Написання, компіляція та прогін програми отримання стандартного списку контролю доступу до об'єктів з маркера доступу до процесу
На основі попередньої програми рекомендується написати програму, яка виводить на екран список прав доступу за промовчанням для об'єктів, створюваних даним процесом.
Перевірка прав доступу
Після формалізації атрибутів захисту суб'єктів та об'єктів можна перерахувати основні етапи перевірки прав доступу [українсинович], [Ріхтер], [Ріхтер, Кларк], див. рис. 13.3.

Етапів перевірки досить багато. Найважливіші етапи їх:
- Якщо SID суб'єкта збігається з SID власника об'єкта і запитують стандартні права доступу, доступ надається незалежно від вмісту DACL .
- Далі система послідовно порівнює SID кожного ACE з DACL із SID маркера. Якщо виявляється відповідність, виконується порівняння маски доступу з правами, що перевіряються. Для забороняючих ACE навіть у разі часткового збігу прав доступ негайно відхиляється. Для успішної перевірки роздільних здатностей необхідно збіг всіх прав.
Вочевидь, що з процедури перевірки важливий порядок розташування ACE в DACL . Тому Microsoft пропонує так званий кращий порядок розміщення ACE. Наприклад, для прискорення рекомендується розміщувати заборонні елементи перед роздільною здатністю.
Висновок
Підсистема захисту є однією з найважливіших. У центрі безпеки ОС Windows знаходиться система контролю доступу. Реалізовані моделі дискреційного та рольового доступу є зручними та широко поширеними, проте не дозволяють формально обґрунтувати безпеку додатків у ряді випадків, що представляють практичнийінтерес. З кожним процесом або потоком, тобто активним компонентом (суб'єктом), пов'язаний маркер доступу, а у кожного об'єкта, що захищається (наприклад, файлу) є дескриптор захисту. Перевірка прав доступу зазвичай здійснюється на момент відкриття об'єкта і полягає у зіставленні прав суб'єкта списку прав доступу, що зберігається у складі дескриптора захисту об'єкта.
Додаток. Формальні моделі захищеності в Windows
Подання інформаційної системи як сукупності взаємодіючих сутностей – суб'єктів та об'єктів – є базовим уявленням більшості формальних моделей. Захисту потребують і об'єкти, і суб'єкти. У цьому сенсі суб'єкт є окремим випадком об'єкта. Іноді кажуть, що суб'єкт - це об'єкт, який здатний здійснювати перетворення даних і якому передано управління.
Застосування цього підходу може бути проілюстровано в такий спосіб.
Є сукупність об'єктів i> , суб'єктів i> та користувачів i> . Вводиться операція доступу i> -> j> , Під якою мається на увазі використання i-м суб'єктом інформації з j-го об'єкта. Основні варіанти доступу: читання, запис та активація процесу, записаного в об'єкті. Внаслідок останньої операції з'являється новий суб'єкт i> -> j> -> k> .
Під час завантаження створюється ряд суб'єктів (системних процесів), і до них належить оболонка Sshell, за допомогою якої користувачі, що пройшли автентифікацію, можуть створювати свої суб'єкти (запускати свої програми). За допомогою програм, що виконуються, користувачі здійснюють доступ до об'єктів (наприклад, здійснюють читання файлів). У результаті діяльність такого користувача можна описати орієнтованим графом доступу (див. рис. 13.4).

Безліч графів доступу можна як фазовий простір , а функціонування конкретної системи - як траєкторію у фазовому просторі. Захист інформації може полягати у тому, щоб уникати "несприятливих" траєкторій. Практично таке управління можливе лише обмеженням на доступ у кожний момент часу, або, як стверджується у відомій "помаранчевій" книзі [DoD], всі питання безпеки інформації визначаються описом доступів суб'єктів до об'єктів.
Можна також ввести особливий вид суб'єкта, який активізується при кожному доступі і називається монітором звернень. Якщо монітор звернень може відрізнити легальний доступ від нелегального і не допустити останній, то такий монітор називаєтьсямонітором безпеки (МБ)і є одним з найважливіших компонентів системи захисту.
Дискреційна модель контролю та управління доступом
Моделі керування доступом регламентують доступ суб'єктів до об'єктів. Найбільш поширена так звана дискреційна (довільна) модель, в якій звичайні користувачі можуть брати участь у визначенні функцій політики та присвоєння атрибутів безпеки. Серед дискреційних моделей класичною вважається модель Харрісона-Руззо-Ульмана (див. [Таненбаум]) - в ній система захисту представлена у вигляді набору множин, елементами яких є складові системи захисту: суб'єкти, об'єкти, рівні доступу, операції тощо.
З концептуальної точки зору поточний стан прав доступу при дискреційному управлінні описується матрицею (див. рис. 13.5), у рядках якої перераховані суб'єкти, у стовпцях – об'єкти, а в осередках – операції, які суб'єкт може виконати над об'єктом. Операції залежить від об'єктів. Наприклад, для файлів це операції читання, запису,виконання, зміни атрибутів, а для принтера - операції друку та керування. Поведінка системи моделюється з допомогою поняття стану Q = (S,O,M) , де S,O,M - відповідно поточні множини суб'єктів, об'єктів та поточний стан матриці доступу.

З урахуванням дискреційної моделі можна так сформулювати завдання системи захисту інформації. З погляду безпеки, поведінка системи може моделюватися як послідовність станів, що описуються сукупністю суб'єктів, об'єктів та матрицею доступу. Тоді можна стверджувати, що для безпеки системи в стані Q0 не повинно існувати послідовності команд, в результаті якої право R буде занесено в клітинку пам'яті матриці доступу M, де воно не було в стані Q0. (Критерій Харрісона-Руззо-Ульмана). По суті, необхідно відповісти на запитання: чи зможе деякий суб'єкт S коли-небудь отримати будь-які права доступу до деякого об'єкта O?
Очевидно, що для забезпечення безпеки необхідно заборонити деякі відносини доступу. Харрісон, Руззо та Ульман довели, що в загальному випадку не існує алгоритму, який може для довільної системи, її початкового стану Q0 та загального права r вирішити, чи ця конфігурація є безпечною. Щоб задовольнити критерію безпеки в загальному випадку, в ІС повинні бути відсутні деякі операції створення та видалення сутностей, внаслідок чого експлуатація такої системи втрачає практичний зміст.
Канали витоку інформації у системах з дискреційним доступом
Таким чином, якщо не вживати спеціальних заходів, система з дискреційним доступом виявляється незахищеною. Для ілюстрації можна продемонструвати організацію каналу витоку.
Очевидно, що для кожного суб'єкта S,активізованого в момент часу t існує єдиний активізований суб'єкт S', який активізував суб'єкт S. Тому можна, аналізуючи граф, подібний зображеному на рис. 13.5 виявити єдиного користувача, від імені якого активізований суб'єкт S.
Відповідно, для будь-якого об'єкта існує єдиний користувач, від імені якого активізовано суб'єкт, який створив цей об'єкт. Можна сказати, що цей користувач породив об'єкт, а також сформував для нього список прав доступу.
У цьому випадку схематичне зображення каналу витоку у вигляді дозволеного доступу від імені різних користувачів до одного і того ж об'єкта виглядатиме таким чином:
Ui -> (Write)-> O в момент часу t1 і Uj -> (Read)-> O в момент часу t2 де i≠j і t1 >