4. 损害场景分析:定义损害场景与影响评估

损害场景分析,说白了就是回答一个问题:如果攻击者得手了,最坏会怎样?

我在做第一个TARA项目时,团队花了两周画攻击树,却没人认真想过“攻击成功之后到底会发生什么”。结果评审时被安全经理一句话问住了:“你们说这个漏洞严重,严重在哪?车会失控吗?用户隐私会泄露吗?还是只是仪表盘闪个故障灯?”

嗯,从那以后我养成了一个习惯——先想损害,再找威胁。今天我们就来聊聊怎么系统性地做这件事。

4.1 什么是损害场景

损害场景是TARA的核心产出之一。它描述的是:当某个威胁被成功利用后,对车辆、人员、环境或企业造成的负面后果。

一个完整的损害场景通常包含三个要素:

  • 触发条件:什么攻击路径被激活了
  • 受影响对象:谁/什么受到了伤害(驾驶员、乘客、行人、企业、社会)
  • 具体后果:发生了什么样的损失或伤害

举个例子:

“攻击者通过远程OBD接口注入恶意CAN消息,导致制动系统在高速行驶时误触发紧急制动,造成车辆失控追尾,驾驶员受伤。”

这就是一个完整的损害场景。

4.2 四大影响维度

ISO 21434把损害影响分成四个维度。我个人习惯把它们记成S-F-O-P:

维度 英文 关注点 典型例子
S - Safety Safety 人身安全 人员伤亡、健康损害
F - Financial Financial 经济损失 维修费用、召回成本、罚款
O - Operational Operational 功能/运营 车辆不可用、功能降级
P - Privacy Privacy 隐私/数据 个人信息泄露、位置追踪

你想想看,同一个漏洞在不同维度下的严重程度可能天差地别。比如一个信息娱乐系统的缓冲区溢出:

  • Safety:可能很低(不直接影响驾驶)
  • Privacy:可能很高(能窃取通讯录、位置历史)

所以评估时必须四个维度都过一遍,不能只看安全。

4.3 损害场景的生成方法

我在项目中常用的方法是“威胁-资产-后果”三角映射法。具体分三步:

  1. 列出已识别的威胁(来自上一章的威胁分析)
  2. 关联受影响资产(安全属性:机密性、完整性、可用性)
  3. 推导具体后果(结合车辆实际使用场景)

一个小技巧:

我习惯用“如果……那么……”句式来生成损害场景。比如:

“如果攻击者篡改了GPS信号,那么导航系统会给出错误路线,导致驾驶员误入危险路段。”

这个句式能强迫你把攻击和后果之间的因果关系说清楚。

4.4 影响等级评定

每个损害场景都需要评定影响等级。ISO 21434没有规定具体的等级划分,但业界常用四级制:

等级 Safety Financial Operational Privacy
S0 无伤害 无损失 无影响 无泄露
S1 轻伤 轻微(<1万) 功能降级 非敏感信息
S2 重伤 中等(1-10万) 功能不可用 敏感信息
S3 死亡 严重(>10万) 车辆完全失效 大规模隐私泄露

注意:

我曾经在一个项目里看到团队把“仪表盘黑屏”评为S2(重伤),理由是“驾驶员可能因为看不到车速而超速导致事故”。这个推理链条太长了。损害场景评估要基于直接后果,而不是无限推导的间接后果。仪表盘黑屏的直接后果是功能降级(O1或O2),而不是人身伤害。

4.5 实战案例:远程空调控制的损害场景

我们拿一个具体的功能来练练手——远程空调控制(通过手机App远程开启/关闭空调)。

假设我们已经识别出一个威胁:攻击者通过重放攻击伪造空调控制指令。

现在我们来生成损害场景:

维度 损害场景描述 等级
Safety 攻击者反复开关空调,导致12V电池耗尽,车辆无法启动,驾驶员被困在偏远地区 S1(轻伤风险)
Financial 电池过度放电导致损坏,需要更换,费用约2000元 F1(轻微)
Operational 车辆无法启动,完全不可用,直到电池充电或更换 O2(功能不可用)
Privacy 攻击者通过空调开启状态推断车主是否在家(存在/不存在) P2(敏感信息)

你看,同一个威胁在四个维度下的影响完全不同。最终的风险值取最高等级——这里就是O2和P2。

4.6 损害场景与攻击路径的关系

这里有个容易混淆的点:损害场景不是攻击路径。

攻击路径描述的是“怎么攻进来”,损害场景描述的是“攻进来之后会怎样”。两者是因果关系,但评估时一定要分开。

我画了一张图来说明它们的关系:

损害场景与攻击路径的关系 攻击路径 如何攻入? 威胁 攻击成功 损害场景 后果 Safety Financial Operational Privacy 每个损害场景需要从四个维度分别评估影响等级

4.7 常见误区与避坑指南

我曾经踩过的坑:

  • 混淆损害场景和攻击路径:把“攻击者通过CAN总线注入消息”当作损害场景。不对,这是攻击路径。损害场景应该是“制动系统误触发导致追尾”。
  • 只评估Safety:很多工程师天然只关注安全,忽略了Financial、Operational和Privacy。但有时候Privacy的影响比Safety更大(比如GDPR罚款)。
  • 等级评定过于保守:把所有场景都评成S3,结果导致所有风险都变成“不可接受”,反而失去了优先级排序的意义。

我的建议:

做损害场景分析时,拉上功能工程师和售后工程师一起讨论。功能工程师知道系统在极限工况下的表现,售后工程师见过实际故障案例。他们的经验能帮你避免很多“纸上谈兵”式的误判。

4.8 小结

损害场景分析是TARA中最“接地气”的一步。它把抽象的安全威胁翻译成了具体的、可感知的后果。记住四个维度S-F-O-P,每个场景都要过一遍。