返回首页

启动 Tesla Model 3 车载计算机用于网络安全

从废旧零件组装功能性 Tesla Model 3 车载计算机的详细案例,用于漏洞研究,包括硬件挑战和网络访问。

如何在桌上启动 Tesla Model 3 车载计算机进行安全研究
Advertisement 728x90

特斯拉Model 3车载电脑:从报废零件到安全研究实验室

一位网络安全爱好者兼研究员成功地利用报废车辆的零件,重现了一台功能完备的特斯拉Model 3车载电脑。该项目的目标是建立一个测试环境,用于发现漏洞并分析固件,以参与特斯拉的漏洞赏金计划。本案例研究突显了在非原生环境中操作复杂汽车电子设备所需的深厚技术复杂性和非传统解决方案,同时也强调了文档在逆向工程工作中的关键作用。

组装测试平台:从零件到通电

该项目始于为参与漏洞赏金计划而获取特斯拉Model 3硬件的需求。车载电脑的核心组件是媒体控制单元(MCU)和自动驾驶(AP)单元,它们通常位于手套箱后面。这些单元大约有一个平板电脑大小,厚度相当于一本500页的书,封装在一个水冷金属外壳中。为了获取这些组件,研究员转向了eBay,在那里找到了许多专门拆解受损车辆的公司发布的商品。MCU的价格在200到300美元之间。

除了主单元,启动还需要以下物品:

Google AdInline article slot
  • 一个能够提供12V直流电源的电源。选择了一个可调节的10A电源,事实证明这是正确的决定,因为系统在峰值时可能消耗高达8A的电流。
  • 一个来自受损Model 3的触摸屏模块(显示器)。显示器出乎意料地昂贵;一个以175美元购得。
  • 一根连接MCU和显示器的专用线缆。

最后一项被证明是最具挑战性的。电脑和显示器都带有被剪断的线缆,因此需要寻找原始连接器。感谢特斯拉在其服务网站上公开的“电气原理图”,确定显示器使用一根带有特殊Rosenberger 99K10D-1D5A5-D连接器的6针线缆。试图在市场上找到这种线缆的尝试均告失败。尝试使用宝马车中常见的类似汽车LVDS线缆也因连接器不兼容而失败。

特斯拉的网络基础设施和软件接口

获取MCU并接通电源后,观察到红色LED灯闪烁,表明系统正在启动。没有显示器,与系统的交互受限,但此前的研究表明,某些组件上存在带有Web服务器的内部网络。将以太网线连接到MCU上的一个端口,与笔记本电脑建立了网络连接。

这个内部网络没有DHCP,因此必须手动设置IP地址。推荐的IP地址范围是192.168.90.X/24,其中X需要大于105以避免与其他主机冲突。研究特斯拉车辆的旧/etc/hosts文件有助于识别标准IP分配:

Google AdInline article slot
192.168.90.100 cid ice # mcu
192.168.90.100 ic # only in Model X/S | IC = instrument cluster
192.168.90.102 gw # gateway
192.168.90.103 ap ape # ap = autopilot
192.168.90.104 lb # no clue
192.168.90.105 ap-b ape-b # also autopilot
192.168.90.30 tuner # Also no clue
192.168.90.60 modem # this has the ftp server

在MCU(IP 192.168.90.100)上,发现了两个主要服务:端口22上的SSH服务器和端口8080上的类REST API。

  • SSH服务器: 尝试连接时显示消息“SSH allowed: vehicle parked.”(SSH已允许:车辆已停泊)。访问需要特斯拉生成的特殊签名SSH密钥。值得注意的是,作为漏洞赏金计划的一部分,特斯拉会向发现有效漏洞并获得root权限的研究人员提供持久的SSH证书。这大大简化了后续的漏洞搜寻工作。
  • ODIN API: 端口8080上的类REST API,被称为ODIN(车载诊断接口网络),它返回“任务”历史记录,旨在供特斯拉的“Toolbox”诊断工具使用。

MCU的内部结构包括两块板子上下堆叠,证实了其模块化架构。

克服硬件挑战:从LVDS到线束

最初尝试使用宝马LVDS线缆连接显示器和MCU失败了,原因是物理连接器不兼容。绝望之下直接拼接剪断的线缆,导致了短路,并烧毁了板上一个电源微控制器芯片。这使得不得不订购一个新的MCU。然而,在一位专家朋友的帮助下,烧毁的组件被确认为“MAX16932CATIS/V+T”降压控制器。该芯片被订购并在维修店成功更换,使得受损的MCU得以修复,从而拥有了两个功能单元。

Google AdInline article slot

意识到无法找到独立的Rosenberger线缆后,研究员得出结论,实际的特斯拉车辆并没有为显示器使用单独的线缆。相反,大型的集成线束将来自相邻区域的众多线缆整合在一起。利用特斯拉的电气原理图,找到了所需线束的零件号(1067960-XX-E)。尽管这种线束体积庞大且成本约为80美元,但事实证明它是唯一可行的解决方案。

安装完整的线束后,系统正常运行。触摸屏亮起,一台运行着操作系统的功能完备的特斯拉Model 3车载电脑现在已在测试台上运行。这标志着为未来研究创建全面测试环境的一个重要里程碑。

研究前景与后续步骤

在测试台上成功运行特斯拉Model 3车载电脑,为深入研究其功能和安全性开启了广阔的机会。拥有一个完全运行的系统后,研究员计划专注于以下领域:

  • 用户界面(UI)探索: 分析系统交互,识别隐藏功能和潜在入口点。
  • 网络接口交互: 更详细地调查已发现的SSH和ODIN API,以及搜索其他开放端口和服务。
  • CAN总线研究: 分析内部汽车CAN网络上传输的数据,以了解各种车辆组件之间的通信。
  • 固件提取: 尝试获取操作系统固件,进行静态分析并在更低层面发现漏洞。

这些步骤不仅能更深入地了解特斯拉的系统架构和运行方式,还可能发现关键漏洞,这也是参与漏洞赏金计划的主要目标。

关键要点

  • 硬件平台访问: 对于特斯拉车辆的有效网络安全研究,物理访问车载电脑至关重要,这通过从受损车辆获取零件来实现。
  • 开放文档的价值: 特斯拉公布详细的电气原理图,极大地简化了逆向工程过程和在非原生环境中的组件组装。
  • 专用设备的挑战: 汽车电子设备使用独特的连接器和线束,这些可能难以采购或需要非传统的解决方案才能集成。
  • 内部网络架构: 特斯拉车载电脑拥有自己的独立网络,具有预定义的IP地址和SSH、ODIN API等专用服务。
  • 对研究人员的激励: 特斯拉的漏洞赏金计划,包括为发现的漏洞提供root访问权限,激励专家进行深入分析并增强汽车系统的安全性。

— Editorial Team

Advertisement 728x90

继续阅读