黑客可通过系统漏洞访问马自达汽车控制装置

阅读量25979

发布时间 : 2024-11-11 14:48:41

x
译文声明

本文是翻译文章,文章原作者 Waqas,文章来源:hackread

原文地址:https://hackread.com/hackers-mazda-vehicle-controls-system-vulnerabilities/

译文仅供参考,具体内容表达以及含义原文为准。

黑客可以利用马自达信息娱乐系统中的关键漏洞,包括一个可以通过 USB 执行代码的漏洞,从而危及您的汽车安全,使您处于危险之中。

ZDI(零日倡议组织)的网络安全研究人员在马自达的信息娱乐系统中发现了几个关键漏洞,特别是安装在多个马自达汽车型号(包括 2014 至 2021 年的马自达 3)上的连接主单元 (CMU)。

这些漏洞是由于在处理攻击者提供的输入时 “消毒不充分 ”而造成的,可让实际存在的攻击者通过将特制的 USB 设备连接到目标系统来利用这些漏洞。成功利用漏洞可導致以 root 權限執行任意程式碼。

目标

CMU装置由汽车技术公司伟世通公司制造,最初由江森自控公司(JCI)开发,在最新可用软件版本(74.00.324A)上运行。不过,至少 70.x 以下的早期软件版本也可能受到这些漏洞的影响。CMU 是活跃的 “修改场景 ”的一部分,用户通过发布软件调整来改变设备的运行,通常会利用这些漏洞。

漏洞

在 CMU 系统中发现了多个漏洞。每个漏洞的详情如下:

  • SQL 注入 (CVE-2024-8355/ZDI-24-1208): 攻击者可通过欺骗苹果设备的 iAP 序列号来注入恶意 SQL 代码。这允许攻击者操纵数据库、披露信息、创建任意文件并可能执行代码。
  • 操作系统命令注入 (CVE-2024-8359/ZDI-24-1191): libjcireflashua.so 共用物件中的 REFLASH_DDU_FindFile 函式未能篩選使用者輸入,導致攻擊者可注入任意作業系統指令,並由機頭作業系統 shell 執行。
  • 操作系统命令注入 (CVE-2024-8360/ZDI-24-1192): libjcireflashua. so 共用物件中的 REFLASH_DDU_ExtractFile 函式也無法篩選使用者輸入,導致攻擊者可注入任意作業系統指令,並由頭端作業系統 shell 執行。
  • 硬件信任根缺失 (CVE-2024-8357/ZDI-24-1189): 应用 SoC 缺少对引导代码的任何验证,允许攻击者操纵根文件系统、配置数据和潜在的引导代码本身。
  • 无符号代码 (CVE-2024-8356/ZDI-24-1188): VIP MCU 可以使用无符号代码更新,允许攻击者从运行 Linux 的被入侵应用 SoC 转到 VIP MCU,并直接访问车辆的 CAN 总线。

漏洞利用

攻击者可在 FAT32 格式的 USB 大容量存储设备上创建一个文件,文件名包含要执行的操作系统命令,从而利用这些漏洞。文件名必须以.up 结尾,这样才能被软件更新处理代码识别。

初始入侵完成后,攻击者可通过操纵根文件系统或安装特制的 VIP 微控制器软件来获得持久性,从而不受限制地访问车辆网络。

相关风险

根据 ZDI 的博文,攻击链可在实验室环境中几分钟内完成,没有理由相信对安装在汽车上的设备需要更多时间。

这意味着,车辆可以在代客泊车、共享汽车或通过 USB 恶意软件时被入侵。然后,CMU 可以被入侵并 “增强”,以尝试在定向攻击中入侵任何连接设备,从而导致 DoS、瘫痪、勒索软件、安全隐患等。最糟糕的是,这些安全漏洞仍未得到修补。

“这项研究工作及其成果凸显了一个事实,即即使是已在市场上销售多年并经过长期安全修复的非常成熟的汽车产品,也可能存在影响巨大的漏洞。迄今为止,供应商仍未对这些漏洞进行修补。”

ZDI 分析师 Dmitry Janushkevich

Contrast Security 公司创始人兼首席技术官杰夫-威廉姆斯(Jeff Williams)对这一最新进展发表了看法,他解释说,数据注入威胁非常普遍,马自达的开发人员应该谨慎相信 iPhone 上的序列号,而不对其进行验证,尤其是当这些序列号进入敏感查询时。

“从理论上讲,马自达开发人员应该知道从 iPhone 中提取的序列号不可信,也不应该直接进入 SAL 查询。但现实世界要复杂得多。 也许编写代码来存储这些序列号的开发人员根本无法知道这些序列号来自用户或未经验证!”

他承认开发人员所面临的复杂性,并建议马自达使用运行时安全测试来监控不受信任的数据,确保开发人员安全地处理这些数据。

然而,这些漏洞的发现表明,考虑整个系统的安全和在所有运行模式下对完整的生产系统进行安全测试是非常重要的。使用内存安全语言或其他安全工具并不能保证部署的系统是安全的。必须确保系统在所有运行阶段和所有组件的完整性,以保证语言及其编译器的下游安全属性。

本文翻译自hackread 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66