
人生的一大痛苦是感知到它的存在却不能触摸,这种苦楚不仅适用于别人钱包里的现金,同样也适用于汽车内部设计。 如同去医院做全身CT一样,如果医生非要进行人体解剖才能知道器官情况,绝对不能接受。中华文化精髓崇尚含蓄,诸如悬丝诊脉,看一叶知秋的高深。尤其在后疫情下,在线化自动化轻量化快速化已经成为一种趋势。在这篇***里,我们首次对特斯拉汽车进行内部ECU全身扫描,在短时间内自动判断各个ecu所属的功能模块类别。各位看官移步继续往下阅读。
【为什么选择特斯拉?】
一位摄影自媒体人可以面对一款精致的镜头洋洋洒洒地用五分钟数落出它一大堆缺点来解释他为什么不买。其实答案就是“我穷,我没钱!” 为什么选择特斯拉?因为它最牛,最难!
特斯拉拥有最多的总线数目,4-6条, 而且ECU数量极多,高达200多个。相对其他车型只有区区几十个ECU,舍它其谁。其次,目前对于特斯拉车型的总线内部结构介绍非常少,除了几个零星的无人驾驶团队逆向出来的特斯拉DBC文件之外(而且是针对MODEL S的)其他的只是介绍了几个CAN ID指令功能。这就更加的引起了我们的兴趣,下面就用VT-CAN-eye软件对特斯拉model x车型来进行全身快速扫描。
【特斯拉总线】
特斯拉拥有多达四个CAN接口,这是我们在数百种车型中发现的最多的接口。在测量电压值之后,我们在OBD接线盒上找到并标记了这四个CAN接口。除了传统的3-11和6-14引脚对。特斯拉还使用2-10和12-13引脚对。
此外,很难找到汽车的真正OBD端口。与其他汽车一样,您可以在方向盘下方轻松找到“ OBD端口”,但该端口是伪造的!由于已接地,因此没有CAN数据流出,为什么还要保留该端口?因为根据联邦法律,每辆汽车必须在驾驶员/方向盘2英尺内有一个OBD端口。
真正的OBD端口位于大信息娱乐屏幕下方的存储小隔间后面。托盘顶部有两个固定夹,向下拉托盘,然后松开固定夹以松开托盘。将其拔出,您将看到两根电缆,一根用于CAN总线,一根用于以太网。特斯拉的以太网运行在CAN协议层之上。
我们需要做X437A和传统OBD端口的转换。特斯拉有四路总线.
X437A和传统OBD端口
CAN PINOUT代号名称
6-14CAN3Drive train
3-11CAN2body
12-13CAN4Body fault
2-10CAN6chassis
【全车扫描】
连接端口后进行全车扫描,运行软件, 对思路端口依次扫描。软件将收到的结果自动处理并以图形的方式进行展现。每一路CAN线需要几分钟,下图显示扫描结果。
表1. 扫描分组结果
CAN PINOUT代号ID数目名称分组数目模块数目
6-14CAN3194Power train1111
3-11CAN2240body 115
12-13CAN444Body fault35
2-10CAN6130chassis919
结果显示,特斯拉的分组ID有规律可循。比如CAN3的大多数分组中包括的ECU ID最后一位绝大多数都是相同的。这在其他总线也得到了验证,说明这个现象不是偶然。另一方面,也验证了本实验分组的正确率很高。
CAN 2 – body
其他研究人员【1】找出来10个模块,我们扫描出15个模块。由于CAN2后面的数据被网关过滤,我们统一归于一组。CAN2 总线指的是3-11, body CAN,可以控制车门,天窗等。VT-CAN-eye的扫描结果显示这路总线后面直接有网关。网关过滤相关模块流量,起到了保护作用。特斯拉的网关采用的Freescale SPC5668GVMG板子,操作系统是FreeRTOS。
CAN 4 - Body Fault Tolerant
CAN4 是特斯拉body fault. 很明显分成三个模块。这个网上资料【1】一致,这三组分别代表RCCM (Remote Climate Control Module),PTC (Positive Temperature Coefficient) Air Heater 和Memory Seat Module。
【安全隐患】
通过对扫描结果分析,我们可以推断出下面的猜想。
特斯拉MODEL X的电池管理系统并没有完全的保护,黑客可以获得高达38个相关ECU ID,对其中任意可以发起攻击,从而破坏TPM的正常工作;
4路CAN线只有一路3-11通过网关完全过滤防护,其他三路依然可以获得相关的信息,从而进行进一步的攻击。
特斯拉总线的隐私泄露方面有待改进,黑客可以获得整个CAN网络的拓扑架构。
【结束语】
这篇***中,我们通过使用工具对特斯拉MODEL X进行了全车总线拓扑扫描。这种扫描完全自动化并在短时间完成。通过和其他研究成果进行比较,结果显示能够有效地获得车辆CAN拓扑设计架构和对应的ECU ID分组。而且结果还发现特斯拉总线拓扑存在的几点安全隐患。这种扫描方法可以适用于任何车型。
【1】https://www.instructables.com/id/Exploring-the-Tesla-Model-S-CAN-Bus/