You are on page 1of 35

Київський національний університет імені Тараса Шевченка

Факультет інформаційних технологій


Кафедра кібербезпеки та захисту інформації

ЗВІТ

ПРО ЛАБОРАТОРНУ РОБОТУ №_2_

з дисципліни

«УПРАВЛІННЯ ІНФОРМАЦІЙНОЮ БЕЗПЕКОЮ»

за темою: «Інформаційна безпека на рівні операційної системи Windows»

Виконала:
Федорищева Варвара Олександрівна
Група КБ-21

Викладач:
к.т.н.Богуславська Олена Вікторівна

Київ 2024
ЛАБОРАТОРНА РОБОТА №2

Тема: «Інформаційна безпека на рівні операційної системи Windows»

Мета роботи:

1. Ознайомлення з принципами побудови архітектури підсистеми безпеки сучасних


операційних систем.

2. Вивчення моделі безпеки операційної системи Windows та отримання практичних


навиків у використанні засобів забезпечення її безпеки.

Порядок виконання лабораторної роботи №2:

1. Включити ПК.
2. Ознайомитися з короткими теоретичними відомостями.
3. Виконати завдання.

Стислі теоретичні відомості:


При оцінці ступеня захищеності операційних систем діє нормативний
підхід, згідно з яким сукупність завдань, що виконується системою безпеки,
повинна задовольняти певні вимоги. Їх перелік визначається
загальноприйнятими стандартами, наприклад, TCSEC («Помаранчева книга»)
або «Загальні критерії оцінки безпеки інформаційних технологій». В Україні
також діють подібні критерії, які визначені в НД ТЗІ 2.5-004-99 «Критерії оцінки
захищеності інформації в комп’ютерних системах від несанкціонованого
доступу (НСД)». Такі стандарти складають основу політики безпеки системи,
яка в свою чергу передбачає відповіді на наступні питання: яку інформацію
захищати, якого роду загрози можуть бути реалізовані в системі та які саме
засоби планується використовувати для захисту від кожного типу атак.
На сьогоднішній день, до сучасних популярних операційних систем
прийнято відносити два сімейства: Windows та Linux. Так, наприклад, зі сторони
сімейства Windows, після еволюції від однокористувацької моделі до
багатокористувацької, розробники операційної системи приділили серйозну
увагу забезпеченню безпеки роботи користувачів. Це підтверджується
категоріями, присвоєними різним версіями цієї операційної системи за тими чи
іншими міжнародними і національними критеріями оцінки безпеки. Так, за
класифікацією «Помаранчевої книги» ОС Windows NT 4 ще в 1999 році
отримала клас безпеки C2, за стандартом ISO/IEC 15408 Common Criteria for
Information Technology Security Evaluation (Загальні критерії оцінки безпеки
інформаційних технологій) клієнтські і серверні версії від Windows 2000 до
Windows 10, від Windows Server 2008 до Windows Server 2013 отримали рівень
безпеки EAL4+. А взагалі, необхідно відзначити, що обидва сімейства
операційних систем, переважно задовольняють вимоги класу С2 TCSEC, згідно
яким, система повинна забезпечувати:
 Безпечний вхід в систему, який забезпечує точну ідентифікацію користувачів
ОС і надає їм можливість доступу до ресурсів комп’ютера тільки після
проходження процедури аутентифікації. У Windows за ідентифікацію та
аутентифікацію користувачів відповідають процеси Winlogon.exe і Lsass.exe;
 Управління доступом – надання користувачам можливості захисту
приналежних їм даних, що дозволяє власникові ресурсу (файлу, розділу
реєстру, об’єкту ядра та ін) визначити, хто має право на доступ до ресурсу, а
також уточнити суть цих прав (читання, зміна, запуск тощо). При
використанні дискреційної моделі доступу для ущільнення матриці доступу
власник може наділяти правами, які надають різні види доступу до об’єкта,
як окремого користувача, так і групу користувачів. Безпечний доступ в ОС
Windows реалізується за допомогою компонента Security Reference Monitor
виконавчої системи Ntoskrnl.exe;
 Системний аудит – здатність системи проводити докладний аудит дій,
виконуваних користувачами і самою операційною системою;
 Аудит безпеки, який дозволяє реєструвати всі події, що відносяться до
питань безпеки. Ідентифікація користувачів при вході в систему дозволяє
прив’язувати всі події безпеки в системі до конкретного користувача. У
Windows аудит підтримується SRM і Lsass.exe;
 Захист об’єктів від повторного використання – здатність системи запобігати
доступу користувача до інформаційних ресурсів, з якими до цього працював
інший користувач, тобто система не дозволяє користувачам переглядати
дані, видалені іншим користувачем, а також не дозволяє звертатися до
пам’яті, яка раніше була використана, а потім звільнена іншим користувачем.
У Windows звільнена пам’ять очищується системним потоком обнулення
сторінок, працюючим під час простою системи (з нульовим пріоритетом);
 Захист самої системи від зовнішнього впливу або нав’язування, такого, як
модифікація завантаженої системи або системних файлів, що зберігаються на
диску.
Хід роботи

1) При виконанні лабораторної роботи на комп’ютерах необхідно


створити віртуальну машину Test PC1 Win. Увійдіть в систему під обліковим
записом адміністратора. Всі дії в наступних підпунктах виконуйте в системі, що
працює на віртуальній машині.

Рис. 1. Створення віртуальної машини Test PC1 Win у віртуальному


середовищі VMWare Workstation

2) Створіть обліковий запис нового користувача, наприклад, testUser


розділ «Керування комп’ютером» (compmgmt.msc). При створенні нового
облікового запису забороніть користувачеві зміну пароля і зніміть обмеження
на термін дії його пароля. Створіть нову групу, наприклад, «testGroup» і
включіть в неї нового користувача. Видалити користувача з усіх інших груп.
Створіть на диску С: папку forTesting. Створіть або скопіюйте в папку кілька
текстових файлів (*.txt).

Рис. 2. Вікно «Керування комп’ютером»


 Створюємо нового користувача із назвою «testUser», для якого знімаємо
обмеження на термін дії його пароля та забороняємо користувачеві
зміну пароля.

Рис. 3-4. Створення користувача testUser та встановлення його прав

 Створюємо також нову групу testGroup, в яку додаємо користувача


«testUser». При цьому видаляємо раніше створенного користувача з усіх
інших груп.
 Створюємо на диску С: папку forTesting. Створюємо в папці кілька
текстових файлів (1, 2, 3.txt).
Рис. 5-6. Створення групи testGroup та додавання користувача testUser до
неї

 Видаляємо раніше створенного користувача з усіх інших груп.


Рис. 7. Видалення користувача testUser з усіх інших груп

Рис. 8. Створення папки forTesting на диску \С:

Рис. 9. Створення текстових файлів у папці forTesting


3) З допомогою команди runas запустити сеанс командного рядка
(cmd.exe) від імені новоствореного користувача. Командою whoami
подивіться SID користувача і всіх його груп, а також поточні привілеї
користувача. Рядок запуску і результат роботи цієї і ВСІХ наступних
консольних команд записати у файл протоколу лабораторної роботи, або
відобразити у вигляді скріншотів.

 Прописуємо команду runas /user:testUser cmd.exe для входу у сеанс


командного рядка віл імені користувача testUser.

Рис. 10. Команда для запуску cmd.exe від імені користувача testUser

 Вводимо команду WHOAMI для перегляду SID (Security Identifiers -


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

Рис. 11. Команда WHOAMI для перегляду SID користувача testUser


Рис. 12. Перелік привілеїв та основної інформації для всіх користувачів

4) Переконайтеся у відповідності імені користувача та отриманого SID


в реєстрі Windows. (Використовуйте ключ реєстру
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList).

 За допомогою клавіш Win+R відкриваємо вікно «Виконати» та вводимо


команду regedit для відкриття вікна «Регістрів». Переходимо по адресі
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.

Рис. 13. Відкриття вікна «Регістрів» командою regedit

 Знаходимо папку з ідентичною назвою до SID користувача testUser.


S-1-5-21-3050395730-1216481726-3343059233-1003
Як бачимо, шлях по файлу ProfileImagePath вказує на шлях до каталогу,
де зберігається профіль користувача testUser на системі.
Рис. 14. Вказівка на шлях до каталогу, де зберігається профіль користувача
testUser на системі.

5) Командою whoami визначте перелік поточних привілеїв


користувача testUser. В сеансі командного рядка користувача спробуйте змінити
системний час командою time. Щоб надати користувачу такий привілей,
запустіть оснащення «Локальні параметри безпеки» (secpol.msc). Додайте
користувача в список параметрів політики «Зміна системного часу» розділу
Локальні політики >> Призначення прав користувача. Після цього
перезапустіть ваш сеанс командного рядку від імені користувача,
переконайтеся, що у списку привілеїв додався SeSystemtimePriviege. Спробуйте
змінити системний час командою time.
 Вводимо команду WHOAMI /PRIV для визначення переліку поточних
привілеїв користувача testUser.

Рис. 15. Перелік поточних привілеїв користувача testUser


 Для надання привілеїв користувачу щодо зміни системного часу
командою time, заходимо до вікна «Локальні параметри безпеки»
(secpol.msc) через вікно «Виконати».

Рис. 16. Команда secpol.msc вікна «Виконати» для запуску вікна


«Локальні параметри безпеки»

 Знаходимо параметр політики безпеки «Зміна системного часу» та


надаємо користувачу testUser такий привілей.

Рис. 17. Параметр політики безпеки «Зміна системного часу»

Рис. 18. Надання користувачу testUser привілею «Зміна системного часу»


 Вводимо команду time та бажаний час для змінення. На рис. 20-21.
відображано результат до та після введення команди.

Рис. 19. Введення команди time 20:24:02

Рис. 20-21. Відображення результатів зміни часу до та після введення


команди time

6) Переконайтеся, що привілей «Завершення роботи системи»


(SeShutdown-Privilege) наданий користувачу testUser . Після цього спробуйте
завершити роботу системи з сеансу командного рядка користувача командою
shutdown –s. Додайте йому привілей «Примусове віддалене завершення»
(SeRemoteShutdownPrivilege). Спробуйте завершити роботу консольною
командою ще раз (скасувати команду завершення до її безпосереднього
виконання можна командою shutdown –a).

 Знаходимо параметр політики безпеки «Завершення роботи системи»


та надаємо користувачу testUser такий привілей.

Рис. 22. Параметр політики безпеки «Завершення роботи системи»


Рис. 23. Надання testUser привілею «Завершення роботи системи»

 Вводимо в командний рядок від імені testUser команду shutdown –s -


завершити роботу системи з сеансу командного рядка. Отримуємо
відповідний результат.

Рис. 24. Команда shutdown –s для завершення роботи системи

Рис. 25. Повідомлення про завершення роботи системи

 Тепер додамо ще один параметр політики безпеки - «Примусове


віддалене завершення» (SeRemoteShutdownPrivilege).

Рис. 26. Параметр політики безпеки «Примусове віддалене завершення»


Рис. 27. Надання testUser привілею «Примусове віддалене завершення»

 Вводимо команду shutdown –s для завершення роботи системи, а потім


одразу швидко вводимо наступну команду shutdown –a для скасування
команди завершення до її безпосереднього виконання.

Рис. 28. Введення команди shutdown –a для скасування команди


завершення до її безпосереднього виконання

Рис. 29. Повідомлення про скасування запланованого завершення роботи


системи

7) Ознайомтеся з довідкою по консольній команді icacls.


Використовуючи цю команду, перегляньте дозволу на папку c:\forTesting.
Поясніть всі позначення в описах прав користувачів і груп у видачі команди.
 Icacls - це командний рядок Windows, який використовується для
керування списками контролю доступу (ACL) до файлів, папок та інших
системних об'єктів.
 Вводимо команду icacls /? для відображення перегляду та зміни прав
доступу до об’єктів в режимі командного рядка.

Рис. 30. Основні права доступу до папків та інших системних об'єктів

Рис. 31. Перелік операцій доступу до об’єктів


 /T вказує, що ця операція виконується для всіх відповідних
файлів/каталогів нижче каталогів, указаних у назві.
 /C вказує, що ця операція триватиме для всіх помилок файлу.
Повідомлення про помилки все ще відображатимуться.
 /L вказує, що ця операція виконується на самому символічному посиланні
проти його цілі.
 /Q вказує, що icacls має придушувати повідомлення про успіх.

Рис. 32. Приклади використання операцій щодо доступу до об’єктів


 Тепер перевіряємо права доступу користувача за допомогою команди
icacls C:\forTesting.

Рис. 33. Перевірка прав доступу користувача icacls C:\forTesting

1. NT AUTHORITY\SYSTEM:
- (OI)(CI)(F): Цей обліковий запис має повні права доступу до цієї папки.
(OI) та (CI) вказують на успадкування дозволів від об'єктів та контейнерів.
2. VARVARAWINDOWS\testUser:
- (OI)(CI)(RX): Цей обліковий запис (testUser) має права на читання та
виконання файлів та успадковані дозволи.
3. VARVARAWINDOWS\o9974:
- (OI)(CI)(F): Цей обліковий запис (o9974) має повні права доступу,
включаючи читання, запис і виконання.
4. BUILTIN\Administrators:
- (OI)(CI)(F): Ця група (Administrators) має повні права доступу.

- (OI): Object Inherit (успадкування дозволів від об'єктів).


- (CI): Container Inherit (успадкування дозволів від контейнерів).
- (F): Full control (повний контроль, тобто всі можливі дозволи).

8) Дозвольте користувачеві testUser запис в папку forTesting, але


забороніть запис для групи testGroup. Спробуйте записати файли чи папки в
forTesting від імені користувача testUser. Поясніть результат. Подивіться надані
дозволи користувача testUser до папки forTesting у вікні властивостей папки.
 Вводимо команди icacls C:\forTesting /grant testUser(W) для дозволу
користувачу testUser на запис.
 icacls C:\forTesting /deny testGroup(W) – заборона запису для групи
testGroup.
Рис. 34. Команди дозволу запису для testUser та заборона запису для
testGroup

 Тепер вводимо команди:


- icacls C:\forTesting\1.txt /grant testUser:(R) – дозвіл на
читання для файлу 1.txt з папки forTexting
- icacls C:\forTesting\2.txt /grant testUser:(F) - – повний дозвіл
для файлу 2.txt з папки forTexting
- icacls C:\forTesting\3.txt /grant testUser:(D) - – дозвіл на
видалення для файлу 3.txt з папки forTexting

Рис. 35. Команди дозволів для файлів *txt з папки forTexting

Рис. 36. Перевірка прав доступу для файлу 1.txt – читання ✔


Рис. 37. Перевірка прав доступу для файлу 2.txt – повний доступ ✔

Рис. 38. Перевірка прав доступу для файлу 3.txt – видалення ✔

9) Використовуючи стандартне вікно властивостей папки, виберіть для


користувача testUser такі права доступу до папки, щоб він міг записувати
інформацію в папку forTesting, але не міг переглядати її вміст. Переконайтеся,
що папка forTesting є тепер для користувача testUser «сліпою», запустивши,
наприклад, від його імені файловий менеджер і спробувавши записати файли в
папку, переглянути її вміст, видалити файл з папки.
Рис. 39. Права доступу до папки forTesting → testUser може записувати
інформацію в папку, але не може переглядати її вміст

 Вводимо команду runas /user:testUser explorer.exe для відкриття


файлового менеджера від імені користувача testUser.

Рис. 40. Відкриття файлового менеджера від імені користувача testUser


 Бачимо результат – заборона на перегляд вмісту, який ми встановлювали
раніше.

Рис. 41. Повідомлення про заборону перегляду вмісту папки


10) Для вкладеної папки forTesting\Docs зніміть спадкування ACL від
батька і дозвольте користувачеві перегляд, читання і запис в папку. Перевірте,
що для користувача папка forTesting\Docs перестала бути «сліпою» (наприклад,
зробіть її поточною в сеансі роботи файлового менеджера від імені користувача
і створіть у ній новий файл).

Рис. 42. Створення папки forTesting\Docs

Рис. 43. Вимкнення успадкування для вкладеної папки forTesting\Docs


Рис. 44. Встановлення дозволів перегляду, читання і запису в папку

 Бачимо надпис «Access is denied», але у папці файл testfile з’явився.

Рис. 45-46. Перевірка можливості створення нового файла у папці

11) Зніміть заборону на читання папки forTesting для користувача


testUser. Використовуючи команду icacls забороніть цьому користувачеві
доступ до файлів з розширенням txt в папці forTesting. Переконайтеся в
недоступності файлів для користувача.
Рис. 47. Зняття заборони на читання папки forTesting для testUser

 Вводимо команди:
- icacls "c:\forTesting\*.txt" /deny testUser:(F) - заборона всіх дозволів
- icacls "c:\forTesting\*.txt" /deny testUser:(WD) – дозвіл на запис та
видалення
- icacls "c:\forTesting\*.txt" /deny testUser:(RC) – дозвіл на читання та
зміну

Рис. 48. Заборона для файлів з розширенням «*.txt»


Рис. 49-51. Перервірка доступу на відкриття файлів від імені testUser
12) Командою icacls забороніть користувачеві всі права на доступ до
папки forTesting і дозвольте повний доступ до вкладеної папки forTesting\Docs.
Переконайтеся, що теки forTesting\Docs є доступною для користувача. Поясніть
результат.

Рис. 52. Команда для заборони всіх прав на доступ до папки для testUser

Рис. 53. Повний дозвіл до вкладеної папки forTesting\Docs

Рис. 53. Перевірка результатів доступу до папки forTesting - заборонено


13) Від імені користувача testUser зашифруйте який-небудь файл на
диску. Переконайтеся, що після цього був створений сертифікат користувача,
запустивши оснастку certmgr.msc від імені користувача (розділ Особисті).
Перегляньте основні параметри сертифіката відкритого ключа користувача
testUser (термін дії, використовувані алгоритми).

Рис. 54. Команда cipher /e /a для шифрування файлу test.txt

Рис. 55. Перегляд сертифікату у вікні Certificates

14) Створіть у папці forTesting нову папку Encrypt. У папці Encrypt


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

Рис. 56. Створення папки forTesting/Encrypt


Рис. 57. Шифруввння папки Encrypt та її вмісту

Рис. 58. Відхилення доступу до папки


15) Скопіюйте зашифрований файл в незашифровану папку
(наприклад, forTesting). Переконайтеся, що він залишився зашифрованим.
Додайте користувача testUser у список користувачів які мають доступу до файлу
у вікні властивостей шифрування файлу. Повторіть спробу отримати доступ до
файлу від імені користувача testUser.

Рис. 59. Копіювання файлу File1.txt у новостворенну незашифровану


папку 1234

Рис. 60. Невдала спроба відкриття файлу від імені testUser

Рис. 61. Надання доступу до файлу File1.txt користувачу testUser


Рис. 62. Успішне читання вмісту файлу користувачем testUser

Висновок

У ході виконання цієї лабораторної роботи, я ознайомилась з принципами


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

Контрольні питання

1. До якого класу безпеки відноситься ОС Windows за різними


критеріями оцінки?
При оцінці ступеня захищеності операційних систем діє нормативний
підхід, згідно з яким сукупність завдань, що виконується системою безпеки,
повинна задовольняти певні вимоги. Їх перелік визначається
загальноприйнятими стандартами, наприклад, TCSEC («Помаранчева книга»)
або «Загальні критерії оцінки безпеки інформаційних технологій». В Україні
також діють подібні критерії, які визначені в НД ТЗІ 2.5-004-99 «Критерії оцінки
захищеності інформації в комп’ютерних системах від несанкціонованого
доступу (НСД)». Такі стандарти складають основу політики безпеки системи,
яка в свою чергу передбачає відповіді на наступні питання: яку інформацію
захищати, якого роду загрози можуть бути реалізовані в системі та які саме
засоби планується використовувати для захисту від кожного типу атак.
На сьогоднішній день, до сучасних популярних операційних систем
прийнято відносити два сімейства: Windows та Linux. Так, наприклад, зі сторони
сімейства Windows, після еволюції від однокористувацької моделі до
багатокористувацької, розробники операційної системи приділили серйозну
увагу забезпеченню безпеки роботи користувачів. Це підтверджується
категоріями, присвоєними різним версіями цієї операційної системи за тими чи
іншими міжнародними і національними критеріями оцінки безпеки. Так, за
класифікацією «Помаранчевої книги» ОС Windows NT 4 ще в 1999 році
отримала клас безпеки C2, за стандартом ISO/IEC 15408 Common Criteria for
Information Technology Security Evaluation (Загальні критерії оцінки безпеки
інформаційних технологій) клієнтські і серверні версії від Windows 2000 до
Windows 10, від Windows Server 2008 до Windows Server 2013 отримали рівень
безпеки EAL4+. А взагалі, необхідно відзначити, що обидва сімейства
операційних систем, переважно задовольняють вимоги класу С2 TCSEC, згідно
яким, система повинна забезпечувати:
- Безпечний вхід в систему, який забезпечує точну ідентифікацію
користувачів ОС і надає їм можливість доступу до ресурсів комп’ютера
тільки після проходження процедури аутентифікації. У Windows за
ідентифікацію та аутентифікацію користувачів відповідають процеси
Winlogon.exe і Lsass.exe;
- Управління доступом – надання користувачам можливості захисту
приналежних їм даних, що дозволяє власникові ресурсу (файлу, розділу
реєстру, об’єкту ядра та ін) визначити, хто має право на доступ до ресурсу,
а також уточнити суть цих прав (читання, зміна, запуск тощо). При
використанні дискреційної моделі доступу для ущільнення матриці
доступу власник може наділяти правами, які надають різні види доступу
до об’єкта, як окремого користувача, так і групу користувачів. Безпечний
доступ в ОС Windows реалізується за допомогою компонента Security
Reference Monitor виконавчої системи Ntoskrnl.exe;
- Системний аудит – здатність системи проводити докладний аудит дій,
виконуваних користувачами і самою операційною системою;
- Аудит безпеки, який дозволяє реєструвати всі події, що відносяться до
питань безпеки. Ідентифікація користувачів при вході в систему дозволяє
прив’язувати всі події безпеки в системі до конкретного користувача. У
Windows аудит підтримується SRM і Lsass.exe;
- Захист об’єктів від повторного використання – здатність системи
запобігати доступу користувача до інформаційних ресурсів, з якими до
цього працював інший користувач, тобто система не дозволяє
користувачам переглядати дані, видалені іншим користувачем, а також не
дозволяє звертатися до пам’яті, яка раніше була використана, а потім
звільнена іншим користувачем. У Windows звільнена пам’ять очищується
системним потоком обнулення сторінок, працюючим під час простою
системи (з нульовим пріоритетом);
2. Яким чином користувачі ідентифікуються в ОС Windows?
Всі діючі в системі суб’єкти (користувачі, групи, локальні комп’ютери, домени)
ідентифікуються в Windows не по іменах, унікальність яких не завжди вдається
досягти, а по ідентифікаторах безпеки (Security Identifiers, SID).
SID являє собою числове значення змінної довжини:
S R I S 0 S1 ... Sn RID
S – незмінний ідентифікатор строкового подання SID; R – рівень ревізії (версія).
I – (identifier-authority) ідентифікатор повноважень. Являє собою 48бітний
рядок, що ідентифікує комп’ютер або мережу, який(а) видав SID об’єкту.

Можливі значення:
⎯ 0 (SECURITY_NULL_SID_AUTHORITY) – використовуються для порівнянь,
коли невідомі повноваження ідентифікатора;
⎯ 1 (SECURITY_WORLD_SID_AUTHORITY) – застосовуються для
конструювання ідентифікаторів SID, які представляють всіх користувачів.
Наприклад, ідентифікатор SID для групи Everyone (Всі користувачі) – це S-1-1-
0;
⎯ 2 (SECURITY_LOCAL_SID_AUTHORITY) – використовуються для побудови
ідентифікаторів SID, що представляють користувачів, які входять на локальний
термінал;
⎯ 5 (SECURITY_NT_AUTHORITY) – сама операційна система. Тобто, даний
ідентифікатор випущений комп’ютером або доменом.
⎯ Sn – 32-бітові коди (кількістю 0 і більше) субагентів, яким було передано
право видати SID. Значення перших підлеглих повноважень загальновідомо.
Вони можуть мати значення:
⎯ 5 – ідентифікатори SID присвоюються сеансам реєстрації для видачі прав
будь-якому додатку, що запускається під час певного сеансу реєстрації. У таких
ідентифікаторах SID перші підлеглі повноваження встановлені як 5 і приймають
форму S-1-5-5-x-y;
⎯ 6 – коли процес реєструється як служба, він отримує спеціальний
ідентифікатор SID у свій маркер для позначення даної дії. Цей ідентифікатор ⎯
SID має підпорядковані повноваження 6 і завжди буде мати вигляд S-1-5-6;
⎯ 21 (SECURITY_NT_NON_UNIQUE) – позначають ідентифікатор SID
користувача та ідентифікатор SID комп’ютера, які не є унікальними в
глобальному масштабі;
⎯ 32 (SECURITY_BUILTIN_DOMAIN_RID) – позначають вбудовані
ідентифікатори SID. Наприклад, відомий SID для вбудованої групи
адміністраторів S-1-5-32-544;
⎯ 80 (SECURITY_SERVICE_ID_BASE_RID) – позначають ідентифікатор SID,
який належить службі.
⎯ Інші підлеглі повноваження ідентифікатора спільно позначають домен або
комп’ютер, який видав ідентифікатор SID.

3. Що таке списки DACL і SACL?


Cписок дискреційного контролю доступу (Discretionary Access Control
List, DACL), який дозволяє відстежувати права та обмеження, встановлені
власником даного об’єкта. DACL може бути змінений користувачем, який
вказаний як поточний власник об’єкта.
Cписок системного контролю доступу (System Access Control List,
SACL), що визначає перелік дій над об’єктом, які підлягають аудиту; флаги, які
визначають атрибути об’єкта.

4. Як відбувається перевірка прав доступу користувача до


ресурсів ОС Windows?
Якщо який-небудь потік запросив доступ до об’єкта, підсистема SRM
здійснює перевірку прав користувача, що запустив потік, на даний об’єкт,
переглядаючи його список DACL. Перевірка здійснюється до появи дозвільних
прав на всі запитані операції. Якщо зустрінеться забороняюче правило хоча б на
одну запитану операцію, доступ не буде наданий.
Докладніше розглянемо приклад на рис. 63, процес намагається отримати
доступ до об’єкта з заданим DACL. В маркері процесу вказані SID користувача
який запустив його, а також SID груп, в які він входить. У списку DACL об’єкта
присутні правила, що дозволяють здійснювати читання для користувача з
SID=100, і запис для групи з SID=205. Однак, в доступі користувачу буде
відмовлено, оскільки раніше зустрічається забороняюче запис правило для
групи з SID=201.
Рис. 63. Перевірка прав доступу користувача до об’єкту

5. Що таке маркер безпеки, і яка його роль у моделі безпеки Windows?


Після аутентифікації користувача процесом Winlogon, всі процеси, запущені від
імені цього користувача будуть ідентифікуватися спеціальним об’єктом, званим
маркером доступу (access token). При формуванні маркера використовуються
ключі SECURITY і SAM реєстру. Перший ключ визначає загальну політику
безпеки, а другий ключ містить інформацію про захист для індивідуальних
користувачів. Якщо процес користувача запускає дочірній процес, то його
маркер успадковується, тому маркер доступу уособлює користувача для
системи в кожному запущеному від його імені процесі. Основні елементи
маркера представлені на рис. 64.
SID1 ... SIDn
SID Ідентифікатори DACL за Інші
Привілеї
користувача груп користувача замовчуванням параметри

Рис. 64. Узагальнена структура маркера доступу

Маркер доступу містить ідентифікатор доступу самого користувача та всіх груп,


в які він включений. В маркер включений також DACL за замовчуванням –
список дискреційного контролю доступу, який приєднується до створюваних
користувачем об’єктів. Ще одна важлива для визначення прав користувача в
системі частина маркера – список його привілеїв, призначення і відкликання яких
є прерогативою локального адміністратора безпеки LSA.
6. Що таке рівень цілісності? Як він впливає на права доступу
суб’єктів до об’єктів ОЗ? Як можна дізнатися і задати рівень цілісності для
об’єктів і суб’єктів?
Базовим поняттям WIC є рівень цілісність (integrity level) об’єкта. WIC
присвоює контрольованим об’єктам один з шести доступних рівнів цілісності:
- Untrusted – анонімні процеси автоматично потрапляють в цю категорію.
- Low – стандартний рівень при роботі з Інтернетом. Якщо браузер Internet
Explorer запущений в захищеному режимі, всі файли і процеси, асоційовані з
ним, призначаються в цю категорію. Деякі папки, такі як, наприклад, Temporary
Internet Folder, також за замовчуванням наділяються Низьким рівнем довіри.
- Medium – в даному контексті працює більшість об’єктів. Ординарні
користувачі отримують Середній рівень і якщо не вказано який-небудь інший,
тоді всім об’єктам присвоюється даний рівень доступу.
- High – рівень, асоційований у системі з Адміністраторами. Об’єкти
Високого рівня недоступні звичайним користувачам.
- System – рівень для роботи ядра операційної системи та її служб.
- Installer – вершина в ієрархії рівнів WIC. Його об’єкти можуть редагувати
і видаляти файли всіх попередніх рівнів.
Контроль за рівнями цілісності при доступі до об’єкту також здійснюється
на основі правил ACE. Але це спеціалізовані ACE, які починаючи з ОС Windows
Vista зберігаються в списку SACL дескриптора безпеки об’єкта поряд з
правилами аудиту. Рівень цілісності користувача (процесу, що виконується від
його імені) зберігається в його токені безпеки. При доступі процесу до об’єкта
монітор безпеки порівнює рівень цілісності в токені з рівнем цілісності в
дескрипторі об’єкта (у SACL). Система видає права доступу в залежності від
того, вище чи нижче рівень цілісності суб’єкта по відношенню до об’єкта, а
також залежно від флагів політики цілісності у відповідному ACE об’єкта. Рівні
цілісності (IL) користувача описуються в його ідентифікаторі безпеки, точніше
– в його RID-частині:
SID = S-1-16-0x0 – рівень Untrusted
SID = S-1-16-0x1000 – рівень Low
SID= S-1-16-0x2000 – рівень Medium
SID= S-1-16-0x3000 – рівень High
SID= S-1-16-0x4000 – рівень системи
Для зміни рівня цілісності об’єктів можна використовувати наступні
інструменти:
- вже розглянуту команду icacls з ключем /setintegitylevel. Наприклад, ось
так можна присвоїти файлу низький (L) рівень цілісності:
icacls c:\forTesting /setintegritylevel L
- використовуючи спеціальні утиліти Chml («change mandatory label») для
зміни рівня цілісності файлів та папок, і Regil («Registry integrity levels») для
роботи з рівнями цілісності ключів реєстру.
Змінити рівень цілісності процесу можна, наприклад, запустивши його
утилітою psexec.exe з відповідним ключем. Ось як можна запустити блокнот з
високим рівнем цілісності: psexec –h notepad.exe
Очевидно, що змінювати рівень цілісності процесів, що запускаються
потенційно небезпечна операція, тому її можуть запускати тільки процеси, у
яких в маркері доступу встановлений привілей SeRelabelPrivilege.
Дізнатися, який рівень цілісності має процес можна, наприклад,
запустивши утиліту ProcessExplorer з набору Sysinternals (рис. 65.)

Рис. 65. Рівень цілісності запущених процесів в інтерфейсі ProcessExplorer

7. Які події підлягають аудиту в ОС Windows?


ОС Windows веде аудит подій за 9 категоріями:
1. Аудит подій входу в систему.
2. Аудит управління обліковими записами.
3. Аудит доступу до служби каталогів.
4. Аудит входу в систему.
5. Аудит доступу до об’єктів.
6. Аудит зміни політики.
7. Аудит використання привілеїв.
8. Аудит відстеження процесів.
9. Аудит системних подій.
Розглянемо більш докладно, які події відстежує кожна з категорій.
Аудит подій входу в систему. Аудит спроб користувача увійти в систему
з іншого комп’ютера або вийти з неї, за умови, що цей комп’ютер
використовується для перевірки справжності облікового запису.
Аудит управління обліковими записами. Аудит подій, пов’язаних з
управлінням обліковими записами на комп’ютері: створення, зміна або
видалення облікового запису користувача або групи; перейменування,
відключення або включення облікового запису користувача; встановлення або
зміна пароля.
Аудит доступу до служби каталогів. Аудит подій доступу користувача
до об’єкта каталогу Active Directory, для якого заданий власний список
системного контролю доступу (SACL).
Аудит входу в систему. Аудит спроб користувача увійти в систему з
комп’ютера або вийти з неї.
Аудит доступу до об’єктів. Аудит подій доступу користувача до об’єкта
– наприклад, файлу, папки, розділу реєстру, принтера і т. п., – для якого заданий
власний список системного контролю доступу (SACL).
Аудит зміни політики. Аудит фактів зміни політик, призначення прав
користувачів, політик аудиту або політик довірчих відносин.
Аудит використання привілеїв. Аудит спроб користувача скористатися
наданим йому правом.
Аудит відстеження процесів. Аудиту таких подій, як активізація
програми, завершення процесу, повторення дескрипторів і непрямий доступ до
об’єкта.
Аудит системних подій. Аудит подій перезавантаження або вимикання
комп’ютера, а також подій, які впливають на системну безпеку або на журнал
безпеки.
Рішення про аудит конкретного типу подій безпеки приймаються у
відповідності з політикою аудиту локальної системи. Політика аудиту, також
звана локальною політикою безпеки (local security policy), є частиною політики
безпеки, підтримуваної LSASS в локальній системі, і налаштовується за
допомогою редактора локальної політики безпеки.

8. Яким чином зашифровуються файли у файловій системі EFS?


Що таке FEK? DDF?
Починаючи з версії Windows 2000, в операційних системах сімейства
Windows NT підтримується шифрування даних на розділах файлової системи
NTFS з використанням файлової системи шифрування (Encrypted File System,
EFS). Основна її перевага полягає в забезпеченні конфіденційності даних на
дисках комп’ютера за рахунок використання надійних симетричних алгоритмів
шифрування даних в режимі реального часу.
Для шифрування даних EFS використовує симетричний алгоритм
шифрування (AES або DESX) з випадковим ключем для кожного файлу (File
Encryption Key, FEK). За замовчуванням дані шифруються в Windows 2000 і
Windows XP за алгоритмом DESX, а в Windows XP з Service Pack 1 (або
вище) та Windows Server 2003 – по алгоритму AES. У версіях Windows,
дозволених для експорту за межі США, драйвер EFS реалізує 56-бітний ключ
шифрування DESX, тоді як у версії, що підлягає використанню тільки в США, і
у версіях з пакетом для 128-бітного шифрування довжина ключа DESX
дорівнює 128 бітам. Алгоритм AES в Windows використовує 256-бітові ключі.
При цьому для забезпечення секретності самого ключа FEK шифрується
асиметричним алгоритмом RSA відкритим ключем користувача, результат
шифрування FEK – Data Decryption Field, DDF – додається в заголовок
зашифрованого файлу (рис. 66). Такий підхід забезпечує надійне шифрування
без втрати ефективності процесу шифрування: дані шифруються швидким
симетричним алгоритмом, а для гарантії секретності симетричного ключа
використовується асиметричний алгоритм шифрування.
Для шифрування файлів з використанням EFS можна використовувати
графічний інтерфейс або команду cipher.
Рис. 66. Схема шифрування файлу в EFS

9. Які алгоритми шифрування використовуються в EFS?


Для шифрування даних EFS використовує симетричний алгоритм
шифрування (AES або DESX) з випадковим ключем для кожного файлу (File
Encryption Key, FEK). За замовчуванням дані шифруються в Windows 2000 і
Windows XP за алгоритмом DESX, а в Windows XP з Service Pack 1 (або
вище) та Windows Server 2003 – по алгоритму AES. У версіях Windows,
дозволених для експорту за межі США, драйвер EFS реалізує 56-бітний ключ
шифрування DESX, тоді як у версії, що підлягає використанню тільки в США, і
у версіях з пакетом для 128-бітного шифрування довжина ключа DESX
дорівнює 128 бітам. Алгоритм AES в Windows використовує 256-бітові ключі.
При цьому для забезпечення секретності самого ключа FEK шифрується
асиметричним алгоритмом RSA відкритим ключем користувача, результат
шифрування FEK – Data Decryption Field, DDF – додається в заголовок
зашифрованого файлу (рис. 66). Такий підхід забезпечує надійне шифрування
без втрати ефективності процесу шифрування: дані шифруються швидким
симетричним алгоритмом, а для гарантії секретності симетричного ключа
використовується асиметричний алгоритм шифрування.

You might also like