首页 > 范文大全 > 正文

UEFI安全启动监控电脑启动

开篇:润墨网以专业的文秘视角,为您筛选了一篇UEFI安全启动监控电脑启动范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

预装Windows 8的新电脑,要获得微软的Windows 8认证,就要按照微软的规定从BIOS切换到uefi并开启安全启动,这使得在这些电脑上安装其他操作系统变成了一件比较复杂的事情。

目前Windows是最为普及的操作系统,但是同时也是最危险的操作系统,蠕虫、病毒和木马等恶意程序严重威胁操作系统的安全性。为此,微软寄希望于通过UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)的安全启动功能实现更安全的启动,以增强系统的安全性。如果一台电脑由BIOS的继任者UEFI启动,在开启安全启动的情况下,Rootkit(Rootkit是指其主要功能为隐藏其他程序进程的软件,可能是一个软件,也可能是多个软件的组合,广义而言Rootkit也可被视为一项技术,现在Rootkit一词更多地是指被作为驱动程序加载到操作系统内核中的恶意软件)等恶意程序完全没有机会在操作系统启动前进入内存工作区域。UEFI引导管理器将检查所有运行的代码,只允许与加密数据库中签名一致的代码运行,这种严格的保护机制被微软纳入了Windows 8的认证要求中。换句话说,所有带有Windows 8认证标志的新电脑,无论是平板电脑、笔记本电脑还是台式电脑,在销售时都已经开启了安全启动功能。

然而,开启UEFI安全启动机制虽然可以保护系统免遭Rootkit的侵害,但同时也带来了一些弊端:在UEFI安全启动机制下,Linux等其他免费的操作系统无法运行,另外即使是Windows用户,如果购买新电脑后不准备使用Windows 8而希望继续使用Windows XP或者Windows 7,那么同样也无法运行。在开启安全启动功能的情况下,旧系统完全无法安装或启动。

启动更快更便利的UEFI

UEFI将要取代早已过时的BIOS,作为操作系统与硬件之间的接口,UEFI将负责启动电脑。与已经使用了超过30年的BIOS相比,UEFI拥有更强的容错和纠错能力,它可以植入硬件驱动,可以提供图形化的界面和64位支持,并能够响应鼠标和触摸输入。

虽然UEFI平台初始化的各个步骤与BIOS相似,但是UEFI的速度更快,UEFI平台初始化时主板、CPU、内存将并行启动,而不是像BIOS那样逐一地启动。在初始化结束后,UEFI引导管理器将启动,读取硬件组件的信息,并像网络连接或者Shell接受命令输入一样,激活驱动程序与应用程序,程序存储于UEFI主板上的内存模块NVRAM中或者硬盘驱动器上。为此,UEFI需要在硬盘上保留一个单独的分区,其大小为200MB。驱动程序与应用程序运行之后,UEFI系统加载程序将启动,它将负责加载操作系统。

安全启动检查系统组件

最后,安全启动功能将决定操作系统是否可以启动。安全启动有3个加密等级,最高等级是由硬件制造商创建的平台密钥(PK),它用于UEFI更新和修改密钥交换密钥(KEK)列表。按照UEFI标准,KEK列表中应该包含来自不同操作系统开发商的密钥,但是这只是理论上的,实际上所有UEFI电脑的KEK列表均只包含微软Windows 8的密钥。因为除了Google的Chromebook以外,所有支持安全启动的电脑通常只会安装Windows 8。KEK是安全启动的关键,因为只有通过KEK才可以修改存储签名的数据库,它包含两个密钥,可以修改数据库中允许运行程序的签名(允许库)和禁止运行程序(禁止库)的签名。在允许库中,除了包含UEFI应用程序的签名以外,还包含操作系统内核、驱动程序和操作系统组件的签名和哈希值。只有当这些都存在时,UEFI系统加载程序才加载操作系统,否则用户将收到安全启动错误提示,操作系统将无法启动。

对于Windows 8来说,安全启动功能不会引起任何问题,但是对于旧的操作系统,微软没有提供任何签名数据,因而用户只能够选择禁用安全启动功能。使用各种Linux系统的用户也同样如此,因为如果只对一款Linux的发行版本提供KEK列表信息以及操作系统内核、驱动程序和操作系统组件的签名和哈希值是可能的,但是大部分真正使用Linux的用户使用的是自己编译的版本,与此同时,Linux的启动管理器种类也比较多,要将各种可能使用到的操作系统内核和操作系统组件的签名与哈希值都统一起来,需要一定的时间进行协调。就目前来说,Linux开发人员并不抗拒安全启动功能,同时微软也没有要借安全启动垄断电脑硬件的想法,微软在Windows 8的认证标准中明确写入,必须为用户提供关闭安全启动功能的选项。唯一的问题是,未来微软是否会改变主意呢?

UEFI启动流程

UEFI通过厂商自己的驱动器程序和应用程序激活硬件,如果开启安全启动,那么UEFI将检查驱动程序和应用程序是否有一个有效的签名,如果没有,将中断启动。除此之外,引导管理器同样也会对已安装的操作系统内核进行类似的检测。

激活硬件

在第一个启动阶段,UEFI与BIOS略有不同。在检测到所有硬件组件已经供电后,主板、CPU、内存将启动并加载UEFI代码。

执行UEFI代码

UEFI引导管理器读取NVRAM存储器中的引导设置,激活用于启动的数据存储介质,加载硬盘上UEFI引导分区中的驱动程序和应用程序,如果它们的签名与允许库中的签名一致则运行,并执行加载程序。

启动操作系统

系统加载程序启动操作系统,无论是直接或通过启动管理器启动,操作系统的启动代码或者启动管理器都必须有一个有效的签名,否则加载程序将取消该操作。接下来,启动管理器启动内核和驱动程序也同样需要签名。

安全启动检查

在安全启动开启的情况下,所有操作系统的主要文件(内核、驱动程序)都必须有一个签名。证书表中会列出主要文件的X.509标准证书、哈希值等属性,它们必须与允许库中相应的条目一致。