2、ISO 21434核心概念:威胁分析与风险评估(TARA)方法论、攻击路径分析、风险处置决策

好,我们直接进入正题。ISO 21434里最核心、最实操的部分,就是TARA。说白了,TARA就是回答三个问题:谁会攻击我?怎么攻击?攻击了后果多严重?

我个人习惯把TARA比作「给车做安检」。你不能等车被偷了才装锁,对吧?TARA就是在设计阶段,提前把可能被撬的锁、可能被砸的窗都找出来。

2.1 威胁分析与风险评估(TARA)方法论

TARA不是拍脑袋。它有标准流程。我参与国标起草时,反复强调过:流程不规范,结果就是废纸。

一个完整的TARA流程,通常包含以下几步:

  1. 资产识别:找出需要保护的东西。比如ECU、CAN报文、OTA升级包、用户隐私数据。
  2. 威胁场景识别:设想攻击者会怎么搞破坏。比如「通过蓝牙远程发送恶意诊断请求」。
  3. 影响评级:如果威胁成真,对安全(人身安全)、财产、隐私、运营的影响有多大。
  4. 攻击路径分析:攻击者具体怎么一步步实现威胁。
  5. 攻击可行性评估:攻击需要什么设备?多少时间?多少专业知识?
  6. 风险值计算:综合影响和可行性,得出风险等级。
  7. 风险处置决策:是接受、降低、规避还是转移风险。

重要提醒:TARA不是一次性工作。每次架构变更、新增功能、发现新漏洞,都要重新跑一遍。我在项目里见过有人做完TARA就存档了,结果半年后出了安全事件,一查,当初根本没分析那个场景。

2.2 攻击路径分析

攻击路径分析,是TARA里最烧脑的部分。你想想看,攻击者不会只盯着一个点。他会从最薄弱的环节切入,一步步渗透。

举个例子。假设我们要分析「攻击者通过车载信息娱乐系统,控制刹车系统」这个威胁。攻击路径可能是这样的:

攻击路径示例:
1. 攻击者利用信息娱乐系统的Wi-Fi漏洞,获得应用层权限
2. 通过系统提权漏洞,获取Linux root权限
3. 利用网关的CAN报文过滤缺陷,发送伪造的制动控制报文
4. 刹车ECU收到恶意报文,执行非预期制动

嗯,这里要注意。攻击路径分析不是画着玩的。每条路径都要评估可行性。我曾经在项目里遇到一个团队,把攻击路径画得特别复杂,结果一评估,攻击者需要物理拆解车辆、需要原厂诊断仪、还需要内部算法。这种路径的可行性就很低。

攻击路径分析常用的方法有:

  • 攻击树(Attack Tree):根节点是最终目标,子节点是达成目标需要的条件。
  • STRIDE:从欺骗、篡改、抵赖、信息泄露、拒绝服务、权限提升六个维度分析。
  • EVITA:专门针对车联网的攻击树方法,比较老但依然有效。

个人经验:我建议初学者先从STRIDE入手。它结构清晰,不容易遗漏。等熟练了,再用攻击树做深度分析。别一上来就搞复杂的方法,容易把自己绕进去。

2.3 风险处置决策

分析完风险,不能光看着。你得做决策。ISO 21434给出了四种处置方式:

处置方式 说明 适用场景
风险降低 通过安全措施减少威胁发生的可能性或影响 大多数情况,比如加防火墙、加密通信
风险规避 彻底移除导致风险的功能或设计 风险太高且无法有效降低时
风险转移 将风险转嫁给第三方,比如买保险、外包 非核心功能或法律合规需求
风险接受 明确承认风险存在,但不采取行动 风险极低,或降低代价远超收益

这里有个坑。很多团队喜欢选「风险接受」,因为省事。但我曾经见过一个项目,团队觉得「通过蓝牙攻击的概率极低」,就接受了。结果半年后,安全研究人员真的演示了通过蓝牙漏洞远程控制车辆。那场面,嗯,不太好看。

避坑指南:风险接受不是偷懒的借口。必须要有书面记录,说明为什么接受、谁批准的、什么时候重新评估。否则出了事,就是你的锅。

我个人习惯在做风险处置决策时,遵循一个原则:能降低就降低,不能降低就规避,实在不行再考虑转移或接受。而且,每次决策都要有评审记录。你想想看,万一出了安全事故,审计人员问你「为什么这个高风险没处理」,你总不能说「我觉得没事」吧?

最后说一句。TARA不是纸上谈兵。它要落地到具体的需求、设计、测试里。我见过太多团队,TARA报告写得漂漂亮亮,结果代码里一个安全漏洞都没修。那TARA就是白做了。

好,这一章就到这里。下一章我们聊聊安全需求怎么从TARA里推导出来,那是真正开始干活的部分。