
#百人创作先锋团#信息安全分析方法介绍(二)
HEAVENS 风险评估
HEAVENS模型是较完整的风险评估的方法,在SAE J3061中有相应内容的介绍。其在汽车信息安全领域(包括汽车ECU)具有很强的应用实际。
HEAVENS模型示意图
对框架的流程介绍:
1)相关利益方明确自己的安全属性和安全目标,同时提供相应评估对象或功能的典型应用场景,作为整个流程的输入;
2)进行威胁分析,通过评估对象或功能典型应用场景,将威胁与评估对象、安全属性进行映射,形成对应关系;
3)对威胁与评估对象进行等级划分,具体是通过综合考虑威胁和影响级别两个维度实现安全等级划分;
4)将威胁、评估对象、安全属性和安全等级这四个维度进行整合形成安全需求;
5)开发人员拿到这些需求,根据安全等级最终确定开发优先级。
下面对每个阶段的评估内容进行详细描述(汽车相关参数进行了修改):
1)威胁分析
威胁分析是指识别与评估资产相关威胁以及威胁与安全属性的映射。在该阶段中可使用了微软的STRIDE方法对威胁进行分析,详细内容见上述第三条。
2)风险评估
确定每个威胁和资产对应的安全等级(Security Level)。安全等级用于衡量安全相关资产满足特定安全级别所需的安全机制强度。安全级别的是通过确定威胁等级(Threat Level),即对应于风险的“可能性和影响等级(Impact Level),即风险的“影响”程度,这两个维度共同确定的。
a.威胁等级
威胁等级指发动攻击时而成功引发该漏洞的难易程度,分为窗口、知识技能、设备、评估对象的知识等四类因子。窗口指发动攻击时利用该漏洞时,所采用的攻击途径,分为远程、近距离、本地、物理接触等四等:
1)远程:攻击者可以通过互联网利用该漏洞对汽车发动攻击,比如4G、3G等;
2)近距离:攻击者可以通过共享的物理或逻辑利用该漏洞对汽车发动攻击,比如蓝牙、Wi-Fi、IEEE802.11、本地IP子网等;
3)本地:攻击者通过读/写操作或运行应用程序/工具来利用该漏洞,即本地需要进行参与,该漏洞才能被利用,比如攻击者需要本地登录、需要用户去下载、接受恶意的内容;
4)物理接触:攻击者必须物理接触汽车才能发动攻击,例如通过OBDII对汽车总线进行攻击。
知识技能指发动攻击时,使用基本原理、方法、知识群体受众面等综合考量,即发动攻击时的难易程度,分为业余者、熟练操作者、汽车安全专家、多领域安全专家等四等:
1)业余者:攻击者利用现有的攻击执行简单的指令来发动攻击,但不会对攻击方法和攻击工具进行改进;
2)熟练操作者:攻击者有一定的安全领域或汽车领域的相关知识,并能进行相关的业务,知道简单和流行的攻击流程,可对所利用的攻击工具进行改善;
3)汽车安全专家:熟悉汽车ECU等关键零部件底层的算法、协议、硬件、架构或安全领域最新定义的攻击技术和工具、牢固的密码学知识、经典的攻击方法;
4)多领域专家:攻击者以漏洞利用发动攻击,不同的攻击步骤上,需要不同专业领域的知识。
设备指发掘和利用漏洞和发动攻击所使用的设备的高级程度,分为公开的硬件设备和软件、公开的专用硬件设备和软件、定制或专有的硬件设备和软件、多种定制或专有的硬件和软件等四等:
1)公开的硬件设备和软件:发动攻击时所使用的设备是已经公开可得到的,传统的安全领域的比较常见的,比如协议分析仪、下载器、通用IT设备-笔记本等等;
2)公开的专用硬件设备和软件:攻击者不容易得到的设备,但可以通过购买或者开发攻击脚本,比如车载通信设备,VehicleSpy,CANoe,USRP等;
3)定制或专有的硬件设备和软件:该设备是特殊生产的或是特别复杂的软件,该设备或软件是受控的,或者是非常昂贵的,比如某种国家机构专用的脱壳工具;
4)多种定制或专有的硬件和软件:攻击者在发动攻击时,不同的攻击步骤上,需要不同专业定制的设备或软件。
评估对象的知识指获得攻击知识的途径,分为公共、受限、敏感和重要等四个等级。
1)公共:通过公开途径获取,比如网络等;
2)受限:仅能在某权限部门获取知识,比如技术开发部门;
3)敏感:仅能在某权限部门中某几个团队共享,并仅限于指定团队成员;
4)重要:仅限于少数指定团队且具有严格控制。
威胁等级评分说明
威胁等级评分数值
b.影响等级
影响等级指对汽车发动攻击后表示产生危害的相关等级,分为人身安全、财产、操作、隐私及法规等四类因子。人身安全指发动攻击后,在汽车中人受到安全伤害的严重程度,分为无、轻度伤害、严重伤害、生命威胁等四等:
1)无:不产生人身伤害;
2)轻度伤害:驾驶员及乘车人受到轻微伤害,但能够自由行动;
3)严重受伤:驾驶员及乘车人不能自由行动;
4)生命威胁:驾驶员及乘车人生命危机,或受伤人数较多。
财产指得发动攻击后,对于汽车厂商、零部件厂商以及个人直接和间接的损失的财产总和考量,分为无、低、中、高等四等:
1)无:可不产生财产损失;
2)低:单车的财产损失;
3)中:多车的财产损失;
4)高:整车厂或零部件厂受到巨大财产损失甚至国家的汽车行业遭到巨大的财产损失。
操作指发动攻击后,在汽车功能方面,引起意想不到的损失,分为无、低、中、高等四等:
1)无:可不产生操作影响;
2)低:只对娱乐系统操作影响;
3)中:对车身系统操作影响;
4)高:对动力控制系统操作影响。
隐私指的是发动攻击后,因侵犯个人隐私数据引起的损失,分为无、低、中、高等四等
1)无:可不产生隐私数据及法规的损失;
2)低:侵犯个人账户、密钥、通讯录等隐私数据,引起轻微的法律法规的破坏;
3)中:侵犯多人账户、密码、通讯录等隐私数据;
4)高:整个车型、整个整车厂甚至全部车厂相关用户隐私数据,引起严重的法律法规的破坏。
影响等级评分说明
威胁等级评分数值
c.安全等级
安全等级的评估综合威胁等级和影响等级两个方面进行。
安全等级评分说明
3)安全需求
对资产、威胁、安全属性和安全级别进行评估的列表。研发人员根据列表中的安全级别,确定开发优先级。有可能存在一个资产会存在多个威胁,因此这个资产也会有多个安全等级,在进行开发的时候,通常的做法是关注安全等级最高的。
HEAVENS是较完整的风险评估方法,可应用于汽车信息安全风险评估的需求导出。但相关参数需要改进。
基于ISO21434的风险评估
ISO/SAE21434标准中规定的评估道路车辆产品网络安全风险的具体方法,目的是在车辆产品开发早期识别潜在的威胁和安全漏洞,再综合考虑攻击可行性、影响等级等因素,确定系统可能存在的风险及其风险等级,从而得出相应的网络安全目标,为后续形成网络安全需求,输入给设计开发提供基础。风险评估是以往软件开发流程中所没有的一项活动,因此在对项目实施网络安全时,风险评估是一个明确的工作增量。
1、资产识别
在资产识别过程中,应将评估对象本身可能涉及信息安全的对象进行列举,并对所列对象的安全属性进行确定。安全属性应包括保密性、完整性、可用性,可根据实际的安全目标对安全属性进行扩展。通过分析某个对象的安全属性缺失对评估对象整体的信息安全造成了损害应认定为资产。在整车系统中,可将汽车资产分为不同类型。
2、威胁场景识别
威胁场景识别是系统的识别和分析可能危及资产网络安全属性的威胁场景的过程。威胁场景应与相应的资产和损害场景相关联,一个损害场景可对应多个威胁场景。威胁场景识别可利用头脑风暴、误用案例提取、分类法等方法。
3、影响分析
影响对象应包括道路使用者、其他可能受伤害的人员(例如,维护人员、制造人员等)、其他实体(例如,业务等)。
影响因子应包括安全、财务、操作、隐私和法律等因子。如影响因子进行扩展(例如,增加知识产权、品牌形象等),应明确定义扩展参数。在影响评估中,影响严重等级应分为“极高、高、中、低”四个级别。影响分析应从安全、财务、操作、隐私等不同类别进行独立评估。影响分析结果可对最严重的级别作为评定结果。
4、攻击路径分析
攻击路径描述应包含相对应的威胁场景。
(1)自顶向下的分析方法
描述根据已有的输入进行薄弱环节和缺陷检查的方法自顶向下的分析方法,如攻击树、攻击图、基于分类记忆的方法。例如采用STRIDE模型的分析方法。
a.在自顶向下(演绎)方法中,根据相似系统和组件中漏洞的
历史知识,推断出项目或组件的攻击路径(即理论化、推断、推理、推测)。
b.当前项目或组件还处于设计未实现的状态,或企图建立攻击假设或攻击路径时,自顶向下的方法在概念和研发阶段是有用的。
(2)自下向上的分析方法
a.在自下而上(归纳)的方法中,从识别出的网络安全漏洞中为项目或组件构建攻击路径。攻击路径中的每个操作都基于“可利用的弱点”。
b.当前项目或组件的已设计并实现完成,或者当假设或攻击模型已经建立,待确认时,最常用的是自下而上的方法。
(3)攻击路径分析结束判定
如果攻击路径分析显示部分攻击路径无法完成威胁场景,则可以截断此部分攻击路径,并在此时停止分析。
5、攻击可行性分析
针对每一条攻击路径进行可行性分析,并给出攻击路径被利用的等级,包括高、中、低和很低四个等级。通常将采用基于攻击潜力方法、基于CVSS的方法、基于攻击向量的方法,具体采用哪种方法取决与所处的生命周期的哪个阶段以及可用的分析数据。
(1)基于攻击潜力分析方法与等级评估基于攻击潜力的方法,应根据以下核心因素确定,包括攻击所需要时间、攻击具备的专业知识、被攻击项目或组件的技术知识、攻击机会窗口和攻击所采用设备。
a.攻击所需要的时间评分依据攻击所需时间1周内,给0分;1个月内,给1分;6个月内,给4分;3年内,给10分;3年以上,给19分。
b.攻击具备的专业知识评分依据普通人使用公开获取的知识就可攻击,给0分;有攻击常识的熟练人员才可攻击,给3分;经验丰富的专家才可攻击,给6分;多个专业性专家组队才可攻击,给8分。
c.被攻击项目或组件的技术知识的评分依据从互联网上或公开发布的文档中获取知识就进行攻击,给0分;组织机构内部分受限知识才可进行攻击,给3分;项目开发的内部团队成员掌握知识才可攻击,给7分;项目内部团队中少数人知道的绝密只是才可攻击,给11分。
d.攻击机会窗口的评分依据无时间约束,可自由访问被攻击组件,给0分;有时间约束,在短时间内可访问被攻击组件,给1分;有物理和逻辑控制,需要绕过控制才可访问被攻击组件,给4分;在有限时间内很难访问被攻击组件,给10分。
e.攻击所采用设备的评分依据攻击所使用的设备属于普适设备,给0分;攻击所使用的设备需要进行针对性采购或准备,给4分;攻击所使用的设备需要定制化设计的,给7分;攻击所使用的设备需要定制化设计,在不同阶段采用的定制化设备不同,步骤随攻击层度而改变,给9分。
f.总评分依据及等级对应关系,上述5项因素打分后的总分在0~13之间,判定为高等级可被攻击,给4分;总分在14~19之间,判定为中等级可被攻击,给3分;总分在20~24之间,判定为低等级可被攻击,给2分;总分在25以上,判定为很低等级可被攻击,给1分。
(2)基于CVSS的分析方法与等级评估
该方法参考了CVSS评级方法,在攻击分析中,重点关注可利用性这个维度,包括攻击向量、攻击复杂度、权限要求和用户交互。
攻击可用性等级的分析方法
(3)基于攻击向量的分析方法与等级评估
攻击向量分析方法,此度量反映了攻击路径利用的可能上下文。
攻击可行性等级越高,攻击者利用攻击路径的远程(逻辑和物理)能力就越强。假设使用Internet可以利用漏洞的潜在攻击者的数量大于可以利用需要对项目或组件进行物理访问的攻击路径的潜在攻击者的数量。
参考基于CVSS的分析方法的其中一个维度,即攻击向量。
攻击向量分析方法
风险评级及处置
1)风险值计算
风险是相关损害场景的影响等级以及相应攻击路径的攻击可行性等级的函数。在完成了资产识别、威胁分析后,将采用适当的方法与工具确定威胁利用脆弱性导致安全事件发生的可能性,即攻击可行性。综合相关损害场景的影响等级,判断安全事件造成的损失,即安全风险。
根据计算出的相关损害场景的影响等级与相应攻击路径的攻击可行性,计算风险值。评估者可根据自身情况选择相应的风险计算方法计算风险值,如矩阵法或相乘法。矩阵法通过构造一个二维矩阵,形成损害场景的影响等级和相应攻击路径的攻击可行性之间的二维关系;相乘法通过构造经验函数,将损害场景的影响等级与相应攻击路径的攻击可行性进行运算得到风险值。
2)风险评级
为实现对风险的控制与管理,可以对风险评估的结果进行等级化处理。可将风险划分5级,等级越高,风险越高。评估者应根据所采用的风险计算方法,计算每种资产面临的风险值,根据风险值的分布状况,为每个等级设定风险值范围,并对所有风险计算结果进行等级处理。每个等级代表了相应风险的严重程度。
风险等级划分表
3)风险处置
a.安全整改建议应根据安全风险的严重程度、加固措施实施的难易程度、降低风险的时间紧迫程度、所投入的人员力量及资金成本等因素提出整改建议。
对于非常严重、应立即降低且加固措施易于实施的安全风险,应立即采取整改措施并制定应急预案。
对于非常严重、应立即降低且加固措施不便于实施的安全风险,应立即制定安全整改实施方案,尽快实施安全整改;应在整改前对安全隐患进行监控并制定应急预案。
对于比较严重,应降低且加固措施不易于实施的安全风险,应制定限期实施的整改方案,应在整改前对相对安全隐患进行监控。
对于其他不可接受的安全风险,应根据资源及组织实际情况,采取适当可行的整改措施。
b.评审
应对风险评估相关的报告进行评审。并对评审意见进行记录。
风险评估项目验收文档
文章转载自公众号:智车Robot
