安全圈是这么玩车的——对Tesla Model S 的硬件逆向分析研究 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

安全圈是这么玩车的——对Tesla Model S 的硬件逆向分析研究

h1apwn 逆向破解 2020-02-29 10:30:00
35635779
收藏

导语:和现代汽车一样,特斯拉的构造是通过CAN网关连接多个独立的CAN总线,网关的另一端有一台功能强大的嵌入式计算机,可以接入公网,可控制其所有组件的固件更新。

0x01 Tesla 硬件概述

和现代汽车一样,特斯拉的构造是通过CAN网关连接多个独立的CAN总线,网关的另一端有一台功能强大的嵌入式计算机,可以接入公网,可控制其所有组件的固件更新。

特斯拉的物理组成:

· CID(中央信息显示单元):仪表板中央的控制台

· IC(仪器集群)

· 常规CAN连接的ECU

0x02 组件概述

高度集成的CID包括:

image.png

大多数车辆是IVI(车载信息娱乐系统),CAN网关和TCU(电信控制单元)配备了单独的单元,但是Tesla将中央信息组合为一个单独的大型单元。在其他汽车上,IVI,CAN网关和TCU通常都是由不同的制造商生产的(例如Clarion IVI,Bosch网关和Ficosa TCU)。特斯拉集成了这些单元以实现完全控制,这也解释了为什么可以如此快速地进行更改。

CID和IC通过以太网和CAN总线连接。该IC唯一与安全相关的组件是另一个Nvidia VCM。这与CID中的不同,RAM减少了50%。CAN连接的ECU在车辆的其余部分更为通用,通常是带有集成闪存,运行裸机软件或RTOS(实时操作系统)的微控制器。它们是由多家制造商生产的,有些与其他车辆相似或相同,而其他一些(例如,Pektron生产的车身控制模块)则是定制的。

特斯拉中的CAN总线:image.png特斯拉还有许多LIN总线。

0x03 CID硬件架构

CID相当复杂。一个14层PCB结合了几个功能块。

这使得逆向变得非常棘手,尤其是因为缺乏公开信息,CID损坏就会导致车辆无法使用。

我们从特斯拉中取出了CID,以对其进行通电和检查。

image.png

image.png

0x04 可视计算模块

NVidia VCM(可视计算模块)位于CID的核心。这是运行Linux的基于ARM的计算机模块,该操作系统驱动Tesla的大多数可见动作。

image.png

CID和IC中都使用了Nvidia VCM模块。

奥迪,宝马和兰博基尼都与Nvidia VCM相关。例如,我们在奥迪虚拟座舱中发现了类似的模块。

image.png

image.png

VCM中使用了Nvidia Tegra片上系统(SoC)。它具有多核ARM处理器,GPU和其他各种音频和视频加速器。它比我挖掘过的其他IVI中使用的SoC强得多,这可能是由于CID显示屏很大。Tesla Autopilot(AP1和AP2)使用单板计算模块。这些与CID和IC中的VCM非常不同。该车辆没有特斯拉自动驾驶仪模块,因此我无法对其进行测试。在CID上的代码中,我都没有找到对自动驾驶仪的引用。

VCM没有公共数据表,这在汽车电子产品中很常见,并且使逆向非常困难。当只有一个单元可以测试时,尤其是如此,这意味着必须非常小心,不要损坏它。“ Jetson Pro开发套件”中使用了类似的VCM模块:

image.png

即使没有VCM或Tegra SoC的手册,开发板也经常包含所提供模块的原理图和引脚,以及破坏性测试的备件。这对于在Tesla中对VCM进行逆向很有帮助。不幸的是,Jetson Pro开发套件没有提供任何公共文档。尽管我尝试从eBay获得开发工具包,但是在编写此报告时没有可用的工具包。

但是,类似的开发板Jetson TK1也很容易获得。不使用VCM模块,而是直接将其他Tegra SoC安装到PCB。有关此文档的信息仅提供了有关Tegra SoC的少量信息。可以获取有关Tegra 2、3和4 SoC系列的技术参考手册,但是它们不包含引脚图,因此在逆向中用途有限。

为了访问文档和论坛,我在Nvidia.com创建了一个有效的开发人员帐户,但是我只能找到VCM或Jetson Pro开发套件的参考。我写了一个论坛帖子,询问有关文档的信息,但没有得到回应。我设想必须签署NDA才能访问重要的内容,但我不太可能与第三方共享任何信息。

VCM上的连接器就像MXM,用于笔记本电脑的某些图形模块,这些模块具有标准化的引脚排列。但是,这些模块的引脚排列与VCM不同。我研究了其他基于Tegra的单板计算机模块,但没有发现任何相似之处。使用了不同的连接器,外部存储器和外围设备。我没有发现任何有意义的东西。几则新闻报道(包括https://electrek.co/2017/09/26/tesla-intel-power-infotainment-system/)报告说,特斯拉正在将基于Nvidia的平台更改为英特尔。这个新板子叫做“戈登湖”,看上去很像Nvidia VCM:

image.png

连接器是相同的,而安装布置看起来却有所不同,尤其是在使用散热器板时。和以前一样,如果不输入NDA,将无法获得数据表。

为了进一步进行逆向,我从CID和IC中取出了VCM进行检查:

image.png

这些是在CID的VCM上看到的主要组件:

image.png

IC中的VCM非常相似:image.png

两个VCM的引脚输出是相同的,电源和接地在相同的引脚上,已由示波器确认。不希望从特斯拉直接测试VCM,因为存在损坏CID或IC或使之积压的风险。这可能会使汽车无法使用,并需要花费3,000到10,000英镑在特斯拉进行维修。

为此,我从二手IC获得了第三个VCM。该测试与测试中IC中的VCM相同,但RAM减少了50%。IC本身是不同的型号。我进行了安全测试:

image.png

从逆向中获得的信息不多。

第1阶段和第2阶段的引导程序,内核以及其他与引导相关的数据包含在64MB NOR闪存中,并且其中的大多数数据都通过主要/恢复机制进行备份,以允许设备引导至恢复模式。

文件系统的其余部分位于8GiByte NAND闪存中。大多数文件存储在压缩的只读文件系统(squashfs)中,一小部分存储在读/写文件系统(ext4)中。这很常见,并且(大多数)不可更改的文件(例如系统二进制文件)占用少量闪存,而设置和日志的存储未压缩。

0x05 以太网交换机

内置的以太网交换机通过Marvell 88E6061将VCM连接到车辆的其余部分,此五端口10/100交换机支持VLAN。使用串行接口SMI进行配置。CID启动时,将配置以太网交换机。逻辑分析仪可以嗅探SMI命令。我无法确定它们是由VCM还是由网关处理器发送的,使用多个VLAN将流量与各个组件隔离开来。

SMI没有安全功能,例如完整性保护,它信任所有信号,这意味着可以篡改或修改通信。可以以这种方式修改VLAN配置,从而有可能在系统中创建新路由。交换机旁边是5个LED,指示以太网端口上的链接/流量,LQFP包装可轻松访问信号。

0x06 网关

使用飞思卡尔SPC5668GVMG,这是一个基于PowerPC的微控制器,具有2MB闪存和512KB RAM,完整的数据表可用。

image.png

具有CAN收发器的网关。在CAN网关中经常发现类似的设备,网关连接到CAN总线和以太网交换机,关上的固件是FreeRTOS,这是一种轻量级的实时操作系统(RTOS),可用于多种汽车用途。

0x07 蜂窝调制解调器

Sierra AirPrime AR8552是常见选择。它安装在子板上,紧邻GPS接收器模块,ublox LEA-6R-0-002和加速度计:

image.png

在内部,AR8552使用Qualcomm MDM6200 SoC。这些通常运行一个称为Legato的嵌入式Linux发行版。USB用于蜂窝调制解调器和VCM相互通信。

VCM不包含SIM卡,这与以前记录的美国Tesla调制解调器不同。而是将其安装在远程吊舱中,并通过线路将其连接到CID,因此可以在不删除CID的情况下访问和更改SIM卡。这可能是由于欧盟竞争法所致,以确保特斯拉可以使用多个移动网络:

image.png

在这种情况下,SIM卡是O2。我无法确定SIM卡是否随车辆一起提供或是否已被更换,SIM卡没有感兴趣的数据,例如SMS消息。调制解调器与EE SIM可以配合使用。

车辆中的大多数TCU不允许用户访问和可交换的SIM卡。嵌入式或不可访问的SIMS正在成为常态。尽管对特斯拉进行了进一步检查,但我并未发现在CID的VCM上运行的任何跟踪或eCall功能。表明这些安全保护功能按照其他车辆中的TCU直接在蜂窝调制解调器上运行。

要从Sierra Wireless AR8522模块中恢复固件而不造成损坏是非常困难的,因为它是一个紧密包装的BGA模块,其中包含许多BGA芯片,所有这些芯片都包含在焊接屏蔽下。

0x08 Wi-Fi模块

CID采用面朝下安装的Parrot Wi-Fi和蓝牙模块。我们无法确认具体型号,因为无法将其从主板上卸载,之前拆卸的CID显示了Parrot FC6050W,VCM和Parrot模块通过USB进行通信。

0x09 SD存储卡

CID主板的顶部是两个插槽式SD卡。CID顶部的插槽允许访问连接到VCM并具有映射数据的16GB microSD卡:

image.png

必须分离CID才能访问4GB的普通SD卡。它连接到网关,并在固件更新期间用于暂存文件,在逆向过程中,它们都扩展到了CID之外,以便在汽车行驶时可以轻松访问它们。

image.png

两张卡都没有看到完整性保护或加密。

0x10 其他组件

CID上与安全性不太相关的其他组件:

· ADI公司的ADSP-21489 DSP芯片,可能用于音频播放和录制。LQFP封装连接到外部串行闪存芯片

· Altera Cyclone IV EP4CE40F23A7N FPGA已连接到两个ISSI RAM芯片和一个用于bitteam的串行闪存芯片(本质上是FPGA固件)。这可能允许VCM与用于显示显示器和触摸面板进行接口。

0x11 外置USB

CID的背面有两个USB端口,既接受媒体设备,又在UI中显示它们。我尝试了USB外设,即以太网适配器和键盘:

· 与基于Linux的IVI一样,USB以太网适配器可以枚举,但没有起作用。我看不到任何TCP / IP通信。

· 枚举的键盘不起作用

0x12 内部USB

CID主板上只有一个USB端口连接到VCM。之前的研究(https://blog.lookout.com/hacking-a-tesla)发现,此漏洞可用于访问Tegra恢复模式(RCM),它不能被禁用。仍然受到安全保护,这意味着必须在接受命令之前对其进行签名。

引信Gelée漏洞是在RCM bootloader的恶意USB数据包可以绕过安全检测,我与发现此漏洞的研究人员确认,该漏洞很可能存在于Tesla中VCM使用的早期Tegra SoC上。由于存在使VCM无法操作的风险,我决定不尝试利用此漏洞。

0x13 以太网端口

在CID上,使用专用的汽车连接器公开了两个以太网端口。以前是完全打开的,一个是专用的诊断连接,现在,这是通过专有的handler来保护的,并且没有已知的漏洞。特斯拉服务器通过VPN连接向CID发送“seed”。

CID和IC通过另一个以太网连接器链接。以太网交换机可以拦截该流量并嗅探流量,该区域中的所有漏洞现已被修复。在特斯拉汽车具有自动驾驶仪的地方,诊断以太网连接器被重新调整了用途,并具有诊断端口。

0x14 常规诊断连接器

还有两个以上的常规诊断连接器。OBD-II端口可访问CAN总线1和6,有一个特殊的诊断端口,可访问CAN总线2、3、4和6,以及K-Line总线专门用于HVAC。没有观察到隔离或访问控制的迹象,如果有人可以访问此端口,他们可以嗅探并发送任意CAN流量。

0x15 JTAG串口

各种嵌入式设备都可以恢复固件,并受到调试协议JTAG的攻击。JTAG功能存在于CID和IC的多个设备中。在物理JTAG连接方面,CID和IC主板上都安装了多个10pin接头连接器,它们可能是JTAG连接,因为它们都在微控制器或存储设备附近:

有几种方法可以确定引脚排列:

1. 爆破测试JTAG(“ JTAGulating”),可能产生误报并损坏电路板。

2. 如果可以访问引脚并且提供数据手册,则对其中一个器件上已知JTAG引脚的连续性测试是安全的。

唯一具有可访问引脚和JTAG的封装是Analog Device ADSP-21489,其余均为BGA。可以确定JTAG连接器的引脚排列,因为可以使用数据表和引脚排列。我订购了特定类型的连接器,制作了线路,并使用了各种JTAG适配器和逻辑分析仪来确定是否已启用安全措施。

我尝试了JTAG命令,但CID和IC上的VCM没有响应,我认为由于SoC保险丝熔断,很可能会阻止访问。使用MPC56xx系列提供的“检查”功能,JTAG ID会引起网关处理器的响应。使用64位密码保护,我尝试使用默认值FEEDFACECAFEBEEF也失败了,可以使用其他方法获得固件。

JTAG ID引起了ADSP-21489的响应,但似乎正在使用64位密码保护。此专有保护方案需要特定的JTAG适配器,这将花费约1200英镑,并且可能仅确认无法访问,我认为不太可能造成任何直接的安全风险。

JTAG Secure禁止访问Altera Cyclone IV FPGA,没有已知的安全问题。我没有对Parrot Wi-Fi板进行检查,因为没有可用的数据表,并且对安全性的影响很小,很高兴看到所有JTAG访问均已关闭,因为许多其他系统都是允许访问的。

本文翻译自:https://www.pentestpartners.com/security-blog/reverse-engineering-tesla-hardware/如若转载,请注明原文地址:
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务