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 могут храниться ключи шифрования, авторизационные данные пользователей и другая критичная с точки зрения компрометация информация. Таким образом, атакующий теперь не сможет с помощью локально закэшированных данных учетной записи доменных пользователей проникнуть внутрь корпоративной инфраструктуры.

Архитектура Virtual Secure Mode в Windows 10 Внутри 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). Роль Hyper V в Windows 10
  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). Политика Turn on Virtualization Based Security
  5. И, последнее, настроим BCD для запуска Windows 10 в режиме VSM bcdedit /set vsmlaunchtype auto
  6. Перезагрузите компьютер

Проверка работы VSM

Убедится, что режим VSM активен можно по наличию процесса Secure System в диспетчере задач.

Процесс Secure System Или по событию “ Credential Guard (Lsalso.exe) was started and will protect LSA credential ” в журнале системы.

Событие Credential Guard (Lsalso.exe) was started and will protect LSA credential

Тестирование защиты VSM

Итак, на машины с включенным режимом VSM регистрируемся под доменной учетной записью и из-под локального администратора запускаем такую команду mimikatz:

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

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

mimikatz в режиме VSM Если ту же операцию выполнить на машине с отключенным VSM, мы получаем NTLM хэш пароля пользователя, который можно использовать для атак “pass-the-hash”. mimikatz без VSM режима

EnglishRussianUkrainian