汽车电子与软件

汽车电子与软件

2021-07-09

Subscription

浅谈 ISO/SAE 21434 汽车网络安全标准(二)风险评估方法(上)

  1. 硬核科普
1,699

作者:小虾棒

风险评估方法

之前的章节主要描述的是宏观层面的网络安全活动,从第 8 章开始,21434 将对项目生命周期各个阶段具体的网络安全要求和活动进行详细的叙述。其中风险评估(Risk Assessment)是最早进行,也是最为重要的一项网络安全活动之一,它是整个网络安全工作实施的前提。

风险分析通常又被称为 TARA(Threat Analysis and Risk Assessment),目的是在车辆产品开发早期识别潜在的威胁和安全漏洞,再综合考虑攻击可行性、影响等级等因素,确定系统可能存在的风险及其风险等级,从而得出相应的网络安全目标,为后续形成网络安全需求,输入给设计开发提供基础。风险评估是以往软件开发流程中所没有的一项活动,因此在对项目实施网络安全时,风险评估是一个明确的工作增量

目前国际上主流的 TARA 方法有 EVITA,HEAVENS,OCTAVE 等,在 21434 的前身 SAE J3061 中,对以上这些方法有所介绍。在 21434 中,总结了 TARA 分析的 7 个必要的步骤:

  • 资产定义
  • 威胁场景分析
  • 影响等级
  • 攻击路径分析
  • 攻击可行性等级
  • 风险确定
  • 风险处置决策

在实际实施过程中,OEM 可根据自身的需求和偏好选择相应的方法论进行评估。风险评估的工作通常由专门的团队来进行,团队中的人员需要具备一定的网络安全或渗透背景。对于风险评估中的各个活动,将在之后的文章中逐一解读。

资产定义

什么是资产?

通俗来讲,就是车辆在使用的过程中,需要被保护不受网络攻击的信息,包括了通讯数据、用户隐私数据、ECU 固件、算法等各种类型的信息。

资产定义的目的

资产定义的目的是识别出这些资产,确定每项资产的网络安全属性,从而分析出潜在的损害场景

如何识别?

21434 中给出了三种方法:

  • 基于影响评级枚举;
  • 基于威胁场景枚举;
  • 基于预定义分类枚举;

前两种其实可以理解为通过危害场景或攻击场景反推,更多依靠的是以往的经验。基于预定义分类的方法是预先定义一些资产分类,如通讯数据、软件、隐私数据等。在资产定义时就可以根据这些分类,对链路上的每个节点进行资产的枚举,从而尽可能全面地识别资产。

网络安全属性

每一个资产都具有相应的网络安全属性,在 HEAVENSE 方法中,采用了微软的 STRIDE 模型中网络安全属性威胁的映射,STRIDE 中每一类威胁都映射到相应的一组安全属性上。通过对常见威胁场景的枚举,就可以识别出相应要保护的资产和对应的网络安全属性。例如,娱乐系统中一个常见的威胁场景就是车机系统遭到攻击,客户的个人信息泄露。那么就可以倒推出相应的资产是用户隐私数据,对应的网络安全属性是机密性。一项资产可能对应多个网络安全属性。

损害场景识别

根据上一步识别的资产和属性,可以列出一个损害场景的清单,每一条损害场景对应了某个资产的某一项属性遭到破坏。下面是个简单的例子:

最后做一下总结,资产定义主要有三个步骤:资产识别、网络安全属性确定、损害场景识别。资产识别的过程比较依赖于分析人员的网络安全经验以及组织的安全事件积累,同时也需要分析人员对于分析的系统有一定的了解。比较理想的做法是由网络安全小组的人员主导,与系统工程师充分合作进行。此外,资产识别是在网络安全开发过程中持续进行的一项活动,在产品的全生命周期过程中,都可以不断地对资产及其属性进行修改和补充。

威胁场景定义

接下来谈一下风险评估方法中的第二步:威胁场景定义

先来看看这个环节的输入和输出是什么。

威胁场景定义过程:

在识别威胁场景之前,我们先把资产、网络安全属性、损害场景、威胁场景这几个概念的关系捋一捋:

从图中可以看出:

  • 每项资产可能有多个网络安全属性;
  • 每个属性可能对应一个或多个损害场景;
  • 每个损害场景又对应一个或多个威胁场景。

所谓威胁场景,就是针对上一步中识别的损害场景,分析完成该损害场景可能的操作,说明造成危害的时机,环境和攻击方法等要素。

威胁场景该如何定义?

21434 给出了一个比较笼统的描述:

  • 通过头脑风暴的方法;
  • 由误用实例引出;
  • 基于 STRIDE 分类的方法;

前两种方法主要依靠分析人员的经验以及以往的安全事件经验,STRIDE 方法可参考上一篇文章的描述。21434 还规定了威胁场景包含的三个要素:目标资产,攻击的网络安全属性完成损失场景的操作。下面是一个威胁场景的例子:

总结

威胁场景定义是 TARA 分析的重要环节,TARA 最终输出的风险等级和风险处置决策的对象就是威胁场景。通过头脑风暴的方法来对威胁场景进行枚举,对于分析者的攻防经验、网络安全开发知识的要求较高,而 STRIDE 分类提供了一个更易实施且可复制的威胁场景定义方法,在实践中可以将 STRIDE 建模, 安全事件库,专家经验三者结合,获得较为全面的威胁场景清单。同时,威胁场景识别同样是一项需要持续进行的工作,随着技术的进步或新的安全事件的出现,需对威胁场景进行不断补充和更新。在后续的活动中,将对每个威胁场景进行攻击路径和攻击可行性的分析。

影响等级评估

接下来来聊一聊风险评估中的第三项活动 —— 影响等级评估

在该阶段,需要评估每个损害场景的影响等级,评估只考虑该损害场景发生时的危害程度,不考虑攻击路径和攻击的方法是怎样的。

输入和输出:

如何评估影响等级?

21434 中规定,应从安全,财产,操作隐私(S,F,O,P) 四个方面重点评估损失场景对利益相关者的不利影响。如果有这四类以外的影响,需记录在文档中。在附录 H 中给出了四种类型影响等级的评级标准,其中安全影响的评估标准参考了 ISO 26262 中严重度评估的标准。

21434 中给出了 S,F,O,P 定性的影响评估标准,在实际的影响等级评估中,也可以采用 HEAVENS 方法中提出的定量评估方法,给不同的影响等级附上相应的分值范围,给每个损害场景的 S,F,O,P 四个层面打分,累加得到该损害场景的总分值,最后得出对应的影响等级。在 HEAVENS 方法中,安全和财产的影响水平具有较高的权重(0~1000),操作和隐私方面的损害影响相对较低,权重也较低(0~100)。

总结

熟悉功能安全的工程师不难看出,TARA 分析的思路与功能安全中的 HARA 分析可谓一脉相承,都是从风险发生的可能性和危害的严重程度两个维度评估系统的风险。TARA 中在安全层面的影响评估方法更是直接引用了 ISO 26262 中严重度评估的标准。评估的结果可以是损害场景在 S,F,O,P 四个类别上的影响等级,也可以是一个总体的影响等级,目的都是识别出系统中造成严重损害的场景。

本文著作权归作者所有,并授权 42 号车库独家使用,未经 42 号车库许可,不得转载使用。
Comment · 0
Owner: 0
Sort by like

Upload
大胆发表你的想法~
11
Comment