Технологія Shielded VM в Windows Server 2016

Не потрібно заглиблюватися в технології гіпервізора і засоби віртуалізації, щоб зрозуміти, які вражаючі можливості відкривають віртуальні машини. В будь-якому центрі обробки даних віртуалізація сьогодні є ключовим елементом. З віртуальними машинами спростилися завдання розгортання, управління, обслуговування та автоматизації ІТ-інфраструктури, широке поширення одержали послуги VPS. Але, незважаючи на численні переваги, віртуалізація також вимагає особливих підходів до забезпечення безпеки віртуальної інфраструктури та додатків.



Безпечний хостинг?
У разі віртуальних машин (ВМ) ми беремо операційну систему, додатки і инкапсулируем їх у кілька файлів ВМ, отримуючи можливість запустити кілька віртуальних машин (іноді десятки) на одній системі одночасно. Віртуальні машини спрощують процеси міграції, резервного копіювання, реплікації, але це також означає, що простіше змінити або навіть скопіювати всю ВМ, весь ваш віртуальний сервер по мережі або на USB-флешку і забрати з собою.

Це стосується не тільки комерційних, але навіть корпоративних дата-центрів. Як приклад – контролер домену, розгорнутий у вашому ЦОД. Уявіть собі, якщо контролер домену покине межі вашої організації. Це буквально «ключі від квартири, де гроші лежать». Оскільки все зберігається централізовано, можна винести десятки ВМ і запустити їх десь в іншому місці. А в разі хостингу у стороннього провайдера проблема стає ще більш гострою.

Тому зайво говорити про актуальність проблеми захисту даних всередині віртуальних машин розміщених як у публічних хмарах, так і в приватному внутрішньому хмарі. Причому вона характерна для будь-якої платформи віртуалізації, будь то VMware, Hyper-V, Xen, KVM та ін. Як і від кого треба захищати дані? Повинні мати доступ до них адміни з різними ролями – адміністратори віртуалізації, адміністратори домену, адміністратори мережі, адміністратори дискових сховищ?

Шифрування і TPM – не панацея
Деякі скажуть: якщо в якості операційної системи хоста використовується Windows Server, то проблема вирішується шифруванням. Досить додати до ВМ віртуальний Trusted Platform Module (TPM), і можна буде шифрувати її вміст за допомогою BitLocker. Ідея хороша, але не працює. Потрібна більш сильна захист від підступів адмінів. Адже адміністратор теоретично може робити з системою все, що завгодно, тобто він в змозі зняти будь-яку захист ВМ, якщо не вжити особливих заходів. Наприклад, у випадку віртуального TPM (vTPM) він може знайти ключ шифрування в пам'яті і розшифрувати ВМ.

Потрібна справжня захист ВМ, яка дозволить запускати її тільки в конкретній інфраструктурної середовищі і повністю убезпечить від дій адміністратора, усуваючи тим самим слабка ланка в системі ІБ, адже адміна потенційно можна шляхом обману, підкупу чи шантажу змусити зробити все, що завгодно. Причому такий спосіб набагато дешевше і доступніше, ніж хакерські кібератаки.

Для цього і служить технологія Shielded VM в Windows Server 2016 (в термінології Microsoft – екрановані віртуальні машини), що обмежує доступ до ВМ адмінів і захищає віртуальні машини від шкідливого коду. Технологія екранування віртуальних машин Shielded VM – ще одна причина звернути увагу на Windows Server 2016. Кому ж вона потрібна в першу чергу?
Кому
Навіщо
Хостерів Можуть гарантувати захист даних клієнтів від будь-яких дій адміністраторів ЦОД.
Замовникам
Можуть перенести навантаження в хмару або комерційний ЦОД і при цьому не побоюватися за пошкодження, конфіденційність і цілісність своїх інформаційних активів, відповідати вимогам регуляторів.
Підприємствам
Отримують можливість чітко відокремити адміністраторів Hyper-V від виконання відповідальних навантажень.
Як це реалізовано?
Як же влаштована захист Shielded VM? По-перше, технології забезпечення інформаційної безпеки з апаратними функціями захисту ізолюють ВМ від адміністраторів хоста. По-друге, служба Host Guardian Service може ідентифікувати законні хости Hyper-V і захищати ключі шифрування конкретних Shielded VM. По-третє, це робиться допомогою підтримки virtual Trusted Platform Module (vTPM) другого покоління для ВМ. Широко використовується шифрування і аутентифікації. Отже, по порядку.

Shielded VM – принципово нова технологія Windows Server 2016. Однак і старе добре шифрування в ній також використовується. Хоч це і не панацея, без нього ніяк не обійтися. Воно дозволяє власнику віртуальної машини включити шифрування томів всередині гостьової ОС, наприклад, з допомогою того ж BitLocker. Тим самим вміст ВМ стає недоступним для шкідливого коду, якщо той опиниться на сайті Hyper-V, де розташована ВМ, так і для адміністратора цього сайту.

Технологія Shielded VM захищає віртуальні машини від компрометації і від адмінів будь-якого рівня шляхом шифрування диска і стану ВМ, після чого доступ до неї буде мати тільки власник. І, найцікавіше, що ключі шифрування ніколи не зберігаються на вузлах Hyper-V з екранованими ВМ, що дозволяє істотно підвищити безпеку рішення в цілому.

Ще одне нове засіб Windows Server Host Guardian Service (HGS) – перевіряє, чи може Shielded VM бути запущена на цьому хості, законний, довірений це хост-сервер. Для цього використовуються засоби атестації хоста і метрики апаратної завантаження, а також функції перевірки коду (Code Integrity). Все це дозволяє перевірити, чи відповідає хост необхідним критеріям, і можна запускати на ньому ВМ.


Host Guardian Service забезпечує атестацію – перевірку хоста Hyper-V і захист ключа, необхідного для запуску захищеної віртуальної машини Shielded VM. HGS запускається роль Windows Server 2016 і включає дві окремих служби – атестації та захисту ключів.

Таким чином, спрощено процес екранування ВМ за кроків виглядає так:

  1. Шифрування стану ВМ і її даних, усунення надмірного адміністративного доступу до віртуальної машини. Копіювання такої ВМ просто втрачає сенс.

  2. Ключі шифрування зберігаються на зовнішній системі. Просто віртуальний або апаратний TPM для цього не підходить за двох причин: ВМ «схильні до переїздів» з сервера на сервер, так і адміністратор має доступ до TPM. В Server 2016 для такого зовнішнього зберігання якраз і використовується служба Host Guardian Service.

  3. ВМ при запуску отримує ключ з довіреної хоста за допомогою HGS. Подібним чином можна захищати гостьові ОС Windows Server 2016, 2012 і 2008 R2. У планах – Linux.

Служба захисту вузла Host Guardian Service – нова роль в Windows Server 2016, яка дозволяє захистити віртуальні машини і дані в них від несанкціонованого доступу навіть з боку адміністраторів Hyper-V. Оскільки ключі шифрування ніколи не зберігаються на вузлах Hyper-V з екранованими ВМ, це дозволяє істотно підвищити безпеку рішення в цілому.

Працює HGS наступним чином:


  1. Хост Hyper-V запитує ключ у HGS.
  2. HGS відповідає, що не має даних про законність хоста Hyper-V.
  3. Тоді хост Hyper-V відправляє HGS свої ідентифікаційні дані.
  4. HGS передає хосту Hyper-V сертифікат відповідності.
  5. Хост Hyper-V знову відправляє запит і передає HGS сертифікат.
  6. У відповідь HGS передає ключ шифрування в зону безпеки середовища віртуалізації хоста Hyper-V.
Тим самим вміст ВМ залишається недоступним для шкідливого коду на сайті Hyper-V, де розташована ВМ, так і для адміністратора цього сайту. Від яких типів атак захищає технологія Shielded VM? Вони перераховані нижче.
Вектор атаки
Захист Shielded VM
Крадіжка VHD системним адміністратором
Shielded VM передбачає шифрування VHD, ключ зберігається поза хоста.
Використання режиму налагодження в Hyper-V
Хост HGS не видає ключі хостам з отладчиками. Служба HGS це дозволяє контролювати.
Зараження хоста Hyper-V шкідливим кодом.
Все на хості (в режимі kernel mode, user mode і драйвери) відстежується, контролюється цілісність коду (CI).
Зараження шаблону диска ВМ.
Shielded VM розгортаються тільки з перевірених шаблонів.
Спроба міграції Shielded VM на недоверенный хост.
Довірені хости додаються в HGS з унікальними ідентифікаторами своїх TPM. Новий, не доданий хост розпізнаватися не буде.
Зазначимо, що від DDoS-атак Shielded VM не захищає – потрібен окремий сервіс.

Для завантаження Shielded VM використовується Unified Extensible Firmware Interface (UEFI), а не традиційний BIOS, забезпечується захист Secure Boot, включається шифрування диска ВМ з допомогою BitLocker. Дані ВМ захищені BitLocker в тому числі і при міграції Live Migration.


Shielded VM обмежує доступ до віртуальної машини адміністраторів різного рівня. Такий достум має тільки сам адміністратор ВМ.

Таким чином, Host Guardian Service, – нова роль в Windows Server 2016 – дозволяє захистити ВМ від несанкціонованого доступу адміністраторів хоста Hyper-V. Адмін, не має повних прав на Shielded VM, зможе тільки запускати або зупиняти таку віртуальну машину, але не змінювати її налаштування або бачити вміст.

Для Shielded VM потрібна гостьова ОС Windows Server 2012 і Windows 8 або вище. Захищені (екрановані) віртуальні машини Shielded VM можна створювати та на порталі Microsoft Management Pack Portal. Стандартні віртуальні машини також можуть бути перетворені в захищені. При цьому, як уже зазначалося, віртуальні диски шифруються за допомогою BitLocker.

Довіряй, але перевіряй
Як можна атестувати хост, тобто переконатися, що ВМ запускається на довіреній системі і на члені домену? Для цього є два способи: полегшений (Admin-Trusted) і посилений (TPM-based).

Перший в основному призначений для ЦОД підприємств або для особливо довірених хостинг-провайдерів і заснований на Active Directory: для авторизації хоста на запуск ВМ його включають у групу AD. Апаратна перевірка відсутня – годяться будь-які сервери (без криптопроцесора). Це програмний спосіб перевірки довірених вузлів.

Другий, призначений для основної маси хостерів, більш складний і вимагає обладнання з підтримкою криптопроцесора TPM 2.0 і UEFI 2.3.1. Таке обладнання, поки що зустрічається рідко. Так що вибір конкретного методу захисту залежить ще й від можливостей апаратних засобів. Апаратний процес атестації виглядає так:



  1. Запускається Shielded VM.
  2. Клієнт ініціює протокол атестації.
  3. Хост відправляє метрики і результати контролю цілісності коду.
  4. Валидируются метрики хоста.
  5. Хосту видається підписаний сертифікат атестації. Тим самим дозволяється запуск ВМ.
При наявності TMP застосовується апаратна перевірка – залежно від налаштувань перевіряються бінарники, гипервизоры і ін. Що робити, якщо немає відповідних апаратних засобів – TPM 2.0 і UEFI? Можна використовувати програмні. Атестація хоста виконується через Kerberos і контролер домену. Дані ВМ також зашифровані і захищені від адмінів, але немає захисту ВМ на системному рівні, наприклад, від вірусів або кейлоггеров. Тим не менш, даний рівень безпеки в більшості випадків вважається адекватним. Він вимагає тільки конфігурування групи AD.

AD при програмному методі (Admin-Trusted) використовується для зберігання інформації – замість TMP. При програмному методі виконується більше перевірок, наприклад, перевіряється «стан здоров'я» ВМ і вузла, однак програмний метод дає можливість використовувати існуючу ІТ-інфраструктуру, тому найближчим часом він буде основним. Для захисту від збоїв рекомендується розгортати три сервера HGS. Для пошуку вузла HGS можна використовувати DNS. Зазначимо, що оновлювати HGS треба разом з хостом віртуалізації.

Теоретично ці сервери HGS можуть бути і віртуальними (працювати як Shielded VM), але така конфігурація ненадійна і не запуститься після збою – рекомендується як мінімум один фізичний сервер HGS або хоча б звичайний віртуальний (не Shielded VM).

Управляється HGS з PowerShell або з консолі, підтримується режим високої доступності (HA), масштабування. Особливу увагу слід приділяти безпеці HGS – рекомендується фізичний захист сервера. Microsoft рекомендує також дозволити для HGS функції BitLocker і SecureBoot, включити міжмережевий екран і присвоїти кожному вузлу HGS як мінімум один статичний IP. Щоб дозволити SSL для дзвінків REST API, потрібно чинний сертифікат SSL. У ньому вказується ім'я HGS Service FQDN.

Тотальна захист
Все це вписується в концепцію Microsoft Virtualization Based Security (VBS), що передбачає захист гіпервізора, мереж тощо Для забезпечення безпеки та ізоляції DOS використовує розширення платформи віртуалізації. В Hyper-V VBS застосовується для захисту ОС хоста і гостьових ВМ, серверів і клієнтів.


Virtualization-based Security (VBS) використовує апаратну технологію захисту для створення зони безпеки, ізольованою від ядра і додатків. Тим самим забезпечується захист від зовнішніх атак.

До апаратної платформи VBS пред'являє наступні вимоги: наявність UEFI 2.3.1 c для безпечної і контрольованої завантаження, TPM v2.0 для захисту ресурсів, розширення віртуалізації (Intel VT-X, AMD-V), трансляція адрес (Intel EPT, AMD RVI), захист пам'яті гіпервізором.

Важливе завдання – забезпечення перевірки цілісності коду (Hypervisor Enforced Integrity Code). В даний час перевірки CI здійснюються з ядра, і, якщо ядро скомпрометовано, код буде виконаний. У VBS це робиться безпечно. Гіпервізор перевіряє права доступу до кожної сторінки пам'яті, права виконання розміщеного там коду і цілісність даних. Тим самим істотно обмежуються потенційні атаки через операції з пам'яттю і реалізується захист від некоректних драйверів.


Code Integrity з допомогою Virtualization-Based Security гарантує запуск в системі з моменту її старту тільки дозволеного двійкового коду.

VBS включає в себе безліч архітектурних змін і окремих засобів. Наприклад, Virtual Security Mode (VSM) серйозно обмежує дії хоста і ВМ. В рамках VMS реалізована безпечне середовище виконання ОС і гостьових ВМ, перевіряється їх цілісність, а також посилена безпека застосовуваного в Shielded VM процесу VM Worker Process для захисту інформації про стан ВМ. Virtual TMP (vTPM) для гостьових машин підтримує сервіси TPM, наприклад, шифрування диска.

Необхідно не тільки обмежити права доступу адміна хоста до гостьовим ВМ. Адміністратор не повинен втручатися у роботу операційної системи хоста – гіпервізор також потрібно захистити від його дій. Ці механізми – ключові реалізації VSM, що передбачає захист платформ, віртуальних машин і віртуального обладнання.

По суті, VMS – набір методів контролю оперативної пам'яті (її захисту, розподілу прав доступу), розмежування між операційними системами, операцій з «секретами» платформи без їх розкриття. VMS дозволяє вибудовувати нові рівні безпеки – Virtual Trust Levels (VTL). У Windows Server 2016 поряд з вбудованими рівнями безпеки можна створювати нові VTL з більш жорсткими вимогами. VTL забезпечує ізоляцію пам'яті, захищає доступ до фізичної пам'яті. На рівні VTL0 працюють незахищені ВМ, на рівні VTL1 – екрановані ВМ. Можна створювати додаткові рівні VTL – вони ієрархічні. Адмін не може змінити VTL з ОС хоста.

Що таке ВМ, що працює в режимі VSM? Це зменшене ядро (proxy kernel, SMART або SKERNEL), яке звертається до звичайного ядра через IUM (Isolated User Mode) з використанням Intel VT-d. Даний механізм захищає віртуальні апаратні ресурси від доступу адміністратора хоста.

Важливий момент – захист від так званих DMA-атак, наприклад, «підроблених» драйверів, які намагаються скомпрометувати пам'ять VSM. Для контролю пам'яті DMA гіпервізор використовує IOMMU системи.

Віртуальна машина повинна бути захищена в будь-якому стані: вимкнена, працює або «переїжджає». Для цього потрібна материнська плата з підтримкою UEFI, Secure Boot ВМ і підтримка TPM 2.0.


Trusted Platform Module (TPM) – криптопроцессор міжнародного стандарту. Windows Server 2016 Hyper-V дозволяє застосовувати для захисту ВМ віртуальний TPM. В результаті ВМ можуть використовувати, наприклад, функцію BitLocker. Віртуальний TPM не вимагає наявності фізичної модуля TPM. vTPM – це якесь віртуальне пристрій TPM для гостьових ВМ, що дозволяє шифрувати їх диски.

Для захисту ВМ в «стані спокою» служить vTPM. Віртуальний TPM не вимагає фізичної TPM і дозволяє переміщати ВМ. Це віртуальне пристрій TPM 2.0. Крім того, диск гостьовий ВМ шифрується засобами BitLocker. Шифрується і трафік міграції ВМ.

Для кожної ВМ створюється процес Virtual Machine Workerr Process (VMWP). Для Shielded VM це захищений процес із забороною доступу відладчика і обмеженням цілого ряду функцій. Адміністративний доступ до Shielded VM також обмежений. Закритий доступ до неї через VMconnect (в базовому режимі), заборонений RemoteFX, незахищені виклики WMI, KVP, відключені компоненти інтеграції, вставка реєстру IMC, видалені незахищені пристрою VDEV. Такий ВМ можна управляти через вбудовані механізми. Якщо ВМ «зламалася», то для її лагодження потрібно відключити режим Shielded VM або відновити з резервної копії.


Нові кордони безпеки Hyper-V. Перевіряються бінарники в ОС, операційна система обмежує доступ до ресурсів, широко використовується аутентифікація. Гостьова ОС працює з хостом через захищений VMWP. Віртуальний TPM шифрує дані ВМ, а ключі шифрування зберігаються на зовнішньому сервері. Гіпервізор, VSM, гостьова ОС реалізують окремі рівні безпеки.

Звичайно, рівень екранування (захисту) ВМ можна настроювати. Більш слабкий рівень захисту можна використовувати, коли ви довіряєте адміну хоста, або хост-система не підтримує всі вимоги Shielded VM. У цьому випадку знижуються і непродуктивні втрати через екранування.

  1. Базовий рівень. Використовує функції TPM – ВМ працює vTPM, підтримується Secure Boot, шифрування диска, VSC і т. д.
  2. Захист цього рівня доповнюється шифруванням стану ВМ і трафіку міграції.
  3. Повне екранування, включаючи обмеження операцій адміністратора хоста.
Щоб все це працювало, внесено зміни до режими безпеки гіпервізора. За умовчанням він не довіряє хост-системі, що з неї немає прямого доступу до гіпервізору, обмежений доступ до ключових системних ресурсів. Все необхідне виконується з гостьових ОС ВМ. Операційна система хоста в основному реалізує функції управління. Стан гіпервізора у файлі сну шифрується.

Таким чином, дані і стан Shielded VM захищені від адмінів і шкідливих програм, VSM на хості захищається за допомогою vTPM, підтримується шифрування диска, а Shielded VM може запускатися тільки на перевіреному сайті. Про розгортання екранованих ВМ та особливості Shielded VM розповідається у цьому документі.

З прицілом на хостингові компанії та великі організації в Windows Server 2016 реалізований також інструментарій Guarded Fabric. З його допомогою можна гнучко налаштувати мережеву інфраструктуру і розбити його на сегменти таким чином, щоб не можна було перехоплювати дані, втручатися з однієї віртуальної машини в іншу і виконувати інші суперечать політикам безпеки операції. У мережах провайдерів хмарних послуг можуть функціонувати десятки тисяч віртуальних машин, в інфраструктурі яких можуть виникати конфлікти IP-адрес, з'являтися системи віртуалізації з шкідливими програмами. Завдання Guarded Fabric – це запобігти.

Віртуальний хостинг і хмари більше не є небезпечними – усунуто одну з основних перешкод у використанні хмарних сервісів. Віртуальні сервери тепер можна використовувати для навантажень, які раніше з міркувань безпеки можна було виконувати лише на апаратних платформах.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.