VBS
Virtualization-based Security
Virtualization-based security, or VBS, uses hardware virtualization
features to create and isolate a secure region of memory from the
normal operating system. Windows can use this "virtual secure mode" to
host a number of security solutions, providing them with greatly
increased protection from vulnerabilities in the operating system, and
preventing the use of malicious exploits which attempt to defeat
protections.
One such example security solution is Hypervisor-Enforced Code
Integrity (HVCI), commonly referred to as Memory integrity, which uses
VBS to significantly strengthen code integrity policy enforcement.
Kernel mode code integrity checks all kernel mode drivers and binaries
before they're started, and prevents unsigned drivers or system files
from being loaded into system memory.
VBS uses the Windows hypervisor to create this virtual secure mode,
and to enforce restrictions which protect vital system and operating
system resources, or to protect security assets such as authenticated
user credentials. With the increased protections offered by VBS, even
if malware gains access to the OS kernel the possible exploits can be
greatly limited and contained, because the hypervisor can prevent the
malware from executing code or accessing platform secrets.
Similarly, user mode configurable code integrity policy checks
applications before they're loaded, and will only start executables
that are signed by known, approved signers. HVCI leverages VBS to run
the code integrity service inside a secure environment, providing
stronger protections against kernel viruses and malware. The
hypervisor, the most privileged level of system software, sets and
enforces page permissions across all system memory. Pages are only
made executable after code integrity checks inside the secure region
have passed, and executable pages are not writable. That way, even if
there are vulnerabilities like a buffer overflow that allow malware to
attempt to modify memory, code pages cannot be modified, and modified
memory cannot be made executable.
VSM
Virtual Secure Mode
Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
enlightenments offered to host and guest partitions which enables the
creation and management of new security boundaries within operating
system software. VSM is the hypervisor facility on which Windows
security features including Device Guard, Credential Guard, virtual
TPMs and shielded VMs are based. These security features were
introduced in Windows 10 and Windows Server 2016.
VSM enables operating system software in the root and guest partitions
to create isolated regions of memory for storage and processing of
system security assets. Access to these isolated regions is controlled
and granted solely through the hypervisor, which is a highly
privileged, highly trusted part of the system’s Trusted Compute Base
(TCB). Because the hypervisor runs at a higher privilege level than
operating system software and has exclusive control of key system
hardware resources such as memory access permission controls in the
CPU MMU and IOMMU early in system initialization, the hypervisor can
protect these isolated regions from unauthorized access, even from
operating system software (e.g., OS kernel and device drivers) with
supervisor mode access (i.e. CPL0, or “Ring 0”).
With this architecture, even if normal system level software running
in supervisor mode (e.g. kernel, drivers, etc.) is compromised by
malicious software, the assets in isolated regions protected by the
hypervisor can remain secured.