Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безпека.docx
Скачиваний:
164
Добавлен:
31.08.2019
Размер:
6.2 Mб
Скачать

14.3. Операційна система Фенікс

Захищену операційну систему Фенікс було розроблено у Спеціалізованому центрі захисту інформації Санкт-Петербурзького технічного університету. За висновками розробників системи [96], у той час, коли було розпочато роботу над нею, на ринку програмних засобів у Росії (ситуація в Україні аналогічна) були доступні лише операційні системи, СКБД і прикладні програми (зокрема, офісні застосування), жодним чином не націлені на ринок захищених систем і не при значені для роботи з інформацією з обмеженим доступом; вони не відповідали вимогам чинної нормативної бази. Відтак, розробляючи захищені системи, користувачі змушені були шукати компромісні рішення. Долучення додаткових засобів захисту до програмних продуктів, первісно майже позбавлених будь-яких властивостей безпеки, є справою безперспективною, тим паче, за відсутності вихідних текстів програм і належної підтримки з боку їх розробників. Розробляти ж захищену систему, не сумісну з популярними засобами оброблення інформації, та кож невдячна справа: така система не користуватиметься попитом на ринку.

Розробники системи Фенікс запропонували варіант створення такої захище­ної ОС, яка б відповідала дуже високим, за світовими мірками, вимогам безпеки, що висувають в Росії до систем оброблення інформації з обмеженим доступом, і при цьому повністю зберігала б сумісність із незахищеними прикладними про­грамами зарубіжного виробництва, які широко застосовують у притаманному їм вигляді без змінень і доопрацювань [97].

14.3.1. Архітектура системи

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

Мікроядерна архітектура визначає механізм взаємодій у системі: будь-які взає­модії здійснюють єдиним способом — обміном повідомленнями. У цей механізм органічно вбудовано контроль доступу. Встановлюючи тотальний контроль над потоками повідомлень, можна бути впевненим у тому, що контролюються усі взаємодії в системі.

Операційну систему Фенікс розроблено з дотриманням принципів створення захищених систем, які було розглянуто раніше.

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

Згідно з принципом уніфікації, доступ до об'єктів у системі Фенікс здійсню­ють через уніфікований інтерфейс, який дістав назву УНІДО (уніфікований ін­терфейс доступу до об'єктів). Цей інтерфейс визначає множину операцій, які є універсальними для об'єктів усіх типів, у вигляді універсального набору методів, що дає змогу виконувати всі операції доступу до об'єктів, створювати і вилучати їх, керувати їхніми властивостями. Використання УНІДО — це єдиний спосіб ви­конання будь-яких операцій над об'єктами в ОС Фенікс. Інтерфейс оформлений у вигляді абстрактного класу, від якого успадковуються інтерфейси всіх серверів Фенікс, реалізованих УНІДО. Наявність набору типових операцій спрощує реа­лізацію контролю доступу, оскільки визначено однозначну відповідність між ме­тодами УНІДО та операціями доступу, описаними моделями безпеки. Крім того, застосування об'єктно-орієнтованої технології програмування спрощує розроб­лення й розширення можливостей засобів захисту.

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

Згідно з принципом коректності, контроль і керування доступом у системі Фенікс реалізовано на основі дискреційно-ролевої та мандатної моделей керування доступом. Але завдяки інваріантності засобів контролю доступу й уніфікації операцій УНІДО, в ОС Фенікс можна застосовувати будь-які моделі безпеки, за­сновані на контролі взаємодій суб'єктів і об'єктів і керуванні атрибутами безпеки. Фенікс припускає впровадження нових моделей безпеки без змінення мікроядра та засобів контролю, можна також незалежно застосувати кілька моделей для різ­них підмножин простору об'єктів, а можна й спільно використовувати моделі (на­приклад, дискреційну і мандатну).

ОС Фенікс має такі компоненти: мікроядро, базові служби, засоби захисту, системні служби, прикладні служби, прикладні програми (застосування) системи, набір адміністративних засобів, що функціонують у середовищі Windows і здій­снюють віддалену взаємодію з Фенікс (рис. 14.4) [97]. Оскільки систему було розроблено як захищену платформу, набір прикладних програм мінімізований та містить стандартні утиліти UNIX і спеціальні засоби керування безпекою.

Мікроядро здійснює керування процесами й розподілом пам'яті, реалізує обмін повідомленнями, забезпечує ізоляцію адресних просторів процесів, контролює розподіл апаратних ресурсів. Функції мікроядра скорочені до мінімуму. На відміну від інших мікроядерних систем, мікроядро Фенікс не підтримує об'єкти високого рівня. Основна функція мікроядра — організація взаємодії компонентів обміном повідомленнями. Це єдиний механізм, що дає змогу здійснювати обмін даними між абсолютно ізольованими адресними просторами процесів. Мікроядро гарантує до­ставления повідомлень, вірогідність джерела і одержувача повідомлення, унеможливлення перехоплення, повторного передавання та підроблення повідомлень.

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

Рис. 14.4. Архітектура ОС Фенікс

Реалізація контролю доступу поза межами мікроядра дала змогу зробити мі­кроядро та служби незалежними від моделі безпеки. Функції чітко розподілено між компонентами: мікроядро забезпечує передавання запитів від клієнтів до сер­верів, сервери реалізують оброблення запитів, а керування доступом здійснює монітор взаємодій.

Окремим підкласом базових служб є апаратні драйвери. Лише їм мікроядро надає доступ до апаратних ресурсів — портів, переривань, фізичної пам'яті. Драй­вери відображають апаратні ресурси в об'єкти ОС Фенікс, які використовують інші служби, що не мають безпосереднього доступу до апаратури. Відтак лише драйвери та мікроядро Фенікс є апаратнозалежними компонентами. Більше того, реалізація мікроядра залежить лише від механізмів процесора, що відповідають