Мандатне керування доступом

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Мандатне керування доступом (англ. Mandatory access control, MAC) — розмежування доступу суб'єктів до об'єктів, засноване на призначенні мітки конфіденційності для інформації, що міститься в об'єктах, і видачу офіційних дозволів (допуску) суб'єктів на звернення до інформації такого рівня конфіденційності. Також іноді перекладається як Примусовий контроль доступу. Це спосіб, що поєднує захист і обмеження прав, що застосовується по відношенню до комп'ютерних процесів, даних і системних пристроїв, призначений для запобігання їх небажаного використання.

За допомогою мандатного керування доступу, ця політика безпеки централізовано контролюється адміністратором політики безпеки; користувачі не мають можливості перевизначати політику та, наприклад, надавати доступ до файлів. Проте, дискреційний контроль доступу (DAC), який також регулює можливість доступу суб'єктів до об'єктів, дозволяє користувачам приймати рішення та/або визначати атрибути безпеки.

Приклад: суб'єкт «Користувач № 2», який має допуск рівня «не таємно», не може отримати доступ до об'єкта, що має мітку «для службового користування». У той же час, суб'єкт «Користувач № 1» з допуском рівня «секретно» має право доступу до об'єкта з міткою «для службового користування».

Особливості[ред. | ред. код]

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

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

Найважливіша відмінність полягає в тому, що користувач не може повністю контролювати доступ до ресурсів, які він створює.

Політика безпеки системи, встановлена ​​адміністратором, повністю визначає доступ, і зазвичай користувачеві не дозволяється встановлювати більш вільний доступ до його ресурсів ніж той, який встановлений адміністратором користувачеві. Системи з дискреційним контролем доступу дозволяють користувачам повністю визначати доступність їх ресурсів, що означає, що вони можуть випадково або навмисно передати доступ неавторизованим користувачам. Така система забороняє користувачеві або процесу, що володіє певним рівнем довіри, отримувати доступ до інформації, процесів або пристроїв більш захищеного рівня. Тим самим забезпечується ізоляція користувачів і процесів, як відомих, так і невідомих системі (невідома програма повинна бути максимально позбавлена ​​довіри, і її доступ до пристроїв і файлів повинен обмежуватися сильніше).

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

Підтримка в сучасних операційних системах[ред. | ред. код]

Спочатку такий принцип був втілений в операційних системах Flask, і інших орієнтованих на безпеку операційних системах.

Дослідницький проект АНБ SELinux додав архітектуру мандатного контролю доступу до ядра Linux, і пізніше був внесений до головну гілку розробки в серпні 2003 року.

Мандатна система розмежування доступу реалізована в ОС FreeBSD Unix.

У SUSE Linux і Ubuntu є архітектура мандатного контролю доступу під назвою AppArmor.

У мережеві пакети протоколу IPv4 відповідно до стандарту RFC1108 впроваджуються мандатні мітки, відповідні мітці об'єкта — мережеве з'єднання. У захищених комплексах гіпертекстової обробки даних, електронної пошти і в інших сервісах, мандатне розмежування реалізовано на основі програмного інтерфейсу бібліотек підсистеми безпеки PARSEC.

Підтримка в сучасних системах керування базами даних[ред. | ред. код]

В СУБД ЛІНТЕР[1] мандатний контроль доступу до даних організовується на рівні таблиць, стовпців записів і окремих полів записів.

В Oracle Database є підсистема Oracle Label Security(LBAC, Label-Based Access Control system)

У PostgreSQL в версії 9.2 з'явилася початкова підтримка SELinux.

Примітки[ред. | ред. код]

Посилання[ред. | ред. код]

Див. також[ред. | ред. код]