从硅到软件

如何大规模保护汽车OTA更新

汽车ota更新
作者:Chris Clark, Synopsys Automotive Group高级经理

想象一下,晚上开车行驶在风景优美的乡村小路上,看到前面有一只鹿的眼睛在闪烁。还没等你反应过来,车就减速了,避开了那只鹿,避开了旁边车道上的那辆车。这就是驾驶员辅助和人工智能自动驾驶的力量。再想象几天后同样的场景,汽车没有反应。不仅车辆受损,野生动物和乘客也会受伤。发生了什么事?

这就是汽车无线(OTA)更新发挥作用的地方。制造商现在不仅可以确定车辆的反应方式,还可以确定原因。是软件错误、糟糕的软件更新,还是仅仅是操作参数的调整导致了这个事件?制造商从未对汽车的运行有过如此深入的了解。他们从未有能力在不进行服务访问的情况下解决如此大规模的问题。OTA更新功能提供了巨大的好处和节约成本,但糟糕的实现或糟糕的软件开发实践可能导致代价高昂的错误。

OTA功能还提供了一种缓解许多人最关心的问题的方法。网络攻击。

无论汽车的问题是由于软件漏洞、更新不当还是网络攻击,对消费者来说都没有区别。OTA更新可以大规模进行,在网络攻击或测试不佳的更新等不利事件期间,可能会影响数十万辆汽车。与遗留召回流程相比,OTA是一种更快、更直接的解决问题的关键途径,遗留召回流程可能需要几个月的时间,而且无法保证完成,或者通过随机服务访问偶然完成。更不用说,OTA更新比召回更具成本效益。

在大多数情况下,汽车OTA更新对车主来说是无缝的。OTA的透明特性最大限度地减少了需要前往当地服务经销商的行程,并减少了车主损失的时间。除了安全和安保方面的修复,这些更新还可以增加在制造过程中无法实现的新功能增强,要么改善您的驾驶体验,要么在某些情况下延长车辆部件的寿命。OTA更新可以提高您骑行的安全性,并随着技术在数十亿行代码中不断发展,提高软件定义的自动驾驶车辆的互联性和收敛性,对其进行调整。

有了这些新功能和OTA本身,车辆的整体攻击面就会增加,出错的可能性也会增加。事实上,在11月,特斯拉召回4万辆汽车由于OTA更新中出现错误,导致在撞到路上的坑洞或颠簸后出现动力转向问题。本田召回了60多万辆汽车就在两年前,由于软件漏洞导致不正确的驾驶员速度读数和后视镜视频问题。奔驰召回了130多万辆汽车由于紧急位置跟踪器的代码出现故障,汽车制造商通过OTA更新启用了修复。

当出现问题时,OTA更新是一个很好的解决方案,但规模和速度使您的硬件和软件开发实践成为成功项目的关键。鉴于当今技术的复杂性和风险,这里有一些方法可以更好地保护系统并将错误最小化之前OTA更新部署。

解决系统基础设施和流程创新

OTA更新是复杂的——它们不是一个简单的解决方案,包装在一个整洁的盒子里,随时可以部署。正因为如此,将重点放在交付软件的底层系统基础设施以及适当的流程和检查上是很重要的,这些流程和检查可以确保在任何情况下都能正常工作。事实上,要有一个有效的OTA计划,需要进行大量的活动。这些活动一般分为三类:

  • 健壮的公钥基础设施(PKI)
  • 定义良好的软件验证和验证实践
  • 有效的车载软件部署、存储和激活

稳健的公开密码匙基础设施

虽然大规模的密钥管理已经存在了一段时间——想想零售领域的信用卡应用——但对于汽车应用来说,它仍然是一个相对较新的概念。例如,正确管理汽车PKI需要与广泛的技术和参与者合作,包括汽车制造商、原始设备制造商和帮助组成原始设备制造商解决方案的关键基础设施管理组织。

恶意分子可以欺骗甚至窃取身份验证密钥,以交付受污染的软件或在入侵期间阻止服务访问。一旦妥协发生,管理它就不是一件容易的事。你需要撤销的不是一百把钥匙,而是整个供应链中数万到数十万把钥匙,然后重新发放。这只是保护PKI是一项涉及各方充分参与的多学科、多组织工作的原因之一。

创建一个可用于测试和评估流程的模拟环境是成功的关键。因为攻击不是会不会发生,而是什么时候发生。PKI程序应该包含对攻击者可以利用的各种故障条件和极端情况的测试。这个程序也应该跟随ISO / SAE 21434实践以确保过程是开发计划的一部分,并随着软件特性和功能的发展而发展。

定义良好的软件验证和验证实践

在软件验证和确认过程中,有许多软件开发方面需要考虑。一个快速发展的领域是软件测试的硬件虚拟化。随着软件的快速变化和开发人员的参与,不可能有足够的硬件测试平台来在开发周期的早期有效地测试软件。虚拟化硬件提供了对硬件模拟的访问,这些模拟可以集成到CI/CD管道中,并提供给更广泛的开发受众。这也包括后期制作环境的开发。硬件访问要容易得多,但由于硬件数量、空间限制和缺乏专业知识,这很快就开始变得不切实际。

利用虚拟化技术,比如Synopsys对此仿真器™和其他模拟技术使开发人员能够在受保护的环境中快速交付单元级和系统级测试。这种形式的测试增加了软件测试周期的严格程度,减少了在传统测试环境中不可能出现的测试软件和已部署软件之间的潜在缺陷或意外交互。

有效的车载软件部署、存储和激活

即使有最强大和最广泛的测试水平,也会有问题。原因可能包括糟糕的部署后说明、意外的交互或售后市场适应。场景是无穷无尽的。重要的是要有适当的保障措施和可适应的做法,以解决广泛的问题和条件。

建立验证和确认更新的策略是关键。是的,许多组织都有这些策略,但是它们考虑到部分失败的部署了吗?他们会“跳出常规”思考吗?重要的结论是,虽然简单的步骤(如代码签名检查)很重要,但对错误平台部署的简单检查要困难得多。

一旦更新被推送到车辆,更新的存储和激活必须完美地进行。用于更新的软件存储需要架构上的决策,比如车载存储和闪存的数量。多少才够?数量是否适合车辆的寿命?它是否适合于特定类型的内存将经历的读取和写入的数量?这些类型的决策将对软件更新的数量、节奏和大小产生影响。内存不足,无法为回滚存储当前固件的副本。太多,制造成本可能会过高。

汽车OTA只是一个更大的安全和安保故事的一部分

在线旅行社并不是万能的。这是一个更广泛的安全和保障难题的一部分。当您向车辆交付更新时,您必须经过强大的软件验证和验证过程,以确保车辆内部的交付和使用尽可能无缺陷,无论是从漏洞还是质量和安全的角度来看。无论你推出什么,都可能影响成千上万的人,所以验证和验证必须严格。

现代软件开发是一个多学科、多组织的努力,必须保证我们的汽车和道路的安全。选择合适的伴侣是关键概要可以提供帮助。

Synopsys提供业界领先的IP、设计工具、验证和验证解决方案,以及能够满足您需求的软件完整性工具。我们利用我们在多个行业的丰富经验来加速汽车行业的创新,因此OTA软件更新在第一时间和每次都有效。

万一你错过了

Baidu