客户端
游戏
无障碍

1

评论

1

分享

手机看

微信扫一扫,随时随地看

拆解雪佛兰重型皮卡ECU:看一位“黑客”如何击穿“不可破解”

五年前,有一款号称“不可破解”(unhackable)的新型可调ECU/ECM称霸了当时的市场,它就是GM E41 ECM Services (L5P)。这款ECU/ECM最早出现在2017年的L5 Peter Max卡车上,当时许多人认为这类ECU/ECM无法被破解或调校。

随着外网大神步步拆解和分析,一点点分崩离析了它的防线。自从这个产品被攻破防线以后,HSM(Hardware Security Module),也就是硬件防护模块开始逐渐上车,让汽车走向如今非常可靠安全的境地。

那么,这款ECU究竟是如何被突破防线的?整个ECM拆开又长什么样子,里面有什么值得关注的点?这又对我们现在做汽车开发有什么启发?接下来,我们来回顾这些往事。

Colin O'Flynn|信源

汽车开发圈|出品

拆掉外壳,先看看整体

为了深入研究,我购买了一款E-40 ECU(T1型号),这是用于某些轨道车型的ECU。这款ECU的外壳是完全密封的,我不得不使用螺丝刀撬开卷曲的边缘,并用喷灯加热以软化胶粘剂,最终成功打开了外壳。

图片

图片

打开后,发现PCB板被一种类似灌封胶的材料覆盖,可能是为了散热或防潮。主板的一角有一颗BGA封装的主控芯片,周围分布着各种驱动芯片,用于控制点火线圈、燃油喷射等。值得注意的是,这款ECU没有使用传统的防潮涂层,而是完全依赖外壳密封来防潮,这使得探测电路更加方便。

通过显微镜观察,主控芯片的型号并不常见,但经过搜索,它可能是Freescale(现为NXP)的MPC5676R,一款基于PowerPC架构的双核处理器。查阅数据手册后,注意到这款芯片没有硬件安全模块(HSM),这意味着它的安全性可能依赖于软件层面的保护措施。相比之下,更高端的ECU(如E99型号)可能升级到了带有HSM的芯片。

图片

图片

在PCB的一角,发现了一个疑似调试接口的引脚,但很可能已被禁用。根据数据手册,这款芯片的JTAG调试功能可以通过“censorship control word”(一种存储在闪存中的配置字)启用或禁用。如果该值被破坏,芯片会进入“censored”状态,禁用调试接口和闪存读取功能。

图片

有趣的是,芯片还支持串行引导加载程序(bootloader),并且可以通过特定的引脚配置进入该模式。如果能够物理访问这些引脚,可能能够利用公开密码绕过部分安全限制。不过,由于ECU的引脚是通过压接方式固定在PCB上的,直接探测这些引脚较为困难。

图片

根据Riscure的研究论文《Safety ≠ Security》,某些汽车ECU的JTAG接口可以通过故障注入(fault injection)重新启用。论文中提到,即使成功率较低(如0.3%),单次成功的攻击仍可能绕过密码保护。因此,我计划进一步尝试通过物理手段(如加热或电压毛刺)干扰芯片的配置字,以探索是否能够启用调试接口或访问闪存数据。

图片

这款ECU代表了现代汽车电子系统的一种设计趋势:通过硬件密封和软件保护相结合的方式提升安全性。然而,随着逆向工程技术的进步,即使是“不可破解”的ECU也可能存在漏洞。未来,我希望能进一步研究更高端的ECU型号(如E99),并探索其硬件安全模块的实现方式。

通过拆解,可以看出现代汽车电子安全的复杂性,也意识到厂商与破解者之间的技术博弈仍在持续。对于汽车行业来说,如何在便利性和安全性之间取得平衡,将是一个长期的挑战。

深入探索主控与调试接口

在上一部分中,成功拆解了ECU的外壳,但主板仍被牢牢固定在内部。经过一番努力,最终通过移除连接器的压接引脚,将主板完整取出。本部分将重点分析主板的内部结构,特别是调试接口和可能的攻击面。

ECU的主板通过多个压接式连接器固定,这些连接器并非焊接,而是通过物理压接与PCB连接。为了分离主板,使用喷灯加热连接器塑料,使其软化后逐个拔出引脚。此外,主板背面还覆盖了一层黑色导热化合物,用于主控芯片(BGA封装)的散热,这也增加了分离的难度。 

图片

图片

图片

图片

主控芯片的型号标记为MPC5676R,属于NXP(原Freescale)的PowerPC架构双核处理器。通过对比数据手册的引脚定义和PCB走线,确认了芯片的真实性。值得注意的是,这款芯片没有硬件安全模块(HSM),其安全性依赖于软件保护机制(如闪存加密和调试接口禁用)。 

图片

图片

在PCB底部,发现了一个疑似调试接口的引脚阵列。通过数据手册和走线分析,确认了以下关键信息:

  • JTAG接口:包括TDO、TCK、TMS、TDI,分布在PCB的特定测试点上。 

  • 串行引导加载程序(Bootloader):通过`BOOT_CONFIG1`引脚可启用串行模式,配合`TXDA`和`RXDA`实现通信。 

  • 复位控制:`RESET`引脚和`RESET_OUT`信号可用于故障注入或监控设备状态。 

目前,发现三种潜在攻击的方法:

第一种是通过JTAG调试:芯片的JTAG接口可能被禁用,但通过物理访问测试点,可尝试重新启用。若芯片的“censorship control word”(闪存中的配置字)被破坏,可能触发调试接口开放。

第二种是串行Bootloader:通过短接`BOOT_CONFIG1`引脚,可强制进入串行引导模式。需绕过可能的密码保护(如公开密码或闪存密码)。 

第三种是故障注入:VSS_FL引脚这是闪存模块的专用接地引脚,中断其连接可能导致闪存读写异常,为故障注入提供机会。通过干扰时钟信号(外部晶体)或电源,可能触发芯片的非预期行为。  

下一步计划包括四个:

1. 获取新ECU:当前主板已损坏,需等待新设备进行实际调试测试。

2. 验证JTAG功能:使用兼容编程器尝试访问JTAG接口,确认是否可用。

3. 探索Bootloader:通过串行模式与设备通信,分析其响应和可能的漏洞。

4. 故障注入实验:测试VSS_FL引脚和时钟信号的干扰效果。

测试Bootloader功能和安全机制

在第二部分里,成功地把PCB从外壳中取了出来。然而,当把PCB出来的时候,遇到了一个问题。在印刷电路板下面有一种粘性物质,导致电路板产生了很大的弯曲。这种粘性物质粘在电路板上,要想安全地取下来,基本上就得把它割开。这导致一些焊盘和大量的球型触点(BGA)都出现了分层的情况。尽管如此,还是成功地对印刷电路板上剩下的球栅阵列(BGA)进行了重植球处理。

接下俩,我们希望利用这个处理后的 BGA 来做一些操作,比如启动它,并检查这个设备上的引导辅助模块,这个模块基本上就像一个串行引导加载程序。我们想要了解它是如何配置的,通常情况下它有一个默认密码,不过很可能已经被更改了。之后,我们研究如何更改它,并且研究一些可能有帮助的有趣的硬件破解技术。

图片

为了给它供电,我们需要参考一些资料。通过查看这个ECU的零件编号,可以看到这个ECU具体用在2018年款雪佛兰Silverado 2500 V8 6.6车型。如果我们查看相关的引脚输出表,会发现对于这个大的ECU连接器,引脚6是接地引脚,引脚4是电池的正电压引脚。其他较大的引脚是给各种设备的输出保险丝供电,ECU 通常可以关闭一些传感器之类的东西来节省电量。

图片

目前来看,ECU需要以下引脚供电才能启动:

  • 主电源(+12V):连接至电池正极(根据引脚定义确认)。

  • 点火信号(IGN):模拟车辆点火,触发ECU启动。

  • 接地(GND):确保完整回路。

图片

通过外接电源和跳线,成功启动了ECU,并监测到电流变化,表明设备已进入工作状态。

图片

根据芯片手册,MPC5676R支持通过Boot Config引脚启用串行Bootloader模式。步骤如下:

1.硬件配置:将BOOT_CONFIG1引脚拉高(3.3V),强制芯片进入Bootloader模式。

绕过Lin总线收发器(通过禁用其Sleep引脚),直接连接UART接口。

2.默认密码验证:手册注明默认密码为0xFEEDFACECAFEBEEF,但实际测试发现ECU芯片未使用默认密码,而是启用了自定义密码保护。

3.对比测试:将同型号的全新芯片插入开发板,输入默认密码后成功进入Bootloader,证实ECU厂商已修改安全配置。

4.密码保护机制:ECU芯片的Bootloader密码可能存储在闪存中,需通过物理手段(如故障注入或闪存读取)绕过。

5.可能的攻击方向:尝试通过电压毛刺干扰密码校验流程,或利用未禁用的调试接口(如JTAG)提取密码。

6.硬件验证:使用开发板搭建测试环境,通过**差分功耗分析(DPA)**观察密码校验时的功耗差异,定位关键操作。

7.检查VSS_FL(闪存专用接地引脚)是否可通过干扰触发闪存读写异常。

本次实验证实,ECU厂商已对Bootloader进行了定制化保护,但硬件层面仍存在潜在攻击面(如未完全禁用的接口或物理漏洞)。

比较关键的发现包括:ECU芯片的Bootloader密码已非默认值,需更深入的硬件攻击手段;开发板验证为研究提供了可控环境,后续将用于故障注入实验;安全防护集中在软件层,硬件设计仍保留调试接口,可能成为突破口。

利用电磁故障注入破解ECU Bootloader密码

接下来,开始使用电磁故障,来破解ECU的密码,这一次,终于攻破了ECU的防线。

摘要电磁故障注入(EMFI)是一种众所周知的为数字设备安全分析引入故障的方法。此类故障可以被视为类似于已知在数字设备中自然发生的故障,这是设计安全关键系统的一个已知问题。已经为安全关键系统制定了许多标准,包括制定使用粒子源提高自然发生故障率的标准。

本次使用MPC 5676开发板进行ECU安全研究,我们把ECU拆解下来的微控制器插到插槽中。实验采用电磁故障注入工具ChipShooter,通过1毫米探头实施精确干扰。

它配有 1 毫米的尖端,能向目标设备注入故障。设备设有触发线,支持硬件触发。借助ChipShield,基于串行通信流量进行触发操作。

图片

测试过程中,我们向设备发送无效密码并监测其响应,利用ChipWhisperer系统捕获功率特征差异。分析发现,正确密码"feed face cafe beef"会产生独特的四峰波形,而错误密码的波形明显不同。

图片

通过配置40MHz时钟触发信号,我们在密码校验关键时间点注入故障,成功使设备接受无效密码。实验数据显示,该方法能可靠提取设备的唯一引导密码。验证发现不同ECU采用独立随机密码,有效提升了安全性。当前插槽设备的JTAG接口已损坏,下一步将优化故障注入参数,适配不同硬件环境。这项研究为汽车电子安全评估提供了重要参考。

图片

图片

图片

图片

图片

本次实验证明,即使ECU启用了定制化密码保护,电磁故障注入仍可有效绕过硬件安全机制。这一漏洞凸显了汽车电子在物理安全层面的潜在风险。而这项实验证实了电磁故障注入在汽车电子安全评估中的实用价值,现在很多汽车功能安全都在标准中加入了故障注入这样的测试。

值得注意的是,这款ECU采用的主控是比较老的芯片,当时还没有HSM(Hardware Security Module)。HSM是一种用于保护和管理强认证系统所使用的密钥和敏感数据,并同时提供相关密码学操作的计算机设备。现在,基本所有主控都有了HSM,破解早已经成为一件非常困难的事。不过,破解与防护、漏洞与修复从来都是一对“好朋友”,随着人们对于安全愈发关注,很多芯片已经从底层开始展开防御,相应的技术也正在逐步迭代。

免责声明:本内容来自腾讯平台创作者,不代表腾讯新闻或腾讯网的观点和立场。
举报
00:39
不肝不氪,武将招降+养成!经典三国,全靠智商策略获胜!
广告三国群英传
了解详情
评论 0文明上网理性发言,请遵守《新闻评论服务协议》
请先登录后发表评论~
查看全部0条评论
首页
刷新
反馈
顶部