Device Guard 概述

Device Guard 是与企业相关的硬件和软件安全功能的组合,当两者一起配置时,将锁定设备,以使其只能运行受信任的应用程序。如果应用不受信任,则无法运行。它还意味着,即使攻击者得以获取 Windows 内核的控制权,由于针对何时可以运行哪些内容所作的决策,他/她能够在计算机重新启动后运行恶意可执行代码的可能性将大幅降低。

Device Guard 使用 Windows 10 企业版中新的基于虚拟化的安全性将代码完整性服务与 Microsoft Windows 内核本身隔离开,使该服务使用由企业控制的策略所定义的签名,从而帮助确定哪些内容值得信任。实际上,代码完整性服务与 Windows 虚拟机监控程序保护容器中的内核并行运行。

有关如何实现 Device Guard 的详细信息,请参阅 Device Guard 部署指南

为什么使用 Device Guard

由于每天会创建数千个新的恶意文件,因此使用基于签名的检测等传统方法抵御恶意软件不足以防御新的攻击。Windows 10 企业版上的 Device Guard 从除非防病毒程序或其他安全解决方案阻止否则信任应用的模式,转变为操作系统只信任由企业授权的应用的模式。

Device Guard 还有助于抵御零天攻击,并且还能有效地应对多态病毒挑战。

使用 Device Guard 的优势

你可以根据你打开和使用的功能来充分利用的 Device Guard 的优势:

  • 有助于为企业可管理性提供强大的恶意软件防护
  • 有助于提供 Windows 平台上曾提供的最高级的恶意软件防护
  • 提供改进的防篡改功能

Device Guard 的工作原理

Device Guard 将 Windows 10 企业版操作系统限制为仅运行由受信任的签署人签名的代码,如代码完整性策略通过特定硬件和安全配置所定义,其中包括:

  • 用户模式代码完整性 (UMCI)

  • 新内核代码完整性规则(包括新的 Windows 硬件质量实验室 (WHQL) 签名约束)

  • 带有数据库 (db/dbx) 限制的安全启动

  • 基于虚拟化的安全,用于帮助保护系统内存和内核模式应用与驱动程序免受可能的篡改。

  • **可选:**受信任的平台模块 (TPM) 1.2 或 2.0

Device Guard 适用于映像生成过程,因此你可以为支持的设备启用基于虚拟化的安全功能、配置代码完整性策略并设置 Windows 10 企业版所需的任何其他操作系统设置。此后,Device Guard 可帮助你保护设备:

  1. 你的设备使用通用可扩展固件接口 (UEFI) 安全启动进行启动,以便启动工具包无法运行,并且使 Windows 10 企业版在执行所有其他操作之前启动。

  2. 安全启动 Windows 启动组件后,Windows 10 企业版可以启动基于 Hyper-V 虚拟化的安全服务,包括内核模式代码完整性。这些服务通过防止恶意软件在启动过程早期运行或在启动后在内核中运行,帮助保护系统核心(内核)、特权驱动程序和系统防护(例如反恶意软件解决方案)。

  3. Device Guard 使用 UMCI 确保在用户模式下运行的任何内容(例如某项服务、通用 Windows 平台 (UWP) 应用或经典 Windows 应用程序)都受信任,从而仅允许受信任的二进制文件运行。

  4. 在 Windows 10 企业版启动的同时,受信任的平台模块 (TPM) 也会启动。TPM 提供一个独立的硬件组件,用于帮助保护敏感信息,例如用户凭据和证书。

所需的硬件和软件

下表显示实现 Device Guard 所需安装和配置的硬件和软件。

要求 介绍

Windows 10 企业版

电脑必须运行 Windows 10 企业版。

UEFI 固件版本 2.3.1 或更高版本以及安全启动

若要验证固件是否在使用 UEFI 版本 2.3.1 或更高版本以及安全启动,你可以根据 System.Fundamentals.Firmware.CS.UEFISecureBoot.ConnectedStandby Windows 硬件兼容性计划要求对此进行验证。

虚拟化扩展

若要支持基于虚拟化的安全性,则需要以下虚拟化扩展:

  • Intel VT-x 或 AMD-V
  • 二级地址转换

固件锁定

应锁定固件设置以防止其他操作系统启动和防止对 UEFI 设置的更改。你还应禁用除了从硬盘驱动器启动以外的启动方式。

x64 体系结构

基于虚拟化的安全性在 Windows 虚拟机监控程序中使用的功能仅可在 64 位的电脑上运行。

VT-d 或 AMD-Vi IOMMU(输入/输出内存管理单元)

在 Windows 10 中,IOMMU 增强了系统应对内存攻击的复原能力。¹

安全固件更新过程

若要验证固件是否符合安全固件更新过程,你可以根据 System.Fundamentals.Firmware.UEFISecureBoot Windows 硬件兼容性计划要求对此进行验证。

 

在公司中使用 Device Guard 之前

你必须先设置环境和策略,才能成功地使用 Device Guard。

对应用进行签名

Device Guard 模式支持 UWP App 和经典 Windows 应用程序。当使用你确定值得信任的签名为应用签名时,Device Guard 和应用之间发生信任。不是所有签名都会起效。

此签名可通过以下方式发生:

  • **使用 Windows 应用商店发布过程。**所有来自 Microsoft 应用商店的应用都使用特殊签名自动进行签名,这些特殊签名可汇总到我们的或你自己的证书颁发机构 (CA)。

  • **使用你自己的数字证书或公钥基础结构 (PKI)。**ISV 和企业可以自行对他们自己的经典 Windows 应用程序进行签名,将他们自己添加到受信任的签署人列表中。

  • **使用非 Microsoft 签名颁发机构。**ISV 和企业可以使用受信任的非 Microsoft 签名颁发机构对所有他们自己的经典 Windows 应用程序进行签名。

  • **使用 Microsoft 提供的 Web 服务(今年下半年推出)。**ISV 和企业将能够使用更安全的 Microsoft 提供的 Web 服务对其经典 Windows 应用程序进行签名。

代码完整性策略

在你可以使用 Device Guard 中所含的应用保护之前,你必须先使用 Microsoft 提供的工具创建一个代码完整性策略,但是需使用你的当前管理工具(如组策略)进行部署。代码完整性策略是二进制编码的 XML 文档,此文档包含同时适用于 Windows 10 企业版的用户和内核模式的配置设置以及对 Windows 10 脚本主机的限制。此策略限制哪些代码可以在设备上运行。

对于 Device Guard 功能,如果设置由客户提供用于客户提供的映像,设备应仅预配置代码完整性。

注意  此 XML 文档只能在 Windows 10 企业版中进行签名,有助于为防止管理用户更改或删除此策略添加额外保护。

 

使用 Windows 10 企业版虚拟机监控程序的基于虚拟化的安全性

Windows 10 企业版虚拟机监控程序引入了有关虚拟信任级别的新功能,可帮助 Windows 10 企业版服务在受保护环境下运行,与正在运行的操作系统隔离。 Windows 10 企业版基于虚拟化的安全性有助于保护内核代码完整性,并有助于为本地安全颁发机构 (LSA) 提供凭据隔离。使内核代码完整性服务作为虚拟机监控程序托管的服务运行可提高对根操作系统的保护级别,从而针对任何危害内核层的恶意软件添加额外保护。

要点  使用基于虚拟化的安全性运行内核代码完整性的 Device Guard 设备必须具有兼容的驱动程序(可以更新旧版驱动程序)并且启用所有虚拟化功能。这包括虚拟化扩展和输入/输出内存管理单元 (IOMMU) 支持。