第3章 TARA方法论概述:它在ISO 21434中的位置与实战价值

说实话,刚接触ISO 21434那会儿,我也有点懵。标准里一堆术语,TARA、CAL、HARA……到底哪个先做?哪个是核心?

后来做项目多了,我慢慢摸出门道——TARA(威胁分析与风险评估)就是整个标准的中枢神经。你想想看,没有它,你连该防谁、防什么都搞不清楚,后面的安全开发全是瞎忙活。

3.1 TARA在ISO 21434中的位置

ISO 21434把网络安全活动分成了几个大块:

  • 组织层管理(第5-10章)——定规矩、管流程
  • 项目层活动(第11-14章)——具体干活
  • 分布式开发(第15章)——跟供应商扯皮
  • 持续活动(第16章)——运维监控

TARA就卡在项目层活动的最前面。标准里第11章专门讲它,位置非常靠前。为什么?

因为TARA的输出直接决定了后面所有安全工作的方向。我见过一个团队,上来就闷头做安全设计,结果TARA一做完发现威胁模型全错了,前面白干三个月。嗯,这坑我踩过。

核心观点:TARA不是可选项,它是ISO 21434合规的起点。没有TARA,你的安全活动就没有依据,审计也过不了。

3.2 TARA的输入与输出

搞懂TARA,先搞清楚它吃什么、拉什么。说白了就是输入输出。

输入:你得先有这些

  • 系统定义——你要分析的对象是什么?功能边界在哪?
  • 功能描述——这玩意儿能干啥?跟谁通信?
  • 初步架构——ECU、传感器、执行器怎么连的?
  • 资产清单——哪些数据、哪些功能是值钱的?
  • 安全目标——客户或法规有没有硬性要求?

我个人习惯,在项目启动会上就把这些材料对齐。不然TARA做到一半发现输入不全,那才叫痛苦。

输出:TARA给你什么

  • 威胁场景列表——谁可能攻击你?怎么攻击?
  • 攻击路径——攻击者会走哪条路进来?
  • 风险等级——每个威胁有多严重?多容易发生?
  • 安全目标——针对高风险项,你要达到什么安全水平?
  • 安全需求——具体怎么做才能防住?

我的经验:输出里最容易被忽略的是安全目标。很多人做完风险评估就停了,忘了把风险转化成可验证的安全目标。结果后面做测试时发现没有验收标准,又得回头补。

我整理了一个输入输出对照表,方便你快速查阅:

类别 输入 输出
系统层面 系统定义、功能描述 威胁场景、攻击路径
资产层面 资产清单、安全目标 风险等级、安全目标
需求层面 初步架构 安全需求

3.3 TARA与系统开发V模型的关系

搞汽车开发的都知道V模型。左边是设计,右边是测试,中间是实现。TARA在V模型里扮演什么角色?

我直接说结论:TARA是V模型左侧的起点。

你看V模型的左边:

  1. 系统需求 → 2. 系统设计 → 3. 组件设计 → 4. 实现

TARA做完之后,输出的安全目标直接变成系统需求的一部分。也就是说,安全需求不是额外加进来的,而是跟功能需求一起进入V模型。

我曾经在一个项目里看到,团队把安全需求单独拎出来做,结果跟功能需求打架——安全要加密,功能要低延迟,两边互不相让。后来我建议他们把TARA输出的安全目标直接写进系统需求文档,跟功能需求一起评审、一起变更管理。问题就解决了。

注意:TARA不是一次性活动。V模型是迭代的,TARA也要跟着迭代。架构变了、功能改了、新威胁出现了,都得重新跑TARA。我见过最惨的案例是项目快量产了才发现有个关键威胁没分析到,结果紧急召回……

下面这张图是我自己画的,帮你理解TARA在V模型里的位置:

TARA在V模型中的位置 系统需求 系统设计 组件设计 实现 系统验证 系统测试 组件测试 TARA 位置:系统需求之前,驱动整个V模型左侧的安全设计 输出安全目标 → 写入系统需求 → 指导设计 → 验证测试

3.4 实战中的TARA流程

理论说完了,聊聊实战。我一般把TARA分成6步:

  1. 定义分析范围——搞清楚你要分析哪个系统、哪个功能
  2. 资产识别——找出值钱的数据和功能
  3. 威胁场景识别——想攻击者会怎么搞破坏
  4. 影响评级——如果被攻击了,后果有多严重
  5. 攻击可行性分析——攻击者要花多大代价才能得手
  6. 风险判定——综合影响和可行性,定风险等级

这6步走完,你就能得到安全目标。然后拿着安全目标去找系统工程师,告诉他们:这些必须加进需求里。

避坑指南:我曾经在第三步「威胁场景识别」上卡了整整两周。后来发现是因为团队对攻击者的能力没有统一认知。我的建议是——先建一个攻击者画像,明确攻击者的资源、技能、动机。这样大家讨论时才有共同语言。

3.5 小结:TARA不是终点,是起点

记住一句话:TARA做得好,后面安全开发就顺;TARA做得糙,后面全是坑。

我在多个项目里验证过这个规律。凡是TARA阶段投入足够时间的项目,后面安全测试通过率都高。凡是赶进度、草草了事做TARA的,最后都在测试阶段返工。

所以,别把TARA当成应付审计的文档。它是你整个安全工程的地基。地基稳了,楼才能盖得高。