3-1 Основи побудови та захисту сучасних операційних систем / Защита_операционных_систем_КНМЗ
.pdf10
-тип і обсяг дискового накопичувача (жорсткого диска - ЖД);
-перерахувати інші пристрої введення-виведення, наявні на досліджуваному ПК.
Зробити висновки.
2 Ознайомитися з центральним процесором досліджуваного
комп'ютера
Для цього в лівому меню в списку "Системна плата" вибрати пункт "ЦП", після чого в правому вікні з'явиться список основних параметрів ЦП досліджуваного комп'ютера. Виписати основні властивості ЦП:
-тип ЦП;
-назва процесора (псевдонім) ЦП;
-кількість ядер;
-степінг ЦП;
-набори інструкцій;
-вихідна частота;
-розмір і характеристики кеш-пам'яті ЦП;
-фізичні параметри ЦП.
Отримати відомості про реальну частоту процесора, для цього в списку "Комп'ютер" вибрати пункт "Розгін". В даному пункті, в реальному масштабі часу, відображається поточна частота процесора. Виписати поточну частоту процесора. Порівняти вихідну частоту процесора з поточної частотою. Зробити висновки.
3 Ознайомитися з материнської (системної) платою ПК
Для цього в лівому меню в списку "Системна плата" вибрати пункт "Системна плата", після чого в правому вікні з'явиться список основних параметрів материнської плати досліджуваного комп'ютера. виписати:
-назву материнської плати і фірми-виробника;
-властивості системної шини (FSB, HT, QPB);
-властивості шини пам'яті;
-назва чіпсета;
-фізичну інформацію про системну плату.
11
4 Ознайомитися з властивостями модулів оперативного
запам’ятовуючого пристрою (ОЗП)
Для цього, в лівому меню в списку "Системна плата", вибрати пункт "SPD". Виписати властивості модулів ОЗП і основні таймінги пам'яті, для різних частот. Якщо встановлені різні модулі пам'яті, виписати параметри для кожного з них. Зробити висновки.
5 Ознайомитися з чіпсетом материнської плати
Для цього в лівому меню в списку "Системна плата" вибрати пункт "чіпсет".
5.1 Ознайомитися з властивостями "північного моста" чіпсета.
Для цього у верхньому вікні слід вибрати пункт "Північний міст". Перерахувати контролери, вбудовані в "північний міст". Виписати:
-назва "північного моста";
-підтримувані швидкості системної шини (FSB, HT, QPB);
-підтримувані типи оперативної пам'яті;
-тип контролера пам'яті;
-максимальний обсяг оперативної пам'яті;
-основні таймінги пам'яті (CR, tRAS, tRP, tRCD, CL, tREF).
Порівняти характеристики ОЗП з отриманими в попередньому пункті. Зробити висновки.
5.2 Ознайомитися з властивостями "південного моста" чіпсета.
Для цього у верхньому вікні слід вибрати пункт "Південний міст" переліку пристроїв, що містяться в "південному мосту". Зробити висновки.
6 Ознайомитися з системою зберігання даних ПК –постійного
запам’ятовуючого пристрою (ПЗП)
Для цього в лівому меню в списку "Зберігання даних" вибрати пункт "Зберігання даних Windows", після чого в правому верхньому вікні з'явиться список всіх можливих ПЗП досліджуваного комп'ютера. В роботі слід розглянути параметри жорсткого диска і оптичного DVD накопичувача. Виписати їх основні характеристики, такі як:
-назва ЖД;
-виробник;
12
-ємність;
-швидкодія;
-інтерфейс підключення;
-фізичні параметри:
-форм-фактор (розмір в дюймах);
-кількість пластин (дисків);
-вага;
-швидкість обертання.
Зробити висновки.
7 Ознайомитися з наявними на платі портами введення-виведення
Для цього в розділі "Комп'ютер" вибрати пункт "DMI". В даному пункті з розділу "Системні роз'єми" виписати наявні на материнській платі роз'єми. З розділу "Роз'єми портів" виписати роз'єми для підключення зовнішніх пристроїв введення-виведення, для кожного вказати тип порту.
8 Провести тестування швидкодії ОЗП
Для цього перейти в розділ "Тест" і вибрати відповідні пункти. Для початку тестування слід натиснути кнопку "Оновити", або клавішу "F5" на клавіатурі. Провести наступні тести ОЗП:
-читання з пам'яті - тестує швидкість пересилання даних з ОЗУ до
процесора;
-запис в пам'ять;
-копіювання в пам'яті - тестує швидкість пересилання даних з одних осередків пам'яті в інші через кеш процесора;
-затримка пам'яті - тестує середній час зчитування процесором даних з
ОЗП.
Записати результати тестування. Порівняти продуктивність досліджуваної системи з продуктивністю еталонних систем. Виписати мають найтісніший контакт з продуктивності системи. Зробити висновки.
9 За результатами попередніх пунктів побудувати структурну схему
ПК
У схемі повинні бути відображені всі пристрої, що входять до ПК, з їх
13
назвами, основними параметрами і назвами інтерфейсів.
10 Провести порівняльний аналіз інформації, отриманої при використанні програми AIDA64 або Everest з інформацією, одержуваної від внутрішніх програм операційної системи.
Для реалізації даного завдання, в командному рядку (Пуск-Виконати - cmd.exe) запустити команду msinfo32.exe (або winmsd.exe для ОС Windows XP) і порівняти результати, що виводяться вікном «Відомості про систему» з тією інформацією, яка була отримана Вами на попередніх ітераціях роботи.
КОНТРОЛЬНІ ПИТАННЯ
1 Основні принципи побудови ЕОМ.
2 Структурна схему ПК, та призначення всіх її компонентів.
3 Центральний процесор, та його основні характеристики.
4 Система пам'яті. Склад, призначення.
5 Системна магістраль. Визначення, призначення, параметри.
6 Основні внутрішні шини ПК.
7 "Північний міст". Склад, призначення.
8 "Південний міст". Склад, призначення.
9 Пристрої введення-виведення ПК.
10 Фактори, що впливають на продуктивність ПК.
11 Які пристрої до яких портів можуть підключатися?
14
Лабораторна робота №2.
ДОСЛІДЖЕННЯ МОЖЛИВОСТЕЙ ПРАВ ТА ПРИВІЛЕЇВ ОБЛІКОВИХ ЗАПИСІВ КОРИСТУВАЧІВ В ОПРАЦІЙНИХ СИСТЕМАХ
Мета роботи: дослідження механізмів захисту операційних систем, заснованих на правах і привілеях облікових записів користувачів.
ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Багато операцій, що виконуються процесами, не можна авторизувати через підсистему захисту доступу до об'єктів, так як при цьому не відбувається взаємодії з конкретним об'єктом. Наприклад, можливість обходити перевірки прав доступу при відкритті файлів для резервного копіювання є атрибутом облікового запису, а не конкретного об'єкта. Windows використовує як привілеї, так і права облікових записів, щоб системний адміністратор міг керувати тим, яким обліковим записам дозволено виконувати операції, що зачіпають безпеку.
Привілеї облікових записів користувачів
Привілея (privilege) - це право (right) облікового запису на виконання певної операції, що зачіпає безпеку, наприклад на вимикання комп'ютера або зміну системного часу. Право облікового запису дозволяє або забороняє конкретний тип входу в систему, скажімо, локальний або інтерактивний.
Системний адміністратор призначає привілеї групам і обліковим записам за допомогою таких інструментів, як ММС-оснастка Active Directory Users and Groups (Active Directory - користувачі і групи) або редактора локальної політики безпеки (Local Security Policy Editor). Запустити цей редактор можна з папки Administrative Tools (Адміністрування). Ha рис. 2.1 показана конфігурація User Rights Assignment (Призначення прав користувача) редактора локальної політики безпеки, при якій в правій частині вікна виводиться повний список привілеїв і прав (облікових записів), доступних в Windows. Зауважте, що цей редактор не розрізняє привілеї і права облікових записів. Однак, будь-яке право, в назві якого зустрічається слово «logon» («вхід»), насправді є привілеєм.
15
Рисунок 2.1 – Вікно Локальнї плітики безпеки: конфігурація User Rights Assignment (Призначення прав користувача)
Права облікових записів користувачів
Права облікових записів не вводяться в дію монітором стану захисту (Security Reference Monitor, SRM) і не зберігаються в маркерах. За вхід відповідає функція LsaLogonUser. Зокрема, WinLogon викликає API-функцію LogonUser, коли користувач інтерактивно входить в систему, a LogonUser звертається до LsaLogonUser. Ця функція приймає параметр, який вказує тип виконуваного входу, який може бути інтерактивним, мережним, пакетним, сервісним, через службу терміналу або для розблокування (unlock).
У відповідь на запити входу служба локальної безпеки (Local Security Authority, LSA) витягує призначені користувачеві права облікового запису зі своєї бази даних; ця операція виконується при спробі користувача увійти в систему - LSA звіряє тип входу з правами облікового запису і за результатами цієї
16
перевірки відхиляє спробу входу, якщо у облікового запису немає права, що дозволяє даний тип входу, або, навпаки, є право, яке забороняє даний тип входу. Права користувачів, перераховані в таблиці 2.1.
Таблиця 2.1 - Права облікового запису
|
|
|
Право |
|
|
|
Опис |
|
|
|||
|
|
|
|
|
|
|
|
|
||||
Deny |
logon |
interactively |
(Відхилити |
Використовується |
|
для |
||||||
інтерактивного |
входу, запит |
|||||||||||
інтерактивний вхід), |
|
|
|
на |
який |
виходить |
з |
|||||
Allow logon interactively (Інтерактивний вхід) |
||||||||||||
локального комп'ютера |
|
|||||||||||
|
|
|
|
|
|
|
||||||
|
|
|||||||||||
Deny logon over the network (Відмова в доступі до |
Використовується для входу, |
|||||||||||
комп'ютера з мережі), |
|
|
запит на який виходить з |
|||||||||
Allow |
logon |
over |
the |
network (Доступ до |
||||||||
комп'ютера з мережі) |
|
|
|
віддаленого комп'ютера |
|
|||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||
Deny |
logon |
through |
Terminal |
Services |
|
|
|
|
|
|
||
(Заборонити вхід в систему через службу |
Використовується для входу |
|||||||||||
терміналів), |
|
|
|
|
через |
|
клієнт |
служби |
||||
Allow logon through Terminal Services |
(Дозволяти |
терміналів |
|
|
|
|
||||||
вхід в систему через службу терміналів) |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
||||
Deny logon as a service (Відмовити у вході в |
Застосовується |
SCM |
при |
|||||||||
запуску |
сервісу |
|
під |
|||||||||
якості служби), |
|
|
|
|
обліковим |
записом |
певного |
|||||
Allow logon as a service (Вхід в якості служби) |
||||||||||||
користувача |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
||||||
Deny logon as a batch job (Відмова у вході в якості |
|
|
|
|
|
|
||||||
пакетного завдання), |
|
|
|
Використовується |
|
при |
||||||
Allow logon as a batch job (Вхід в якості |
пакетному вході |
|
|
|||||||||
пакетного завдання) |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
Привілеї та суперпрівілегіі
Число привілеїв, які визначаються в ОС, з часом виросло. На відміну від прав користувачів, які вводяться в дію в одному місці службою LSA, різні привілеї визначаються різними компонентами і ними ж застосовуються. Скажімо, привілей налагодження, що дозволяє процесу обходити перевірки прав доступу
17
при відкритті описателя іншого процесу через API-функцію OpenProcess, перевіряється диспетчером процесів.
Компонент, яким потрібно перевірити маркер на наявність якоїсь привілеї, звертається до API-функції PrivilegeCheck або LsaEnumerateAccountRights, якщо він виконується в режимі користувача, або до SeSingle-PrivilegeCbeck або SePrivilegeCbeck, якщо він працює в режимі ядра. API-функції, що працюють з привілеями, нічого не знають про права облікових записів, але API-функцій, які оперують з правами, привілеї відомі.
На відміну від прав облікового запису привілеї можна ввімкнути або вимкнути. Щоб перевірка привілеї пройшла успішно, цей привілей повинен знаходитися в зазначеному маркере і повинен бути включений. Сенс такої схеми в тому, що привілеї повинні включатися тільки при реальному їх використанні, і в тому, щоб процес не міг випадково виконати привілейовану операцію.
Суперпрівілегіі
Кілька привілеїв дають настільки широкі права, що користувача, якому вони призначаються, називають «суперкористувачем» - він отримує повний контроль над комп'ютером. Ці привілеї дозволяють отримувати неавторизований доступ до закритих ресурсів і виконувати будь-які операції. Особливу увагу варто приділити застосуванню привілеї на запуск коду (при цьому не будемо забувати, що це може бути використано для виконання будь-якої операції на локальному комп'ютері) та іншим привілеям на кшталт Lock Pages In Physical Memory (Закріплення сторінок в пам'яті), які можна використовувати для атак типу «відмова в обслуговуванні.
Debug programs (Налагодження програм)
Користувач з цим привілеєм може відкрити будь-який процес в системі незалежно від його дескриптора захисту. Наприклад, маючи в своєму розпорядженні такий привілей, можна запустити свою програму, яка відкриває процес LSASS, копіює в її адресний простір виконуваний код, а потім впроваджує потік за допомогою API-функції CreateRemoteThread для виконання впровадженого коду в більш привілейованому контексті захисту. Цей код міг би видавати користувачу додаткові привілеї і розширювати його членство в групах.
Take ownership (Зміна власника)
Цей привілей надає її власнику право змінити власника будь-якого об'єкта, що захищається, просто вписавши свій SID в поле власника в дескрипторі захисту
18
об'єкта. Згадайте, що власник завжди отримує дозвіл на читання і модифікацію DACL дескриптора захисту, тому процес з таким привілеєм міг би змінити DACL, щоб дозволити собі повний доступ до об'єкта, а потім закрити об'єкт і знову відкрити його з правами повного доступу. Це дозволило б побачити будь-які конфіденційні дані і навіть підмінити системні файли, що виконуються при звичайних системних операціях, наприклад LSASS, своїми програмами, які розширюють привілеї якогось користувача.
Restore files and directories (Відновлення файлів і каталогів)
Користувач з таким привілеєм може замінити будь-який файл в системі на свій - так само, як було описано вище.
Load and unload device drivers (Завантаження та вивантаження драйверів пристроїв)
Зловмисник міг би скористатися цим привілеєм для завантаження драйвера пристрою в систему.
Create a token object (Створення маркерного об'єкту)
Цей привілей дозволяє створювати об'єкти «маркери», що представляють довільні облікові записи з членством в будь-яких групах і будь-якими дозволами.
Act as part of operating system (Робота в режимі операційної системи)
Зловмисник з таким привілеєм може встановити з'єднання з LSASS, а потім викликати LsaLogonUser - функцію, яка використовується для створення нових сеансів входу. LsaLogonUser вимагає вказівки дійсних імені та пароля користувача і приймає необов'язковий список SID, що додається до початкового маркера, який створюється для нового сеансу входу. B результаті можна було б використовувати свої ім'я та пароль для створення нового сеансу входу, в маркер якого включені SID більш привілейованих груп або користувачів. Слід зауважити, що розширені привілеї не поширюються за межі локальної системи в мережі, тому що будь-яка взаємодія з іншим комп'ютером вимагає аутентифікації контролером домену та застосування доменних паролів. A доменні паролі не зберігаються на комп'ютерах (навіть в зашифрованому вигляді) і тому недоступні зловмисному коду.
19
ЗАВДАННЯ ДЛЯ ПРАКТИЧНОГО ВИКОНАННЯ ТА ДОСЛІДЖЕННЯ
1. Ознайомлення з основними правами користувачів в OS Windows
Відкрийте вікно редактора локальної політики безпеки (Пуск - Панель управління - Адміністрування - Локальна політика безпеки). Відкрийте вкладку «Призначення прав користувача» (див. рис. 2.1). Вивчіть питання пов'язані з Політикою і відповідними параметрами безпеки.
2: Дослідження привілеїв
Наступна процедура дозволить побачити, як аплет Date and Time (Дата і час) з Control Panel включає привілей SeSystemTime-Privilege, виходячи з того, що його інтерфейс буде використаний для зміни дати або часу на комп'ютері.
1.Увійдіть в систему під обліковим записом, що має право «Change the system time» (Зміна системного часу); така обліковий запис зазвичай входить в групу адміністраторів або користувачів з правами адміністраторів.
2.Запустіть Process Explorer і виберіть для частоти оновлення значення
Paused.