VBS 简介
基于虚拟化的安全 (VBS – Virtulization Based Security) 是微软专门 Windows 10 或 Windows Server 2016 在虚拟化环境下新增的一个安全特性,VBS 综合利用了 CPU 硬件、系统固件、Hypervisor 所提供的安全特性,在内存中隔离出一块安全区域供虚机使用,虚机中的 Windows 系统能够利用 VBS 所提供的“虚拟安全模式”来实现一些安全解决方案,让它们很大程度上免受恶意软件的攻击,从而提高系统的安全性。VBS 利用 Hypervisor 来进入“虚拟安全模式”来强制保护一些重要的系统资源,例如用户帐号密码。即便恶意软件攻陷了操作系统的核心代码,它能造成的威胁也被极大地遏制了,因为在 VBS 安全模式下, Hypervisor 能够有效地阻止恶意软件的各种行为,包括执行代码或访问系统机密数据。
Hypervisor 强制的代码一致性检查 HVCI (Hypervisor-Enforced Code Integrity) 就是 VBS 安全解决方案的一个例子,在代码运行之前,利用 VBS 所提供的安全特性来强制执行代码一致检查。
- 核心模式代码:所有的操作系统核心模式驱动和代码在运行之前都要执行一致性检查,然后才能被装载进内存执行,未经过微软数字签名的代码或系统文件将被彻底阻止。
- 用户模式代码:所有应用代码在运行之前都要经过检查,只有被已知的开发商正确数字签名的代码才会被执行。
HVCI 在 VBS 所提供的一个安全环境中进行代码一致性检查,从而实现对系统内核级病毒和恶意代码的隔离。Hypervisor 作为权限最高的系统软件,对所有的系统内存设置了页面访问权限,内存页面中的代码只有通过一致性检查后才能被执行,并且包含可执行代码内存页面是只读的。这样一来,恶意代码利用系统漏洞 (如缓存溢出) 来改写内存代码就办不到了。
VBS 安全机制可不是在 Windows 操作系统层面可以单独实现的,需要服务器 CPU、TPM、系统固件满足相关的条件 (详情请见微软相关文档),并且在 Hypervisor 层面提供支持。vSphere 6.7 中实现了对于 VBS 的支持,从而为运行 Windows 操作系统的虚机提供更高安全等级的保护,满足企业在信息安全方面的合规要求。
vSphere 6.7 对于 VBS 的支持
前提条件
为了激活 VBS 功能,虚机的配置必须满足以下条件:
虚机的硬件版本必须是版本14或以后的版本,必须安装以下两种操作系统:
- Windows 10 Enterprise, 64-bit
- Windows Server 2016
注意:务必安装上所有的操作系统更新,不然 VBS 可能不起作用。
激活 Windows 2016 中的 VBS 功能
创建虚机的时候指定安装的操作系统是 Windows Server 2016。
虚机创建好之后勾选“Enable Virtualization Based Security”选项开关。
当 Windows Server 2016 启动后,再完成以下两个步骤。
- 在组策略设置中激活 VBS
- 在 Windows Server 2016 上激活 Hyper-V
运行 gpedit.msc 来启动组策略编辑器,访问:Computer Configuration > Administrative Templates > System > Device Guard > Turn On Virtualization Based Security。把组策略设置为 Enabled,并且设置好以下参数,完成后选择重启系统。
- Select Platform Security level : Secure Boot and DMA Protection
- Virtualization Based Protection of Code Integrity : Enabled with UEFI lock
- Credential Guard Configuration : Enabled with UEFI lock;如果选择 ”Enabled without UEFI lock” 的话,允许你远程修改这个设置。
接下来在 Windows Server 2016 上激活 Hyper-v:启动 Server Manager,在 Dashboard 下选择 “Add roles and features”。
点击 Next 并接受缺少配置,在 Server Roles 里选中 Hyper-V,并且把 “Include Management tools” 选项打上勾,然后点击 OK;继续剩余的步骤并且选择缺省选项,最后点击 Finish 完成设置。
检查 VBS 安全功能是否生效
激活 Hyper-V 特性后重启 Windows 系统,运行 msinfo32.exe 命令,在 System Summary 下你可以看到 “Device Guard Security Services Configured” 已经配置好了 Credential Guard, Hypervisor Enforced Code Integrity,这表明 VBS 安全功能已经生效。
本文主要内容来自于Rajesh Radhakrishnan 的博客文章 Virtualization Based Security (VBS) in vSphere 6.7。