使用 UEFI 保护操作系统加载前的环境(2)

UEFI 支持模块化固件设计,硬件设计师和系统设计师在为要求更高的现代计算环境设计固件时,具有更高的灵活性。由于输入/输出受到软件中断的限制,UEFI 提出了基于事件的概念,并采用不依赖于体系结构的编码标准。

什么是安全启动?

UEFI 具有固件验证过程(称为“安全启动”),该过程在 UEFI 2.3.1 规范第 27 章中定义。安全启动定义平台固件如何管理安全证书,如何进行固件验证以及定义固件与操作系统之间的接口(协议)。

Microsoft 的平台完整性体系结构利用 UEFI 安全启动以及固件中存储的证书与平台固件之间创建一个信任根。随着恶意软件的快速演变,恶意软件正在将启动路径作为首选攻击目标。此类攻击很难防范,因为恶意软件可以禁用反恶意软件产品,彻底阻止加载反恶意软件。借助 Windows 8 的安全启动体系结构及其建立的信任根,通过确保在加载操作系统之前,仅能够执行已签名并获得认证的“已知安全”代码和启动加载程序,可以防止用户在根路径中执行恶意代码。

在当今的大多数 PC 中,操作系统加载前的环境存在漏洞,可以通过将启动加载程序重定向到可能的恶意加载程序来实施攻击。这些加载程序无法通过操作系统安全措施和反恶意软件进行检测。

当前的启动过程:BIOS > 任意操作系统加载程序代码 > 操作系统启动


图 2 - 旧式 BIOS 启动路径

Windows 8 借助 UEFI 安全启动解决了此漏洞,它利用固件中的策略并结合证书来确保仅允许执行已正确签名并通过身份验证的组件。

Windows 8 中的安全启动:本机 UEFI 2.3.1 > 仅通过验证的操作系统加载程序 > 操作系统启动


图 3 - 使用 UEFI 的安全启动路径

安全启动只是 Windows 8 平台完整性保障系统的一个组成部分。结合 UEFI,Microsoft 还对其他可用硬件实施整体的安全策略,以便进一步增强平台的安全性。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17844.html