包含“backdoor”字样的英特尔泄露代码的初步分析

  • A+
所属分类:逆向工程
Intel芯片相关代码被泄露后,注释中的“后门”字样引发广泛关注。安天CERT通过对泄露数据的全面梳理,提出初步判断结果并给出关联风险防范建议。

1、 概述

北京时间2020年8月7日,瑞士软件工程师蒂尔·科特曼(Till Kottmann)发布了英特尔内部文件被泄露的信息[1]。约有20GB的被泄露文件已上传至文件共享网站MEGA,其中部分文件带有“机密”或“受限制的机密”字样的标记。据蒂尔·科特曼称,该信息是由一位匿名黑客提供,此次泄露的文件是一系列文件中的第一部分。这些文件包含各种CPU芯片的设计数据,以及与各种芯片组(可追溯至2016年的CPU的技术规格)的内部设计有关的英特尔知识产权(设计资料)、产品指南和手册[2]。据TillieKottmann的Twitter配图显示,一处源码的注释中有“backdoor”字样,再次引发了对Intel芯片是否存在后门问题的关注。
包含“backdoor”字样的英特尔泄露代码的初步分析

图1‑1 Twitter内容

针对此次数据泄露事件,安天CERT第一时间取得该数据,对相关文件进行了梳理与分析。

2、 泄露文件梳理

以下是提供的部分泄露文件夹或文件描述和截图,详细文件夹或文件描述见附录一:
●  英特尔ME Bringup指南 + 工具 + 各平台示例
● Kabylake(Purley平台)BIOS参考代码和示例代码+初始化代码
● 英特尔CEDFK(消费电子固件开发套件)
●  适用于各种平台的芯片/ FSP源代码包
●  各种英特尔开发和调试工具
●  针对Rocket Lake S和其他平台的Simics仿真器
●  各种路线图和其他文件
●  英特尔为SpaceX制造的相机驱动程序的二进制文件
●  未发布的Tiger Lake平台的原理图、文档、工具+固件
●  Kabylake FDK培训视频
●  适用于各种Intel ME版本的Intel TraceHub +解码器文件
●  Elkhart Lake芯片参考和平台示例代码
●  各种Xeon平台的Verilog内容
●  用于各种平台的BIOS/TXE调试工具
●  Bootguard SDK(加密zip压缩包)
●  英特尔Snowridge/Snowfish进程模拟器ADK
●  各种原理图

●  英特尔营销材料模板(InDesign)

包含“backdoor”字样的英特尔泄露代码的初步分析
图2-1 泄露文件中包括了[email protected]原理图

3、带有“backdoor”字样注释文件的初步分析

相关泄露数据被解压缩后,在文件Intel Restricted Secretpurleyrefresh_rc_.zip中存在一个git存储库dcpae_uefi_firmware-purley.git。在该库存储的文件中,“Svos.aslc”和“MemoryRas.c”中都出现了backdoor的字样,如下图所示:

包含“backdoor”字样的英特尔泄露代码的初步分析

图3‑1 Svos.aslc文件中带有“backdoor”注释

包含“backdoor”字样的英特尔泄露代码的初步分析

图3‑2 MemoryRas.c文件中带有“backdoor”注释

3.1Svos.aslc分析

相关文件中的注释内容为“Save the RAS backdoor requeset pointer to IOH SR 17”,直译为“将RAS后门请求集指针保存到IOHSR 17”。RAS三个字母容易被联想到RSA算法,但安天工程师从场景和经验判断,此处的RAS更可能是Reliability、Availability和Serviceability三个单词的首字母,意为“可靠性、可用性、可服务性”。
Svos.aslc文件用于定义一个结构,使得ACPI(Advanced Configuration and Power Interface)可以访问SVOS(Storage Virtualization OperatingSystem )的一些数据。该结构名称EFI_SVOS_ACPI_DESCRIPTION_TABLE,包含成员如下表所示:

成员信息

备注

EFI_SVOS_ACPI_TABLE_SIGNATURE

签名

EFI_SVOS_ACPI_DESCRIPTION_TABLE_SIZE

结构体大小

EFI_SVOS_ACPI_DESCRIPTION_TABLE_REVISION

Revision  [01]

Checksum

校验和

未知

长度 12bytes

reserve

0

EFI_SVOS_ACPI_OEM_REVISION

OEM Revision [0x00000000]

Creator ID

0

Creator Revision

0

SVOS_SMI_SERVICE_ID

SMI Door Bell

Reserve

0

EFI_SVOS_ACPI_ADDRESS_SPACE_ID

Address Space ID

EFI_SVOS_ACPI_REGISTER_BIT_WIDTH

寄存器位宽度

EFI_SVOS_ACPI_REGISTER_BIT_OFFSET

寄存器位偏移

EFI_ACPI_RESERVED_BYTE

保留字节

EFI_SVOS_ACPI_SMI_ADDRESS

SMI地址

ReferenceAcpiTable

成员函数

由于该结构体在泄露的文件中并未被使用,并且该结构体没有给出控制函数,只给出成员函数ReferenceAcpiTable用于返回成员变量。可供分析的佐证较少,暂时没有明确指向。

3.2MemoryRas.c分析

相关文件中的注释内容为“This file contains a structure definition for the SVOS backdoormechanism”,直译为“此文件包含SVOS后门机制的结构定义”。MemRas模块提供的接口为内存热添加/删除实现内存RAS流控制。注释“backdoor”涉及语句作用是存储结构BIOS_ACPI_PARAM的一个成员变量,存储变量Data32未发现在随后进行使用。

表 1 BIOS_ACPI_PARAM[3]

包含“backdoor”字样的英特尔泄露代码的初步分析
对于Intel CPU是否存在后门问题,一直有广泛的猜测,特别是其强化了固件系统(包括提供了远程管理的支持)后,但本次泄露数据是否能形成实证,从相关分析来看,支撑力尚不足。

3.3对“backdoor”的初步猜测

“backdoor”一词在网络安全领域被定义为“可被用于未经授权地秘密访问数据的计算机功能或缺陷”,其来源包括主观恶意预设、调试接口在正式产品未关闭等情况,但预设后门是应谋求高度隐蔽和难以发现的。根据目前网络上未经证实的讨论信息,相关泄露数据英特尔对核心生态伙伴在签订了保密协议后,是可以获得分享的。在定向对外共享的资料中,把后门用注释形式标识出来,是不太符合逻辑的。从另一角度看,但在硬件领域、包括UEFI/BIOS相关领域中“backdoor”一词与网络安全中的含义并不完全一致,如UVM用户指南中有提到寄存器读写“后门”机制[4],对应也存在“前门”(frontdoor)机制。如下图所示:

包含“backdoor”字样的英特尔泄露代码的初步分析

图3‑3 UVM用户指南中关于寄存器读写"后门"机制

包含“backdoor”字样的英特尔泄露代码的初步分析

图3‑4 frontdoor和backdoor的操作示意图[5]

包含“backdoor”字样的英特尔泄露代码的初步分析

图3‑5 Intel社区关于backdoor访问技术的提问

另外,在Svos.aslc文件的数据结构定义中,对于SVOS_SMI_SERVICE_ID字段的注释文字出现了“Door Bell”(门铃)的字样。由于时间关系,我们尚未跟进分析。

包含“backdoor”字样的英特尔泄露代码的初步分析

图3‑6 源码中出现的“门铃”字样

4、初步判断和关联风险建议

从目前对于带有“backdoor”字样注释的两个文件代码分析来看,尚不能形成指向Intel存在后门的实证。通过领域内文献检索和相关功能对比来看,存在相关代码是一种正常的工作机制,但注释内容带来了歧义和质疑的可能性。由于相关内容信息量极为庞大,加之芯片本身依然黑箱化,还需要更进一步的大量分析工作,才能形成谨慎、负责的判断。同时,作为全球最大的芯片提供者,作为全球IT产业链的最核心上游企业之一,英特尔公司有义务作出负责任的信息说明,来面对相关质疑。此事也说明了核心芯片和外围机制的机理复杂性和验证安全性的难度,更从安全性的角度,说明了避免核心技术受制于人的关键意义。
这一事件可能引发关联风险和次生灾害。相关信息快速扩张了全球攻击组织对Intel芯片的研究分析能力,一些未公开接口和仅在核心开发生态中使用的接口会暴露在攻击者面前,导致一些底层漏洞、机制缺陷被发现,其内置的测试证书也可能被攻击者用于固件预置,从而导致更具有隐蔽性的Rootkit、UEFIkit甚至芯片固件级木马出现,包括可能导致一些更富有想象力的新型攻击方式。从攻击侧,核心软硬件源码或核心技术泄露,都会导致一个漫长的多方机会窗口期。这种风险影响预计会长期存在,需要相关机构、客户、安全厂商予以持续关注,需要极度的提升重视。
从企业核心知识资产风险到信息资产泄露形成大面积次生灾害角度看,这一事件为国内核心软硬件和高科技产品研发生产方面提供了前车之鉴。
附录一:泄露文件梳理
包含“backdoor”字样的英特尔泄露代码的初步分析

附录二:参考资料

[1]Twitter:英特尔机密的Lake Platform版本泄露20GB版本

https://twitter.com/deletescape/status/1291405688204402689

[2]ZDNet:英特尔调查20GB内部文件在线泄露后的违规行为

https://www.zdnet.com/article/intel-investigating-breach-after-20gb-of-internal-documents-leak-online/

[3]BIOS_ACPI_PARAM  https://www.mailarchive.com/[email protected]/msg10771.html

[4]UVM用户指南中关于寄存器读写"后门"机制

https://www.accellera.org/images/downloads/standards/uvm/uvm_users_guide_1.2.pdf

[5]uvm设计分析

https://www.cnblogs.com/-9-8/p/8534430.html



原文来源:安天

包含“backdoor”字样的英特尔泄露代码的初步分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: