汽车安全不可避免的数字化转型

创提信息
2022/04/07

分享到

编写好的软件很难,确保软件安全就更难了。它需要专业知识(即对常见编程缺陷和规范的认识),检查输入尺寸,管理内存分配和解除分配,处理字符串格式化,避免野指针等等,不胜枚举。通常情况下,编写安全的代码与开发人员编写“流畅”的代码、专注于正确处理业务逻辑,而不是保护所编写的每一行代码的自然愿望是相反的。

 
那么出现以下情况并不奇怪:虽然大多数软件漏洞都是由一小部分编码错误引起的,但尽管改进开发实践多年,行业平均每1000行交付的代码中仍有40-70个错误。这些错误中的一小部分将导致可利用的安全问题,但对于部署了数千万行代码的产品,这可能很快会导致系统安全受到破坏。
 
漏洞通常被定义为“一个可以被坏人利用的弱点”;这个词作为一种现代管理方式的标志,最近在领导力和组织咨询文献中很常见;在文献中,领导者和员工都被鼓励利用漏洞的透明性,以更好地提高工作积极性和绩效,但这些幸运理论的基本假设是信任的前提。
 
将漏洞透明性的这些概念引入软件行业本可能会令人振奋,但当您的产品部署到设计上具有敌意的环境中时,例如在车辆或汽车产品安全性的情况下,会发生什么?作为一个制造商,当您无法控制产品的使用地点和使用方式时,会发生什么?他们将与哪些系统交互,谁使用它们或谁可能(有意地或恶意地)访问它们?在这种环境中,管理代码内漏洞的任务就变得至关重要。


汽车行业的安全挑战
 
还有一些其他因素加剧了汽车行业管理漏洞的挑战:
 
    1. 遗留问题——汽车软件开发已经有大约50年的历史了。通常一辆汽车的寿命至少是12年。车辆平台每5-7年更换一次,但大部分传统的软硬件都是从老的平台迭代到新的平台的。汽车开发人员使用的主要软件语言和开发工具是C和C++,这两种语言在设计上是不安全的,尽管它们为开发人员提供了巨大的灵活性,但没有提供任何防止系统引入安全漏洞的保护措施。虽然通过引入编码标准(如MISRA-C)已经做了一些工作以确保编码安全,但这些指南很难实施,而且在一些复杂的操作系统(OS)中,遵守这些指南也不切实际。
 
    2. 供应链——汽车行业的分布式开发实践是独特的,因为它有多层供应商,每一层都向更高的系统集成层提供软件。一辆典型的汽车可能有50-150个不同的计算单元,由10-20个不同的供应商提供,其中每个组件可能依次包含多个CPU、数十个外围硬件组件和大量的软件包。由于有这么多的第三方代码,考虑到OEM实际上只负责实际编码的很小一部分,软件不透明成为了常态,这使得制造商很难评估其安全性。
 
    3. 开源软件(OSS)——OEM和供应商越来越多地引入主要基于Linux和Android的开源软件,并集成了来自开源社区的大量库。这种开发实践是由面对不断增长的客户需求时更快、更敏捷的需求所驱动的。这种对OSS的依赖导致了安全性进一步恶化。


从最佳实践到监管
 
这些都是棘手的问题,也是过去十年来汽车网络安全界关注的焦点,也做出了各种努力来引导行业朝着正确的方向发展。我也亲自参与了其中一些倡议,值得肯定的是,这对当时日益成熟的安全实践做出了贡献:
 
    1. The 2016 SAE J3061 "Cybersecurity Guidebook for Cyber-Physical Vehicle Systems"
 
    2. The 2016 NHTSA "Cybersecurity Best Practices for Modern Vehicles"
 
    3. The "Best Practices Guides" by the Auto-ISAC consortium of OEMs and suppliers
 
最值得注意的是,近年来汽车行业围绕国际标准ISO/SAE21434的发布展开了合作——这是SAE J3061工作的延伸。与此同时,隶属WP.29《车辆法规协调》工作组的联合国欧洲经济委员会(UNECE)已经开始制定相关规定,在汽车网络安全方面,OEM和制造商必须遵守这些规定才能发放整车型式认证。没有整车形式认证,汽车就不能售卖。ISO标准和WP.29工作都包括一项指令,要求在从开发到售后的整个汽车生命周期中,对漏洞进行持续管理和监控。
 
我们在这里见证的是一个由最佳实践驱动的行业向受监管的行业的转变,就像汽车质量和安全在过去的演变一样。


安全数字化转型
 
拥有一个清晰、规范的流程是改善车辆安全状况迈出的一大步,但仅靠流程是不够的。随着软件复杂性的不断增加,大规模管理漏洞也面临着多重挑战:
 
1. 可见性——汽车行业历来是在功能组件这个概念的基础上组织起来的;因此,OEM都优化了他们的资产管理系统,以管理供应商的零部件,但这些对零部件的内部软件组成却知之甚少。这些系统在硬件组件(以及机械部件)层面上管理复杂的供应链分配非常出色,但在软件层面上却没什么用处。通常情况下,产品安全团队面临的最大挑战是洞察系统上的漏洞和威胁,而这些系统的内部却缺乏可见性。
 
2. 相关性——另一个挑战是“穿过噪音”。NVD是软件漏洞的主要来源,平均每年报告超过16000个CVE,其中90%以上的CVE在汽车行业没有应用,但没有先进的软件能够将这些数据接合软件的上下文应用到实际的车辆领域,安全团队花费很多时间检查数千个漏洞,只是为了确认它们“无关”。
 
3. 可追溯性——在一个组件或开发程序中发现的漏洞很可能与其他组件或开发程序相关,但是对于在垂直项目中工作的团队来说,无法协调多个程序之间的流程,安全从业者也发现很难“通读”他们开发的整个系统。
 
4. 可实施性——安全团队的一项关键任务是管理定位漏洞并不断改善系统状况的开发工作;对于不同的个体和完全不同的组织结构来说,如果不能以有组织和可扩展的方式进行管理,这将成为一大挑战。
 
所有这些挑战都强调了汽车行业安全数字化转型的必要性。人们认识到,只有人+机器的方法才能提供所需的规模来确保安全,而且自动化和工作流技术的引入对支持新标准和法规所要求的漏洞管理实践的转型至关重要。


总结
 
让我以个人的观点来总结:我从2013年开始在Cisco工作,后来又在TowerSec和Harman工作,一直从事汽车网络安全领域,销售产品和服务,以提高联网汽车的安全性。随着汽车行业从最佳实践驱动型向监管化转变,以及对安全数字化转型和自动漏洞管理系统的明确需要,我可以清楚地看到新一波产品和技术的出现将带我们经历这种转变。因此,我最近加入Cybellum,因为它在支持行业数字化转型中具有独特地位。它使制造商能够开发和维护安全的产品,无论是在开发阶段还是后期生产阶段。通过使用一套创新技术,它使OEM和供应商能够在网络安全数字孪生副本中展示组件和软件,从而在包级别提供软件的细粒度可见性。通过监控所有漏洞提要并提供相关的包含上下文信息的数据来支持贯穿企业内部的工作流管理,Cybellum确保产品安全团队能够应对即将到来的挑战并遵守标准和法规。


关于作者
 
ASAF ATZMON
 
Cybellum的汽车战略主管。一位经验丰富的经理,在综合管理、创新、产品战略、产品管理和营销以及业务发展方面拥有超过 20 年的经验。我是用户驱动的产品设计和设计思维方法的坚定信徒和倡导者,以建立一个成功的产品战略,具有很高的市场产品契合机会。我的专业知识涵盖多个领域,包括网络安全、汽车、物联网、网络、数字电视、IP 电视、内容推荐、视频网络、消费者网络和移动。