Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безпека.docx
Скачиваний:
163
Добавлен:
31.08.2019
Размер:
6.2 Mб
Скачать

13.1.2. Відповідність вимогам стандартів безпеки

Під час створення Windows із самого початку було поставлено завдання розроби­ти операційну систему, яка б відповідала вимогам рівня захищеності класу С2 за «Критеріями оцінювання захищених комп'ютерних систем» (TCSEC) [91]. Виходячи з вимог класу С2, система має забезпечувати:

  • обов'язкову ідентифікацію й автентифікацію всіх користувачів ОС;

♦ розмежувальний контроль доступу — надання користувачам можливості за­хисту

даних, що їм належать;

♦ системний аудит — здатність системи вести докладний аудит усіх дій, що ви­конуються

користувачами та самою операційною системою;

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

Операційні системи Windows NT 4.0 Workstation і Windows NT 4.0 Server ще в 1999 році успішно пройшли сертифікацію за класом С2. Для Windows 2000 процедуру сертифікації було проведено в 2002 році за міжнародним стандартом ISO 15408. У 2005 році Windows ХР SP2 пройшла експертне оцінювання на відповідність вимогам чинних в Україні нормативних документів щодо захищеності інформації від несанкціонованого доступу.

13.2. Архітектура системи

13.2.1. Основні концепції

Ще на самому початку розроблення Windows для неї було обрано багаторівневу архітектуру і впроваджено концепцію мікроядра [91, 96, 106-110]. У Windows мікроядерну архітектуру реалізовано не повністю, але навіть така її реалізація має значні переваги порівняно з монолітною архітектурою ядра UNIX і Linux. Позаяк чіткого визначення ядра ОС не існує, ядром вважають програмний код, що виконується у привілейованому режимі процесора (який називають режимом ядра) [93]. Розробники Windows виокремили в ядрі компонент, який назвали мікроядром і до якого долучили саме ті функції, що зазвичай реалізують в ядрі мікроядерних систем:

♦ перемикання контекстів, збереження і відновлення стану потоків;

♦ планування виконання потоків;

♦ реалізація засобів підтримки апаратного забезпечення.

У Windows у привілейованому режимі крім мікроядра виконуються ще й інші

програмні компоненти.

Значних зусиль було докладено до локалізації апаратно залежного коду на спеціальному рівні абстрагування від обладнання (Hardware Abstraction Level, HAL), і частково — у мікроядрі системи.

На рис. 13.1 показано основні компоненти Windows (вертикальна декомпозиція) і шляхи звернень ПЗ до ресурсів [91, 96].

Рис. 13.1. Вертикальна декомпозиція архітектури Windows

13.2.2. Компоненти системи захисту

Windows має чітко визначений комплекс засобів захисту [117-119]. Нижче пе­релічено компоненти та бази даних, з яких складається КЗЗ Windows.

  • Монітор безпеки (Security Reference Monitor, SRM) — компонент системи (\WINNT\System32\Ntoskrnl.exe), що виконується в режимі ядра і забезпе­чує перевірку прав доступу до об'єктів, операції над привілеями (правами ко­ристувачів) і генерування повідомлень аудита безпеки.

  • Підсистема локальної автентифікації (Local Security Authentication Subsystem Service, Lsass) — процес режиму користувача (\WINNT\System32\Lsass.exe), відповідальний за політику безпеки в локальній системі (визначає коло ко­ристувачів, що мають право входити в систему; правила використання паро­лів; надані користувачам та їхнім групам привілеї; параметри аудита безпеки системи) та автентифікацію користувачів і передавання даних аудита безпеки в журнал (Event Log). Основну функціональність реалізує сервіс локальної автентифікації LSASRV (\WINNT\System32\Lsasrv.dll) — DLL-модуль, що завантажується Lsass.

  • База даних політики Lsass — база даних параметрів політики безпеки локаль­ної системи, розташована в розділі реєстру HKLM\SECURITY. Вона містить інформацію про те, яким доменам довірено автентифікацію спроб входження в систему, хто має права на доступ до системи та яким чином і кому надані ті чи інші привілеї, а також які види аудита потрібно виконувати. База даних по­літики Lsass зберігає «таємниці»: реєстраційні дані, що застосовують для вхо­дження у домен і під час виклику Win32-cepBiciB.

  • Диспетчер облікових записів безпеки (Security Account Manager, SAM) — на­бір процедур для підтримки бази даних імен користувачів і груп, визначених на локальній машині. Служба SAM реалізована у модулі \WINNT\System32\ Samsrv.dll і виконується у процесі Lsass.

  • База даних SAM — база даних з інформацією про локальних користувачів та групи разом з їхніми паролями та іншими атрибутами. Цю базу даних роз­міщено в розділі реєстру HKLM\SAM.

  • Active Directory — служба каталогів, що зберігає базу даних із відомостями про об'єкти в домені. Домен — це сукупність комп'ютерів і зіставлених з ними груп безпеки, керування якими здійснюється як єдиним цілим. Active Direc­tory зберігає інформацію про об'єкт домену, зокрема про користувачів, групи та комп'ютери. Інформація про паролі та привілеї користувачів домену та їхні групи зберігається в Active Directory та реплікується на комп'ютери, що вико­нують роль контролерів домену. Сервер Active Directory реалізований у мо­дулі \WINNT\System32\Ntdsa.dll і виконується в процесі Lsass.

  • Пакети автентифікації — DLL-модулі, що виконуються у контексті процесу Lsass і реалізують політику автентифікації у Windows. Вони реалізують пере­вірку пароля та імені користувача і забезпечують повернення процесу Lsass (у разі вдалої перевірки) докладної інформації щодо прав користувача.

  • Процес Logon (Winlogon) — процес режиму користувача (\WINNT\System32\ Winlogon.exe), що відповідає за підтримку SAS (Secure Attention Sequence)

і керування сеансами інтерактивного входження у систему. В процесі реєстрації користувача Winlogon створює оболонку — інтерфейс користувача.

  • Графічна бібліотека ідентифікації та автентифікації (Graphical Identification and Authentication, GINA) — бібліотека режиму користувача, що виконується в процесі Winlogon і застосовується для отримання пароля та імені користувача або PIN- коду смарт-карти. Стандартна бібліотека GINA розміщується у \WINNT\System32\Msgina.dll.

  • Служба мережного входження у систему (Net Logon) — Win32- cepвic (\WINNТ\System32\Netlogon.dll), який виконується в Lsass і реагує на запити мережного входження від Майкрософт LAN Manager 2 під керуванням Windows (будь яких версій до Windows 2000). Автентифікація виконується так само, як і під час локальної реєстрації: дані передаються Lsass для перевірки. У Netlogon та кож вбудовано службу локатора, що здійснює пошук контролерів домену.

  • Бібліотека функцій режиму ядра (Kernel Security Device Driver, KSecDD) це бібліотека (\WINNT\System32\Drivers\Ksecdd.sys), що реалізує інтерфейси локального виклику процедур (Local Procedure Call, LPC), які використовують інші компонента захисту режиму ядра, зокрема файлова система, яка надає доступ до зашифрованих файлів (Encrypting File System, EFS), для взаємодії з Lsass у режимі користувача.

На рис. 13.2 показано взаємозв'язки між деякими з цих компонентів та базами

даних, якими вони керують.

Рис. 13.2. Архітектура системи безпеки Windows і взаємодія її компонентів із БД

Монітор безпеки SRM і база даних Lsass взаємодіють між собою за допомогою механізму LPC. Під час ініціалізації операційної системи SRM створює порт SeRmCommandPort, до якого підключається Lsass. Під час запуску Lsass створю­ється LPC-порт SeLsaCommandPort, до якого підключається SRM. Останній створює розділ спільної пам'яті для передавання повідомлень, довших за 256 байт, і передає його визначник під час запиту на з'єднання. Оскільки після з'єднання на етапі ініціалізації системи SRM і Lsass більше не прослуховують свої порти, жоден процес користувача підключитися до цих портів не може.