VBS использует аппаратную виртуализацию для создания изолированной защищенной среды. HVCI, также известная как целостность памяти, использует эту основу для защиты решений о допустимости кода ядра и ограничения исполняемой памяти. HVCI — один из механизмов на базе VBS, а не ее синоним. Это дополнительная защита, не замена исправлению уязвимостей и обновлениям.
Что такое VBS и HVCI в Windows?
Различаем виртуализационную основу защиты Windows и проверку целостности кода ядра: назначение, границы и требования совместимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
VBS, Virtualization-Based Security, — основа защиты Windows, использующая гипервизор и аппаратную виртуализацию для создания изолированной области. В ней можно выполнять чувствительные функции так, чтобы обычная среда ОС имела к ним ограниченный доступ. Назначение описано в документации Microsoft по VBS.
HVCI, Hypervisor-Protected Code Integrity, известная в интерфейсе Windows как «Целостность памяти», применяет VBS для защиты проверки целостности кода режима ядра. Она помогает ограничивать выполнение непроверенного кода и отделять разрешенные исполняемые страницы от записываемых. См. документацию Microsoft по memory integrity.
Таким образом, VBS — более общий фундамент изоляции, HVCI — конкретный механизм на его основе. Другие функции тоже могут использовать VBS; названия нельзя считать взаимозаменяемыми.
На практике важны поддержка процессора, настройки платформы, версия ОС и совместимость драйверов. Наличие параметра в интерфейсе еще не доказывает, что защита действительно работает в требуемом режиме: состояние нужно проверять предусмотренными средствами системы.
HVCI не обещает устранение всех ошибок драйверов и не делает подписанный код автоматически безопасным. Уязвимости, обновления, минимальные привилегии и контроль поставки ПО остаются отдельными задачами. Внедрение оценивают вместе с совместимостью и производительностью на целевой конфигурации. При проблеме с драйвером корректный путь — разобраться в причине и обновить несовместимый компонент, а не объявлять отключение защиты универсальным решением.