深入了解 Tesla Model 3 MCU 及其内存eMMC

发布于 2023-4-7 15:09
浏览
0收藏

介绍研究结果之前,我应该首先概述 MCU 板上的一些部分:


  • 以太网交换机:Marvell 88EA6321。不确定与它有什么关系。至少MCU 板的​​CID​​​ 以太网端口(理由见下文)。​​J15​
  • ​CID​​:带有一些 RAM 芯片(4GB?)的 Intel Atom E3950。
  • eMMC:MTFC64GJVDN-4M,64GB,采用 169 BGA 封装,连接到英特尔 SoC。
  • ​gateway​​:SPC5748GSMMJ6,具有 PowerPC e200 内核的较小芯片。它将 CAN 接口桥接到以太网世界。
  • FTDI FT4232HQ:在英特尔 SoC 和端口​​J21​​“FTDI USB DEBUG”之间建立串行接口

进入串口控制台到CID

将 FT4232HQ 连接到计算机将产生四个串行设备。看起来只有第一台设备与英特尔 SoC 连接,其他设备似乎断开连接。为什么特斯拉没有选择更便宜的 FT232R 是我无法理解的(也许其他三个连接的?!)。无论如何,这是我看到的第一件事:

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

哇!


还有:令人惊讶的是,我得到了谷歌的点击:https://pastebin.com/DbPAunKV不幸的是我不知道 CID 凭据。那太容易了,对吧?😉

连接以太网端口

我将以太网端口连接到 PC;上次(见#1)我在我的真车上这样做,我不知道特斯拉汽车使用的明显常见的网络方案:

CID:     192.168.90.100
IC:      192.168.90.101   # only Model S/X
Gatway:  192.168.90.102
AP:      192.168.90.103

由于我正在处理 Model 3 开发板,因此我将以太网适配器的 IP 设置为​​192.168.90.101​​. 我有点惊讶,有事情发生:

$ sudo nmap -A 192.168.90.100
Starting Nmap 7.70 ( https://nmap.org ) at 2019-08-10 21:11 CEST
Nmap scan report for 192.168.90.100
Host is up (0.00024s latency).
Not shown: 998 filtered ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.5 (protocol 2.0)
| ssh-hostkey:
|   2048 e7:b5:43:77:d2:81:11:1f:db:fd:61:66:f4:0e:cf:06 (RSA)
|   256 33:f5:c6:85:a0:bc:bb:18:02:66:52:53:f7:20:aa:dc (ECDSA)
|_  256 ca:2e:2f:9f:6f:e6:a8:ee:bd:e7:66:97:b6:1a:58:9c (ED25519)
8080/tcp open  http    aiohttp 2.1.0 (Python 3.6)
|_http-server-header: Python/3.6 aiohttp/2.1.0
|_http-title: Site doesn't have a title (text/html).
MAC Address: A4:34:D9:01:02:03 (Intel Corporate)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.10 - 4.11, Linux 3.2 - 4.9
Network Distance: 1 hop

TRACEROUTE
HOP RTT     ADDRESS
1   0.24 ms 192.168.90.100

好的,有一个开放的 SSH 打开,甚至不提示输入密码。目前这是死胡同。但是等等,8080 上发生了什么?!

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

那很有趣。不幸的是,每个项目都失败了,并且没有做任何有趣的事情。在开发人员网络选项卡上,我看到了这个 JSON 响应:

{"error": "You do not have command permission to perform this task"}

尽管如此,这仍然可能是一个攻击媒介,尽管即使在服务器端 Python 程序可用时也可能很难。我想知道为什么特斯拉让那个端口保持打开状态。也许 MCU 在车祸发生后进行了某种重置?


无论如何,如果有人感兴趣,这里是客户端源代码:https://gist.github.com/lewurm/63fc5bd4e2591a677b298e2bc277d28a

绕回我的真车

带着收集到的知识,我回去了。还记得这篇文章#1吗?我有一个方便地暴露在乘客侧的以太网端口。同样,我将我的以太网适配器配置为​​192.168.90.101/24​​,然后我们开始:

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

那里也有相同的测试菜单!(软件版本​​2019.24.4 73fb1ab​​)


哇。所以现在我真的很想知道这是怎么回事。


显然我试着点击了一些东西;正如您可以看到一些无害的东西,例如“校准相机”。什么都没发生:查看开发者网络选项卡给了我这个::

{error: "Token 2.0 not found."}

那很奇怪。为什么此处的响应与我们在回收的 MCU 上看到的不同?我内心激动的部分希望以下内容是真实的:有一个漏洞已在较新的软件版本中得到修复。(嗯,但他们为什么还要让那个端口保持打开状态?!)。


这是一个端口扫描(可惜只是一张图片😴):

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

有一点不同:汽车少了一个主机钥匙。唔?


不知道,暂时继续。

戳网关(未成功)

我记得在https://github.com/Lunars/tesla/wiki/Gateway-Shell阅读过这条指令

$ printf "\x12\x01" |socat - udp:gateway:3500

# Once the port is open, Use netcat (or equivalent tool) to 
# create a connection to the newly opened telnet port. If 
# successful, you will be prompted with ?.

$ nc gateway 23
?

# Use the password 1q3e5t7u for
# use the same static password. if
# prompted with gw>.

不幸的是,这在两个 MCU 上都不起作用。然而,有一些奇怪的行为:如果我​​socat​​​在 MCU 重置后立即执行此命令,它会等待一段时间超时。MCU up后,​​socat​​命令立即被拒绝;也许此时已经在以太网交换机上设置了一些规则?那有意义吗?


不知道,但值得一试。

我从这里去哪里?

最初我不想转储 eMMC,但是在串行控制台上出现这个登录提示只是一个​​/etc/shadow​​破解,现在真的很麻烦。


尝试 eMMC 转储的一种方法是找出引脚(也请参见数据表):

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

有八个数据引脚(​​D0​​​就足够了。速度较慢,但谁在乎一次性转储?)。​​CMD​​​,​​CLK​​​和​​Vcc​​. 弄清楚这些引脚并不是很简单,正如我已经说过的,我是一个硬件菜鸟。


与此同时,我正在关注德国“TFF”论坛中关于更换 Model S/X MCU 上的 eMMC 的话题。众所周知,特斯拉的软件并不能很好地对待它们,几年后它们可能会磨损,导致块损坏。目前的问题是,服务中心不会只更换 eMMC,而是更换整个 MCU,而且价格昂贵。底线:人们成功地尝试自行更换 eMMC。


所以它不会那么难,对吧?谷歌搜索后,我发现离我家不远的一家商店正在愉快地处理 BGA 焊接。我给他们打了个电话,他们准备好了;很酷的人!

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区


深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

😬

我现在的计划:


  • 从 AliExpress 买一个阅读器,大约 80-100 美元,然后把那只小狗扔掉。
  • 为我的回收板获取替换 eMMC。有人告诉我重新封装 BGA 封装非常耗时,因此使用新的 eMMC 芯片要简单得多。


也就是说,eMMC 是加密的,这仍然是一个细微的变化,所以最好不要兴奋(尽管谣言说它不是)。同时,我会耐心等待 eMMC 读卡器从中国运来。

eMMC 存储的引脚映射

移除 eMMC 存储后,我能够追踪引脚布局。也许它对那里的人有用。

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区

深入了解 Tesla Model 3 MCU 及其内存eMMC-汽车开发者社区


文章转载自公众号:车端

分类
标签
收藏
回复
举报
回复
相关推荐