Virtual Secure Mode (VSM) в Windows 10 Enterprise

У Windows 10 Enterprise (і тільки в цій редакції) з'явився новий компонент Hyper-V під назвою Virtual Secure Mode (VSM). VSM - це захищений контейнер (віртуальна машина), запущений на гіпервізора і відокремлений від хостовой Windows 10 і її ядра. Критичні з точки зору безпеки компоненти системи запускаються усередині цього захищеного віртуального контейнера. Ніякої сторонній код всередині VSM виконуватися не може, а цілісність коду постійно перевіряється на предмет модифікації. Така архітектура дозволяє захистити дані в VSM, навіть якщо ядро ​​хостовой Windows 10 скомпрометовано, адже навіть ядро ​​не має прямого доступу до VSM.

Контейнер VSM не може бути підключений до мережі, і ніхто не може отримати адміністративні привілеї в ньому. Всередині контейнера Virtual Secure Mode можуть зберігатися ключі шифрування, авторизовані дані користувачів і інша критична з точки зору компрометація інформація. Таким чином, атакуючий тепер не зможе за допомогою локально закешовану даних облікового запису доменних користувачів проникнути всередину корпоративної інфраструктури.

Усередині VSM можуть працювати такі системні компоненти:

  • LSASS (Local Security Subsystem Service) - компонент, який відповідає за авторизацію і ізоляцію локальних користувачів (таким чином система захищена від атак типу "pass the hash" і утиліт типу mimikatz). Це означає, що паролі (і / або хеші) користувачів, зареєстрованих в системі, не зможе отримати навіть користувач з правами локального адміністратора.
  • Віртуальний TPM (vTPM) - синтетичне TPM пристрій для гостьових машин, необхідне для шифрування вмісту дисків
  • Система контролю цілісності коду ОС - захист коду системи від модифікації
Примітка. На базі VSM також працюють такі технології захисту, як Shielded VM (захищені віртуальні машини) і Device Guard. Хостової і гостьові ОС можуть працювати з контейнером Virtual Secure Mode через API інтерфейси.

Для можливості використання режиму VSM, до середовища ставляться такі апаратні вимоги:

  • Підтримка UEFI, Secure Boot і Trusted Platform Module (TPM) для безпечного зберігання ключів
  • Підтримка апаратної віртуалізації (як мінімум VT-x або AMD-V)

Як включити Virtual Secure Mode (VSM) в Windows 10

Розглянемо, як включити режим Virtual Secure Mode Windows 10 (в нашому прикладі це Build 10130).

  1. Режим UEFI Secure Boot повинен бути включений.
  2. Windows 10 повинна бути включена в домен (VSM - захищає тільки доменні облікові записи користувачів, але не локальні).
  3. Роль Hyper-V в Windows 10 повинна бути встановлена ​​(в нашому випадку спочатку довелося встановлювати Hyper-V Platform, і тільки потім інструменти Hyper-V Management Tools).
  4. Режим Virtual Secure Mode (VSM) повинен бути включений спеціальної політикою в редакторі групової політики gpedit.msc: Computer Configuration -> System -> Device Guard -> Turn on Virtualization Based Security. Увімкніть політику, в пункті Select Platform security level Виберіть Secure Boot, а також відзначте "Enable Credential Guard"(Ізоляція LSA).
  5. І, останнє, налаштуємо BCD для запуску Windows 10 в режимі VSMbcdedit / set vsmlaunchtype auto
  6. перезавантажте комп'ютер

Перевірка роботи VSM

Переконатися, що режим VSM активний можна за наявністю процесу Secure System в диспетчері завдань.

Або за подією "Credential Guard (Lsalso.exe) was started and will protect LSA credential"В журналі системи.

Тестування захисту VSM

Отже, на машини з включеним режимом VSM реєструємося під доменної обліковим записом і з-під локального адміністратора запускаємо таку команду mimikatz:

mimikatz.exe privilege :: debug sekurlsa :: logonpasswords exit

Ми бачимо, що LSA запущений в ізольованому середовищі і хеші паролів користувача отримати не вдається.

Якщо ту ж операцію виконати на машині з відключеним VSM, ми отримуємо NTLM хеш пароля користувача, який можна використовувати для атак "pass-the-hash".