Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Конспект лекцій з дисципліни «Операційні системи»

Конспект лекцій з дисципліни «Операційні системи»




Сторінка17/17
Дата конвертації24.05.2017
Розмір1.81 Mb.
ТипКонспект
1   ...   9   10   11   12   13   14   15   16   17

ЛЕКЦІЯ 18. ЗАХИСНІ МЕХАНІЗМИ ОПЕРАЦІЙНИХ СИСТЕМ


Анотація
Стандарти забезпечення безпеки інформаційних систем. Захисні механізми операційних систем. Організацію ідентифікації й аутентификації, авторизації й аудиту в інформаційній системі.


  1. 1 Захисні механізми операційної системи

У жовтні 1988 р. в США відбулася подія, назване фахівцями найбільшим порушенням безпеки американської комп’ютерної системи. 23-річний студент випускного куpса Коpнельского університету Робеpт Т. Моppіс запустив в комп’ютерній мережі ARPANET програму, яка була представником рідкого виду комп’ютерних вірусів – мережевих "хробаків". У результату атаки був повністю або частково заблоковані декілька загальнонаціональних комп’ютерних мереж, зокрема, Internet, CSnet, NSFnet, BITnet, ARPANET і військова мережа Milnet. У підсумку вірус вразив понад 6200 комп’ютерних систем по всій Америці, включаючи системи багатьох великих університетів, інститутів, державних лабораторій, приватних фіpм, військових баз, клінік, агентства NASA. Загальні збитки від цієї атаки оцінюється фахівцями мінімум в 100 млн. дол. Р. Моppіс був виключений з університету з правом наступного вступу через рік та був засуджений до штрафу в 270 тис. дол. та трьох місяців тюремного ув'язнення.

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

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

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

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

Конфіденційна (confidentiality) система забезпечує впевненість у тому, що секретні дані будуть доступні тільки тим користувачам, яким цей доступ дозволений (такі користувачі називаються авторизованими).

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

Цілісність (integrity) системи має на увазі, що неавторизовані користувачі не можуть будь-яким чином модифікувати дані.

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

Умисні загрози поділяються на активні і пасивні.

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

Можна виділити кілька типів загроз. Найбільш поширена загроза - спроба проникнення в систему під виглядом легального користувача, наприклад спроби вгадування і підбору паролів.

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

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

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

Найбільш відома помаранчева (за кольором обкладинки) книга Міністерства оборони США [DoD, 1993]. У цьому документі визначається чотири рівні безпеки - D, С, В і А. По мірі переходу від рівня D до А до надійності систем пред'являються все більш жорсткі вимоги. Рівні С і В підрозділяються на класи (C1, C2, В1, В2, ВЗ). Щоб система в результаті процедури сертифікації могла бути віднесена до деякого класу, її захист повинен задовольняти обумовленим вимогам.

В якості прикладу розглянемо вимоги класу C2, якому задовольняють ОС Windows NT, окремі реалізації Unix і ряд інших.

1. Кожен користувач повинен бути ідентифікований унікальним вхідним ім'ям і паролем для входу в систему. Доступ до комп'ютера надається лише після аутентифікації.

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

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

4. Системний адміністратор повинен мати можливість вести облік всіх подій, що відносяться до безпеки.

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

Можна виділити кілька типів загроз. Найбільш поширена загроза - спроба проникнення в систему під виглядом легального користувача, наприклад спроби вгадування і підбору паролів.

Загрози іншого роду пов'язані з небажаними діями легальних користувачів, які можуть, наприклад, робити спроби читання сторінок пам'яті, дисків і стрічок, які зберегли інформацію, связаннСегодня на зміну помаранчевій книзі прийшов стандарт Common Criteria, а набір критеріїв Controlled Access Protection Profile змінив критерії класу C2 .

Формуючи політику безпеки, необхідно враховувати кілька базових принципів. Так, Зальтцер (Saltzer) і Шредер (Schroeder) (1975) на основі свого досвіду роботи з MULTICS сформулювали наступні рекомендації для проектування системи безпеки ОС.

1. Проектування системи має бути відкритим. Порушник і так все знає (криптографічні алгоритми відкриті).

2. Не повинно бути доступу. Помилки з відхиленням легітимного доступу будуть виявлені швидше, ніж помилки там, де дозволений неавторизований доступ.

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

4. Давати кожному процесу мінімум можливих привілеїв.

5. Захисні механізми повинні бути прості, постійні і вбудовані в нижній шар системи, це не адитивні добавки (відомо багато невдалих спроб "покращення" захисту слабо пристосованої для цього ОС MS-DOS).

6. Важлива фізіологічна прийнятність. Якщо користувач бачить, що захист вимагає дуже великих зусиль, він від неї відмовиться. Збиток від атаки і витрати на її запобігання повинні бути збалансовані.


18.2 Криптографія - базова технологія безпеки ОС
Багато служби інформаційної безпеки, такі як контроль входу в систему, розмежування доступу до ресурсів, забезпечення безпечного зберігання даних і ряд інших, спираються на використання криптографічних алгоритмів.

Шифрування - процес перетворення повідомлення з відкритого тексту (plaintext) в шіфротекст (ciphertext) таким чином, щоб:

1. його могли прочитати тільки ті сторони, для яких воно призначене;

2. перевірити справжність відправника (аутентифікація);

3. гарантувати, що відправник дійсно послав дане повідомлення.

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

У методі шифрування з секретним або симетричним ключем є один ключ, який використовується як для шифрування, так і для розшифровки повідомлення. Такий ключ потрібно зберігати в секреті. Це утрудняє використання системи шифрування, оскільки ключі повинні регулярно змінюватися, для чого потрібна їх секретне розповсюдження. Найбільш популярні алгоритми шифрування з секретним ключем: DES, TripleDES, ГОСТ та ряд інших.

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


Підходи до забезпечення інформаційної безпеки. Проблема інформаційної безпеки виявилася настільки важливою, що в ряді країн були випущені основоположні документи, в яких регламентовані основні підходи до проблеми інформаційної безпеки. У результаті виявилося можливим ранжувати інформаційні системи за ступенем надійності.
Найбільш відома помаранчева (за кольором обкладинки) книга Міністерства оборони США [DoD, 1993]. У цьому документі визначається чотири рівні безпеки - D, С, В і А. По мірі переходу від рівня D до А до надійності систем пред'являються все більш жорсткі вимоги. Рівні С і В підрозділяються на класи (C1, C2, В1, В2, ВЗ). Щоб система в результаті процедури сертифікації могла бути віднесена до деякого класу, її захист повинен задовольняти обумовленим вимогам.

В якості прикладу розглянемо вимоги класу C2, якому задовольняють ОС Windows NT, окремі реалізації Unix і ряд інших.

1. Кожен користувач повинен бути ідентифікований унікальним вхідним ім'ям і паролем для входу в систему. Доступ до комп'ютера надається лише після аутентифікації.

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

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

4. Системний адміністратор повинен мати можливість вести облік всіх подій, що відносяться до безпеки.

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

Часто використовується шифрування за допомогою односторонньої функції, званої також хеш-або дайджест-функцією. Застосування цієї функції до шіфруемого даними дозволяє сформувати невеликий дайджест з декількох байтів, з якого неможливо відновити вихідний текст. Отримувач повідомлення може перевірити цілісність даних, порівнюючи отриманий разом з повідомленням дайджест з обчисленим знову за допомогою тієї ж односторонньої функції. Ця техніка активно використовується для контролю входу в систему. Наприклад, паролі користувачів зберігаються на диску в зашифрованому односторонньої функцією вигляді. Найбільш популярні хеш-функції: MD4, MD5 і ін

У системах шифрування з відкритим або асиметричним ключем (public / assymmetric key) використовується два ключі (див. рис. 5.3). Один з ключів, званий відкритим, несекретних, використовується для шифрування повідомлень, які можуть бути розшифровані тільки за допомогою секретного ключа, наявного в одержувача, для якого призначене повідомлення. Іноді надходять по-іншому. Для шифрування повідомлення використовується секретний ключ, і якщо повідомлення можна розшифрувати за допомогою відкритого ключа, справжність відправника буде гарантована (система електронного підпису). Цей принцип винайдений Уітфілд Діффі (Whitfield Diffie) і Мартіном Хеллманом (Martin Hellman) у 1976 р.

Малюнок 18.1 - Шифрування відкритим ключем
Використання відкритих ключів знімає проблему обміну і зберігання ключів, властиву системам з симетричними ключами. Відкриті ключі можуть зберігатися публічно, і кожен може послати зашифроване відкритим ключем повідомлення власнику ключа. Однак розшифрувати це повідомлення може тільки власник відкритого ключа за допомогою свого таємного ключа, і ніхто інший. Незважаючи на очевидні зручності, пов'язані зі зберіганням і розповсюдженням ключів, асиметричні алгоритми набагато менш ефективні, ніж симетричні, тому в багатьох криптографічних системах використовуються обидва методи.

Серед несиметричних алгоритмів найбільш відомий RSA, запропонований Роном Рівестом (Ron Rivest), Аді Шамір (Adi Shamir) і Леонардом Едлманом (Leonard Adleman).


18.3 Ідентифікація і аутентифікація

Найбільш поширеним способом контролю доступу є процедура реєстрації. Зазвичай кожен користувач у системі має унікальний ідентифікатор. Ідентифікатори користувачів застосовуються з тією ж метою, що і ідентифікатори будь-яких інших об'єктів, файлів, процесів. Ідентифікація полягає в повідомленні користувачем свого ідентифікатора. Для того щоб встановити, що користувач саме той, за кого себе видає, тобто що саме йому належить введений ідентифікатор, в інформаційних системах передбачена процедура аутентифікації (authentication, упізнання, в перекладі з латинської означає "встановлення автентичності"), завдання якої - запобігання доступу до системи небажаних осіб.

Зазвичай аутентифікація базується на одному або більше з трьох пунктів:

1. те, чим користувач володіє (ключ або магнітна карта);

2. те, що користувач знає (пароль);

3. атрибути користувача (відбитки пальців, підпис, голос).

Паролі, уразливість паролей. Найбільш простий підхід до аутентифікації - застосування користувальницького пароля.

Коли користувач ідентифікує себе за допомогою унікального ідентифікатора або імені, у нього запитується пароль. Якщо пароль, повідомлений користувачем, збігається з паролем, що зберігаються в системі, система припускає, що користувач легітимний. Паролі часто використовуються для захисту об'єктів в комп'ютерній системі у відсутність більш складних схем захисту.

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

Є два загальні способу вгадати пароль. Один пов'язаний зі збором інформації про користувача. Люди зазвичай використовують як паролі очевидну інформацію (скажімо, імена тварин або номерні знаки автомобілів). Для ілюстрації важливості розумної політики призначення ідентифікаторів і паролів можна навести дані досліджень, проведених в AT & T, що показують, що з 500 спроб несанкціонованого доступу близько 300 складають спроби вгадування паролів або безпарольного входу по користувальницьких іменах guest, demo і т. д.

Інший спосіб - спробувати перебрати всі найбільш ймовірні комбінації букв, чисел і знаків пунктуації (атака за словником). Наприклад, чотири десяткові цифри дають тільки 10 000 варіантів, більш довгі паролі, введені з урахуванням регістру символів та пунктуації, не настільки вразливі, але тим не менше такий спосіб вдається розгадати до 25% паролів. Щоб змусити користувача вибрати складний пароль, у багатьох системах впроваджена реактивна перевірка паролів, яка за допомогою власної програми-зломщика паролів може оцінити якість пароля, введеного користувачем.

Незважаючи на все це, паролі поширені, оскільки вони зручні і легко реалізовувані.

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

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

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

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

2. Суб'єкт може записувати інформацію в об'єкти тільки свого рівня або більш високих рівнів секретності. Генерал не може випадково розголосити нижнім чинам секретну інформацію.
18.4 Домени безпеки
Щоб розглянути схему дискреційного доступу більш детально, введемо концепцію домену безпеки (protection domain). Кожен домен визначає набір об'єктів і типів операцій, які можуть проводитися над кожним об'єктом. Можливість виконувати операції над об'єктом є права доступу, кожне з яких є впорядкована пара . Домен, таким чином, є набір прав доступу. Hаприклад, якщо домен D має права доступу , це означає, що процес, що виконується в домені D, може читати або писати в файл F, але не може виконувати інших операцій над цим об'єктом. Приклад доменів можна побачити на рис.18.2.

Рис. 18.2 – Специфікація прав доступу до ресурсів


Матриця доступу. У загальному випадку матриці доступу буде розрідженою, тобто більшість її клітин будуть порожніми. Хоча існують структури даних для представлення розрідженої матриці, вони не дуже корисні для додатків, що використовують можливості захисту. Тому на практиці матриця доступу застосовується рідко. Цю матрицю можна розкласти по стовпцях, в результаті чого виходять списки прав доступу (access control list - ACL).
18.5 Виявлення вторгнення. Аудит системи захисту
Навіть найкраща система захисту рано чи пізно буде зламана. Виявлення спроб вторгнення є найважливішим завданням системи захисту, оскільки її рішення дозволяє мінімізувати збиток від злому і збирати інформацію про методи вторгнення. Як правило, поведінка зломщика відрізняється від поведінки легального користувача. Іноді ці відмінності можна виразити кількісно, наприклад підраховуючи число некоректних вводів пароля під час реєстрації. Основним інструментом виявлення вторгнень є запис даних аудиту. Окремі дії користувачів протоколюються, а отриманий протокол використовується для виявлення вторгнень. Аудит, таким чином, полягає в реєстрації спеціальних даних про різні типи подій, що відбуваються в системі і так чи інакше впливають на стан безпеки комп'ютерної системи. До числа таких подій зазвичай зараховують наступні:

1. вхід або вихід із системи;

2. операції з файлами (відкрити, закрити, перейменувати, видалити);

3. звернення до віддаленої системи;

4. зміна привілеїв чи інших атрибутів безпеки (режиму доступу, рівня благонадійності користувача і т. п.).

Крім протоколювання, можна періодично сканувати систему на наявність слабких місць в системі безпеки. Таке сканування може перевірити різноманітні аспекти системи:

1. короткі або легкі паролі;

2. неавторизовані set-uid програми, якщо система підтримує цей механізм;

3. неавторизовані програми в системних директоріях;

4. довго запущені програми;

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

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



7. зміни в системних програмах, виявлені за допомогою контрольних сум.

Будь-яка проблема, виявлена сканером безпеки, може бути як ліквідована автоматично, так і передана для вирішення менеджеру системи.
1   ...   9   10   11   12   13   14   15   16   17