TARA分析帮助开发人员系统性地找出目标存在的安全问题,然后妥善地处置这些问题,重点在于系统性,而不是纯靠开发人员的灵光一闪。 ISO 21434定义的TARA规范示意图如下。
攻击树分析,表述了抽象的威胁场景具体有哪些实现路径
判定CAL等级,确认处置措施 : 风险值 = 攻击可行性 × 损害程度
攻击树模型的一个总要前置条件是确认安全目标。
这里以整车电子电气架构作为一个示例去考虑系统边界,暴露在最外侧的是各种物理接口和传感器,再往内就是各种通讯总线,处于端点的是控制器。
从信息交互实体和传播路径考虑,边界内的主要的安全资产可以分类为:
-
各类物理接口
-
ECU固件
-
总线通信
-
用户数据
-
密码学相关数据
-
服务或功能
安全属性模型,有经典的CIA,还有STRIDE威胁模型(对应6个属性),对于车载网络环境,更适合的是EVITA提出的模型,包含以下安全属性:
-
真实性(身份认证)
-
完整性
-
可用性
-
授权
-
抗否认性
-
新鲜度
-
匿名
-
机密性
我们将资产和安全属性做一个映射,如下表所示:
安全目标可以看作是保护资产的安全属性,那么威胁则是资产的安全属性可能遭到破坏的场景,损害场景则是相应威胁可能导致的破坏或造成的损失。
安全目标 = 保护资产X的安全属性Y
威胁场景 = 何种方式破坏资产X的安全属性Y
损害场景 = 破坏资产X的安全属性Y后可能导致的损害
以ECU固件的完整性为例,安全目标是保护ECU固件的完整性。完整性遭到破坏,即固件遭到篡改,为ECU固件的威胁场景。而具体遭到篡改的数据位置不同,造成的后果也不同,可能有以下几种损害场景:
- 篡改了代码段,修改了ECU功能,车辆功能发生变化
- 篡改了代码段,植入后门
- 篡改了代码段,屏蔽了认证过程,提升权限
- 篡改了标定数据,车辆性能发生了变化
- 篡改了车辆配置,激活了未付费购买的功能
具体的攻击树实现路径分析,严重依赖于网络安全开发人员的经验。我们也可以参考一些开源的攻击路径数据库,如CAPEC。CAPEC数据库从多个视角对攻击路径进行了分类,常用的有按攻击机制分类和按域分类。这些分类也可以作为参考,进行枚举攻击路径。
按照攻击域来分类:
3000 | Domains of Attack |
按照攻击机制来分类:
1000 | Mechanisms of Attack |
R155法规也提供了一个威胁的攻击方法清单(附录5表格A1),可用于自查枚举结果是否完备。
由于攻击树核对应的措施严重依赖专家经验,建议建立一个汽车电子电气架构的通用技术攻击路径数据库,数据库有多个视图,可以从资产类别,安全属性攻击机制等方法进行分类。
再配合可视化工具从系统的拓扑图上分析,从根节点触发,沿着数据流画出攻击路径上需要经过的节点,以及每个节点或通讯管道的哪些安全属性遭到破坏。我们可以先不考虑每个步骤的可行性有多大,画出如下路径图。
然后开发人员可以适用工具从数据库中根据安全属性,资产种类查询到对应节点存在哪些攻击方法,包括攻击方法描述,前置条件,攻击原理与示例说明,相关漏洞,减缓措施,并从前置条件可以推断此攻击方法是否适用当前节点,即可完成攻击树模型的确定。
当电气拓扑很复杂,或者是目标资产的分发路径多样化,导致攻击分支过于庞杂时,可以做适当的裁剪,当识别到某个路径的可行性非常低时,可无需继续向下展开分析。
来源:
架构 - 【Zeekr_Tech】TARA攻击树分析方法论 - 个人文章 - SegmentFault 思否