搜索
查看: 1077|: 0

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

[复制链接]

146

主题

7

回帖

574

积分

高级会员

积分
574
发表于 2014-7-30 09:01:40 | 显示全部楼层 |阅读模式

我们很遗憾地发现,在一些评论中,大家对于 Microsoft 实施安全启动的方式存在误解,因此我们特意撰写了这篇博文,进一步对如何利用 UEFI 实现安全启动进行澄清,并介绍了针对 PC 制造商提供的一些选项。首先大家要记住,我们在引入相关功能的同时保证了用户能够继续对 PC 进行全面控制,以毫不迁就的方式实现安全启动,保护用户的安全。我们的生态系统团队的 Tony Mangefeste 撰写了本博文。--Steven



内容提要
  • UEFI 支持固件实施安全策略
  • 安全启动是一种 UEFI 协议而不是 Windows 8 的一项功能
  • UEFI 安全启动是 Windows 8 安全启动体系结构的一个组成部分
  • Windows 8 利用安全启动来确保操作系统加载前的环境是安全的
  • 安全启动不会“锁定”操作系统加载程序,它只是一种支持固件对组件的可靠性进行验证的策略
  • OEM 可以通过在其平台上自定义证书和策略管理级别来对固件进行自定义,以满足客户的需求
  • Microsoft 不会托管或控制 PC 固件中用于控制或支持从 Windows 之外的任何操作系统进行安全启动的设置
指导原则 – 在安全方面毫不迁就

UEFI 安全启动协议是实现跨平台和固件安全的基础,与体系结构无关。在执行固件映像之前,安全启动基于公钥基础结构 (PKI) 流程来验证固件映像,帮助降低遭受启动加载程序攻击的风险。在 Windows 8 中,Microsoft 依赖此协议来改进用户的平台安全性。


图 1 – 平台完整性体系结构

Microsoft 与我们的合作伙伴紧密合作,确保安全启动为用户提供良好的安全体验。Microsoft 支持 OEM 灵活地决定由谁来管理安全证书,通过何种方式允许用户导入并管理这些证书以及管理安全启动。我们相信,为 OEM 提供这一灵活性以及允许用户自行决定如何管理其系统非常重要。

对于 Windows 客户,Microsoft 利用 Windows 认证计划来确保:随 Windows 8 发运的系统默认已启用安全启动功能;固件不允许以编程方式控制安全启动(防止恶意软件禁用固件中的安全策略);在未经授权的情况下,OEM 禁止更新固件,因为这可能会危及系统的完整性。

大多数策略并非 UEFI 固件的新增功能,当今的大多数 PC 都具有某种形式的固件验证功能。即便是现有的旧式固件验证支持(如 BIOS 密码)也是一种安全启动形式,多年来一直由 OEM 和最终用户来控制是否启用此功能。不过,利用安全启动和 UEFI,整个行业和 Microsoft 正站在更高的高度上创建更完整、更良好的系统,为用户提供更强有力的保护,抵御不断发展壮大的各种威胁。

什么是 UEFI?

UEFI(统一可扩展固件接口)由 UEFI 论坛统一管理,UEFI 论坛是由芯片组供应商、硬件供应商、系统供应商、固件供应商和操作系统供应商联合组建的一个组织。该论坛负责维护可跨多种 UEFI PC 使用的规范、测试工具和参考实现。Microsoft 是该论坛的董事会成员,该论坛对所有个人和公司开放,加入该论坛无需支付任何费用。

UEFI 为个人计算机定义了下一代固件接口。基本输入和输出系统 (BIOS) 固件最初采用汇编语言进行编程,并使用中断来执行输入/输出操作,在出现之初即确定了 PC 生态系统的基本框架,但是随着计算技术的发展,“现代固件”定义应运而生,以满足下一代平板电脑和设备的需求。

UEFI 旨在定义一种标准通信方式,规范启动过程中操作系统与平台固件之间的通信。在 UEFI 出现之前,在启动过程中主要利用软件中断机制与硬件进行通信。现代 PC 可以在硬件和软件之间更快速、更高效地执行块输入/输出操作,在设计中使用 UEFI 可以发挥硬件的全部潜能。

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

什么是安全启动?

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

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

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


图 2 - 旧式 BIOS 启动路径

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


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

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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大数据中国微信

QQ   

版权所有: Discuz! © 2001-2013 大数据.

GMT+8, 2024-11-1 09:04 , Processed in 0.100132 second(s), 25 queries .

快速回复 返回顶部 返回列表