2、关键概念:资产、威胁场景、损害场景、攻击路径、风险值
好,咱们进入正题。这一章要聊的,是TARA里最核心的五个概念。说白了,你把这五个东西搞明白了,TARA的骨架你就搭起来了。
我刚开始带团队做TARA的时候,发现很多人容易把“威胁场景”和“损害场景”搞混。嗯,这很正常。咱们一个一个来拆解。
2.1 资产(Asset)
资产是什么?简单说,就是你要保护的东西。在汽车里,资产可以是硬件、软件、数据,甚至是某个功能。
资产的分类,我一般这么看:
- 硬件资产:ECU、传感器、摄像头、网关芯片。这些东西坏了,车可能就动不了。
- 软件资产:操作系统、中间件、应用程序。比如AUTOSAR的某个模块,或者你写的控制算法。
- 数据资产:车辆VIN码、用户隐私数据、密钥、诊断日志。数据泄露现在是个大问题。
- 功能资产:自动紧急制动(AEB)、自适应巡航(ACC)。功能被篡改,后果很严重。
2.2 威胁场景(Threat Scenario)
威胁场景,就是攻击者可能怎么干坏事。它不是具体的攻击代码,而是一个“故事”。
举个例子:
- 资产:远程信息处理单元(T-Box)
- 威胁场景:攻击者通过蓝牙接口,向T-Box发送恶意诊断请求,导致车辆异常解锁。
你看,这里没有说具体用什么漏洞,只是描述了“通过蓝牙接口”这个路径和“导致异常解锁”这个后果。
写威胁场景时,我习惯用这个模板:
攻击者通过 [攻击入口/接口] ,利用 [某种方式] ,对 [资产] 进行 [操作] ,导致 [不良后果] 。
比如:
攻击者通过 OBD-II 接口,利用 CAN 总线消息伪造,对制动系统 ECU 进行注入操作,导致车辆非预期制动。
2.3 损害场景(Damage Scenario)
损害场景,是威胁场景的“后果放大版”。它关注的是:这个威胁最终会对谁造成什么伤害?
损害场景通常从四个维度去考虑,也就是我们常说的S(Safety)、F(Financial)、P(Privacy)、O(Operational)。
| 维度 | 解释 | 例子 |
|---|---|---|
| S(安全) | 对人身安全的伤害 | 车辆失控导致碰撞,人员受伤 |
| F(财务) | 经济损失 | 车辆被盗,或者需要召回维修 |
| P(隐私) | 个人数据泄露 | 车主位置信息、通话记录被窃取 |
| O(操作) | 车辆功能不可用 | 远程控车功能被禁用,无法启动空调 |
我曾经遇到一个项目,团队只关注了安全损害,忽略了隐私损害。结果后来发现,某个T-Box的漏洞会导致用户通话录音泄露。嗯,那次的教训挺深刻的。
2.4 攻击路径(Attack Path)
攻击路径,就是攻击者从入口到目标资产,一步一步怎么走的。它是一连串的动作。
举个例子,攻击路径可以这样描述:
- 攻击者通过Wi-Fi连接到车载娱乐系统。
- 利用娱乐系统的一个缓冲区溢出漏洞,获取了Linux系统的root权限。
- 通过内部网关,向CAN总线发送伪造的转向控制信号。
- 最终导致车辆在高速行驶时异常转向。
你看,每一步都很具体。分析攻击路径时,我建议画个图,或者至少列个步骤清单。这样后面做风险评估时,才能知道哪个环节最脆弱。
2.5 风险值(Risk Value)
风险值,是TARA的最终输出。它告诉你:这个威胁到底有多严重,值不值得花大力气去修。
风险值的计算,通常基于两个因素:
- 攻击可行性(Attack Feasibility):攻击者要花多少成本、时间、资源才能成功?
- 影响等级(Impact Rating):一旦成功,造成的损害有多严重?
ISO 21434里没有规定死算法,但常见的是用矩阵法。比如:
| 影响等级 \ 攻击可行性 | 低 | 中 | 高 |
|---|---|---|---|
| 严重 | 中风险 | 高风险 | 极高风险 |
| 中等 | 低风险 | 中风险 | 高风险 |
| 轻微 | 可忽略 | 低风险 | 中风险 |
我个人习惯把风险值分成五档:可忽略、低、中、高、极高。对于“极高”风险的项,必须要有缓解措施,否则不能过审。
好了,这五个概念,你捋一遍:资产是你要保护的,威胁场景是坏人想干嘛,损害场景是后果有多惨,攻击路径是具体怎么干,风险值是到底要不要管。把这五根柱子立起来,后面的章节就好办了。