APP下载

Windows10的安全启动

2015-11-12

CHIP新电脑 2015年11期
关键词:固件寄存器加密

大部分人只注意到Windows 10是一个免费更新的系统以及开始菜单又再次出现在新的Windows系统中,但却没有注意到该版本已经开始支持微软所推行的可信平台模块(Trusted Platform Modules,简称TPM)2.0的安全启动功能。目前,Windows 10对于安装的硬件没有什么特殊的要求,但是一年之后,所有安装Windows 10的新设备都将被强制要求配备TPM 2.0加密芯片,并激活安全启动功能。

通过微软所谓的“测量启动”(Measured Boot)机制,可以利用TPM芯片检测各组件的完整性,可以有效地防范恶意软件在系统运行之前加载,能够确保新的Windows系统比以往的任何版本更安全。但是,在微软Windows认证强制激活安全启动功能的同时,并没有强制要求安全启动功能是可以被禁止的,这有可能会导致平行安装的其他系统以及闪存盘、光盘启动电脑时出现问题。

“测量启动”的基本问题是明确的,首先,设备启动时将变得更加安全,以Windows 10为例,使用它的智能手机、平板电脑和电脑都能够从中获益。以往,由于防病毒软件以及其他相关的安全工具是运行在操作系统中的,所以在设备启动的阶段这些安全工具是无法发挥作用的。此时,如果攻击者能够设法在Windows运行之前加载攻击程序,那么他们将可以完全控制系统。由于攻击程序在系统和安全工具之前运行,所以它们完全可以设法阻止安全工具运行,或者将自己隐藏起来。

在Windows 8中微软已经开始提高启动的安全性,一个重要的里程碑是UEFI 2.3.1版本的固件和安全启动功能。UEFI固件的优点是不能够通过系统中运行的软件对系统进行修改,并且通过UEFI固件的安全启动功能只允许加载签名的引导程序。这对于Linux系统来说曾经是一个问题,不过,现在已经基本解决了Linux引导程序的签名问题。在激活UEFI固件安全启动功能的情况下,启动阶段将检查所有的部件是否拥有有效的签名。在Windows启动之前,所有没签名的模块将无法运行。

通过加密芯片启动Windows

上面介绍的UEFI固件安全启动功能并不一定需要TPM加密芯片,但是如果在TPM加密芯片的支持下,Windows 10可以通过其称为“测量启动”的方式启动系统。这种新的启动方式从它的名称上就可以看出其特点,那就是它需要进行大量的检测和计算。打开电脑,首先检测计算UEFI固件相关的散列值,并将其保存在TPM加密芯片24个平台配置寄存器中的一个。这是一个受保护的安全存储区域,只有当电脑启动时才可以重新写入新的内容。根据相关的标准,该区域的寄存器被划分为寄存器0~7用于与UEFI固件相关的检测数据,而寄存器8~15可以用于Windows系统,例如存储BitLocker相关的加密数据,其余的寄存器则可以用于其他供应商,例如病毒扫描程序相关的数据。与此同时,UEFI固件安全启动功能将同步工作,检查各组件的签名。在加载任何模块时,将检测计算其散列值,并将结果存储在上面介绍的TPM寄存器中。

在本文的图表中详细地列出了每一个步骤,在UEFI固件相关的检测完成之后,检验并对系统加载程序、内核模块和系统驱动程序进行计算,并将检测计算的结果保存到TPM。紧接着,将加载预先启动的反恶意程序软件(Early Launch Anti Malware,简称ELAM),Windows系统通过提前加载反恶意程序软件的方式,让像卡巴斯基、赛门铁克之类的第三方的病毒扫描程序可以早于操作系统和任何第三方软件加载,确保早期肆虐Windows操作系统的Rootkit恶意程序将不能再作恶。在ELAM加载的过程中,同样会检测计算出一个散列值保存于TPM寄存器。ELAM加载程序一旦结束,Windows系统将启动,用户可以登录,“测量启动”过程将产生一个包含所有加载组件的散列值等数据的加密日志文件。

外部检测提供Rootkit警告

“测量启动”的亮点在于,最终还可以通过外部对日志文件进行检测。通过被称为“远程认证客户端”的软件读取日志文件,并通过局域网或者互联网将其转发到检测服务器上进行分析,以判定加载的组件是否是安全的。如果分析结果是安全的,那么用户可以继续使用电脑。如果分析结果是其中的一个模块已经被操纵,那么它将被标记为受感染的模块,并尝试中止它。

“测量启动”这种通过外部检查加载组件是否安全的功能是UEFI固件的安全启动功能所不具备的,因为它只运行在本地电脑上。然而,我们不知道,是否有人会为个人用户提供检测服务器。对于企业用户来说,检测企业员工使用的笔记本电脑和智能手机是否安全是非常重要的,这也包括员工自己的设备,要确保这些设备没有感染恶意软件,企业有必要建立自己的检测服务器。

猜你喜欢

固件寄存器加密
Lite寄存器模型的设计与实现
一种基于熵的混沌加密小波变换水印算法
分簇结构向量寄存器分配策略研究*
基于固件的远程身份认证
认证加密的研究进展
提取ROM固件中的APP
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密
一种通过USB接口的可靠固件升级技术
多路手机固件升级工具设计