Захист системних файлів за допомогою віртуалізації uac

Коли стандартний користувач входить в комп'ютер Windows, є деякі дії і діяльність, які потрібно захистити. Цей захист не завжди успішна, оскільки деякі версії Windows не захищають загальну систему так, як хотілося б. Дії, які потрібно захистити, включають в себе зміни та записи в системні папки і системні розташування в реєстрі. Це необхідно для захисту загальної стабільності і безпеки ОС. Windows Vista надає відмінне рішення для допомоги в захисті цих ключових областей системи. Vista використовує управління призначеними для користувача обліковими записами (User Account Control) і віртуалізацію для забезпечення захисту і безпеки. У цій статті буде розглянуто, як UAC використовує віртуалізацію для захисту системи.

Історичне поведінку додатків бізнесу (LOB)

Директорія програмних файлів (Program Files) (зазвичай розташована на C: # 92; Program Files і позначається% ProgramFiles%) є тим каталогом, де в більшості виробничих сценаріїв зберігаються виконувані файли додатків. Параметри LOB додатків зберігаються в ключі HKEY_LOCAL_MACHINE # 92; Software в системному реєстрі в більшості випадків. Більшість з цих місць захищено ОС, тобто системі і адміністратору дозволений доступ із записом, а користувачам дан доступ тільки читання і виконання.

LOB додатки повинні розроблятися так, щоб записувати в зазначену користувачем папку даних програми, яка розташована в профілі користуватися. Зазвичай вона розташовується в C: # 92; Users # 92;# 92; AppData і позначається% AppData%. Якщо є якісь специфічні для користувача параметри, які необхідно зберігати, вони повинні розташовуватися в ключі реєстру HKEY_CURRENT_USER # 92; Software. Обидва цих розташування створені для кожного окремого користувача і захищені так, що лише цей користувач має доступ до даних, які записані за замовчуванням.

Однак багато (я б навіть сказав БІЛЬШІСТЬ) LOB додатки зроблені не у відповідності з вищеописаної технологією. Замість цього вони зберігають специфічні для користувача дані в папці% ProgramFiles% і в HKEY_LOCAL_MACHINE # 92; Software. На жаль, звичайні користувачі не мають доступу для запису в ці директорії, що змусило багато компаній додавати звичайних користувачів в групи локальних адміністраторів, щоб вони могли виконувати ці програми. Звичайно, це не ідеальне рішення, так як користувач в такому випадку може змінювати що завгодно на комп'ютері, а не тільки певні параметри LOB додатки в цих директоріях системи.

Специфіка віртуалізації UAC

Оскільки LOB нелегко змінити, і тим не менш користувачам необхідно виконувати ці програми, Vista використовує інший підхід для вирішення цієї проблеми. У Vista, UAC простягає руку допомоги, віртуалізіруя файлову систему і простір імен системного реєстру. UAC виртуализирует спадкові додатки, дозволяючи стандартному користувачеві залишатися «стандартним користувачем» і в той же час виконувати додатки. Визначення спадкового в цьому випадку включає тридцяти двох розрядні процеси, що працюють без адміністративних привілеїв, і не включає явний файл Windows Vista. Якщо процес або операція не відповідає цим критеріям, він (a) не віртуалізується. Наступні процеси і операції теж віртуалізуються:

  • Стандартні програми Vista
  • Файли з такими виконуваними розширеннями, як .EXE. BAT. VBS і .SCR. Можна додавати додаткові виключення розширення файлів в HKLM # 92; System # 92; CurrentControlSet # 92; Services # 92; Luafv # 92; Parameters # 92; ExcludedExtensionsAdd
  • 64-розрядні додатки і процеси
  • Додатки з запитаної директивою рівня виконання (Execution Level directive) в своєму исполняемом прояві, як більшість виконуваних файлів Vista
  • Процеси або програми, що працюють з правами адміністратора
  • Додатки в режимі Kernel
  • Операції, що не мають походження в інтерактивних сеансах, такі як спільне використання файлів
  • Додатки, що змінюють ключ реєстру прапорцем Don't_Virtualize (НЕ віртулізіровать)

Віртуалізація файлової системи і реєстру, звичайно, не поширена на всю систему. Є лише обмежена кількість місць, які віртуалізуються, і всі вони необхідні для роботи і безпеки ОС. Ось практично повний список розташувань, які віртуалізуються:

  • # 92; Program Files і підпапки
  • # 92; Program Files (x86) на 64-розрядних системах
  • # 92; Windows і всі папки, включаючи System32
  • # 92; Users # 92;% AllUsersProfile% # 92; ProgramData
  • # 92; Documents and Settings (symbolic link)
  • HKLM # 92; Software

Верифікація UAC віртуалізації

Коли дія віртуалізується, результуюче вміст зберігається в профілі користувача, як говорилося раніше. Однак, як насправді дізнатися напевно, що інформація була віртуалізувати? Залежно від того, який вміст було віртуалізувати, є деякі покажчики в різних інтерфейсах, які допоможуть вам побачити віртуалізацію.

Перший покажчик знаходиться в інтерфейсі провідника Windows Explorer GUI. Залежно від того, яка папка або файли були віртуалізувати, з'являються додаткові опції меню в Windows Explorer. На малюнку 1 показано, що відображає Windows Explorer, коли у вас є віртуалізовані файли в папці C: # 92; Windows.

Малюнок 1: Виділене червоне поле вказує, що є віртуальні файли

Доповнення функції 'Файли сумісності (Compatibility Files)' в меню Windows Explorer з'являється тільки при наявності віртуальних файлів. Нова опція меню з'являється лише для тих папок, які містять віртуальні папки або файли.

Коли опція Compatibility Files в меню обрана, вона направить вікно Windows Explorer до віртуальних файлів і містить їх папках. Малюнок 2 демонструє, як виглядає вміст цих віртуальних файлів і папок.

Малюнок 2: Опція Compatibility Files в меню зберігається в папці VirtuaStore

Як видно, опція меню Compability Files відкриває папку VirtualStore, розташовану в профілі користувачів. Як видно з малюнка 2, це # 92; AppData # 92; VirtualStore.

висновок

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