首页
社区
课程
招聘
特斯拉攻击案例解读:硬件逆向分析
发表于: 2022-2-11 23:39 35547

特斯拉攻击案例解读:硬件逆向分析

2022-2-11 23:39
35547

研究攻击案例的主要目的在于“知攻”,也就是搞清楚攻击者是如何攻破车辆、实现控车的。关于对特斯拉的攻击研究,腾讯的科恩实验室贡献了几个成功的案例,按道理讲应该先解读科恩系列。但是,作为一名车联网安全工程师,我对攻击者的完整尝试路径更感兴趣,因为完整的尝试路径包含丰富的对抗信息,包括车辆的哪些防护手段有力地击退了攻击者,哪些防护手段缺失或者存在缺陷,最有效的防护手段是什么等等,而科恩的报告对这部分信息的描述甚少。因此,本文选取Pentest Partners的《Reverse Engineering Tesla Hardware》作为解读系列的开篇,一方面尝试解释清楚Pentest Partners的攻击过程,另一方面,也是我的主要目的,试图发掘真实攻击场景下,车联网安全防护技术的实际防护效果,并探索防护失效的深层次原因。

Pentest Partners的完整报告由两篇文章组成:《Reverse Engineering Tesla Hardware》、《Reverse Engineering the Tesla Firmware Update Process》,前者描述了从拆件到还原硬件架构的过程,后者描述了通过逆向FOTA发现和利用漏洞的过程。本文主要解读第一篇,该篇对车载芯片的拆解和逆向探索的过程记录详细,堪称教科书式的板级逆向。书归正传,文归正叙,下面开始解读。

为了方便逆向,研究员首先将车机拆了下来:

“We took the CID out of the Tesla to power it up and examine it.” 

(实物图片均来自Pentest Partners博客,后文不再说明)

拆解后可以看到两块主要的芯片:IC和CID。IC即Instrument Cluster,仪表盘;CID即Central Information Display,中央信息显示器,即特斯拉娱乐屏背后的计算芯片。关于IC和CID的确认过程没有太多的描述,可能是根据公开信息获取,也可能是根据芯片上的标记获取。

(该步骤还原的架构图,后文亦不再说明)

根据芯片上的文字和标致,研究员确认了VCM在IC和CID两处的存在:

 

“An NVidia VCM (Visual Compute Module) sits at the core of the CID. This is an ARM based single-board computer module that runs Linux – the operating system that drives most of the visible actions of the Tesla.

Nvidia VCM modules are used in both the CID and IC.”

“An Nvidia Tegra System-on-Chip (SoC) is used in the VCM. This has a multi-core ARM processor, GPU and various other audio and video accelerators.”

VCM的SOC确认为Nvidia Tegra,多核ARM处理器,包含GPU和audio、vidio加速器。这部分信息来自Nvidia Tegra的文件描述,推测来自网络。

芯片上的标致和文字明确地公开了芯片的身份信息,这种信息至少有助于理解IC和CID的电器架构。我们可以看出VCM为IC和CID提供了主要的运算能力,CID上的VCM主要为娱乐屏的图像、视频和音频提供算力支撑。

确认VCM的SOC之后,研究员对Tesla VCM和Audi、BMW及Lamborghini在使用Nvidia VCM上的共性做了简单阐述。

“Audi, BMW and Lamborghini have all been associated with Nvidia VCMs. For example, we uncovered a similar module in an Audi Virtual Cockpit.”

接着,研究员对VCM的算力和其他IVI的算力做了一个简单的对比:

“It is significantly more powerful than SoCs used in other IVIs that we have examined, which is probably due to the large CID display. ”

虽然在VCM的共性研究和算力对比上没有发现安全的突破口,但千万不要小看这种分析,在逆向分析的过程中,通过对相同或相近对象的比较研究,极有可能发现关键信息。在板级的对比研究中没有获取关键信息,研究员进一步尝试寻找芯片级的“近亲”。

研究员进一步尝试通过开发用的相近SOC,以及使用相同系列芯片的SOC寻找关于芯片管脚和布线的信息,但是发现都需要和供应商签署NDA才能获取。

“ You can obtain technical reference manuals for the Tegra 2, 3 and 4 SoC lines, but they don’t contain ball-maps or pin-outs, so are of limited use for reverse engineering.

To gain access to documentation and forums, a valid developer account was created for Nvidia.com, but we could only find one reference for VCMs or the Jetson Pro development kit. We wrote a forum post asking about documentation but got no response. We envisage that an NDA would have to be signed to gain access to anything significant but it is unlikely that we would be able to share any of the information with third parties.”

接着研究员对IC和CID上VCM挂载的子模块信息做了一遍梳理,包括NOR Flash存储器、eMMC存储器、以太网控制器、USB收发器、SDRAM存储器、电源管理模块等等。其中IC和CID上的VCM配置并不完全一样:

1)IC上使用的Tegra 2,比CID上Tegra 3低一个版本;

2)IC上eMMC容量4GB,比CID少一半;

3)IC上1GB的RAM,比CID少一半。

这些差异表明,CID VCM承载的业务负载要高于IC VCM,即CID VCM为整个车机的主要算力单元。另外,两个VCM都挂载了以太网收发器。

梳理完VCM上的子模块之后,研究员的下一步计划是对VCM做侵入性分析。虽然研究员已经通过示波器确认了电源引脚,但是3000到10000英镑的维修成本使研究员放弃了对VCM的直接分析。

“We believe that the pin-outs of the two VCMs were the same – voltage supply and ground appeared to be on the same pins, which was confirmed with an oscilloscope. We did not want to direct test the VCMs from the Tesla due to risk of damaging or bricking the CID or IC. This could make the car unusable, and cost somewhere between £3,000 and £10,000 to have repaired by Tesla.”

在前面几次寻找相近型号芯片的尝试失败后,研究员不知从哪淘来一块二手的VCM,这块二手VCM除了RAM容量和IC VCM不一样,其他子模块基本完全一致。

“we obtained a third VCM from a second-hand IC. This was the same as the VCM in the IC from the test, except it had 50% less RAM. The IC itself was a different model. We conducted invasive testing”

研究员从这块二手TCM的Nor Flash中提取了第一、第二阶段的bootloader,kernel以及boot相关的数据,其他文件系统相关的数据则存在于NAND Flash中,文件系统的其余部分位于NAND闪存中。大多数文件存储在压缩的只读文件系统 (squashfs) 中,小部分存储在读/写文件系统 (ext4) 中。

通过Switch芯片上的文字和标致信息,研究员确认了Switch为Marvell 88E6061,支持VLAN:

“A built-in Ethernet switch connects the VCM to the rest of the vehicle via a Marvell 88E6061. This five-port 10/100 switch supports VLANs. It is configured using SMI, a serial interface. The Ethernet switch is configured when the CID starts.”

SMI通信缺乏有效的安全措施,研究员可以通过逻辑分析仪嗅探SMI命令,并篡改SMI指令。虽然通过VLAN划分了广播域,但由于SMI命令缺乏完整性保护,导致可以通过篡改指令修改VLAN配置。

“A logic analyser could sniff the SMI commands. We could not ascertain whether they were sent by the VCM or the gateway processor. Traffic is segregated from the various components using several VLANs.

There is no security functionality associated with the SMI, for example integrity protection – it trusts all signals, meaning that communications can be tampered with or modified. VLAN configuration could be modified in this way, potentially creating new routes into the system. ”

通过网关芯片上的文字和标致信息,研究员很容易就确认了网关芯片的型号:

“Here we show the gateway with CAN transceivers. Similar devices are often found in CAN gateways. The gateway is connected to the CAN buses and the Ethernet switch. We believe the firmware on the gateway is FreeRTOS, a light-weight real-time operating system (RTOS) with multiple automotive uses.”

同样地,通过Modem芯片上的文字和标致,研究员很容易就确认了Modem的型号。

研究员尝试从CID中寻找eCALL和短信相关的应用,但是没有发现任何踪迹,因此推测相关应用功能的实现均在Modem中。由于Modem没有暴露攻击接口,因此没有进一步对Modem进行分析。

“Most TCUs in vehicles do not allow user-accessible and swappable SIM. Embedded or inaccessible SIMS are becoming the norm. Despite further examination of the Tesla, we did not uncover any functionality for tracking or eCall running on the CID’s VCM. This suggests these safety and security features run directly on the cellular modem, as per TCUs in other vehicles.”

从攻击者的思路反思,我们在做正向设计的时候,应该尽量避免复杂的架构,好的设计是将同一功能的模块封装在同一个芯片中,并尽量减少芯片的攻击面。在实际的设计中,eCALL等功能模块(的部分功能)经常被放到IVI中(类似于这里的CID),这种设计明显增加了eCALL及Modem被攻击的可能性。

由于Modem芯片的封装方式使用的是BGA,这种封装方式的特点是拆卸难度和重新挂载的难度都很高,因此研究员放弃了从Modem芯片中还原固件的尝试。

“Recovering firmware from a Sierra Wireless AR8522 module without causing damage is extremely difficult, being as it is a tightly packed BGA module with numerous BGA chips, all contained under a soldered-on shield”

由于WIFI和蓝牙模块的芯片均采用正面朝下的封装,这种封装方式有效地隐藏了芯片的文字信息,因此攻击者无法直接获取芯片型号。再加上芯片使用BGA的封装方式(根据上下文可以推测其封装方式也为BGA),拆解难度极大,因此有效地阻止了研究员的进一步攻击。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 10
支持
分享
打赏 + 50.00雪花
打赏次数 1 雪花 + 50.00
 
赞赏  Editor   +50.00 2022/03/11 恭喜您获得“雪花”奖励,安全圈有你而精彩!
最新回复 (4)
雪    币: 21580
活跃值: (6401)
能力值: (RANK:445 )
在线值:
发帖
回帖
粉丝
2
解读很详细,中英对照也方便查阅原文,但是第2章的小章节划分不够清晰明朗。
2022-2-12 10:18
0
雪    币: 1337
活跃值: (2422)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
胡一米 解读很详细,中英对照也方便查阅原文,但是第2章的小章节划分不够清晰明朗。
第二章确实有点乱,本来想着原文的行文思路能够比较真实地反应攻击者的攻击过程,但是写出来之后看起来很散乱
2022-2-14 08:42
0
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
大佬优秀
2022-2-15 14:38
0
雪    币: 14517
活跃值: (17538)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5
优秀,感谢分享
2022-2-15 15:44
0
游客
登录 | 注册 方可回帖
返回
//