安全启动
Tegra支持安全启动,但是围绕它的文档和代码示例看起来很零散 。在开发人员论坛中,关于如何实现它有些困惑 。这在高端处理器中很常见 。
我们无法最终验证使用安全启动的程度,但是我们确实发现了几件事 。ROM引导加载程序通过内部存储的密钥验证BCT的签名 。这称为SBK 。AES-CMAC是BCT的一部分,并经过了验证 。这是对称加密-如果发现了密钥,则可以生成有效的BCT 。
我们无法确定SBK在每个设备/车辆上是唯一的还是较大的组所共有 。我们将需要使用多个车辆来确定这一点 。
另外,Tegra可以在内部仅存储一个公钥,因此可以使用公钥加密 。即使发现了公钥,也仍然无法生成正确签名的BCT图像 。
这是对称密钥的更强替代方案 。据我们估计,在2015年之前(特斯拉CID部署后),软件支持还没有到位 。
第一级引导程序执行第二级引导程序的AES-CMAC 。我们无法确定在此使用了哪个密钥,但是Tegra文档指出也可以使用SBK 。
第二阶段引导加载程序仅执行内核的CRC 。如果信任链断开,攻击者可能会在此阶段将恶意内核加载到设备上 。
用户空间软件
CID一旦启动,便进入用户空间 。
一系列Qt二进制文件呈现了CID的用户界面 。我们仅对它们进行了非常有限的逆向工程 。一个8字符的PIN保护CID上的服务菜单,该菜单似乎每天都在变化,并由CID实现 。
Shell脚本在车辆中实现了大量功能 。逆向工程变得容易,因为它们是人类可读的文本文件 。
固件更新机制
我们观察到了多种固件更新机制 。
从车辆到特斯拉系统的出站VPN连接是所有机制的核心 。我们没有观察到任何其他形式的传输加密 。来自CID的所有请求都是使用未加密的HTTP发出的 。
我们看到了以下更新机制:
1、Shell脚本–看起来像旧系统,但与后来的更新程序二进制机制有很多共同点 。
2、更新二进制文件–大型的多调用二进制文件轮询以获取更新,下载更新并将其应用于系统 。
3、内核/引导加载程序–内核和引导加载程序由特定的二进制文件更新 。
4、地图– VPN连接用于下载地图数据常规ECU –通过CAN网关将固件更新从CID分发到ECU,使用了一个复杂的过程 。
5、Wi-Fi模块和蜂窝调制解调器的USB固件 。
我们在下面考虑这些 。
VPN连接
通过CID建立与Tesla服务器的OpenVPN连接 。每辆车的钥匙和证书用于执行此操作 。车辆的VIN是证书的主题 。
文章插图
示例VPN密钥
我们能够从本地访问CID的文件系统中提取这些密钥,然后通过在另一台机器上使用它们来连接到Tesla网络 。
密钥已于2018年5月31日到期 。如果此后没有通过固件更新进行更新,则似乎没有回退机制 。使用安全配置的VPN,将无法拦截通信或对其进行篡改 。可以通过Wi-Fi或蜂窝网络(无论哪个可用)建立VPN 。
通信的某些方面(例如,大量下载)显示出对Wi-Fi的亲和力 。大概是为了减少特斯拉的成本 。
连接到VPN时,会自动建立许多路由:
- 32.0.0/16
- 33.0.0/16
- 224.0.0/24
- 232.75.0/24
- 232.79.0/24
1、vn.teslamotors.com –车辆数据和状态,安全令牌更新,以访问诊断和IC SSH
2、vn.teslamotors.com –固件下载和更新
3、
Firmware-bundles.vn.teslamotors.com –已失效的固件更新服务器
4、vn.teslamotors.com –地图数据和更新
根据特斯拉安全性的早期报道,VPN密钥存储在连接到网关的大型SD卡上 。通过卸下SD卡,可以轻松恢复这些卡 。被测车辆并非如此 。在这里,它们存储在CID中VCM上的NAND闪存中 。
文章插图
固件服务器
文章插图
来自服务器的示例JSON响应
Shell脚本固件更新
我们在Tesla文件系统上找到了旧版固件更新机制,该机制采用了一系列Shell脚本来执行更新 。即使它不再运行(没有返回有效的下载URL),它也提供了许多有用的信息 。
握手固件下载
通过Tesla VPN,shell脚本/ local / bin / do-firmware-handshake获取并安装固件更新 。
该脚本可以通过多种来源启动:
1、定期使用新规事件管理器(尽管未在操作中看到)
推荐阅读
- 解除USB限制原来如此简单
- 淘宝极速推广99元效果怎么样 极速推广效果怎么样
- 淘宝怎么找免费货源 开淘宝店去哪里找货源
- 怎么开淘宝店及货源 怎么选择网店货源
- 超级店长怎么用 超级店长需要付费吗
- 开淘宝店的总结分析 淘宝数据分析怎么做
- 开网店的详细步骤网店 如何开网店具体步骤
- 女生120斤怎么减肥
- 人流后半月查子宫内膜0.2cm怎么回事?
- 茶包是怎么出现的,怎么选择柑普的设施呢