Затверджую

Вид материалаДокументы

Содержание


2.3 Загальна архітектура об’єкта експертизи
2.3.2 Основні компоненти об’єкта експертизи
2.3.2.2 Рівень ядра та драйверів пристроїв
2.3.2.2.2 Драйвери пристроїв
2.3.2.3 Виконавча система
2.3.2.4 Бібліотека інтерфейсу з виконавчою системою (NT API)
2.3.2.5 Системні процеси
2.3.2.6 Підсистеми оточення
2.3.2.7 Системні служби
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   25

2.3 Загальна архітектура об’єкта експертизи

2.3.1 Характеристика архітектури об’єкта експертизи


ОЕ складається з двох основних частин: частини операційної системи, яка виконується у режимі ядра, і підсистем оточення, які виконуються в режимі користувача. Ядро керує процесами, пам’яттю, файловою системою і т. ін. Підсистеми оточення є окремими процесами, які забезпечують виконання визначених системних функцій для користувача. ОС має модульну структуру, яка розподіляється на декілька рівнів, кожний з яких використовує служби нижчого рівня. Виділяють наступні рівні ОС (рис. 1) [13]:
  • рівень апаратної абстракції від обладнання (HAL);
  • рівень ядра та драйверів пристроїв;
  • виконавча підсистема.

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

Два нижніх рівня ПЗ ОЕ – рівень апаратної абстракції та рівень ядра написані мовою С та асемблера і є машинно-залежними. Верхні рівні написані мовою С і є повністю машинно-незалежними. Драйвери написані мовою С і С++.

2.3.2 Основні компоненти об’єкта експертизи


2.3.2.1 Рівень апаратної абстракції

Рівень апаратної абстракції (HAL.DLL) є частиною системи, яка забезпечує апаратно-незалежну реалізацію ядра і виконавчої системи. Цей рівень надає документований в DDK інтерфейс для використання драйверами пристроїв.

2.3.2.2 Рівень ядра та драйверів пристроїв
2.3.2.2.1 Ядро

Ядро (NTOSKRNL.EXE) включає фундаментальні механізми (примітиви), які використовуються виконавчою підсистемою та побудовані на основі низькорівневих засобів HAL. У ядрі реалізовані функції планування та синхронізації потоків.
2.3.2.2.2 Драйвери пристроїв

Драйвери пристроїв є модулями режиму ядра, які можуть завантажуватися. Кожний драйвер може керувати одним або декількома пристроями введення-виведення, а також виконувати дії, які не прив’язані до пристрою, наприклад керувати файловою системою або потоком шифрування даних. Існують наступні типи драйверів пристроїв:
  • драйвери апаратних пристроїв, що управляють устаткуванням через HAL;
  • драйвери файлової системи, що транслюють запити введення-виведення в запити до пристроїв;
  • драйвери фільтрів файлової системи, що надають додаткові послуги файлової системи (наприклад, дзеркалювання і шифрування);
  • драйвери мережних протоколів, що реалізують мережні протоколи;
  • мережні редиректори і сервери, що перенаправляють (приймають) запити на файлове введення-виведення на інші вузли (від інших вузлів) мережі.






Рис. 1. Схема загальної архітектури ОЕ

2.3.2.3 Виконавча система

Виконавча система (NTOSKRNL.EXE) містить компоненти, кожний з яких виконує свою задачу:
  1. диспетчер сервісів ядра. Обробляє 46-е програмне переривання, робить перевірку параметрів виклику сервісу ядра і направляє виклик у відповідний компонент виконавчої системи. Виконує роль інтерфейсу до виконавчої системи;
  2. менеджер введення-виведення. Забезпечує структури даних та служби для введення-виведення. Надає у системі незалежне від пристроїв введення-виведення, використовуючи виклики відповідних драйверів;
  3. менеджер об’єктів. Керує всіма об’єктами ОС, такими як процеси, потоки, файли, каталоги, семафори та інше;
  4. менеджер PnP. Виявляє підключення до ОС нових пристроїв та забезпечує завантаження необхідних драйверів;
  5. менеджер енергоживлення. Керує електроспоживанням системи шляхом переключення режимів роботи пристроїв. Також формує повідомлення для застосувань при розрядженні батарей переносних комп’ютерів;
  6. менеджер конфігурації. Відповідає за керування реєстром ОЕ;
  7. менеджер сторінкової пам’яті. Реалізує віртуальну пам’ять зі сторінковою підкачкою. Керує перетворенням віртуальних сторінок у фізичні та реалізує правила захисту адресних просторів процесів;
  8. менеджер процесів і потоків. Керує процесами і потоками, включаючи їхнє створення та завершення;
  9. монітор безпеки. Реалізує механізми безпеки ОЕ, які призначені для застосування політики безпеки ОЕ;
  10. менеджер кеша. Зберігає у пам’яті блоки даних з накопичувачів для забезпечення прискорення доступу;
  11. менеджер виклику локальної процедури (LPC). Забезпечує передачу повідомлень між клієнтськими і серверними процесами в системі.

Виконавча система надає наступні набори експортованих функцій:
  • експортовані функції, які доступні у режимі користувача. Ці функції називаються системними сервісами або сервісами ядра. Доступ до цих функцій зазвичай здійснюється через модуль NTDLL. Більшість системних сервісів доступні через документовані в SDK інтерфейси підсистем оточення (в першу чергу, Win32 API);
  • експортовані функції, які доступні у режимі ядра і документовані у DDK;
  • експортовані функції, які доступні у режимі ядра і не документовані у DDK.

2.3.2.4 Бібліотека інтерфейсу з виконавчою системою (NT API)

Бібліотека системної підтримки для звертання до сервісів ядра (NTDLL.DLL) здійснює доступ до диспетчера сервісів ядра через виклик 46-го переривання (номер сервісу міститься в регістрі EAX, покажчик на список параметрів в регістрі EBX).

2.3.2.5 Системні процеси

Системні процеси реалізуються наступними компонентами [13]:
  1. диспетчер системних служб (Service Control Manager, services.exe) відповідає за запуск і керування системними службами, які працюють поза інтерактивних сеансів користувачів. Конфігураційна інформація системних служб зберігається під ключем реєстру HKLM\SYSTEM\CurrentControlSet\Services;
  2. процес входу в систему (winlogon.exe) обробляє інтерактивний вхід користувача в систему. Для автентифікації користувач взаємодіє з процесом диспетчера локальної автентифікації LSA (Local Security Authority). Конфігураційна інформація Winlogon зберігається під ключем реєстру HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Ідентифікація і автентифікація реалізовані за допомогою компонента GINA (Graphical Identification and Authentication, Msgina.dll), який надає інтерфейс для входу за умовчанням на підставі перевірки імені та паролю користувача;
  3. диспетчер локальної автентифікації (LSA, lsass.exe) обробляє запити на автентифікацію, що поступають від Winlogon, та при успішній автентифікації формує маркер доступу, що містить профіль захисту користувача. Конфігураційна інформація диспетчера локальної автентифікації зберігається під ключем реєстру HKLM\SYSTEM\CurrentControlSet\Control\Lsa;
  4. диспетчер сеансів (Session Manager , smss.exe) – перший процес режиму користувача, який створюється в системі. Керує сеансами користувачів, запускає підсистеми оточення і процес Winlogon. Конфігураційна інформація диспетчера сеансів зберігається під ключем реєстру HKLM\SYSTEM\CurrentControlSet\Control\Session Manager.

2.3.2.6 Підсистеми оточення

Підсистеми оточення забезпечують документовані інтерфейси прикладного програмування. В ОЕ є дві підсистеми оточення: Win32 (csrss.exe) та POSIX (psxss.exe). Підсистема Win32 запускається завжди, підсистема POSIX тільки на вимогу. Процес підтримки підсистеми POSIX в ОЕ сам є застосуванням підсистеми Win32. Застосування, які працюють в режимі користувача, не можуть викликати сервіси ядра безпосередньо, замість цього вони звертаються до динамічних бібліотек DLL підсистем оточення, які надають документований інтерфейс для застосувань. Так, DLL підсистеми Win32 (Kernel32.dll, Advapi.dll, User32.dll, Gdi32.dll) реалізують Win32 API.

Підсистема Win32 складається з чотирьох складових:
  • процесу підсистеми (csrss.exe), який працює в режимі користувача;
  • DLL- модулів підсистеми оточення, які працюють в режимі користувача;
  • менеджеру вікон і графіки, який працює в режимі ядра (Win32k.sys).

Графічних драйверів, які працюють в режимі ядра.

2.3.2.7 Системні служби

Велика частина компонентів ОЕ, які працюють в режимі користувача, реалізовані у вигляді системних служб, таких як DNS Client, DHCP Client, Net Logon, Print Spooler та ін.

2.3.2.8 Застосування

Частина компонентів ОЕ, які працюють в режимі користувача, реалізовані у вигляді застосувань (процесів, що запускаються в інтерактивних сеансах користувачів), наприклад, Windows Explorer, Microsoft Management Console та ін.