← 最新论文
💻 computer science

Security Vulnerabilities in Software Supply Chain for Autonomous Vehicles

本章通过对 Autoware、Apollo 和 openpilot 等流行平台使用静态分析工具,分析了自动驾驶汽车开源软件供应链中普遍存在的安全漏洞,旨在强调关键缺陷并倡导在开发生命周期早期集成安全最佳实践,以确保系统可靠性和公众信任。

原作者: Md Wasiul Haque, Md Erfan, Sagar Dasgupta, Md Rayhanur Rahman, Mizanur Rahman

发布于 2026-08-25
📖 1 分钟阅读☕ 轻松阅读

原作者: Md Wasiul Haque, Md Erfan, Sagar Dasgupta, Md Rayhanur Rahman, Mizanur Rahman

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

自动驾驶汽车不仅仅是配备了先进发动机的汽车;它们是装在轮子上的计算机,乘客和行人的安全完全取决于代码行。这些机器依赖于复杂的软件供应链,这是一个由开发者缝合在一起,使汽车能够感知、思考并移动的庞大数字成分网络。这一链条既包括汽车制造商编写的原始代码,也高度依赖开源软件——即由全球程序员社区创建的免费可用构建模块。虽然这种共享方式加速了创新并允许对新想法进行快速测试,但也引入了一种独特的危险:如果这个共享软件中的某一个部件包含隐藏的缺陷,该弱点可能会扩散到整个系统中,可能导致车辆误判周围环境或无法停车。随着这些车辆从研究实验室走向公共道路,确保每一个数字组件的完整性已成为生死攸关的大事。

阿拉巴马大学的研究人员着手通过直接检查三个最著名的开源自动驾驶平台——Autoware、Apollo 和 openpilot 的代码,来考察这一数字基础的健康状况。这些项目代表了自动驾驶技术的尖端水平,其中 Autoware 和 Apollo 旨在实现汽车自主驾驶的高水平自动化,而 openpilot 则侧重于帮助人类保持控制权的驾驶辅助系统。研究团队将这些软件仓库视为正在检查复杂发动机的技师,但他们不是在检查生锈的螺栓,而是使用专门的扫描工具来搜寻数字裂痕。他们专注于两个主要领域:项目团队自身编写的代码,以及这些项目赖以运行所借用的第三方库(即从其他来源借用的预写代码片段)。

调查结果显示,尽管这些平台功能强大,但它们并不能免受普遍存在于各类软件中的常见错误的影响。研究人员发现,代码中包含了被称为“常见缺陷枚举”的重复性弱点模式。在通常用于处理驾驶任务重任的 C 和 C++ 语言编写的代码中,扫描识别出了与内存管理相关的问题,例如缓冲区溢出,即数据溢出了其预定的存储空间并可能损坏系统。在常用于高层规划和工具的 Python 代码中,扫描发现了关于软件如何处理异常情况和输入的问题。在所有三个项目中发现的最频繁的问题之一是异常情况处理不当,这意味着软件有时在出现问题时无法做出正确反应。另一个重大发现是存在命令注入漏洞,恶意攻击者可能借此诱骗系统执行未经授权的命令。

该研究还深入研究了供应链,检查了这些车辆所依赖的数千个外部软件包。在外部依赖项方面,结果因项目而异,情况截然不同。旨在进行大规模生产的 Apollo 平台被发现拥有大量的依赖项,扫描识别出其中有 91 个外部组件存在已知的安全漏洞。其中包括用于文件处理和网页渲染的软件包中的关键缺陷,其中一些可能允许攻击者控制系统或访问敏感数据。相比之下,范围较窄的 openpilot 项目在其外部依赖项方面表现出的问题要少得多,仅检测到一个有漏洞的组件。Autoware 项目在这一领域表现出的问题最少,在研究进行时,扫描未在其第三方库中发现已知漏洞。

尽管发现的缺陷数量存在差异,但这项研究的核心信息是明确的:驱动这些车辆的软件目前面临着显著的风险。研究人员指出,汽车领域近一半的网络攻击已经利用了软件系统的弱点,而他们的分析证实,这些漏洞确实存在于那些旨在保护人们安全的代码之中。研究并未发现这些系统已损坏到无法修复的地步,而是指出它们构建在一个需要持续警惕的基础之上。作者建议,安全性不能是事后才考虑的问题;它必须从一开始就织入开发过程中。通过使用自动化工具持续检查这些缺陷,并通过仔细管理引入系统的软件组件,开发者可以降低灾难性故障的风险。这项工作提醒我们,在一个日益自动化的世界里,机器的安全取决于其代码的安全。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →