电子说
一、TARA简介及其必要性
什么是TARA?
当前,汽车行业很多公司都开始做网络安全的合规(具体介绍参见上期文章:https://mp.weixin.qq.com/s/y_lNX-v_AghfO5tRL0z33Q),在国际法规方面主要是针对联合国世界车辆法规协调william hill官网 提出的R155法令。R155法令要求车企必须获得CSMS(网络安全管理系统)的认证。法规并没有提供具体的实施方式,但在法规的扩展说明文件中推荐参考ISO / SAE 21434标准(已在2021年8月31日发布正式版)来实施。在ISO / SAE 21434中,其中就有一个单独的章节用来介绍TARA的方法论。
TARA (threat analysis and risk assessment), 即威胁分析和风险评估,是网络安全中非常重要的一个活动。通常,TARA是网络安全实施的起点。
TARA是在待评估系统的上下文中,对网络攻击威胁与风险进行评估的活动。
与当前IT行业的风险评估类似,TARA是对严重性(Impact rating)和攻击可能性(Attack Feasibility rating)的综合评估。主要流程如下:
TARA必要性
通常,我们在做汽车系统开发时,我们会从整车级别的需求一步步拆分到系统层、软件层、硬件层等,每一个具体的需求能够反向的关联到整车的某项参数。然而网络安全需求并不直接与整车参数相关,并不能直接的从整车需求推导得出。
因此,一套有效的方法论对于网络安全需求分析非常必要。
同时,网络安全涉及的面非常的广,需要保护的地方将会特别的多,然而我们的资源是有限的。
网络安全的攻击者和防御者面临的问题是不对等的。作为外部攻击者只需要系统进行单点突破,而作为防御者你需要对系统进行全面防御,同样的资源下防御者能做的事情更少。因此,网络安全的一大原则是,将有限的资源用到最有价值的地方。
TARA就是用来识别网络安全需求,并对需求进行优先级评估的方法。
二、TARA方法论与工具
TARA方法论
当前,在IT与汽车领域有很多流行的方法论,它们有各自的优点与缺点。一般来说没有最好的方法论,只有最适合的方法论。本文中简单介绍一些:
1. STRIDE and DREAD:微软公司提出的威胁建模方法,主要分为两个阶段:威胁识别和风险分析。威胁识别采用STRIDE模型(Spoofing, Tampering, Repudiation, Information disclosure, Denial of Service, Elevation of privilege),风险分析采用DREAD模型(Damage potential, Reproducible, Exploit-ability, Affected users, Discover-ability)。
2. OWASP:主要针对网页应用的风险评估,通过可能性+严重性来进行风险评估。可能性评估包含外部威胁实体评估与内部脆弱性评估,严重性评估包含技术损失评估与商业损失评估。
3. SAHARA:由AVL李斯特与Graz University of Technology共同开发,主要用于功能安全评估,但是会将网络安全考虑进去。在HARA的基础上,考虑网络安全中发生攻击需要的资源、需要的知识以及危害的严重性。
4. EVITA:为汽车E/E架构安全分析开发,同样通过可能性+严重性来进行评估。EVITA使用攻击树识别威胁,通过人身安全、隐私、经济和可操作性四个维度评估危害严重性,然后使用攻击时间、攻击者需要的能力水平、需要的目标系统知识、攻击窗口与攻击设备对可能性进行评估。风险评估是将会针对是否与人身安全相关分别评估。
5. HEAVEN:在EVITA基础上进一步为汽车E/E架构优化的方法论。使用STRIDE取代攻击树来进行威胁识别。严重性同样使用人身安全、隐私、经济和可操作性四个维度评估,并可以聚合四个维度为一个统一的严重性等级。可能性使用攻击者需要的能力水平、需要的目标系统知识、攻击窗口与攻击设备进行评估。风险评估不会区分是否与人身安全相关。
以上就是威胁建模中常用的一些方法论,它们有各自的优缺点,安全工程师应针对具体的上下文进行选择。
TARA工具
以下列举了AVL在TARA中常用的一些工具:
1. Excel
说明:将方法论开发为Excel模板,通过excel进行TARA分析。
特点:工具容易获取,需要自己开发方法论,适合少量复杂度较低的项目。
2. Security Analyst
说明:由AVL与合作伙伴共同研发,用于汽车TARA分析。
特点:模块化管理,管理效率高,可视化好,适合大量复杂度高的项目。
此外,还有一些其它的工具,如Microsoft threat modeling tool可以用于分析STRIDE威胁分析等。
三、TARA案例
在这篇文章中,我们基于一个最简单的BMS系统,通过例子帮助大家理解TARA流程。
1. Item definition
Item definition 是为了识别系统中与带评估目标之间有安全关联的组件、数据、通信、功能等,一般我们会通过架构图的方式将这些关联通过可视化的方式表现出来。这是TARA的开始,因此我们需要一些外部的输入来帮助我们更好的进行识别。系统的整体设计、系统粗略的架构图、系统的功能组件等这些信息都可以作为输入。
分析案例如下:
2. Asset identification
对系统中的资产进行识别,资产一般是系统中有价值的组件、数据等,一般将会结合相应的损害场景(Damage scenarios)进行分析。分析系统中各个实体的每种安全属性被破坏时会带来什么损害会有助于损害场景的分析。这个过程一般是头脑风暴,经验丰富的安全工程师和充分的沟通有助于保证分析的完整性。
损害场景举例:
• 在静止状态电池拒绝接受启动命令从而无法启动电池。
• 由于网关与CAN收发器之间的通信被攻击,电池在静止状态非预期的启动。
安全属性(Security Objective)也是传统网络安全中经常使用的概念,网络攻击一般都是通过破坏一个或者多个安全属性来实施,不同属性一般攻击的方式也不一样。常用的安全属性包括CIA,即机密性(Confidentiality)、完整性(Integrity)、可用性(Availability),同时根据项目需要,也可以添加一下其它安全属性,如真实性(Authenticity)等。
安全属性举例:
• 由于网关与CAN收发器通信的身份真实性被攻击,电池在静止状态非预期的启动。
3. Impacting rating
严重性评估,这是用来评估风险等级的二要素之一,可以基于已经评估出来的损害场景进行分析。由于未发生事件的不确定性与一些资产定量分析的困难性(如企业形象、数据商业价值等),严重性评估借鉴一些方法论进行定性评估。一般分为ISO/SAE 21434中建议分为四个维度:
• 人身安全影响(参照ISO 26262)
– 重大:重大伤害,危及生命
– 较重:严重伤害,但可能幸存
– 中等:轻微伤害
– 可忽略:没有伤害
• 经济损失(参考BSI-Standard 100-4,主要以企业维度)
– 重大:企业可能直接破产
– 较重:较大损失但不会破产
– 中等:有限损失
– 可忽略:几乎没有损失
• 可操作性损失
– 重大:汽车直接无法工作
– 较重:汽车部分功能无法工作
– 中等:汽车部分性能下降
– 可忽略:汽车性能无影响
• 隐私损失(参考ISO/IEC 29100)
– 重大:非常敏感信息,且能够与个人身份识别信息轻易关联
– 较重:非常敏感信息,但不易与个人身份识别信息关联;敏感信息,且能够与个人身份识别信息轻易管理
– 中等:敏感信息,但不易与个人身份识别信息关联;不敏感但能关联个人身份识别信息
– 可忽略:不敏感且不与个人身份识别信息关联
严重性评估举例:
• 由于网关与CAN收发器通信的身份真实性被攻击,电池在静止状态非预期的启动。
– 人身安全影响:可忽略(其它制动系统仍然有效)
– 可操作性损失:中等(可能在需要使用时电池电力不足)
– 经济损失:较重(可能的需要召回)
– 隐私损失: 可忽略
– 综合严重性:Serious
4. Threat Identification
威胁识别,识别出对损害场景的潜在威胁,进一步为攻击可能性评估铺垫。要评估威胁,首先需要了解一般都有哪些威胁,可以参考的模型包括微软的STRIDE模型,OWASP,IT Security等。这里采用STRIDE模型:
• Spoofing:身份伪造
• Tampering:信息篡改
• Repudiation:抵赖,不承认自己做过的行为
• Information disclosure:信息泄露
• Denial of service: 拒绝服务
• Elevation of privilege: 权限提升
威胁场景举例:
• 网关与CAN收发器通信中身份被伪造,造成通信的身份真实性被攻击,电池在静止状态非预期的启动
• 后端系统的恶意权限提升,造成非法用户侵入后端系统破坏信息机密性,窃取敏感数据。
5. Attack Path Analysis
对于现代网络安全威胁来说,攻击者一般会通过多个步骤来进行攻击。一开始可能只是利用一个不起眼功能的漏洞,然后通过这些漏洞一步步的提升自己的权力,攻击到核心的功能。因此我们根据具体的威胁建立完整的攻击路径以进一步评估攻击的可能性。
攻击路径举例:
• 网关与CAN收发器通信中身份被伪造 ← 网关软件代码完整性被破坏 ← OTA数据包完整性被破坏 ← 后端服务被提权攻击
6. Attack Possibility Rating
攻击可能性,我们使用HEAVENS并考虑攻击时间来进行评估。该方法主要也是定性的评估,评估分为5个方面:
• 攻击时间
– 少于一周
– 少于一个月
– 少于六个月
– 少于三年
– 多于三年
• 攻击者需要具备的能力
– 外行:普通人照着教程一步一步做就能攻击
– 熟手:可以使用常用的攻击工具的人
– 专家:富有经验的安全专家
– 多个专家:一群有经验的安全专家
• 对组件信息的了解程度
– 组件的信息是公开的
– 组件的信息是受限的,比如只在供应商之间传递的内部信息
– 机密信息,只被内部特定团队获取
– 高机密信息:只被内部少部分人获取
• 攻击窗口
– 无限制的,可用性,时间窗口,远程控制等方面
– 容易的
– 中等的
– 困难的
• 需要的设备
– 普通设备
– 特殊设备,通过一定方式可以得到
– 定制设备,需要专门定制生产
– 多种定制设备
需要注意的是,与严重性评估一样,可能性评估中一些维度同样并不是显而易见就能得到结果,很多需要参考多方面的数据。
攻击可能性举例:
• 网关与CAN收发器通信中身份被伪造,造成通信的身份真实性被攻击,电池在静止状态非预期的启动
– 攻击时间:少于六个月
– 攻击者能力:可以使用常用的攻击工具的人
– 对组件了解程度:公开的标准
– 攻击窗口:容易的
– 需要的设备:普通设备
– 综合攻击可能性:High
7. Risk Determination
风险等级评估,综合参考严重性与可能性的等级,对风险等级进行综合评定,评估出1-5级风险等级。
风险等级评估举例:
• 网关与CAN收发器通信中身份被伪造,造成通信的身份真实性被攻击,电池在静止状态非预期的启动
– 严重性:Serious
– 攻击可能性:High
– 风险等级:level 4
8. Risk treatment
有了风险等级后,就可以考虑选择风险处置方式,一般的处置方式包括:
• 降低风险
• 规避风险
• 转移风险
• 接受风险
风险处置方式不是一个单一的风险,可能需要考虑成本、公司策略、客户要求等多个方面综合考虑。
风险处置实践举例:
• 网关与CAN收发器通信中身份被伪造,造成通信的身份真实性被攻击,电池在静止状态非预期的启动 → 降低风险
• 后端系统的恶意权限提升,造成非法用户侵入后端系统破坏信息机密性,窃取敏感数据 → 转移风险到后端服务团队
通过上文中所有的TARA步骤,我们就能够提取出进一步细化的安全需求、优先级与其相应的控制策略,例如:
需求描述:对CAN通信中身份伪造攻击进行防御,防止CAN通信中网关身份的真实性被破坏,电池非预期的启动。
严重性等级:3,可能性等级:4,风险等级:4,控制策略:降低风险。
四、TARA挑战
TARA分析并没有一个标准答案,实践中遇到的主要的挑战包括:
1. 分析的完整性:TARA是一个穷举的工作,如何保证资产、危害、威胁等都全部识别。特别是在汽车行业,E/E系统架构与IT系统架构有很大差别,传统的IT安全经验无法保证风险识别的完整性。
2. 评估的准确性:TARA是一个定性的评估,如何保证评估的准确性。
3. 安全措施的合理性:针对不同风险,应该采取什么安全措施。
这些问题并没有一个标准答案,就如文章开头所说——TARA是在待评估系统的上下文中,对网络攻击威胁与风险进行评估的活动。
因此,汽车安全工程师需要结合项目上下文,具体问题,具体分析。
AVL网络安全实践
AVL李斯特成立于1948年,有多年的动力总成、模拟测试、自动驾驶等系统项目的设计、实施、咨询经验。AVL网络安全团队致力于保障车内、车路、车云之间的网络安全,我们不仅提供网络安全的开发、咨询、培训,同时也提供车联网、自动驾驶、电驱动、车身控制等多个方向上的整体解决方案。对汽车E/E系统的深入了解是我们提供更完整、更准确网络安全分析、实施的基础。
关于AVL:你可以通过STCCybersecurity@avl.com与AVL安全团队取得联系。同时我们在后期会进一步推出更多的安全文档以分享网络安全的工程实践。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !