9月16日,由北京市人民政府、工业和信息化部、公安部、交通运输部、中国科学技术协会联合主办的2022世界智能网联汽车大会,在北京中国国际展览中心(顺义馆)开幕。本届大会以“智能加速度 网联新生态”为主题,包含1场开幕式暨主论坛、7场主题峰会、6个特色专场、2场闭门会及1场实地调研活动。
在9月17日主题峰会四:产业链价值链提升中,新思科技高级解决方案架构师Dennis Kengo Oka发表了题为“网联汽车软件供应链安全”的演讲。
以下内容为现场演讲实录:
大家好,欢迎观看网联汽车软件供应链安全演示。我是Dennis Kengo Oka,新思科技首席汽车安全策略师,非常高兴能借此机会与大家分享热点话题。
首先,我们来整体了解网联汽车生态系统,左图代表网联汽车,包括ECU电子控制单元,多个网关,外设例如TCU,远程通信控制单元,和IVI车载信息娱乐系统。右图是我们常说的互联平台,包括后端服务,云服务,移动设备,移动应用等。这些都通过蜂窝网络、WIFI或蓝牙进行通信。正如您在此处看到的,联网汽车生态系统面临着多种威胁,首先针对外设接口的威胁,攻击远程通信控制单元,车载信息娱乐系统,可以通过蜂窝网络WIFI,或蓝牙攻击通信系统。也可以对车辆进行间接攻击,因为攻击者可攻击后端系统,云服务,也可以攻击或威胁移动设备或移动应用。
现在随着软件的应用,网联汽车生态系统成为可能,在过去一辆汽车包含一亿行代码,不久的未来将达到10亿行代码。软件数量呈现爆炸式增长,软件开发方式也日新月异。现在采用DveSecOps逐步成为趋势,我们改变了软件开发方式,正如您所见,我们正在开发过程中有几个阶段正在发生变化,这些阶段都是重叠的,并且在开发生命周期中持续执行。
因此例如在构建和测试阶段,可以用运行软件组成分析工具,静态代码分析工具,模糊测试工具,以识别源代码中漏洞和缺陷,在持续集成和持续测试阶段,还可以进行持续交付,然后发布已修复的软件,这会带来许多裨益,在保持开发速度的同时,能够在开发流程的早期发现漏洞以降低成本,使用各种的工具实现大批量测试自动化,正如之前介绍的包括静态代码分析工具,软件组成分析工具,模糊测试工具,以及DAST动态应用安全测试工具等。
我们可以获得持续反馈,一旦发现问题我们可以获得持续反馈,重新进行测试,然后发布新版本。现在汽车企业使用的软件越来越多,我们需要考虑由此带来的新挑战,首先软件数量多,意味着汽车要管理更多的软件,我们必须确保软件是更新的,安全的,开发速度必须要快,要更快地推出新的功能,因此我们需要遵循一种开发方法,能够更快地开发软件,还必须考虑新技术,为自动驾驶或复杂解决方案开发高级功能,这些可以通过使用各种互联解决方案实现,比如说WIFI,蓝牙,V2X等,我们还需要考量不同领域的软件风险,比如质量、人身安全,信息安全方面。
最后,一家公司不可能独立开发所有的网联汽车或者互联网平台上的所有软件,我们必须考虑软件供应链,有许多不同的企业参与软件开发,我们必须了解如何进行软件集成,谁做测试,做了哪些测试,谁负责软件的哪些部分,还必须了解是否使用了开源软件,并掌握使用的许可证类型存在哪些风险,例如是否符合OpenChain ISO 5230标准。
最后安全测试,如何知道在供应链中谁进行什么类型的测试,这也是我们需要管理的事情,让我们更深入地研究这些主题,关注与软件透明度相关的活动。比如美国国家电信与信息管理局,去年发布了文件,规定了软件材料清单最少包括哪些要素,该文件规定了很多细节,比如SBOM软件物料清单需要包含哪些信息,比如供应商、组件名字、版本号等。
此外,还有OpenChain项目和汽车工作组,OpenChain社区他们发布了ISO 5230标准,描述了如何管理SBOM。ISO/SAE 21434标准也已经发布,虽然没有专门规定SBOM的内容,但其中有与软件组成的供应链管理相关的要求。
最后,关于SBOM,软件物料清单有多种格式,包括SPDX、SWID以及CycloneDX,接下来我们来看一下两个不同的场景,了解其中的挑战和解决方案。首先,软件供应链开源软件风险,在幻灯片上能看到,供应链二级供应商为一级供应商提供软件,一级供应商将软件集成到应用或系统,然后将其提供给OEM原始设备制造商,他们可能会添加一些OEM特定软件。每个步骤中都有几个风险,比如开源许可证风险、漏洞风险,现在您需要考虑,如何处理供应链中的风险,特别是只提供二进制文件的情况下,这样的话软件接收方通常有两种选择。
第一,完全相信供应商所说的二进制文件中实际包含的内容,第二,可以运行软件组成分析工具。例如新思科技Black Duck软件组成分析,那么,我们建议是信任,但要核查,如果有权访问源代码,则应进行扫描识别开源软件组件,如果只能访问二进制文件,还是应该进行扫描。如果您可以访问两种类型的文件,也最好都进行扫描。
第二个场景是利用网络接口协议,即我们所讲的第三方软件开发,比如供应链,供应链二级供应商为一级供应商提供软件,一级供应商将软件集成到应用系统中然后将其提供给OEM。在该软件开发计划中,我们需要了解哪一方负责那些网络安全活动或工作产品。
这里有一个表格,TARA威胁分析和风险评估,这可能由二级供应商或一级供应商执行,我们需要决定哪一方负责执行该活动。是供应商吗?还是客户,执行哪种测试类型、模糊测试或者渗透测试等,所以这一页是建议业界应该采取的行动,包括调查在开发过程中涉及的与网联汽车相关的安全风险,如果您有不同的连接点,攻击面是什么,您正在开发什么样的功能,哪些业务在互联平台上运行,然后必须考虑如何采用我们讨论过的,使用DevSecOps来解决这些安全挑战。关于供应链,我们讲过如何管理SBOM和供应链,如何有第三方开发,要如何通过网络安全接口协议进行管理。
以上感谢观看,谢谢。
(注:本文根据现场速记整理,未经演讲嘉宾审阅)