大概两周以前,英特尔承认了包括管理引擎(ME)、服务器平台服务(SPS)等固件存在的多个严重安全漏洞,其中ME多个版本都存在缓冲区溢出漏洞,这些漏洞足以让攻击者获取更高的权限或盗取用户信息。英特尔已经积极联合厂商为用户提供了修复该漏洞的措施,但貌似直到今天也并没有完全解决。
就在本周三Black Hat Europe的一次演示中,Positive Technologies公司的安全研究员Mark Ermolov和Maxim Goryachy准备阐述他们在英特尔ME 11.X版本中发现的固件漏洞,同时提醒供应商针对该漏洞的补丁可能不够完善。
英特尔ME是一个独立于x86 CPU、BIOS/UEFI固件的一个框架,可以看作是一个有别于CPU的独立系统,本身其实就是一大堆固件代码实现的功能,比较关键的是ME里面有用于远程管理的功能,它可以在不受用户操控下远程管理企业计算机。
即便是在设备关机状态下,ME也会以极低的功耗运行着,也正因为这样的属性一直被怀疑有作为后门的嫌疑,而且对于普通人或者企业来说,英特尔ME官方是不提供方法去禁用的,且只有部分政府拥有这样的权限。
利用英特尔的这些漏洞,攻击者可以在受到影响的设备上运行任意代码,而这些代码是不会被用户或者主操作系统所察觉的。为此,英特尔Chipzilla芯片实验室添加了一个开关,来保证其符合NSA的HAP IT安全计划的要求。
其实,Ermolov和Goryachy早前就已经发现了这个开关,而英特尔之前公开的10个漏洞中,其中有三个却不受这个开关控制,分别是:CVE-2017-5705,CVE-2017-5706和CVE-2017-5707。
他们发现了一个本地可用的堆栈缓冲区溢出,允许在任何带有Intel ME 11的设备上执行未签名的代码,即使该设备已经被关闭或被安全软件保护。他们声称已经通过一种常规的方法绕过了栈金丝雀,检测一个写入内存的值的变化来捕捉溢出行为,从而利用ROP攻击成功运行可执行的代码。
英特尔芯片已经在无数普通消费者以及企业、政府全面普及,因此能够想到这种漏洞所能造成的潜在威胁是多么普遍。但这个问题并不是那么容易解决,即便厂商升级了固件,依然难以发现利用这个漏洞的攻击者。
Capsule8联合创始人兼首席技术官Dino Dai Zovi表示,这项发现最让人不安的地方就是,无需打开目标系统的主机也能够利用这些漏洞。对于一个使用物理访问的攻击者来说,这并不是一个大难题,由于部分笔记本有篡改开关的情况,它能够直接绕过这种保护机制。
针对CVE-2017-5705, CVE-2017-5706和CVE-2017-5707的漏洞补丁,Ermolov和Goryachy并没有排除其可用性,毕竟能够利用ME-region固件的攻击者也可以开发易受攻击的版本来使用。
Dai Zovi称:“写一个老版本的ME固件通常需要直接写闪存芯片,或者利用脆弱的BIOS保护机制,这取决于厂商的特殊配置。”
连美国政府都对ME的开发表示担忧,已经把它交给了私营部门。硬件厂商戴尔、Purism和System76目前已经提供停用英特尔ME的设备。谷歌也一直致力于NERF(Non-Extensible Reduced Firmware),这是一个基于u-root的开源软件系统,可以用一个小型的Linux内核和initramfs(挂载根文件系统)来代替UEFI和Intel ME。
Dai Zovi指出,除了供应商给出的解决方案之外,一些安全社区已经通过开发一些开放源代码项目来解决对ME的不信任问题,比如me_cleaner和Heads。
当被问到是否有考虑过改变ME的管理方式或者直接提供不带ME的芯片时,英特尔的一位发言人建议这种请求直接提交给硬件供应商。
在英特尔看来,ME更多的是积极的正面作用,例如安全引导,双因素身份验证,系统恢复和企业设备管理等。而有特殊需求的用户,应该直接联系设备供应商进行相关需求的定制,而英特尔并不会考虑直接提供这种需求。
本文由 podipod软库网 作者:DevOps 发表,转载请注明来源!