猎杀暗影:固件安全战争与Intel ME的隐秘帝国

admin 2025年5月3日03:10:21评论3 views字数 4276阅读14分15秒阅读模式

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

2017年,一群黑客在俄罗斯实验室里发现了一个惊人的秘密——Intel处理器内部藏着一个完整的操作系统,它运行在比Windows、Linux更深的层级,甚至能在电脑关机时继续工作。

这不是科幻小说,而是Intel ME(管理引擎)——一个被设计成“不可关闭”的硬件级后门。从2009年开始,全球黑客、安全研究员和开源社区发起了一场长达十年的“硬件解放战争”,他们逆向工程、破解固件、甚至找到NSA留下的神秘开关……

这场战斗,关乎每一台电脑的终极控制权。

01

Intel ME的技术威胁与特权层级

Intel Management Engine(ME)是x86芯片组中独立运行的子系统,自2006年引入后逐渐成为安全领域的焦点。
ME运行在比操作系统内核(Ring 0)更底层的“Ring -3”特权层级,拥有完全独立的硬件和软件堆栈,可执行远程管理、加密等敏感操作。更危险的是,它的代码完全闭源,行为像一个"黑箱"。

特权层级定义

特权层级模型由ITL(Invisible Things Lab)提出,目的是为了更好地让社区理解特权等级权限的高低。
ITL 把操作系统内核称为Ring 0,Hypervisor是Ring -1(VM层的持久化可以和Ring 0的完全对应),UEFI/SMM是Ring -2(在通常情况下,标准的Ring 0(e.g:页表隔离)和Ring -1(影子页表,EPT,芯片组IOMMU/Vt-d)的防护机制对于Ring -2几乎没用),而Intel ME则被看作Ring -3。
猎杀暗影:固件安全战争与Intel ME的隐秘帝国
ITL(Invisible Things Lab)提出的特权层级模型。

02

Intel ME早期漏洞披露

2009年的Blackhat会议上ITL的Rafal Wojtczuk和Alexander Tereshkin公开展示了通过向特定DMA内存注入的AMT/ME漏洞,这是第一次揭露Ring -3 rootkit的可能。当时Intel还在大力推广TPM安全芯片,这一漏洞直接暴露了ME的巨大风险。
后续也不断有研究人员从各个技术层面对Intel ME的一些代码模块特别是AMT进行分析,陆续爆出一些漏洞和潜在的安全风险,但并未引起行业的高度重视,在很长时间里只是少数的自由固件社区的黑客一直在关注,但对于详细的技术评估和防御策略还是非常缺乏。
直到2014年Patrick Stewin的论文描述了一个名为DAGGER的rootkit如何作为外设去做键盘记录,为了测试方便,DAGGER是使用了2009年ITL的那个漏洞去实现的,这也引发了自由固件社区对 ME 安全性的关注。
DAGGER也是h4rdenedzer0在Hardening the COREs方案中固件安全的起点。

03

自由固件社区的“猎杀暗影”行动

自由固件社区(如Coreboot、h4rdenedzer0)通过逆向工程和工具开发对抗ME:
me_cleaner工具
直到2016年,自由固件社区主流方案是直接删除所有ME代码模块和数据,经过研究并配合自由固件社区的测试后发现,Core 2 时期的芯片组中的ME可被完全清除,但在所有Nehalem/Westmere及更新的芯片组上去掉ME代码模块后均以30分钟机器关机而告终。
这困扰了社区很长的时间,直到2016年9月,Trammell Hudson发现了删除前4kb的ME region并没有导致关机,几天后Tramell又发现了只保留FTPR分区而其他代码模块全部删除也可以让x230不关机。
2016年11月,Nicola Corna和Federico Amedeo Izzo写了一个小工具删除了大部分代码模块并且创建了一个带FPTR分区的FPT,这也成为了me_cleaner的前生,h4rdenedzer0几乎参与了每一轮测试,在当月团队成员参加俄罗斯的一些研讨会时发现Intel ME承载的一些应用已经严重威胁到了自由固件社区以及企业现有的生产环境,至此h4rdenedzer0决定一定要尽力让更多的安全人员以及自由软件社区参与到对抗Intel ME,在测试了Nicola和Federico的小工具在多台x86设备上运行无误后联系了作者并且建议把代码上传至github并且要求更多的个人和企业来参与测试,之后这个工具被正式命名为me_cleaner。
在此期间h4rdenedzer0对更多的机型进行了测试并且公开了测试结果,为了更好的让更多的社区成员参与测试,我们随后公开了标准化操作文档并于当月受到了IT媒体的关注和报道,一个月后(2016年12月)在汉堡举行的欧洲最大的黑客会议33C3上自由固件社区coreboot组织的workshop让上百人成功的测试了各自带来的机型,这一系列的事件是引爆2017年Intel ME事件的导火索。
HAP位的发现
由于自由软件社区越来越多的人开始关注Intel ME,这也引起了逆向一流的俄罗斯安全研究人员的注意,在经历长达数月的努力,Dmitry Sklyarov于2017年3月公开了逆向Intel ME的一些细节,这使得我们可以进一步的了解最新版本的Intel ME的构造,在此之前我们研究过2015年的x86处理器Skylake中最大的特性之一是SGX,SGX是基于ME的多个特性实现的,除了ARC/Sparc性能问题,这可能是MEv11使用了x86 CPU的主要原因,在Dmitry这次的逆向中发现MEv11所运行的OS并非之前ARC架构的ThreadX,而是基于微内核MINIX定制的系统。
当时me_cleaner并没有在Skylake以及更新的处理器上做太多测试,更多的代码模块处理的细节需要me_cleaner做调整,h4rdenedzer0成员捐赠了2600欧元给me_cleaner的维护者用于购买测试设备,在经过了几个月的bug fix和大量测试me_cleaner最终也实现了在MEv11和MEv12( Skylake/Kabylake/Cannonlake)的清除工作,Skylake以上的平台大部分的ME实现仅保留RBE, KERNEL, SYSLIB和BUP这几个模块。
2017年8月,Mark Ermolov和Maxim Goryachy通过逆向找到了NSA作为防御使用的ME隐藏开关,指出ME其实是可以被完全关闭的,一个被称为HAP的位(在基于ARC的ME上有等效的AltMeDisable,以及更古老的、用于Core 2芯片组无ME运行的ICH_MeDisable、MCH_MeDisable和MCH_AltMeDisable)被隐藏于描述符的PCHSTRP0字段(老版本中等效位的位置不同,详见 me_cleaner 的源代码)中,这个位并没有官方文档记录,戏剧性的是HAP的全称为High Assurance Platform,是NSA发起的构建下一代安全防御体系的项目,如果NSA的机器都是开启了HAP位(ME在完成必要初始化工作BringUP后即处于关闭状态),而这个世界上绝大部分的x86机器则是默认运行ME的,从这个层面上讲ME作为后门或者“后门帮凶”对于核心基础设施的风险极高。
对于高安全性需求的业务,因主CPU运行的操作系统内核不安全从而把核心业务转嫁到外设CPU运行的操作系统上并不能解决本质的问题并且引入了新的风险,而且还带来了不可审计的麻烦,Linux内核虽然不安全但依然是开源的,不存在开放审计的问题,但ME上的软硬件对于大部分人都是闭源的,可审计的问题在x86上一直没有得到解决。
2017年11月,Google的工程师在德国召开的欧洲自由固件coreboot会议上宣称对于重要业务的机器要干掉Intel ME和不开源的UEFI固件实现,因为Google也对于Intel ME的风险评估结果感到害怕。
2017年12月,俄罗斯的安全研究者在Blackhat EU上展示了Intel ME在BringUP(BUP)阶段的“不作为”让某种特定的攻击链条成为可能,这是否是Intel故意而为之目前并没有非常确切的证据,这个漏洞即使HAP开启也无法防御,只能从内核和固件层做防御方案,针对服务器可以配合SA-00075(AMT漏洞)远程打击目标,影响2015年至2017年的所有机器,这个漏洞是自从2009年ITL的固件安全先知们开启一个时代以后的2.0序章,标志着Ring -3层级的攻防已经进入廉价化时代。
2018年6月,俄罗斯的安全研究者也在对IDLM代码模块分析发现了一些奇怪的现象,Intel对于一些ME的代码模块的安全性非常高,但对于IDLM这种高风险的代码模块却“不作为”,俄罗斯的安全研究人员认为不排除是Intel故意而为之,在ME相关的代码模块上都有不少。

04

行业应对与长期解决方案

对于高安全环境需求的场景中应该避免使用ME系统,包括运行于其上的一切应用。对于金融,电信等重要行业,短期内完全替换x86几乎不可能,但可以评估业务的重要性和优先级来决定是否对ME模块进行清除。
长期来看,一方面是x86平台的微码和ME是固件不可审计的主要障碍,而这个障碍Intel帮忙解决的可能性很小,另一方面,整个芯片行业进入3.0的新时代,随着RISC-V这样的开放指令级的CPU架构的兴起,芯片和固件的可审计性问题会得到逐步的解决,只有当硬件和固件变得可以被开放的审计,这才是硬件自由和固件自由的基础。
ME实现进化历程
2006——2014:
  • 笔记本和台式机使用标准ME实现,运行在Arc*处理器上,OS是ThreadX。
  • 从Nehalem/Westmere系列开始,ME无法被完全去除。
  • 嵌入式设备使用TXE,运行于Sparc处理器,OS是未知的RTOS。
  • 服务器使用SPS,运行在Arc*处理器上,OS是ThreadX。
2015——2018:
  • 使用Minix 3定制的OS,运行于x86处理器。

05

结语

在数字世界的深渊中,这场无声的战争已持续十余年。自由固件社区的“暗影猎手”们,正与一个隐匿于芯片深处的恶魔——Intel ME(Management Engine)展开殊死较量。它潜伏在每一台x86设备的“Ring -3”层级,拥有至高无上的权限,却闭源、不可审计,甚至被怀疑为国家级后门的温床。从2009年先知般的漏洞揭露,到2017年NSA隐藏开关的意外曝光,这场战争不仅关乎技术,更关乎对硬件自由的终极捍卫。

“我们对抗的不是血肉之躯,而是黑暗世界的掌权者。” ——这场战役的真相,远比想象中更黑暗。

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国
猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

猎杀暗影:固件安全战争与Intel ME的隐秘帝国

原文始发于微信公众号(FreeBuf):猎杀暗影:固件安全战争与Intel ME的隐秘帝国

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月3日03:10:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   猎杀暗影:固件安全战争与Intel ME的隐秘帝国https://cn-sec.com/archives/4025465.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息