之前的章节主要描述的是宏观层面的网络安全活动,从第8章开始,21434将对项目生命周期各个阶段具体的网络安全要求和活动进行详细的叙述。其中风险评估(Risk Assessment)是最早进行,也是最为重要的一项网络安全活动之一,它是整个网络安全工作实施的前提。
风险分析通常又被称为TARA(Threat Analysis and Risk Assessment),目的是在车辆产品开发早期识别潜在的威胁和安全漏洞,再综合考虑攻击可行性、影响等级等因素,确定系统可能存在的风险及其风险等级,从而得出相应的网络安全目标,为后续形成网络安全需求,输入给设计开发提供基础。风险评估是以往软件开发流程中所没有的一项活动,因此在对项目实施网络安全时,风险评估是一个明确的工作增量。
风险处置决策
在实际实施过程中,OEM可根据自身的需求和偏好选择相应的方法论进行评估。风险评估的工作通常由专门的团队来进行,团队中的人员需要具备一定的网络安全或渗透背景。对于风险评估中的各个活动,将在之后的文章中逐一解读。
什么是资产?
通俗来讲,就是车辆在使用的过程中,需要被保护不受网络攻击的信息,包括了通讯数据、用户隐私数据、ECU固件、算法等各种类型的信息。
资产定义的目的
资产定义的目的是识别出这些资产,确定每项资产的网络安全属性,从而分析出潜在的损害场景。
输入 | 输出 |
---|---|
1. 分析对象定义 2. 架构设计 3. 资产及其的网络安全属性 4. 损害场景 | 威胁场景清单 |
如何识别?
基于预定义分类枚举;
前两种其实可以理解为通过危害场景或攻击场景反推,更多依靠的是以往的经验。基于预定义分类的方法是预先定义一些资产分类,如通讯数据、软件、隐私数据等。在资产定义时就可以根据这些分类,对链路上的每个节点进行资产的枚举,从而尽可能全面地识别资产。
网络安全属性
每一个资产都具有相应的网络安全属性,在HEAVENSE方法中,采用了微软的STRIDE模型中网络安全属性和威胁的映射,STRIDE中每一类威胁都映射到相应的一组安全属性上。通过对常见威胁场景的枚举,就可以识别出相应要保护的资产和对应的网络安全属性。例如,娱乐系统中一个常见的威胁场景就是车机系统遭到攻击,客户的个人信息被泄露。那么就可以倒推出相应的资产是用户隐私数据,对应的网络安全属性是机密性。一项资产可能对应多个网络安全属性。
STRIDE威胁 | 安全属性 |
---|---|
欺骗 | 认证,新鲜性 |
篡改 | 完整性 |
抵赖 | 不可否认 |
信息泄露 | 机密性 |
拒绝服务 | 可用性,新鲜性 |
提权 | 授权 |
损害场景识别
根据上一步识别的资产和属性,可以列出一个损害场景的清单,每一条损害场景对应了某个资产的某一项属性遭到破坏。下面是个简单的例子:
资产 | 网络安全属性 | 损害场景 |
---|---|---|
娱乐系统中的个人信息 | 机密性 | 由于娱乐系统中的个人信息的机密性缺失,用户的隐私信息在未经同意下被泄露 |
最后做一下总结,资产定义主要有三个步骤:资产识别、网络安全属性确定、损害场景识别。资产识别的过程比较依赖于分析人员的网络安全经验以及组织的安全事件积累,同时也需要分析人员对于分析的系统有一定的了解。比较理想的做法是由网络安全小组的人员主导,与系统工程师充分合作进行。此外,资产识别是在网络安全开发过程中持续进行的一项活动,在产品的全生命周期过程中,都可以不断地对资产及其属性进行修改和补充。
接下来谈一下风险评估方法中的第二步:威胁场景定义
先来看看这个环节的输入和输出是什么。
输入 | 输出 |
---|---|
1. 分析对象定义 2. 架构设计 3. 资产及其的网络安全属性 4. 损害场景 | 威胁场景清单 |
在识别威胁场景之前,我们先把资产、网络安全属性、损害场景、威胁场景这几个概念的关系捋一捋:
所谓威胁场景,就是针对上一步中识别的损害场景,分析完成该损害场景可能的操作,说明造成危害的时机,环境和攻击方法等要素。
威胁场景该如何定义?
基于STRIDE分类的方法;
前两种方法主要依靠分析人员的经验以及以往的安全事件经验,STRIDE方法可参考上一篇文章的描述。21434还规定了威胁场景包含的三个要素:目标资产,攻击的网络安全属性和完成损失场景的操作。下面是一个威胁场景的例子:
损害场景 | 威胁场景 |
---|---|
由于娱乐系统中的个人信息的机密性缺失,用户的隐私信息在未经同意下被泄露 | 攻击者对娱乐系统进行攻击,获取系统中存储的个人信息,从而泄露用户隐私信息。 |
总结
威胁场景定义是TARA分析的重要环节,TARA最终输出的风险等级和风险处置决策的对象就是威胁场景。通过头脑风暴的方法来对威胁场景进行枚举,对于分析者的攻防经验、网络安全开发知识的要求较高,而STRIDE分类提供了一个更易实施且可复制的威胁场景定义方法,在实践中可以将STRIDE建模, 安全事件库,专家经验三者结合,获得较为全面的威胁场景清单。同时,威胁场景识别同样是一项需要持续进行的工作,随着技术的进步或新的安全事件的出现,需对威胁场景进行不断补充和更新。在后续的活动中,将对每个威胁场景进行攻击路径和攻击可行性的分析。
接下来来聊一聊风险评估中的第三项活动——影响等级评估。
在该阶段,需要评估每个损害场景的影响等级,评估只考虑该损害场景发生时的危害程度,不考虑攻击路径和攻击的方法是怎样的。
输入和输出:
损害场景 | 威胁场景 |
---|---|
由于娱乐系统中的个人信息的机密性缺失,用户的隐私信息在未经同意下被泄露 | 攻击者对娱乐系统进行攻击,获取系统中存储的个人信息,从而泄露用户隐私信息。 |
如何评估影响等级?
影响等级 | 安全影响评估标准 |
---|---|
严重 | S3:危及生命的伤害(不确定存活),致命的伤害 |
重大 | S2:重伤和危机生命的伤害(可能幸存) |
中等 | S1:轻度和中毒伤害 |
可忽略 | S0:无伤害 |
影响等级 | 财产影响评估标准 |
---|---|
严重 | 财产损失会导致灾难性的后果,受影响的利益相关者可能无法承受。 |
重大 | 财产损失会导致重大后果,受影响的利益相关者可以承受 |
中等 | 财产损失会导致不便后果,受影响的利益相关者可以用有限的资源消除后果 |
可忽略 | 财产损失导致无影响,可忽略的后果,或与利益相关者无关 |
影响等级 | 操作影响评估标准 |
---|---|
严重 | 操作损害导致车辆无法工作,从非预期运行到车辆无法操作 |
重大 | 操作损害会导致车辆功能丢失 |
中等 | 操作损害会导致车辆功能或部分性能下降 |
可忽略 | 操作损害不会对车辆功能或性能产生影响或明显的影响 |
影响等级 | 隐私影响评估标准 |
---|---|
严重 | 隐私损失会对道路使用者造成显著或不可逆的影响。在这种情况下,关于道路使用者的信息是高度敏感的,并且易于关联到个人身份信息主体。 |
重大 | 隐私损失会对道路使用者造成重大影响。在这种情况下,关于道路使用者的信息是: a)高度敏感且难以关联到个人身份信息主体,或b)敏感且易于关联到个人身份信息主体 |
中等 | 隐私损失会对道路使用者造成极大不便。在这种情况下,关于道路使用者的信息是: a)敏感且难以关联到个人身份信息主体,或b)不敏感但易于关联到个人身份信息主体 |
可忽略 | 隐私损失对道路使用者不会造成影响,或许会造成些许不便。在这种情况下,关于道路使用者的信息是不敏感并且难以关联至个人身份信息主题的。 |
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四个类别上的影响等级,也可以是一个总体的影响等级,目的都是识别出系统中造成严重损害的场景。