- •Опорний конспект лекцій
- •Тематичний план курсу модуль I
- •Лекція № 1
- •Тема I: Предмет, методи і завдання дисципліни.
- •1. Предмет і задачі інформатики
- •2. Уявлення про інформаційне суспільство
- •Лекція № 2
- •Тема I: Предмет, методи і завдання дисципліни.
- •1. Історія розвитку обчислювальної техніки
- •1.1. Еволюція засобів обчислювальної техніки
- •1.2. Покоління сучасних комп’ютерів
- •1.2.2. Друге покоління комп’ютерів (1958–1960 роки)
- •2. Загальні відомості про персональний комп’ютер
- •2.1. Склад
- •2.2. Загальні відомості про пристрої, що входять до складу персонального комп’ютера
- •Лекція № 3
- •Тема 2: Теоретичні основи економічної інформатики.
- •Поняття економічної інформації, її особливості.
- •2. Класифікація й кодування економічної інформації
- •2.1. Система класифікації
- •2.2. Система кодування
- •3. Класифікація економічної інформації за різними ознаками
- •Лекція № 4
- •Тема 2: Теоретичні основи економічної інформатики.
- •1. Загальні відомості про системи числення
- •2. Системи кодування інформації в еом.
- •Кодування текстових даних
- •Базова таблиця кодування ascii
- •Кодування Windows 1251
- •Кодування кои-8
- •Кодування iso
- •Універсальна система кодування текстових даних
- •Кодова таблиця 0400 стандарту Unicode
- •Кодування графічних даних
- •Кодування звукової інформації
- •Одиниці виміру даних
- •3. Форми подання чисел в еом.
- •Лекція № 5
- •Тема 2: Теоретичні основи економічної інформатики.
- •1. Поняття інформаційної технології
- •Співставлення основних компонентів технологій
- •2. Класифікація інформаційних технологій
- •Інфор- матика
- •Основні характеристики нової інформаційної технології
- •3. Складові частини інформаційних технологій
- •Лекція № 6
- •Тема III: Системне забезпечення інформаційних процесів.
- •Поняття та призначення програмного забезпечення, класифікація
- •Загальні основи операційних систем
- •Призначення і функції ос
- •Класифікація ос
- •3. Мережні операційні системи
- •Мережні й розподілені ос
- •Функціональні компоненти мережної ос
- •Мережні служби й мережні сервіси
- •Вбудовані мережні служби й мережні оболонки
- •Однорангові й серверні мережні операційні системи
- •Вимоги до ос
- •Лекція № 7
- •Тема III: Системне забезпечення інформаційних процесів.
- •1. Логічна організація файлової системи
- •Мета і завдання файлової системи
- •Типи файлів
- •Ієрархічна структура файлової системи
- •Імена файлів
- •Монтування
- •Атрибути файлів
- •Логічна організація файлу
- •Фізична організація файлової системи
- •Диски, розділи, сектори, кластери
- •Фізична організація й адресація файлу
- •Фізична організація fat
- •Фізична організація s5 і ufs
- •Фізична організація ntfs
- •Захист від збоїв і несанкціонованого доступу
- •Основні поняття безпеки
- •Базові технології безпеки ос
- •Основні засоби захисту, убудовані в ос
- •Ядро безпеки ос
- •Механізм ідентифікації й аутентифікації в ос Windows nt
- •Механізми захисту в ос unix
Механізм ідентифікації й аутентифікації в ос Windows nt
Механізм ідентифікації й аутентификаціїї користувача в ОС Windows NT реалізується спеціальним процесом Winlogon, що активізується на початковому етапі завантаження ОС і залишається активним протягом усього періоду її функціонування. Ядро операційної системи регулярно перевіряє стан даного процесу і у випадку його аварійного завершення відбувається аварійне завершення роботи всієї операційної системи.
При вході в систему користувач передає в системну функцію LogonUser своє ім’я, пароль і ім’я робочої станції або домену, в якому даний користувач зареєстрований. Якщо користувач успішно ідентифікований, функція LogonUser повертає покажчик на маркер доступу користувача, що надалі використовується при будь-якому його звертанні до захищених об’єктів системи.
У кожний момент часу Winlogon може перебувати в одному із станів, показаних на рис. 21.
Рис. 21. Тимчасова діаграма процесів аутентифікації
Коли користувач ще не ввійшов у систему, Winlogon перебуває в стані 1, користувачеві пропонується ідентифікувати себе й надати підтверджувальну інформацію (у стандартній конфігурації – пароль). Якщо інформація, уведена користувачем, дає йому право входу в систему, активізується оболонка системи (як правило, Program Manager) і Winlogon перемикається в стан 2.
Коли користувач увійшов у систему, Winlogon перебуває в стані 2. У цьому стані користувач може припинити роботу, вийшовши із системи, або заблокувати робочу станцію. У першому випадку завершує всі процеси, пов’язані з сеансом, що завершується, і перемикається в стан 1. У другому випадку Winlogon виводить на екран повідомлення про те, що робоча станція заблокована, і перемикається в стан 3.
У стані 3 Winlogon виводить на екран запрошення користувачеві ідентифікувати себе й розблокувати робочу станцію. Це може зробити або її користувач, що заблокував, або адміністратор. У першому випадку система повертається в той стан, у якому перебувала безпосередньо перед блокуванням, і перемикається в стан 2. У другому випадку всі процеси, пов’язані з поточним сеансом, завершуються, і Winlogon перемикається в стан 1.
Коли робоча станція заблокована, фонові процеси, запущені користувачем до блокування, продовжують виконуватися.
Механізми захисту в ос unix
Ідентифікація й аутентифікація. Розглянемо стандартну процедуру ідентифікації й аутентифікації користувача. Система шукає ім’я користувача у файлі /etc/passwd і, якщо користувач ідентифікується (тобто його ім’я знайдене), аутентификація полягає в порівнянні образу аутентифіикації від введеного пароля з еталоном. При цьому передбачені деякі правила щодо характеристик пароля і можливості його зміни. Але, як показала практика, цих правил недостатньо для реалізації надійного захисту.
У надійній системі стандартна процедура ідентифікації й аутентифікації розширена. У ній передбачено більше правил, що стосуються типів використовуваних паролів. Введено процедури генерації й зміни паролів. Змінено місце розташування й механізм захисту деяких частин бази даних паролів. Адміністраторові аутентифікації надані додаткові можливості для контролю за діями користувачів.
Для посилення якісних і кількісних характеристик процедур ідентифікації й аутентифікації в UNIX існують наступні засоби.
Задання адміністратором обліку користувачів і терміналів певних вимог на паролі:
обмеження мінімальної довжини пароля, що вводиться користувачем,;
вимога наявності в паролі обов’язкової мінімальної кількості букв нижнього регістру, букв верхнього регістру, цифр і спеціальних символів;
заборона користувачеві введення власних паролів; дозвіл вводити тільки паролі, створені системою.
Задання адміністратором тимчасових обмежень на частоту змінюваності і часу життя паролів. При цьому для зручності користувача можливе задання інтервалу між початком вимоги зміни пароля і закінченням терміну його дії.
Автоматичне блокування користувача на вході в систему за давністю пароля, за числом неуспішних спроб входу.
Задання кількості й номерів терміналів для входу в систему для кожного користувача.
Перевірка системою паролів користувачів при введенні на їхні семантичні і контекстуальні особливості (входження ідентифікатора, ім’я користувача, повторюваність символів тощо).
Зберігання зашифрованих паролів не в /etc/passwd, як у старих версіях, оскільки цей файл відкритий для читання всім користувачам, а в закритому від доступу окремому файлі.
Одержання статистичної інформації з часу роботи користувача в системі, його блокуванню, номеру термінала тощо.
Крім цього існує можливість блокування за числом неуспішних спроб входу не тільки користувача, але і терміналу. При цьому можна задати інтервал часу, який повинен пройти між спробами реєстрації. Також передбачене ведення записів про успішні і неуспішні спроби входу в систему.
Добре себе зарекомендувало використання командного інтерпретатора rsh. Користувач, по-перше, не може перейти нікуди із свого домашнього довідника. По-друге, він може використовувати тільки команди з тих довідників, які визначені в змінній оточення PATH. При цьому змінити значення змінної оточення PATH користувач не може. По-третє, користувач не може задавати повні імена програмних файлів і перенаправляти потоки введення-виведення.
Захист файлової системи. Очевидно, що найбільша увага в питаннях захисту операційної системи повинна бути приділена захисту файлової системи.
Кожний файл у системі має унікальний індекс. Індекс – це керуючий блок. У літературі він також називається індексним дескриптором, i-node, або i-вузлом. Індекс містить інформацію, необхідну будь-якому процесу для того, щоб звернутися до файлу, наприклад, права власності на файл, права доступу до файлу, розмір файлу й розташування даних файлу у файловій системі. Процеси звертаються до файлів, використовуючи чіткий набір системних викликів і ідентифікуючи файл рядком символів, які виступають як складене ім’я файлу. Кожне складене ім’я однозначно визначає файл, завдяки чому ядро системи перетворить це ім’я в індекс файлу. Індекси існують на диску в статичній формі, і ядро зчитує їх у пам’ять перш, ніж почати з ними працювати.
Традиційно у файлових системах ОС UNIX за доступ до всіх типів файлів (файли, каталоги й спеціальні файли) відповідають 9 біт, які зберігаються в i-вузлі.
Перша група з 3 біт визначає права доступу до файлу для його власника, друга – для членів групи власника, третя – для всіх інших користувачів.
Наприклад, права доступу “rwxr-xr-” до файлу означають, що власник файлу має повний доступ, члени групи мають можливість читання й виконання, всі інші мають можливість тільки читати даний файл. Для каталогу установка біта виконання “х” означає можливість пошуку (добування) файлів із цього каталогу.
Така система захисту файлів існує досить давно й не викликає істотних нарікань. Дійсно, для того щоб вручну, тобто не використовуючи системні виклики й команди, змінити права доступу до файлу, необхідно мати доступ до області i-вузлів. Для того щоб мати доступ до області i-вузлів, необхідно змінити права доступу спеціального файлу (наприклад, /dev/root), біти доступу якого також зберігаються в області i-вузлів.
Іншими словами, якщо випадково або навмисне не зіпсувати права доступу до всіх файлів системи, установлені за замовчуванням (звичайно правильно) при інсталяції, то можна з великим ступенем імовірності гарантувати безпеку роботи системи.
Деякі UNIX-системи (наприклад, Solaris) надають додаткові можливості з керування правами доступу до файлів шляхом використання списків керування доступом (Access Control List). Даний механізм дозволяє для кожного користувача або для окремої групи встановити індивідуальні права доступу до заданого файлу. При цьому списки доступу зберігаються всіма системними копіюваннями способами й архівування. Не можна сказати, що введення цього механізму принципово поліпшує захист файлів, але він вносить деяку гнучкість у процедуру формування прав доступу до файлів.
Контроль цілісності системи. Цілісність системи повинна контролюватися ОС. В ОС UNIX контроль цілісності системи здійснюється рядом спеціальних команд.
Стандартна послідовність дій після виникнення збоїв у системі або яких-небудь інших відхиленнях наступна:
виконання перевірки файлової системи;
складання контрольного звіту;
перевірка бази даних аутентифікації;
перевірка дозволів для системних файлів.
Засоби аудиту. Будемо вважати, що дія контролюється, якщо можна знайти реального користувача, що її здійснив. Система контролю UNIX реєструє події в системі, пов’язані із захистом інформації, записуючи їх у контрольний журнал. У контрольних журналах можлива фіксація проникнення в систему й неправильне використання ресурсів. Контроль дозволяє переглядати зібрані дані для вивчення видів доступу до об’єктів і спостереження за діями окремих користувачів і їхніх процесів. Спроби порушення захисту й механізмів авторизації контролюються. Використання системи контролю дає високий ступінь гарантії виявлення спроб обійти механізми забезпечення безпеки. Оскільки події, пов’язані із захистом інформації, контролюються і враховуються аж до виявлення конкретного користувача, система контролю служить стримуючим засобом для користувачів, що намагаються некоректно використовувати систему.
Відповідно до вимог до надійних систем ОС повинна створювати, підтримувати й захищати журнал реєстраційної інформації, що відноситься до доступу до об’єктів, контрольованих ОС. При цьому повинна бути можливість реєстрації наступних подій:
використання механізму ідентифікації й аутентифікації;
внесення об’єктів в адресний простір користувача (наприклад, відкриття файлу);
видалення об’єктів;
дії адміністраторів;
інші події, що зачіпають інформаційну безпеку.
Кожний реєстраційний запис повинна включати наступні поля:
дата й час події;
ідентифікатор користувача;
тип події;
результат дії.
Система контролю UNIX використовує системні виклики й утиліти для класифікації дій користувачів, підрозділяючи їх на події різного типу. Наприклад, при виникненні події типу “DAC Denials” (відмова доступу при реалізації механізму вибірного розмежування доступу) реєструються спроби такого використання об’єкта, які не допускаються дозволами для цього об’єкта. Іншими словами, якщо користувальницький процес намагається писати у файл із доступом “тільки для читання”, те виникає подія типу “DAC Denials”. Якщо переглянути контрольний журнал, то легко можна побачити повторювані спроби доступу до файлів, на які не отримані дозволи.
Істотно підвищує ефективність контролю наявність реєстраційного ідентифікатора користувача (LUID). Після проходження користувачем процедур ідентифікації й аутентифікації, тобто безпосереднього входу в систему, кожному процесу, створюваному користувачем, присвоюється реєстраційний ідентифікатор користувача. Даний ідентифікатор зберігається на весь сеанс роботи. Кожний контрольний запис, зґенерований системою контролю, містить для кожного процесу реєстраційний ідентифікатор поряд з ефективним і реальним ідентифікаторами користувача й групи. Таким чином, виявляється можливим облік дій користувача.
Окремо варто розглянути реалізацію механізму контролю для ядра. Даний механізм генерує контрольні записи, виходячи з діяльності користувальницьких процесів, за допомогою системних викликів ядра. Кожний системний виклик ядра містить рядок у таблиці, де вказується його зв’язок з питаннями захисту інформації і якому типу події він відповідає. Крім того, використовується таблиця кодів помилок, що дозволяє класифікувати системні виклики на конкретні події, пов’язані із захистом інформації.
Наприклад, системний виклик open класифікується як подія “Зробити об’єкт доступним”. Якщо користувач виконує системний виклик open для файлу /unix і даний системний виклик завершується успішно, то генерується контрольний запис про цю подію. Однак якщо системний виклик open закінчується невдало внаслідок того, що користувач запросив у системному виклику доступ на запис файлу /unix, не маючи дозволу, та ця дія класифікується як подія “Відмова доступу” для даного користувача і об’єкту /unix. Отже, системний виклик можна відобразити в кількох типах подій залежно від об’єкта, до якого здійснюється доступ, і (або) результату виклику.
Однак варто мати на увазі, що при включенні всіх подій контролю і при активній роботі користувачів, обсяг записуваної інформації може досягати декількох мегабайт на одного користувача в годину.
1 Пункт – одиниця виміру висоти шрифту, застосовуваний у поліграфії (12 пунктів відповідає висоті шрифту приблизно 2 мм).
