https://blogs.vmware.com/china/2018/07/27/vsphere-6-7-%E6%96%B0%E7%89%B9%E6%80%A7-%E5%9F%BA%E4%BA%8E%E8%99%9A%E6%8B%9F%E5%8C%96%E7%9A%84%E5%AE%89%E5%85%A8-vbs/

https://docs.microsoft.com/zh-cn/windows-hardware/design/device-experiences/oem-vbs

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

vSphere 6.7 新特性 — 基于虚拟化的安全 (VBS)的更多相关文章

  1. atitit.Windows Server 2003 2008 2012系统的新特性 attilax 总结

    atitit.Windows Server 2003  2008  2012系统的新特性 attilax 总结 1. Windows Server 2008 新特性也可以归纳为4个方面. 1 2. 相 ...

  2. JDK 5 ~ 11 新特性倾情整理

    为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~11的所有关键新特性! 先看一下JDK的版本迭代图: 注:   OpenJDK和JDK区别  GPL协议通用性公开许可证(General ...

  3. Java程序员必备基础:JDK 5-15都有哪些经典新特性

    前言 JDK 15发布啦~ 我们一起回顾JDK 5-15 的新特性吧,大家一起学习哈~ 本文已经收录到github ❝ https://github.com/whx123/JavaHome ❞ 「公众 ...

  4. C# 7.0 新特性1: 基于Tuple的“多”返回值方法

    本文基于Roslyn项目中的Issue:#347 展开讨论. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: ...

  5. 构建基于WinRT的WP8.1 App 02:数据绑定新特性

    基于WinRT的Windows Phone 8.1以及Windows 8.1中Xaml数据绑定增加了一些新特性. FallBackValue属性:FallBackValue在绑定的值属性值不存在时,可 ...

  6. Atitit atiplat_reader 基于url阅读器的新特性

    Atitit atiplat_reader 基于url阅读器的新特性 1.1. feature功能特性1 1.2. note1 1.1. feature功能特性 支持url数据源,实际就是只支持一层连 ...

  7. 基于Ubuntu和基于Debian的Linux Mint 20新特性一览

    导读 Linux Mint 20 将基于 Ubuntu 20.04 LTS,同时,其 LMDE(Linux Mint Debian Edition,Debian 版本)4 也将到来,LMDE 版本基于 ...

  8. [置顶] kubernetes1.7新特性:新增StorageOS卷插件和Local持久存储

    背景介绍 在Kubernetes中卷的作用在于提供给POD存储,这些存储可以挂载到POD中的容器上,进而给容器提供存储. 从图中可以看到结构体PodSpec有个属性是Volumes,通过这个Volum ...

  9. QT5.9 新特性与版本回顾

    原文链接: http://blog.qt.io/blog/2017/05/31/qt-5-9-released 翻译内容如下,采用的是第三方某在线翻译软件,所以有些地方不是太精确,纵然大吉做了一定的调 ...

随机推荐

  1. Oracle 建库

    Oracle得安装就不多说了 不过还是建议直接去官网下  其他渠道可能会导致安装问题  具体自己慢慢体会吧  !  下面主要说下怎么用Oracle建库并且建用户角色 Database configur ...

  2. c#实现"扫描检测硬件改动"

    public static class Win32Api { public const int CM_LOCATE_DEVNODE_NORMAL = 0x00000000; public const ...

  3. lvm 通过扩容本身磁盘容量扩容

    场景:sdb之前是3G容量,现在扩容了sdb的容量到8G.现在把新扩容的5G容量扩展到现有的逻辑卷中 [root@localhost ~]# pvresize /dev/sdb  Physical v ...

  4. Redis 详解 (四) redis的底层数据结构

    目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...

  5. SpringMVC原理及流程解析

    前言 春节期间宅在家里闲来无事,对SpringMVC进行了比较深入的了解,将之前模糊不清的地方基本摸索清楚了,特此撰文总结记录一下. 正文 一.一个请求为什么会调用到SpringMVC框架里? 首先问 ...

  6. 三十九、SAP中多语言的处理

    一.点击菜单翻译 二.选择目标语言 三.输入需要翻译的内容,并保存 四.我们切换到英语模式登录 五.查看我们的代码 六.输出结果如下,多语言特征就显示了

  7. 留学生如何把控好Essay写作结构

    留学生在国内写过作文,但是对于essay写作到底了解多少呢?大家觉得essay写作太难是语言问题,但是大家要明白,老师对于内容的考察远重于对语言的考察.同学们的essay写作如果能做到言之有理,自圆其 ...

  8. pycharm 设置项目的编译器

    设置编译器(interpreter) File---Setting--在搜索框输入(interpreter)

  9. h5-伸缩布局-小案例

    1.伸缩布局案例1-基本页面布局 1.1.html <div class="layout"> <header></header> <mai ...

  10. 目标检测算法的总结(R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD、FNP、ALEXnet、RetianNet、VGG Net-16)

    目标检测解决的是计算机视觉任务的基本问题:即What objects are where?图像中有什么目标,在哪里?这意味着,我们不仅要用算法判断图片中是不是要检测的目标, 还要在图片中标记出它的位置 ...