НОУ ІНТУІТ, Лекція, Підсистема введення-виведення

7.19. Контроль доступу до файлів

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

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

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

Кожен об'єкт доступу має власника. Власник об'єкта має право виконати з ним будь - які допустимі для цього об'єкта операції . У багатьох ОС існує особливий користувач - адміністратор "superuser", який має всі права по відношенню до об'єктів системи, не обов'язково будучи їх власником. Ці права (повноваження) необхідні адміністратору керувати політикою доступу.

Розрізняють два основні підходи до визначення прав доступу [13].

  1. Виборчий доступ – ситуація, коли власник об'єкта визначає допустимі операції зоб'єктом. Цей підхід називається також довільним доступом, оскільки дозволяє адміністратору та власникам об'єкта визначити права доступу довільним чином, за їхнім бажанням. Проте адміністратор за умовчанням наділений усіма правами.
  2. Мандатний доступ (від mandatory – примусовий) – підхід до визначення прав доступу, у якому система (адміністратор) наділяє користувача чи групу певними правами стосовно кожного ресурсу. У цьому випадку групи користувачів утворюють сувору ієрархію, причому кожна група має всі права групи нижчого рівня ієрархії.

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

Кожен користувач (група) має символьне ім'я, а також унікальний числовий ідентифікатор. При виконанні процедури логічного входу в систему користувач повідомляє своє символьне ім'я або пароль. Усі ідентифікаційні дані, а також відомості про входження користувача до груп зберігаються у спеціальному файлі ( UNIX ) або базі даних ( Windows NT).

Вхід користувача в систему породжує процес – оболонку, яка підтримує діалог з користувачем та запускає для нього інші процеси. Будь-який процес успадковує ідентифікатори користувача і груп від процесу батька.

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

Можлива комбінація двох підходів – детальний рівень та укрупнений. Наприклад, Windows NT/2000/2003 адміністратор працює на укрупненому рівні, а за бажання може перейти на детальний.

УУ загальному випадку права доступу можуть бути описані матрицею прав доступу, в якій стовпці відповідають всім файлам системи, а рядки – всім користувачам. На перетині рядків та стовпців зазначаються дозволені операції. Однак реально для тисяч та десятків тисяч файлів у системі користуватися такою матрицею незручно. Тому вона зберігається частинами, тобто. для кожного файлу та каталогу створюється список керування доступом (Access Control List, ACL), в якому описуються права на виконання операцій користувачів та груп користувачів по відношенню до цього файлу або каталогу. Список керування доступом є частиною характеристик файлу або каталогу та зберігається на диску у відповідній області. Не всі файлові системи підтримують списки керування доступом, наприклад, FAT не підтримує, оскільки розроблялася для однопрограмної, однопользовательской ОС MS-DOS.

Узагальнено формат списку керування доступом ( ACL ) можна подати у вигляді набору ідентифікаторів користувачів та груп користувачів, в якому для кожного ідентифікатора вказується набір дозволених операцій над об'єктом. Сам список ACL складається з елементів керування доступом (Access Control Element, ACE), які відповідають одному ідентифікатору. Список ACL із додаванням ідентифікатора власника називають характеристиками безпеки.

Розглянемо організацію контролю доступу у Windows NT/2000/XP. Система управління доступом у цій операційній системі відрізняється високим ступенем гнучкості, яка досягається за рахунок великої різноманітності суб'єктів та об'єктів доступу та деталізації операції доступу.

Для поділюваних ресурсів у Windows XP застосовується загальна модель об'єкта, яка містить такі характеристики безпеки, як набір допустимих операцій, ідентифікаторвласника, список керування доступом.

Перевірки прав доступу для об'єктів будь-якого типу виконуються централізовано за допомогою монітора безпеки (Security Reference Monitor), що працює у привілейованому режимі.

Для системи безпеки Windows характерна велика кількість різних вбудованих (передбачених) суб'єктів доступу - окремих користувачів та груп (Administrator, System, Guest, групи Users, Administrators, Account, Operators та ін.). Сенс цих вбудованих користувачів та груп полягає в тому, що вони наділені певними правами. Це полегшує роботу адміністратора створення ефективної системи розмежування доступу. По-перше, за рахунок того, що нового користувача можна внести до якоїсь групи. По-друге, можна додавати (вилучати) права вбудованих груп. Зрештою, можна створювати нові групи з унікальним набором прав.

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

У Windows NT/2000/XP адміністратор може керувати доступом користувачів до каталогів і файлів лише у розділах диска, в яких встановлена ​​файлова система NTFS. Розділи FAT не підтримуються, оскільки у цій ФСфайли та каталоги не містять атрибутів для зберігання списків керування доступом.

Дозволи в Windows бувають індивідуальні (спеціальні) та стандартні. Індивідуальні відносяться до елементарних операцій над каталогами та файлами, а стандартні дозволи є поєднанням кількох індивідуальних дозволів. На рис. 7.23 та рис. 7.24 наведено шість стандартних дозволів (елементарних операцій), зміст яких відрізняється для каталогів та файлів.