代码质量与安全 | 如何预防汽车软件漏洞?

在汽车开发中,汽车网络安全至关重要,特别是现在汽车软件变得日益互联。阅读本文,了解如何预防汽车网络安全漏洞。

为什么汽车网络安全很重要?

如今,互联汽车的解决方案远不只有简单的从A点到B点。通过实时数据共享、应用与汽车的连接、先进的驾驶辅助系统(ADAS)、关键的安全功能(如位置跟踪、远程停车)以及车载信息娱乐系统(IVIs),互联汽车旨在提升驾驶(和乘车)体验。

但是,为车辆添加智能功能会使它们面临网络攻击,导致客户数据泄露,最坏的情况是影响关键的安全功能。有时,直到产品发货后,您才意识到某些漏洞本可以轻松预防。例如,据彭博社报道,最近汽车盗窃案的增加是由于车钥匙系统中没有安装防盗计算机芯片。这就是为什么在开发之初就要考虑各种潜在的攻击途径,并制定计划。

幸运的是,随着对联网汽车的需求不断增长,以及政府出台了更多的法规,汽车生厂商也越来越注重汽车网络安全。根据Meticulous Research最近的一份报告,到2030年,汽车网络安全市场预计将达到139亿美元。

汽车嵌入式软件的网络安全至关重要,它是确保汽车软件经得起考验且安全可靠的唯一途径。它能提高车辆的安全性、保护乘客的安全,同时也是在保护制造商和开发人员。它降低了声誉受损的风险。

但是,如何确保汽车网络安全呢?

这就是问题所在。

了解应该将精力和时间集中到哪里可能就是一大难题。不过好在大多数安全问题可以追溯到软件漏洞,而这些漏洞是可以轻松预防的。

主要汽车网络安全漏洞

以下是两个重要的汽车网络安全漏洞及其预防方法。

内存缓冲区问题

内存缓冲区问题是最重要的汽车网络安全漏洞。这意味着软件可以读取或写入内存缓冲区边界之外的位置。缓冲区溢出就是其中一个例子。

这包括: 

  • 未检查副本上输入的大小
  • 允许写入任意位置的Bug
  • 越界读取
  • 指针超出预期范围
  • 不受信任的指针取消引用
  • 未初始化的指针
  • 已过期的指针引用
  • 超出缓冲区末端的内存访问

防止内存缓冲区问题对于汽车网络安全来说非常重要。

代码注入

代码注入是另一种汽车网络安全漏洞。它们会影响解释性环境(interpreted environment)。代码注入最常影响的是信息娱乐系统和其他复杂的车载系统。 

防止代码注入攻击对于确保汽车网络安全非常重要。您可以联系龙智(Perforce中国授权合作伙伴),获取防止代码注入攻击的建议和白皮书。

TOP汽车网络安全标准和指南

为了保持竞争力并确保汽车嵌入式系统的网络安全,原始设备制造商(OEMs)需要满足不断发展的汽车标准和指南。

ISO SAE 21434

ISO SAE 21434是道路车辆电子系统网络安全风险的标准,涵盖了车辆生命周期的所有阶段,适用于车辆中的所有电子系统、软件以及任何外部连接。ISO SAE 21434还为开发人员提供了在整个供应链中实施安全保障的指南。

WP.29

另外,最新的WP.29 UNECE法规涵盖了网络安全管理系统和软件更新管理系统,为汽车制造商制定了适用于整个供应链的明确流程要求。这些指南包括建议在软件开发的网络安全最佳实践中使用编码标准。

静态分析是验证这些编码标准的推荐方法。开发人员可以使用静态代码分析器(如Helix QAC和Klocwork)来帮助执行并证明符合编码准则(如MISRA® 和 CERT),帮助组织和供应商满足建议的软件验证准则。

如何预防汽车网络安全漏洞

以下是预防汽车网络安全漏洞的方法:

  1. 使用设计审查、手动分析和自动静态分析;
  2. 确保您了解所有黑匣子组件。使它们保持最新状态;
  3. 不要以为一切都在自己的系统内。请特别注意可能从网站中提取的项目。 

静态代码分析可以提供帮助。

使用Perforce静态分析工具 提高汽车网络安全

提高汽车网络安全并预防漏洞的一种最有效的方法是使用静态分析工具,例如Helix QACKlocwork

静态分析工具能够帮助执行关键的汽车编码指南(如MISRA和AUTOSAR C++14),同时协助遵守功能安全标准(如ISO 26262)和安全标准(如ISO 21434)。

而且,静态分析工具还能通过以下方式提高软件质量:

  • 在开发早期检测汽车网络安全漏洞、合规性问题和违规行为,加速代码审查和手动测试;

  • 强制执行行业编码标准和准则;

  • 加速代码审查;

  • 报告不同时间、不同产品版本的合规性。

如需了解Perforce静态分析工具(Helix QACKlocwork)如何帮助您提高软件质量,加速满足合规,请联系Perforce中国授权合作伙伴——龙智

官网:www.shdsd.com

电话:400-666-7732

邮箱:marketing@shdsd.com