ESP32芯片的隐藏特性并非后门

admin 2025年3月10日06:48:09评论90 views字数 4219阅读14分3秒阅读模式

近期看热闹不嫌事儿大的吃瓜大爷们越来越多,先说结论:

* 如果“隐藏特性”等同于“后门”,那Intel的ME/CSME,AMD的PSP和任何out-of-band系统都是捆绑后门订阅服务,从这个角度,不能把esp32芯片厂商隐藏的HCI指令直接归咎于后门,虽然有29个这样的指令。

* HCI指令可直接针对芯片内存进行写操作是一个feature而非后门,这是一个安全性极差设计的特性的,Broadcom和其他芯片厂商实现也有这个问题,媒体一看是esp32是中国厂商立马兴奋的蹭热点是不负责任的行为。

* 漏洞CVE-2025-27840,会造成多大影响?是否APT级别的玩家会涉足?这个漏洞本身能为攻击者提供通过HCI写内存的能力,这在一定程度上留给了威胁模型中想象的空间,如果生产环境是特斯拉汽车案例中的infotainment->gateway->other ECUs的技术架构,那这类漏洞具备危险性是因为不论PCI还是SDIO设备是有能力发起DMA攻击。

* 从透明度和开放性来说,esp32的厂商Espressif相比其他蓝牙芯片的同行还是做的非常不错的,而secure boot和flash加密的机制也为用户提供了,用户根据需求进行开箱,这点上指责Espressif对于安全没有做任何防护并非事实。

本文章内容来自于:


https://darkmentor.com/blog/esp32_non-backdoor/


https://www.documentcloud.org/documents/25554812-2025-rootedcon-bluetoothtools/

https://www.bleepingcomputer.com/news/security/undocumented-commands-found-in-bluetooth-chip-used-by-a-billion-devices/

https://chaos.social/@jiska/114132479651762416

https://github.com/hardenedlinux/grsecurity-101-tutorials/blob/master/embedded_platform_security.md

摘要
本文驳斥了研究人员发现ESP32蓝牙芯片中存在“后门”的说法。研究人员强调的(特定于供应商的HCI命令用于读取和写入控制器内存)是其他供应商(如博通、赛普拉斯和德州仪器)的其他蓝牙芯片中也常见的设计模式。蓝牙中的特定于供应商的命令实际上构成了“私有API”,而公司选择不公开记录其私有API并不构成“后门”。

“后门”的定义
剑桥词典将后门定义为“与秘密或不直接或不诚实的方式相关的事物”。维基百科在计算机上下文中将后门定义为“通常是隐秘的绕过正常身份验证或加密的方法”。这里使用“秘密”和“隐秘”这两个词尤为重要,因为这种秘密被理解为服务于故意的恶意。故意插入后门的公司是在恶意行事(并可能因此承担法律责任)。

关于Tarlogic声明的背景
2025年3月6日,Tarlogic发布了一份标题为“Tarlogic在大众市场ESP32芯片中检测到可能感染数百万物联网设备的后门”的新闻稿(存档链接)。随后,这一消息被BleepingComputer的一篇文章(存档链接)报道,并通过Slashdot、Google News等广泛传播。

Tarlogic的新闻稿基于2025年3月6日在RootedCon上展示的工作。仅提供西班牙语的幻灯片可以在此处找到(存档链接)。这些幻灯片可以上传到Google翻译进行翻译,因为大部分文本不在图像中。撰写时,会议的视频尚未发布,因此演示的音频轨道尚不可用。

关于蓝牙HCI的背景

ESP32芯片的隐藏特性并非后门

蓝牙具有一个称为主控制器接口(HCI)的架构层。在笔记本电脑或手机等架构中,主CPU和操作系统被称为“主机”,而蓝牙芯片则是“控制器”。因此,HCI是主机与控制器之间的接口。如果主机希望扫描附近可用的蓝牙设备或连接其中一个设备,它会通过HCI向控制器发送命令,以通知控制器主机希望执行的操作。

蓝牙核心规范列出了许多HCI命令。然而,它也为“特定于供应商的命令”(VSCs)保留了命令空间。这些命令是控制器的硅片制造商可以用来管理控制器的命令。这可能包括如何更新控制器的固件、如何获取通过规范定义的命令可能无法获得的附加信息(例如芯片温度)、如何执行特定于芯片的操作(例如设置发射功率或自定义蓝牙地址)等。VSC通常通过硅片制造商的专有软件(库、用户工具或仅限开发者的工具)进行接口。

HCI接口本身通过硬连线的物理传输方式运行,例如UART、USB、PCIe等。因此,在讨论VSC如何发送时,我们应该始终将其视为主机上的一个实体通过电缆与蓝牙控制器的固件进行通信。

研究描述的内容

该研究描述了通过Espressif在其GitHub上提供的副本对ESP32 ROM进行逆向工程。(我们注意到,这在蓝牙领域的硅片供应商中是一个不常见的透明度水平。)研究随后分析了VSC,并发现了读取和写入RAM和闪存的实例,以及发送某些类型的低级数据包的实例,这些数据包通常由于主机与控制器之间的职责正常分离而无法从主机发送。

ESP32芯片的隐藏特性并非后门

ESP32芯片的隐藏特性并非后门

研究幻灯片本身并没有主张这是一个后门,只有新闻稿提到了这一点。幻灯片仅表明存在隐藏/未记录的命令。

其他供应商的VSC文档

虽然一些供应商如德州仪器记录了许多他们的VSC,但显然存在差距,因为记录的功能中,命令操作码从0x00跳到0x02再到0x05。同样,赛普拉斯的文档也描述了一些VSC。然而,列出的命令中存在更大的差距,编号从0x01跳到0x18,或从0x1D跳到0x27。这并不意味着供应商在隐藏任何东西,或者缺失的命令是后门。这只是意味着他们选择不向客户公开记录所有VSC,并将一些命令保留为内部使用。

据我们所知,博通并未在任何地方公开记录其VSC。然而,由于赛普拉斯过去从博通获得了蓝牙知识产权,赛普拉斯的文档中描述的用于读取和写入RAM的VSC被证明适用于博通。此外,已知一些博通的VSC不仅是博通特有的,还特定于博通的客户。例如,苹果在Mac和iPhone中使用博通芯片,一些逆向工程的VSC与苹果专有功能的使用相对应。

这里的主要观点是,在蓝牙生态系统中,供应商不记录所有VSC是很常见的。

其他供应商通过VSC读取或写入RAM的能力

最著名的案例是博通芯片(以及赛普拉斯芯片,因为赛普拉斯过去从博通获得了蓝牙知识产权)支持主机读取或写入控制器RAM的能力。主机向控制器写入的能力被InternalBlue工具用于发送通常无法从主机发送的任意蓝牙数据包。该能力后来也在Spectra攻击中被使用,不仅写入蓝牙控制器的内存,还写入与同一博通芯片中的Wi-Fi控制器共享的内存。VSC写入RAM的能力还被用于在利用特斯拉Model 3时逃离Linux沙箱。

同样,在我们之前的研究“通过逆向工程多个供应商的固件发现新的蓝牙低能耗漏洞”中,Veronica Kovah利用德州仪器芯片通过VSC读取和写入RAM的能力,在开发她的空中漏洞时启用了基本的调试能力。然而,在德州仪器的情况下,他们公开了用于内存和控制器寄存器写入的VSC文档。

这里的主要观点是,多个供应商利用VSC在控制器内读取和写入RAM。这是蓝牙芯片中的一种常见设计范式;这并不是某种特定于Espressif的后门方法。而且,利用读取RAM/写入RAM能力对攻击者的好处在蓝牙领域已经是众所周知的。

关于发现的VSC是否构成“后门”的结论

它们并不构成后门。

Espressif部分记录了他们的VSC,和其他蓝牙芯片制造商一样,并且包括了读取和写入芯片内存的能力,这与其他蓝牙芯片制造商相同。

我们可以得出结论,Tarlogic的新闻稿是在传播恐惧、不确定性和怀疑(FUD)以获取关注。而BleepingComputer的文章及其在Slashdot等平台的转载通过强调Espressif是中国供应商这一点,加剧了这种FUD。

关于这一特性是否构成安全漏洞的结论

这要看情况。

具体来说,这取决于特定客户的威胁模型。

大多数客户不会试图区分主机和控制器的权限。对于这些客户来说,这不会构成漏洞。

然而,客户有理由不希望被攻陷的主机用户空间自动保证控制器固件被攻陷。这是我在苹果工作时的威胁模型,我努力使博通的VSC控制器内存读/写功能被禁用(因为我也参与了苹果博通芯片的安全启动设计)。同样,如果你阅读之前提到的特斯拉攻击讲座,你会看到博通的VSC的存在使研究人员能够绕过特斯拉的Linux用户空间进程沙箱机制。

值得注意的是,Espressif支持安全启动和闪存加密。这两个功能需要由购买ESP32芯片的客户明确启用,并且通常不会在低端设备上启用,因为这些设备的重点是尽可能减少工程时间(成本),以应对低利润产品。在一个设计良好的系统中,写入闪存的能力不应自动破坏安全启动或闪存加密提供的安全性。具体来说,它们通常提供的安全性是确保只有第一方代码,而不是恶意代码,可以在控制器上执行。然而,允许写入闪存的VSC可能导致对安全更新或安全启动系统中漏洞的利用,这在其他芯片上已经被发现,例如Silicon Labs和Renesas的芯片。同样,如果我们考虑安全启动的目标是避免攻击者代码在其保护的芯片上下文中执行,那么显然,外部攻击者写入任意代码到芯片的架构能力明显违反了安全启动的目标。

总体而言,我们在Dark Mentor认为,授予读取和写入内存、闪存或寄存器能力的VSC使用是糟糕的安全设计。这对Espressif来说是糟糕的设计,对博通、德州仪器和其他使用此设计的供应商来说也是如此。

该问题现在被追踪为CVE-2025-27840。

附录

我联系了一位研究人员,他是我过去合作过的人,以了解这是否只是市场部门失控的情况。如果我收到他的回复,或者Tarlogic删除或修订他们的新闻稿,我会更新这篇文章。

更新:2025年3月9日:Tarlogic的新闻稿已于3月9日更新,将“后门”一词替换为“隐藏特性”,这更符合事实,也与原始研究所指示的内容一致。之后,BleepingComputer也更新了他们的文章,指出这些是未记录的命令,而不是后门。


原文始发于微信公众号(赛博堡垒):ESP32芯片的隐藏特性并非后门

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

发表评论

匿名网友 填写信息