跳到正文
中文
FikirPilot 内容

将一辆电动滑板车迁移到 Rust(往好的方面说)

更新于: 2026年9月13日 · 2 分钟阅读

发布于: · 消息抵达: · 处理时长: 4 分钟

将一辆电动滑板车迁移到 Rust(往好的方面说)
电动滑板车和 USB 线

Egret GT E-scooter 屏幕中的一个漏洞允许设备意外进入固件更新模式,并在没有安全 PIN 的情况下开启运行模式。[我]通过逆向工程分析协议,并使用 Rust 重写了固件。通过分析移动应用的 Bluetooth 流量和代码,确定了屏幕上未显示的数据,以及随踏板车的唯一身份信息发送至主中心的信息。这是修改固件的原因之一。发现踏板车使用 CAN Bus 后,便使用示波器和自制的 CAN 解码器;经确认,数据线位于官方用于手机充电的 USB-C 端口中。更新至少分为屏幕、输入面板和控制器三种类型;要安装新固件,必须先解决这一流程。

为何重要

这项工作表明,电动踏板车的安全性并不局限于机械部件;屏幕、移动应用、无线通信与控制器之间的关系同样决定着使用权限。Bluetooth 流量中出现的额外数据,以及踏板车唯一身份信息被传送至主中心这一事实,引发了这样的问题:从用户角度看,系统收集了哪些信息,以及这一数据流在多大程度上可以受到控制。用于手机充电的 USB-C 端口中存在 CAN 线路,揭示了设备的官方使用目的与实际技术能力之间的差异。固件依赖多个组件,表明安全问题无法仅通过更换单个软件部件来解决。尚未得到解答的问题是,这些发现将如何体现在 Egret 的官方更新流程和安全理念中。

来源: Hackaday