软件供应链即一个企业或组织所依赖的过程软件,包括研发、运营、销售等在输入和输出环节中各项活动所依赖的软件。针对软件供应链的攻击从2015年起越演越烈,根据CrowdStrike的研究报告,不同行业的2/3的企业或组织都经受过软件供应链攻击。新思科技发布的《2023年开源安全和风险分析》报告显示,2022年,在汽车所在领域(航空航天/汽车/运输和物流),100%的代码库包含开源代码,开源代码占所有代码的73%;65%左右的代码库包含许可证冲突(远高于全体样本的53%);63%的代码库包含高风险漏洞(远高于全体样本的48%)。

在软件定义汽车(SDV)的趋势下,汽车成为智能系统和复杂软件的载体,由软件问题导致的质量缺陷越来越多,软件治理水平在一定程度上影响着售后成本,更重要的是关系着车辆和人身安全。例如2018年、2020年,德国大众和戴姆勒在美国和德国因尾气监测作弊软件被要求赔偿和召回的成本逾百亿美元,2021年,戴姆勒因为汽车故障后无法正确定位的软件问题在中国召回近260万辆汽车。据德国汽车管理中心(CAM)的调查,以美国市场为样本,2021年上半年美国共有270万辆乘用车和轻型商用车因软件故障被召回,比2020年全年总数更多,同上年相比,软件错误导致召回的比例从7%增加到15%。在蓬勃发展的汽车电动化、智能化、网联化以及全面数字化升级的背景下,汽车运输管理部门、公路交通安全部门以及车企都不得不逐步加大对汽车内的软件组成、软件集成安全以及联网安全等问题的重视。

早在2020年6月,联合国世界车辆法规协调论坛就曾发布过国际汽车网络安全领域首个具有约束力的准则——《关于车辆的网络安全和网络安全管理体系的统一规定》(UN R155),一同发布的还有《关于就软件更新与软件更新管理系统批准车辆的统一规定》(UN R156)、《自动车道保持系统ALKS》(UN R157),要求销售到欧盟和其他OECD国家的汽车必须通过相关认证。

2022年9月,美国在总统行政命令(EO 14028)《提高国家网络安全》[1]的基础上发布了备忘录(M-22-18)《通过安全的软件开发实践增强软件供应链的安全性》[2],欧盟则发布了提案《关于具有数字元素的产品的横向网络安全要求的法案》(《网络弹性法案》)[3],对软件安全提出了相关要求,涉及符合性声明、软件材料清单(SBOM)、漏洞处理流程、第三方评估等多个方面。

一、美国:备忘录(M-22-18)《通过安全的软件开发实践增强软件供应链的安全性》

2022年9月14日,美国总统办公室签发了备忘录(M-22-18)《通过安全的软件开发实践增强软件供应链的安全性》。基于2014年《联邦信息安全现代化法案(FISMA)》和2021年总统行政命令(EO 14028)《提高国家网络安全》的要求和授权,该备忘录要求每个联邦机构在机构的信息系统上使用第三方软件或以其他方式使用第三方软件影响机构的信息时,遵守NIST指南和任何后续更新。其中,“NIST指南”是指美国国家标准和技术研究所(NIST)2022年发布的(SP 800-218)《安全的软件开发框架(SSDF)》[4](1.1版)和《软件供应链安全指南》[5]两个文档,用以确定增强软件供应链安全性的实践。

如NIST指南中所述,联邦机构只能使用那些能够证明遵守政府规定的安全的软件开发实践的软件生产商提供的软件。各联邦机构必须获得所有本机构使用的该备忘录要求的第三方软件的证明,即NIST指南所述的需要软件生产商提供的“符合性声明”(conformance statement)。这些要求适用于联邦机构对该备忘录生效日期后开发的软件的使用,以及对该备忘录生效日期后通过重大版本变更修改的现有软件的使用。该备忘录中的术语“软件”包括固件、操作系统、应用程序和应用服务(例如基于云的软件),以及包含软件的产品。

根据该备忘录,符合性声明的最低要求包括:

(1) 软件生产商的名称;

(2) 对声明所指的一种或多种产品的描述(最好集中在公司或产品线层面,包括销售给联邦机构的所有未分类产品);

(3) 证明软件生产商遵循标准自我证明表格中列举的安全开发实践和任务的声明;

(4) 自我证明是所需的最低级别;但是,根据备忘录(M-21-30)《通过增强的安全措施保护关键软件》[6]中的界定,由于所采购的服务或产品的关键性,机构可以做出基于风险的决定,即需要进行第三方评估(第三方评估组织需要经FedRAMP或联邦机构认证批准)。

此外,对照EO 14028的要求,NIST指南中也对符合性声明给出了更为详细的实践参考,主要涉及组织准备(PO)、软件保护(PS)、安全软件生产(PW)、漏洞应对(RV)四个方面。

其中,在M-21-30里NIST对“关键软件”的界定如下:

关键软件,是指任何具有或直接依赖于一个或多个具有以下至少一种属性组件的软件:

·旨在以较高的权限或管理权限运行;

·对网络或计算资源有直接的或特许的访问权;

·旨在控制对数据或操作技术的访问;

·履行对信任至关重要的功能;或者

·在正常信任边界之外使用特许访问进行操作。

该定义适用于为信息系统购买或在信息系统中部署并用于操作目的的所有形式的软件(例如,独立软件、特定设备或硬件组件的集成软件、基于云的软件)。

根据备忘录的要求,对于“关键软件”,除了需要提供第三方评估证明外,还需要提供软件材料清单(SBOM)。受EO 14028的指示,美国商务部与国家电信和信息管理局(NTIA)在2021年发布报告《软件材料清单(SBOM)的最低要素》[7],对SBOM的要求进行了详细的说明。在该报告中,SBOM的最低要素被概括为三个方面:

最低要素

数据

字段

记录应该跟踪的每个组件的基准信息:供应商、组件名称、组件版本、

其他的唯一标识符、依赖关系、SBOM数据作者、时间戳。

自动化支持

支持自动化,包括通过自动生成和机器可读性以支持在跨软件生态系统中扩展。用于生成和使用SBOMs的数据格式包括SPDX、CycloneDX和SWID标签。

实践和流程

定义SBOM请求、生成和使用的操作,包括:频率(版本更新)、深度(所列组件的层次范围)、明确的未知(依赖关系是否已穷举)、分发和交付、访问控制、容错。

二、欧盟:提案《关于具有数字元素的产品的横向网络安全要求的法案》(《网络弹性法案》)

目前生效的相关欧盟立法,包括从不同角度处理与网络安全相关的某些方面问题的规则,例如改善数字供应链安全的措施,但缺少横向的联盟监管框架为所有具有数字元素的产品确立全面的网络安全要求,也没有解决非嵌入式软件的网络安全问题。2022年9月15日,欧盟发布了提案《关于具有数字元素的产品的横向网络安全要求的法案》,即《网络弹性法案》(Cyber Resilience Act),从而为具有数字元素的产品投放欧盟市场的基本网络安全要求制定一个统一的法律框架,并消除商品自由流动的障碍。

该法案主要规定了:

(1) 将具有数字元素的产品投放市场的规则,以确保此类产品的网络安全;

(2) 设计、开发和生产具有数字元素的产品的基本要求,以及经营商[8]在网络安全方面对这些产品的义务;

(3) 制造商为确保具有数字元素的产品在整个生命周期中的网络安全而制定的漏洞处理流程的基本要求,以及经营商在这些流程中的义务;

(4) 市场监督规则以及上述规则和要求的执行。

该法案适用于具有数字元素的产品,其预期或可合理预见的用途包括与设备或网络的直接或间接的逻辑或物理的数据连接。其中,“具有数字元素的产品”是指任何软件或硬件产品及其远程数据处理[9]解决方案,包括单独投放市场的软件或硬件组件。此外,《关于网络和信息系统安全的指令》(EU)2016/1148(NIS指令)修订产生的NIS2指令,将确保对于作为服务提供的软件(软件即服务)的设计、开发和漏洞处理,也实施类似于《网络弹性法案》的基本网络安全要求的技术规范和措施。

具体而言,在市场上提供具有数字元素的产品需要满足该法案附件一中第一节的与具有数字元素的产品特性相关的安全要求,以及第二节的制造商应满足的漏洞处理要求。这要求制造商对具有数字元素的产品和实施的流程进行符合性评定。如果通过符合性评定程序证明了符合附件一中规定的基本要求,则制造商应起草欧盟符合性声明,并贴上CE标志[10]。此外,在将具有数字元素的产品投放市场之前,制造商还应起草法案中规定的至少包含附件五中规定内容的技术文档,以及应确保附有附件二中规定的给用户的信息和说明,这两者中均包括了软件材料清单[11]和漏洞处理流程信息。

根据附件四中的规定,欧盟符合性声明应包括:

(1) 名称和类型以及任何能够用数字元素对产品进行唯一识别的附加信息;

(2) 制造商或其授权代表的名称和地址;

(3) 欧盟符合性声明是由提供者全权负责发布的声明;

(4) 声明的对象(允许追溯的产品标识。在适当的情况下,可以包括照片);

(5) 上述声明的对象符合相关欧盟统一立法的声明;

(6) 所使用的任何相关统一标准或任何其他通用规范或与符合性声明有关的网络安全认证的参考资料;

(7) 在适用情况下,认证机构的名称和编号,所执行的符合性评定程序的说明和所签发证书的标识;

(8) 附加信息:代表签名等。

更进一步而言,考虑到产品中潜在网络安全漏洞的影响,具有该法案附件三中所列类别核心功能的产品应被视为属于该类别的关键产品,并且会被分为一级和二级(二级代表的风险更大),这类关键产品则应接受特定的符合性评定程序,若是属于二级关键产品的制造商,还须让第三方参与符合性评定。此外,被视为高度关键产品的,则要求制造商根据欧洲网络安全认证计划获得欧洲网络安全证书。

其中需要注意的是,根据附件三,具有数字元素的二级关键产品包括了:

(1) 服务器、台式机和移动设备的操作系统;

(2) 支持操作系统和类似环境的虚拟化执行的虚拟机和容器运行时系统;

(3) 公钥基础设施和数字证书颁发;

(4) 工业用防火墙、入侵检测和/或预防系统;

(5) 通用微处理器;

(6) 集成在可编程逻辑控制器和安全元件中的微处理器;

(7) 用于连接互联网的路由器、调制解调器以及用于工业用途的交换机;

(8) 安全元件;

(9) 硬件安全模块(HSMs)

(10) 安全密码处理器;

(11) 智能卡、智能卡阅读器和令牌;

(12) 供NIS2指令附件一中所述类型的基本实体使用的工业自动化和控制系统(IACS),如可编程逻辑控制器(PLC)、分布式控制系统(DCS)、用于机床的计算机化数字制器(CNC)以及监控和数据采集系统(SCADA);

(13) 供NIS2指令附件一中所述类型的基本实体使用的工业物联网设备;

(14) 机器人传感和驱动器组件以及机器人控制器;

(15) 智能仪表。

对于不遵守法案的企业,将被处以最高1500万欧元或者企业上一财年全球年营业额2.5%的行政罚款。为了让制造商、认证机构和成员国有时间适应新的要求,该法案将在生效后24个月开始适用,但制造商的报告义务除外,该义务将在生效后12个月开始适用。

三、OpenSDV视角及行动方向

软件供应链安全,尤其是开源软件供应链的安全,是需要企业高度重视的问题,当前软件的开发和应用,很多情况下都会涉及到对开源软件或组件的引用、应用、二次开发,在多数的场景下,开源代码占比甚至超过了70%:

在这种情况下,即使没有海外法规的倒逼,我们也应该关注到使用或应用开源可能存在以下风险:

· 可能会有安全漏洞;

· 可能在整合过程中出现Bug;

· 可能存在潜在的合规性问题,例如许可证和出口管制风险;

针对上述几个现状问题,开源软件的规范化使用以及合理的开源协议的使用,要尽可能地减少风险以及为应对海内外法案做好前置准备:

· 合理地建立开源组件的白名单机制,从可信的托管服务商或基金会取得高质量、有限的开源组件;

· 增加对于公司开源加密算法数据库管理的要求,以及加密算法审查备案机制;

· 安全团队记录使用的组件来源,做好SBOM动态采编,并跟踪组件的漏洞报告,明确和优化组件选型和进入流程;

· 法务团队了解该组件的法律合规需求,并提出风险建议,目前企业在开源软件的合规性问题上,主要关注许可证风险和出口管制风险。前者主要是开源风险、知识产权风险、对外展示风险。后者在于开源加密算法的使用;

· 通过组建专门的或虚拟的OSPO团队,从各部门协助监控整个流程的执行;

· 在对外输出服务或发布软件时,工程师可以根据组件来源快速梳理使用的开源组件清单,并明确当前版本的漏洞闭合以及协议使用情况,了解最优及最糟的安全状态,可以高效地应对安全/合规的不同场景输出;

OpenSDV作为专业面向汽车领域的国际化开源组织,发展开源技术、促进开源软件的安全合规使用是OpenSDV的重要工作之一。为了更好地推动汽车行业软件供应链安全体系建设,OpenSDV近期与业内相关软件供应链安全机构开展了深入的沟通和交流,各方对汽车软件供应链安全体系的建设想法高度一致,计划接下来共同推动以下工作:

1.标准建设:

建设汽车行业与OpenChain ISO/IEC 5230兼容互认的开源合规企业认证标准,对企业的开源软件使用、管理、输出进行定义,同海外组织开展对话,并进行协议保护措施;

2.检测认证体系建设:

建设汽车行业开源软件供应链检测认证体系,推动与海外评测要求兼容,与海外检测机构互认,避免企业在出海时重复检测和投入。同时,通过建设标准检测认证体系,也将为中国加强对进口汽车的软件安全检测提供可参考的标准和方法;

3.公共服务平台建设:

建设汽车行业的SBOM标准和登记查询平台,相关组件及软件库白名单体系以及漏洞库同步机制,为车企提供可自查及要素引用的公共服务平台;

4.应用落地:

关注海外相关政策法规发展,例如欧美政策法规中提到的关键软件和主要信息要素;推动汽车行业软件供应链安全相关规范建设,例如在安全等级评定标准中,信息要素登记系统明确要求记录使用的开源软件的名称、版本、来源,便于出现漏洞时进行预警以及自审自查自纠,并与漏洞库、软件版本跟踪数据库相连。

OpenSDV将与相关机构合力,共同推动汽车行业软件供应链安全相关的体系标准建设,促进行业健康发展,为中国车企出海提供开源合规支持。

特别鸣谢:

极氪汽车 吴慧康

OpenSSF 杨轩

中国信息通信研究院云大所 郭雪

中国汽车技术研究中心有限公司 宁玉桥

注释:

[1]参见:https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/

[2]参见:https://www.whitehouse.gov/wp-content/uploads/2022/09/M-22-18.pdf

[3]参见:https://digital-strategy.ec.europa.eu/en/library/cyber-resilience-act

[4]参见:https://csrc.nist.gov/Projects/ssdf

[5]参见https://www.nist.gov/system/files/documents/2022/02/04/software-supply-chain-security-guidance-under-EO-14028-section-4e.pdf

[6]参见:https://www.whitehouse.gov/wp-content/uploads/2021/08/M-21-30.pdf

[7]参见:https://www.ntia.doc.gov/report/2021/minimum-elements-software-bill-materials-sbom

[8]根据《网络弹性法案》第3条,“经营商”是指制造商、授权代表、进口商、经销商或受本法规约束的任何其他自然人或法人。

[9]根据《网络弹性法案》第3条,“远程数据处理”是指任何远程数据处理,该远程数据处理针对由制造商设计和开发或由制造商负责的软件,并且如果没有该远程数据处理,具有数字元素的产品将无法执行其功能之一。

[10]根据《网络弹性法案》第3条,“CE标志”是指一种标志,制造商通过这种标志表明具有数字元素的产品和由制造商实施的工艺符合附件一中规定的基本要求以及统一产品市场条件的其他适用的欧盟立法中规定的附加要求。

[11]根据《网络弹性法案》第3条,“软件材料清单”是指一份正式记录,其中包含具有数字元素的产品中的软件元素所含组件的详细信息和供应链关系。

声明:本文来自OpenSDV,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。