Нарощуваність сьогодні забезпечується декількома способами. Створити систему з нарощуваною продуктивністю можна, наприклад, використавши симетричну мультипроцесорну обробку (СМПО). У таких системах декілька процесорів використовують одну загальну пам’ять і пристрої введення/виводу. У традиційній моделі "спільного використання пам’яті" виконується одна копія операційної системи, а процеси прикладних задач працюють так, ніби в системі лише один процесор. При запуску в такій системі додатків, що не використовують загальні дані, досягається високий степінь нарощуваності. Основним гальмуючим фактором використання систем з симетричною обробкою є фізичні обмеження швидкості роботи шини і доступу до пам’яті. У міру збільшення швидкості роботи процесорів зростає їх вартість.
Архітектура кластера
Кластери можуть мати різні форми. Наприклад, в якості кластера може виступати кілька комп’ютерів, зв’язаних мережею Ethernet. Кластерами високого рівня є високопродуктивні багатопроцесорні СМПО-системи, пов’язані високошвидкісною шиною. В обох випадках збільшення обчислювальної потужності досягається невеликими кроками при додаванні чергової системи. З точки зору клієнта, кластер представляється у вигляді одного сервера або образу однієї системи, хоча реально складається з декількох комп’ютерів. Сьогодні в кластерах використовуються в основному дві моделі: з загальними дисками і без загальних компонент.
Модель із загальними дисками
У моделі з загальними дисками програмне забезпечення, що виконується на будь-якій з систем, що входять в кластер, має доступ до ресурсів систем кластера. Якщо двом системам потрібні одні і ті ж дані, то вони або двічі зчитуються з диска, або копіюються з однієї системи на іншу. У СМПО-системах додаток повинен синхронізувати і перетворити в послідовний вид доступ до загальних даних. Зазвичай для організації синхронізації використовується Диспетчер розподілених блокувань (DLM). Служба DLM дозволяє додаткам відслідковувати звернення до ресурсів кластера. Якщо до одного ресурсу звертається більше двох систем одночасно, Диспетчер розподілених блокувань розпізнає і запобігає потенційний конфлікт. Процеси DLM можуть призводити до додаткового трафіку повідомлень у мережі і знизити продуктивність. Один із способів уникнути цього ефекту – програмна модель без загальних компонент.
Модель без загальних компонент
У моделі без загальних компонент кожна система, що входить в кластер, володіє підмножиною ресурсів кластера. У кожен момент часу тільки одна система має доступ до певного ресурсу, хоча при збоях інша динамічно обумовлена система може вступити у володіння цим ресурсом. Запити від клієнтів автоматично перенаправляються до тих систем, які володіють необхідним ресурсом.
Якщо в запиті клієнта міститься звернення до ресурсів, що знаходяться у володінні кількох систем, то одна вибирається для обслуговування запитів (її називають хост-системою). Потім вона аналізує запит і передає підзапити відповідним підсистемам. Вони виконують отриману частину запиту і результат повертають хост-системі, яка формує остаточний результат і відсилає його клієнту. Додаток, розподілений між декількома системами, що входять в кластер, дозволяє подолати технічні обмеження, властиві одному комп’ютеру. Моделі із загальним диском і модель без загальних компонент можуть працювати в межах одного кластера. Деякі програми найбільш просто використовують можливості кластера в рамках моделі із загальним диском. До таких додатків належать завдання, що вимагають інтенсивного доступу до даних, а також завдання, які важко розділити на частини. Додатки, для яких важлива нарощуваність, повинні використовувати модель без загальних компонент.
Контрольні запитання
1.Основні вимоги, які висуваються до обчислювальних мереж та інформаційних систем.
2.Модель реалізації загроз інформаційних ресурсів в інформаційних системах.
3.Моделі порушника в сучасних глобальних (локальних) мережах та інформаційних системах.
4.Організація захисту пам’яті в сучасних ПК.
5.Захист пам’яті ПК методом граничних регістрів.
6.Захист пам’яті методом ключей захисту.
7. Моделі безпеки, що застосовуються при побудові захисту в СУБД.
Розділ 13. Використання паролів і механізмів контролю за доступом
13.1. Формальні моделі доступу. Дискреційний та мандатний доступ до інформації
Схему класифікації та взаємозв’язки математичних моделей безпеки комп’ютерних систем подано на рис. 13.1.
Розглянемо деякі моделі доступу детальніше.
|
Математичні моделі безпеки |
Модель Харрісона – |
Модель |
|
типізованої |
|
|
|
|
|
|
|
Руззо – Ульмана |
матриці |
|
Дискреційне |
|
доступу |
|
|
|
|
розмежування доступу |
Класична |
Розширена |
|
|
модель Take- |
модель Take- |
|
|
Grant |
Grant |
|
Рольове розмежування |
Базова модель рольового |
|
розмежування доступу |
|
доступу |
|
|
|
|
|
Програмна модель |
|
Безпека |
|
|
|
інформаційних |
Автоматна модель |
|
потоків |
|
|
|
|
|
Імовірнісна модель |
|
Мандатне розмежування |
|
Модель систем |
|
доступу |
|
військових |
|
|
повідомлень |
|
|
Класична модель |
|
|
Белла-Ла Падулі |
|
|
|
|
Політика Low |
|
Суб’єкто-орієнтована |
Модель |
Watermark |
|
модель ізольованого |
|
|
безпеки |
|
|
програмного середовища |
Модель цілісності |
|
переходів |
|
|
Біба |
|
|
|
Рис. 13.1. Схема класифікації та взаємозв’язки математичних
моделей безпеки комп’ютерних систем
Усі математичні моделі безпеки поділяються, згідно з на п’ять класів:
моделі систем дискреційного розмежування доступу; моделі систем мандатного розмежування доступу; моделі безпеки інформаційних потоків; моделі рольового розмежування доступу;
суб’єктно-орієнтована модель ізольованого програмного середовища.
13.1.1. Дискреційна модель доступу
Дискреційна модель доступу будується на основі дискреційного розмежування доступом (Discretionary Access Control), яке визначається двома правилами:
усі суб’єкти та об’єкти системи ідентифіковано; права доступу суб’єктів до об’єктів визначаються на основі деяких
зовнішніх щодо системи правилах.
Основним елементом систем з дискреційним розмежуванням доступу є матриця доступу.
Якщо {S} – множина суб’єктів; {O} – множина об’єктів системи; {R} – множина типів доступу, тоді матриця доступу визначається як прямокутна матриця розмірності S×O, рядки якої відповідають суб’єктам, а стовпчики – об’єктам. При цьому кожен елемент матриці M(s,o) R визначає права доступу суб’єкта S на об’єкт O.
До переваг дискреційної моделі доступу можна віднести відносно просту реалізацію системи розмежування доступу. Цим і зумовлений той факт, що більшість розповсюджених сьогодні комп’ютерних систем реалізують саме дискреційну політику розмежування доступу. Ще однією перевагою вважають високу деталізацію доступу.
До недоліків дискреційної моделі слід віднести статичність визначених у ній правил розмежування доступу. Ця модель не враховує динаміку зміни стану комп’ютерної системи. Крім того, її складно адмініструвати.
Існує ще один недолік: оскільки правила розмежування доступу – зовнішні, система, взагалі кажучи, не може надати надійних механізмів перевірки того, чи не призведуть ті чи інші дії користувача до порушень політики безпеки. Виняток становить модель Take-Grant.
434
Вказані недоліки змусили шукати інші, досконаліші моделі політики безпеки.
У якості прикладу дискреційної моделі доступу розглянемо модель
Харрісона – Руззо – Ульмана.
Нехай {S} – множина суб’єктів; {O} – множина об’єктів системи;
{R}={r,w,e} – множина типів доступу (r – read; w – write; e – execute). Тоді матриця доступу буде мати вигляд:
|
O1 |
O2 |
… |
Om |
S1 |
r |
- |
… |
r,w |
S2 |
- |
e |
… |
r |
… |
… |
… |
… |
… |
|
|
|
|
|
Sn |
r,w |
r,w,e |
… |
r,w,e |
|
|
|
|
|
Оскільки модель Харрісона – Руззо – Ульмана належить до дискреційних, усі переваги та недоліки останніх притаманні і їй. Зокрема, вона не надає надійних механізмів перевірки легітимності дій користувача з точки зору політики безпеки. Також вона не здатна сама слідкувати за зміною рівня безпеки інформації.
13.1.2. Мандатна модель доступу
Мандатна (повноважна) політика безпеки ґрунтується на мандатному розмежуванні доступу (Mandatory Access Control), яке повинно задовольняти чотири вимоги:
усі суб’єкти та об’єкти системи однозначно ідентифіковані; задано рівні конфіденційності інформації;
кожному об’єкту системи привласнено рівень конфіденційності, який визначає цінність інформації, що міститься в ньому;
кожному суб’єкту привласнено певний рівень доступу (повноважень), який визначає рівень довіри до нього в комп’ютерній системі.
Основна мета мандатної моделі доступу полягає в тому, щоб перешкоджати витоку інформації від об’єктів з високим рівнем конфіденційності до об’єктів з низьким рівнем, тобто протидіяти виникненню небезпечних інформаційних потоків "з гори-вниз".
Основною перевагою мандатної системи доступу є те, що вона сама слідкує за збереженням рівня конфіденційності інформації та протидіє його зниженню. Вона також простіша в адмініструванні.
Недоліками цієї моделі доступу вважають те, що вона не розмежовує права доступу до інформації всередині одного рівня конфіденційності, а також виникнення деяких парадоксів, які зумовлені простотою формальної моделі.
Часто поняття мандатної моделі доступу описуються в термінах моделі Белла-Ла Падулі.
Модель доступу Белла-Ла Падулі. Нехай {S} – множина суб’єктів;
{O} – множина об’єктів системи; {R}={r,w,e} – множина типів доступу (r – read; w – write; e – execute). Нехай також визначено рівні конфіденційності об’єктів LО={U,SU,S,TS} (Unclassified (U) – несекретно; Sensitive but Unclassified (SU) – для службового користування (ДСК); Secret (S) – таємно; Top Secret (TS) – цілком таємно). Аналогічну множину можна обрати для рівнів доступу суб’єктів: LS={U,SU,S,TS}.
Для того, щоб система протидіяла зниженню рівня конфіденційності інформації, було запропоновано два внутрішніх правила, згідно з якими надається доступ: Don’t read up (заборонити читати інформацію вищого рівня конфіденційності) та Don’t write down (заборонити записувати інформацію в об’єкти нижчого рівня конфіденційності). Такий підхід інтуїтивно зрозумілий: користувач не повинен читати інформацію вищого рівня конфіденційності, якщо він має нижчий (don’t read up), а також не може записувати свою інформацію в об’єкт нижчого рівня, щоби користувачі з нижчим рівнем доступу не могли з нею ознайомитися (don’t write down).
Доступ відбувається в такий спосіб. Коли суб’єкт "просить" систему безпеки надати йому доступ на читання до деякого об’єкта, система розмежування доступу порівнює його рівень доступу з рівнем конфіденційності об’єкта і надає доступ, якщо LS ≥ LO. У разі, якщо суб’єкт просить доступ на запис, його буде надано, якщо LO ≥ LS.
Звідси яскраво видно один з недоліків моделі Белла-Ла Падулі: можна записати нашу інформацію у вищій рівень конфіденційності, а прочитати її потім не можна.
Для ілюстрації розглянемо дворівневу модель Белла-Ла Падулі (рис. 13.2). Нехай є два суб’єкти S = {S1, S2} і два об’єкти O = {O1, O2}; список типів доступу налічує усього читання та запис: R = {R,W}.
Рівні конфіденційності об’єктів та рівні доступу суб’єктів такі: LО = = {1,2}; LS= {1,2}, причому рівень 1 вважається вищим за рівень 2.
|
|
W |
|
|
|
|
Вищий рівень |
S1 |
|
|
|
Ol |
|
|
|
|
|
|
|
R |
R |
|
|
|
|
|
|
|
|
|
W |
|
R |
|
|
|
R |
|
O2 |
|
|
|
S2 |
|
Нижчий рівень |
|
|
|
|
|
|
|
|
|
|
|
W |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 13.2. Дворівнева модель Белла-Ла Падулі
Проаналізуємо отриману модель. Як можна спостерігати, всередині одного рівня доступ на запис та читання не забороняється. Однак, проблема тут полягає в іншому: як в межах моделі розмежувати права доступу до об’єктів різних користувачів, що мають один рівень доступу? В таких випадках всередині одного рівня конфіденційності використовують дискреційну модель доступу.
Що стосується різних рівнів конфіденційності, то, як бачимо, S1 отримає доступ до об’єкта O2 на читання, а от записати туди свою інформацію не зможе. Більш екстремальним видається інший випадок: модель дозволяє суб’єкту S2 записати свою інформацію в об’єкт O1, а прочитати її система розмежування доступу потім не дозволить.
Для подолання вказаних недоліків було розроблено мандатні моделі зі зміною атрибутів доступу в процесі роботи системи. Однією з таких модифікованих моделей вважається модель ватерлінії (Low Watermark Model).
У цій моделі, якщо суб’єкт S читає об’єкт O, рівень конфіденційності якого LО > LS, то доступ надається (правило don’t read up в моделі БеллаЛа Падулі), однак рівень доступу суб’єкта "підтягується", тобто LS = LO. В разі, коли суб’єкт хоче писати в об’єкт при LS > LO, то йому також надається доступ (правило don’t write down в моделі Белла-Ла Падулі), але рівень конфіденційності об’єкта автоматично підвищується до рівня суб’єкта, тобто знову LS = LO.
Політика безпеки інформаційних потоків зосереджена на розмежуванні усіх інформаційних потоків між об’єктами системи на дві множини, що не перетинаються: множину корисних потоків та множину небезпечних потоків. Мета політики інформаційних потоків полягає
в тому, щоб забезпечити неможливість виникнення небезпечних потоків у комп’ютерній системі. Реалізація цієї політики досить складна, особливо, якщо треба забезпечувати неможливість виникнення небезпечних потоків по часу. Політика безпеки інформаційних потоків застосовується, як правило, разом з політикою дискреційного або мандатного розмежування доступу.
Політика рольового розмежування доступу є розвитком дискреційної моделі доступу; при цьому права доступу суб’єктів групуються з врахуванням специфіки їх застосування, утворюючи ролі.
Створення ролей робить дискреційну політику безпеки зрозумілішою для користувачів. На її основі можна реалізувати гнучкі, динамічні правила розмежування доступу, в тому числі, на основі ролевого розмежування можна реалізувати мандатну модель.
Політика ізольованого програмного середовища реалізується на основі ізолювання суб’єктів таким чином, щоби вони могли породжувати інших суб’єктів лише з дозволеного переліку. При цьому необхідно контролювати цілісність об’єктів системи, які впливають на функціональність суб’єктів, що активізуються.
Інша група моделей розглядає питання захисту обчислювальних систем від загроз цілісності інформації. Однією з таких моделей є
модель цілісності Біба.
У моделі існують рівні цілісності суб’єктів та об’єктів ІS та IO. При цьому доступ на читання надається лише тоді, коли ІS ≤ IO, а доступ на запис – якщо ІO ≤ IS. Ці два правила, по аналогії з моделлю Белла-Ла Падулі, можуть бути описані таким чином:
don’t read down (це називається простим правилом цілісності); don’t write up (це називають – правилом цілісності).
Ці правила також інтуїтивно зрозумілі. Система повинна перешкоджати зниженню рівня цілісності, а отже, суб’єкт може читати лише інформацію вищого рівня цілісності, однак змінювати її не може. Змінювати він може лише інформацію з меншим рівнем цілісності.
Хорошим прикладом можуть служити файли операційної системи. Вони повинні мати найвищий рівень цілісності. Необхідно захищати їх від зміни (запису). Водночас вони повинні бути доступними для усіх користувачів, отже, рівень конфіденційності у них – найнижчий.
Існують також моделі Біба з пониженням рівня цілісності об’єкта та з пониженням рівня цілісності суб’єкта. В першому випадку після операції запису інформації суб’єктом в об’єкт рівень цілісності об’єкта зменшується до рівня цілісності суб’єкта (так що ІS = IO), в другому – після операції читання рівень цілісності суб’єкта зменшується до рівня прочитаного об’єкта (так що знов ІS = IO).
Якщо потрібно одночасно захищати конфіденційність та цілісність інформації, використовують композитні моделі розмежування доступу, які об’єднують модель конфіденційності Белла-Ла Падулі та модель цілісності Біба.
13.2. Аналіз захищеності сучасних операційних систем
При оцінці ступеня захищеності операційних систем діє нормативний підхід, згідно з яким сукупність завдань, що виконується системою безпеки, повинна задовольняти певні вимоги. Їх перелік визначається загальноприйнятими стандартами, наприклад, TCSEC ("Оранжева книга") або Загальні критерії. В Україні також діють критерії оцінки захищеності комп’ютерних систем від несанкціонованого доступу (НСД). Такі стандарти складають основі політики безпеки системи. Політика безпеки передбачає відповіді на такі питання: яку інформацію захищати, якого роду загрози можуть реалізовуватися в системі, які засоби планується використати для захисту від кожного типу атак.
До сучасних популярних операційних систем (ОС) сьогодні прийнято відносити два сімейства: Windowsта Linux. Обидва сімейства, як це було показано, переважно задовольняють вимоги класу С2 "Оранжевої книги", які коротко полягають в такому:
1.Кожен користувач повинен бути ідентифікований унікальним вхідним ім’ям і паролем для входу у систему. Доступ до комп’ютера надається лише після автентифікації. Повинні бути виконані запобіжні заходи проти спроби застосування фальшивої програми реєстрації.
2.Система повинна бути в змозі використовувати унікальні ідентифікатори користувачів, щоб стежити за їх діями (тобто реа-
лізовувати управління дискреційним доступом). Власник ресурсу
(наприклад, файла) повинен мати можливість контролювати доступ до цього ресурсу.
3.Для управління довірчими відносинами необхідна підтримка наборів ролей (різних типів облікових записів). Окрім того, в системі повинні бути засоби для управління привілейованим доступом.
4.ОС повинна захищати об’єкти від повторного використання. Перед виділенням новому користувачу всі об’єкти, включаючи пам’ять і файли, повинні бути проініційовані.
5.Системний адміністратор повинен мати можливість обліку всіх подій, що належать до безпеки (це значить, що повинен бути налагоджений аудит безпеки).
6.Система повинна захищати себе від зовнішнього впливу або нав’язування, такого, як модифікація завантаженої системи або системних файлів, що зберігаються на диску.
Проаналізуємо тепер, як у рамках архітектури згаданих операційних систем забезпечується виконання вимог політики безпеки.
13.3. Підсистема захисту в ОС Windows
Вивчення структури системи захисту допомагає зрозуміти особливості її функціонування. Незважаючи на слабку документованість ОС Windows за непрямими джерелами, можна судити про особливості її функціонування.
Архітектура системи безпеки Windows XP складається з таких компонентів:
а) процес реєстрації користувачів (logon-process, winlogon).
Його завдання полягає у перехопленні запитів користувача на реєстрацію та отриманні ідентифікаційних даних від користувачів;
б) локальна підсистема безпеки (Local Security Authority
SubSysthem LSASS). Її завдання – слідкувати за процесом автентифікації, доступом користувачів та аудитом в системі;
в) менеджер облікових записів (Security Account Manager, SAM).
Він повинен забезпечувати підтримку автентифікаційної бази даних SAM;
г) диспетчер звернень (SecurityReferenceMonitor) перехоплює звернення користувачів до об’єктів захисту і передає їх на обробку LSASS. SRM виконується в режимі ядра ОС.