为调时钟,他黑进了2014款雷诺车机

2014款雷诺 Latitude 车机必须插原厂地图 SD 卡才能调时间;车主通过脚本沙箱逃逸修改系统配置,并记录了这段嵌入式 Linux 折腾过程。

给车机调个时间,居然要先有一张带有效地图数据的原厂 SD 卡——这听起来像段子,但确实是 2014 款雷诺 Latitude 导航系统的设定。更麻烦的是,如果卡丢了,或者你是二手车主、从来没拿到过这张卡,那就只能看着错误时间干瞪眼。

Rasmus Moorats 显然不打算为了调时钟去买一张原厂 SD 卡。他干脆把导航系统当成突破口,尝试直接修改车机内部的参数。这件事的结局对普通读者未必有用,除非你也开着一辆差不多年份的雷诺;但整个“摸索嵌入式 Linux 车机”的过程相当值得一看。

从 SD 卡脚本到沙箱逃逸

导航系统本身支持从 SD 卡加载脚本,可设计上又对这些脚本能做什么设了严格限制。Rasmus 真正要解决的问题,是找到办法跳出这个受限沙箱。经过多次只成功一半的尝试,他最终把目光投向脚本自带的日志功能。

思路是利用日志功能覆盖操作系统的 core_pattern 字符串。这个字符串会在进程崩溃时被系统执行。随后,他再用脚本语言里的另一个功能故意让某个二进制程序崩溃,于是就能执行自己指定的命令,并进一步修改保存时间数据的配置文件。

车机 Hack 的通用启示

如果你也折腾过被锁死的嵌入式 Linux 设备,这类“把已有功能串成攻击链”的思路大概会让人会心一笑:先找到一个能写数据的小口子,再借系统自身的崩溃处理机制把权限或执行路径撬开。对于更现代的车载导航和娱乐系统,事情只会更难。

完整过程见 Rasmus 的博客原文。

收录于

讨论

0 条评论

同分类推荐

硬件