鉴源实验室

Jingyuan Laboratory

汽车全生命周期网络安全风险管理解析

发布时间:2022-07-18 作者:郁静华 点击次数:

作者 | 郁静华 上海控安可信软件创新研究院研究员
来源 | 鉴源实验室


01

ISO/SAE 21434概述


说到汽车网络安全工程,就一定会关联到一份标准,即《ISO/SAE 21434:2021 - 道路车辆网络安全工程》(Road Vehicles - Cybersecurity Engineering)。该标准由国际标准化组织(ISO)于2021年8月正式发布,其在SAE J3061指导的基础上,进一步完善了对汽车相关系统网络安全工程活动的描述,为实际工作的开展提供指导及规范。

ISO/SAE 21434 标准是一套用于道路车辆网络安全的方法论,其目的是为汽车行业供应链中的各方提供一套统一的专业领域描述体系,包括专业词汇及定义、目标、要求及指导等,以方便相关方的相互理解,并有效地交换信息。该标准规定了针对汽车电子电器系统相关部件(包括各类软硬件组件及接口等)的全生命周期网络安全风险管理的工程需求,为实际工作的开展提供指导。然而,该标准中的需求描述较为抽象,大多为较上层的需求描述及方向性指南,而非具体的技术层操作指导。因此,在实际工作中需要结合实际组织及目标对象的情况,制定落地方案以开展具体工作。

本文将重点对ISO/SAE 21434标准中,汽车全生命周期网络安全风险管理的各阶段中活动展开介绍,以帮助从业者更好地理解抽象的标准描述,为实践工作提供支持。下图为标准中提供的网络安全风险管理概览图。

a.png

图1 ISO/SAE 21434网络安全风险管理概览图[1]

ISO/SAE 21434将汽车系统的全生命周期分为概念阶段、开发阶段及开发后阶段(包括生成、运营、维护及退出)等几个阶段,在每个阶段中都需要执行相关的网络安全管理活动,以保障全生命周期的网络安全目标被满足。


02

概念阶段


产品的生命周期起始于概念阶段(Concept Phase),该阶段的主要目标是:1)在网络安全语境中定义目标对象,包括其所运行的环境及各种交互行为;2)确定网络安全目标(Cybersecurity Goal)及网络安全声明(Cybersecurity Claim);3)确定用于实现网络安全目标的网络安全概念(Cybersecurity Concept)。下图为概念阶段的章节分布及主要步骤示意图。

b.png

图2 概念阶段章节分布图

c.png

图3 概念阶段网络安全活动示意图

在对象定义(Item Definition)步骤中,需要定义目标对象的边界、功能、初步系统架构以及与网络安全相关的运行环境,以为后续步骤的开展明确分析范围。

网络安全目标(Cybersecurity Goal)是指与一个或多个威胁场景相关的、概念层面的网络安全需求,该需求是对于目标系统的最高层级需求。在该网络安全目标步骤中,分析人员需要执行威胁分析及风险评估活动(即TARA - Threat Analysis and Risk Assessment),并给出相应的网络安全声明(Cybersecurity Claims)。此处的网络安全声明主要用于解释TARA活动中决定使用某个安全对策的原因。例如,用于解释为什么在某种情况下,保留某个风险是可接受的。最后,在完成了上述活动后,需对所输出的结果进行完整性、正确性及一致性的验证。

网络安全概念(Cybersecurity Concept)指的是针对目标系统及运行环境相关的网络安全需求,以及与安全控制措施相关的信息。网络安全概念中的需求是比网络安全目标中的需求更具体、更靠近技术层面的描述。网络安全概念可基于网络安全目标,结合更多更全面的目标对象的信息来获得。网络安全概念步骤的主要活动包括:定义用于满足网络安全目标的技术层面与/或操作层面的网络安全控制措施、描述进一步的网络安全需求以及对分析输出的结果进行完整性、正确性及一致性的验证。


03

产品开发阶段


网络安全概念阶段之后,即进入了产品开发阶段(Product Development Phase),该阶段主要有产品开发及网络安全确认两大子阶段,该阶段的章节分布如下图所示。

d.jpg

图4 产品开发阶段章节分布示意图

产品开发子阶段的主要活动为产品的设计开发及集成验证阶段。下图为产品开发阶段的主要活动示意图。

e.png

图5 产品开发步骤示意图

产品设计(Design)步骤的主要目标是定义符合更上层安全需求的网络安全规范,并辨识系统中存在的缺陷。该步骤的主要活动包括定义规范、确定在开发后需要遵守的规则以保证网络安全、辨析系统缺陷以及验证所定义的安全规范符合完整性、正确性以及一致性要求。验证的方法包括审查、分析、仿真及原型制作等。

产品集成及验证(Integration and Verification)的主要目标是提供证据来证明对目标对象的应用及集成操作是符合所定义的网络安全规范的。相关人员可通过各类适合目标对象及环境的验证方法,包括接口测试、需求驱动测试、动态或静态分析,来验证系统的设计开发符合所规定的网络安全要求。另一方面,需要对目标对象执行各类测试,包括功能测试、漏洞扫描、模糊测试及渗透测试,以确保遗留在系统中未被识别出来的缺陷或漏洞处于最低水平。

完成上述阶段后,将进入网络安全确认(Cybersecurity Validation)阶段,该阶段的主要目标是确认网络安全目标被达成,且系统中没有不合理的风险存在。确认活动主要可通过审查的方法完成,包括审查工作输出以确保目标系统达成了网络安全目标、审查所有的已受到管理的风险等。

验证(Verification)与确认(Validation)是产品开发阶段中两个较为重要的活动,在实践工作中,这两个词的含义经常被混淆。ISO/SAE 21434中也对这两个词做了明确的定义。“确认”指通过提供客观的证据,以确认目标对象的网络安全目标是足够的且已经被实现了的。“验证”指通过提供客观的证据,以确认所规定各类要求已被满足。两个词都是指通过提供客观证据以确认某些事项,“确认”活动所需对标的是较为上层的需求,而“验证”活动所对标的是具体的系统设计要求。一位软件工程领域的先驱者Barry Boehm于1979年简明准确地解释了两者的区别。“验证”是关于问题”我们是否正确地制造了产品?“(Are we building the product right?)而“确认”是关于“我们是否制造了正确的产品?”(Are we building the right product?) [2]。下图中为ISO/SAE 21434中对产品开发阶段的各个活动关系的描述,其中清晰地表明了“验证”与设计阶段的网络安全规范对应,而“确认”则与概念阶段所输出的上层需求对应。

f.png

图6 基于V模型的产品开发阶段活动示意图

请注意,V字开发模型并不是在汽车网络安全开发中唯一可用的开发模型。ISO/SAE 21434中特别指出了可以使用除V字模型外其他的开发方法,例如敏捷开发方法。

04

后开发阶段


在完成了开发阶段后,产品即进入了后开发阶段(Post-Development Phases),其主要包括生产、运行及维护以及退出等三个子阶段。下图为ISO/SAE 21434中关于后开发阶段活动的章节分布示意图。

g.png

图7 后开发阶段章节分布示意图

生产阶段(Production)的主要目标为:确保针对后开发阶段的网络安全需求被满足,且在生产过程中,新的网络安全风险不被引入。相关人员需创建并执行用于保障该阶段网络安全的生产控制计划,以确保在上一阶段中所设计的网络安全要求都被满足。

运营及维护阶段(Operations and maintenance)主要有两大目标。一是确定并执行针对网络安全事件的补救措施,即网络安全事件响应。二是在产品的升级中及升级后,持续地保持其网络安全水平直至对产品的网络安全支持退出声明。该阶段的主要工作为创建用于网络安全事件响应的计划,并在整个过程中执行该计划。

全生命周期的最后一个阶段为退出阶段(End of Cybersecurity Support and Decommissioning),该阶段的主要目的是与相关方沟通与结束网络安全支持相关的事宜,并最终正式结束支持。当一个组织决定结束对某个产品的网络安全支持时,需制定一个工作程序用于与相关方沟通结束支持的事宜。另外,在退出阶段中仍需要满足与该阶段相关的网络安全需求,以保证产品的网络安全水平不在生命周期的最后阶段被破坏。


05

总  结


本文主要对ISO/SAE 21434:2021标准中,汽车全生命周期网络安全管理各个阶段的活动进行了介绍。在汽车电子电器系统产品的各个生命阶段(即概念阶段、产品开发阶段及后开发阶段),都需按标准要求执行相应的活动,以系统性地保证目标对象的全生命周期网络安全。然而,该标准主要提供了一系列较为上层的网络安全管理活动要求及指南,在实践工作中,需相关人员根据实际情况,制定更加详细的实施方案,以明确地指导实践工作。

参考文献:

[1] International Organization for Standardization. ISO/SAE 21434 (2021) - Road vehicles– Cybersecurity engineering[S]. 2021.

[2] Sommerville I. Software engineering 10th Edition[J]. ISBN-10, 2015.


阅读原文