安全研究人员发现一种新的绕过intel安全启动的攻击方法,并且在Hack in the Box会议上演示了这种攻击方法。本篇文章就来分析一下这个攻击的原理,以及可能带来的影响,和影响消除的方法。
一、攻击原理
Intel从第四代酷睿处理器中引入了新的被称为Boot Guard的安全技术,此技术的引入目的是在系统启动的每个阶段都会去验证后续需要启动的代码的完整性,以防止非法的恶意修改软件执行。只有Intel或者PC厂商的私钥签名的固件才能够被正确的验证和执行。
一位来自荷兰莱顿大学的学生(Bosch)发现了Boot Guard的漏洞,即当系统验证了UEFI的binary之后,将验证过的binary拷贝到了cache中,但是它并没有直接使用这份拷贝的内存区执行,而是再次从SPI memory里读取了UEFI的code去执行。这显然是不正确的,因为我们只能信任被认证过的code,而不能直接执行任何未被认证的code。因为当我们再次从spi里读取UEFI code时,这段code有可能已经被篡改,这就是这个攻击的原理所在。
然后Bosch找到了Trammell Hudson,Trammell Hudson帮助其证实了这个漏洞是可以被利用的。虽然这种攻击的需要打开笔记本,并且连接上spi 芯片,但是还是很容易将这种攻击永久化的,例如使用包含恶意代码的spi芯片替换现有的spi芯片。并且很难通过肉眼辨别。
二、可能产生的影响
Boot Guard和安全启动的功能就是为了防止黑客在启动阶段注入恶意软件到UEFI或者其他模块的,包括bootloader和OS kernel。这种攻击方式被称作boot rootkits或者bootkits由来已久,因为这种攻击方式具有持久性、并且很难别移除,因此经常被黑客使用。每次启动时都会重新被感染,这时候任何反病毒软件都没有启动,因此也就无法被检测到。
而本文讲解的这种攻击方式就相当于是依赖于spi硬件设备的bootkit。通过此攻击方式,可以很容易的获取到硬盘加密密钥等隐私信息,对于普通用户来讲,是很难发现被攻击的。好的方面是,这种攻击方式很难被大规模的使用。<