Windows 10 操作系统具有许多功能用以帮助保护用户免受恶意软件攻击,而且这些安全功能的性能也非常不错。除了企业内部开发和采购的第三方应用程序外,所有 Windows Store 应用程序也必需满足一系列的认证才能入驻。Windows Store 的认证过程中包含非常严格的安全检查标准,以防止恶意软件进入到 Windows Store 市场。即便恶意软件进入了 Windows Store,Windows 10 操作系统也包含了一系列的安全功能来减轻影响。例如,Windows Store 在 Win 10 中都是沙盒运行,并且缺少访问用户数据或更改系统设置所需要的权限。
Windows 10 对桌面应用程序和数据也有多个层级的保护,例如:
- Windows Defender 使用签名来检测和隔离已知的恶意应用程序
- SmartScreen 筛选器会在运行不可信赖的应用程序之前对用户进行警告
- 用户帐户控制(UAC)可以在应用程序更改系统设置之前提醒用户授予应用程序管理权限
虽然以上功能是 Windows 10 保护用户免受恶意软件侵扰的一些方法,但这些安全特性都仅在 Windows 10 启动后才能保护您。而一些现代恶意软件和特殊的 bootkits 却能够在 Windows 之前启动,以达到完全绕过操作系统安全功能并保持完全隐藏的目的。
当用户在 UEFI(统一可扩展固件接口)设备上运行 Windows 10 系统时,Trusted Boot(受信启动)功能会在打开电脑之前保护 PC 免受恶意软件侵害,直到反恶意软件启动为止。Trusted Boot 能够用让恶意软件无法伪装的方式来向 PC 的基础结构证明操作系统的完整性,即便在没有 UEFI 的 PC 上,Windows 10 也可以比以前的 Windows 提供更好的启动安全性。
首先,我们来看看 rootkit 是什么,以及它们如何工作。 然后,系统极客将向你展示 Windows 10 是如何保护系统安全启动的。
Rootkit
Rootkit 是一种复杂而危险的恶意软件,它们使用与操作系统相同的权限,以内核模式运行。由于 Rootkit 与操作系统具有相同的权限并在系统前启动,因此它们可以完全隐藏自身和其它应用程序。通常情况下,rootkit 是整套恶意软件的一部分,可以绕过本地登录、记录密码和按键、传输用户私有文件和捕获加密数据。
不同类型的 rootkit 会在 PC 启动过程的不同阶段加载:
- Firmware rootkit 会覆盖 PC 的基本输入/输出系统或其他硬件的固件,以便 rootkit 能够在 Windows 之前启动。
- Bootkit 可以取代操作系统的引导加载程序,以便 PC 在操作系统之前加载bootkit。
- Kernel rootkit 可以替换操作系统内核的一部分,以便 rootkit 可以在操作系统加载时自动启动。
- Driver rootkit 会伪装是 Windows 用来与 PC 硬件进行通信的值得信赖的驱动程序之一。
Windows 10安全引导启动对策
为了保护操作系统能够安全启动,Windows 10 引入了 4 大安全特性,以防止在启动过程中加载 rootkit 和 bootkit:
- Secure Boot(安全启动):具有 UEFI 固件和TPM(可信平台模块)芯片的 PC 可以配置为只加载受信任的 bootloader(操作系统引导加载程序)。
- Trusted Boot(受信启动):Windows 10 会检查启动过程中每个组件的完整性,然后才会加载它。
- 早期启动反恶意软件(ELAM):ELAM 会在测试所有驱动程序后才加载,并能够阻止未经批准的驱动程序加载。
- Measured Boot(测量启动):PC 的固件会记录启动过程,Windows 10 可以将其发送到可以客观评估 PC 健康状况的受信任服务器。
介绍了 Windows 10 为系统安全引导推出的 4 大安全功能,我们就来看一下在启动过程中 Secure Boot、Trusted Boot、ELAM 和 Measured Boot 各自能够应对哪些安全威胁。
Secure Boot 和 Measured Boot 在具有 UEFI 2.3.1 和 TPM 芯片的 PC 上可用。幸运的是,符合 Windows 硬件兼容性计划(WHL)要求的所有 Windows 10 PC 都具有这些组件,而且许多专门为早期版本 Windows 设计的 PC 也具有这些功能。
下面系统极客将分别为大家介绍 Secure Boot、Trusted Boot、ELAM 和 Measured Boot 功能。
Secure Boot(安全启动)
当 Windows PC 加电启动时,会首先找到操作系统引导加载程序。无 Secure Boot 功能的 PC 会直接引导硬盘中的任何引导加载程序,PC 无法知道它是一个值得信赖的操作系统还是 rootkit。
当装有 UEFI 的 PC 启动时,PC 会首先验证固件是否经过数字签名,从而降低 Firmware Rootkit 的风险。如果启用 Secure Boot,固件将检查引导加载程序的数字签名并验证其是否被篡改过。如果引导加载程序完整无误,而且满足以下条件之一,固件才会启动引导程序:
- 引导程序使用受信任的证书进行了签名。 对于经过 Windows 10 认证的 PC, Microsoft® 证书是可信的。
- 用户手动批准了引导加载程序的数字签名。 这允许用户加载非 Microsoft 操作系统。
Trusted Boot(受信启动)
此引导加载程序会使用虚拟可信平台模块(VTPM)来验证 Windows 10 内核的数字签名后再加载它,然后验证 Windows 启动过程的其他组件,包括:引导驱动程序、启动文件和 ELAM。
早期启动反恶意软件(ELAM)
早期启动反恶意软件(ELAM)可在启动时和第三方驱动程序初始化之前为计算机提供保护。在 Secure Boot 成功管理保护引导加载程序并且 Trusted Boot 完成保护 Windows 10 内核的任务后,ELAM 的作用就会开始,它会主动关闭任何已知漏洞,以防恶意软件启动或通过感染非 Microsoft 启动驱动程序。此安全特性这有助于建立由 Secure Boot 和 Trusted Boot 提供的连续信任链。
Measured Boot(测量启动)
如果你组织中的 PC 机感染了 rootkit,则需对其进行分析了解。 企业防恶意软件应用程序可以向 IT 部门报告恶意软件感染,但这并不适用于隐藏其存在的 rootkit 。 换句话说,管理员不能信任用户来告诉你它是否健康。
因此,即便反恶意软件正在运行,感染 rootkit 的 PC 看起来也似乎是健康的。如果受感染的 PC 继续连接到企业网络,就可以使 rootkit 可以访问大量的机密数据,并可能允许 rootkit 扩展到内部网络。
而 Windows 10 中的 Measured Boot 允许网络上的可信服务器来验证 Windows 启动过程的完整性。