1. TARA基础概念:什么是TARA、TARA在ISO 21434中的定位、TARA与功能安全的关系

各位同学好,我是老周。今天咱们正式开始聊TARA。很多刚入行的朋友问我:“TARA到底是个啥?跟功能安全那套有啥区别?”

嗯,别急。这一章咱们就把地基打牢。说白了,TARA就是一套系统化的方法,用来识别、评估和处置汽车电子系统里的网络安全威胁。我做了这么多年安全,见过太多“拍脑袋”做安全分析的团队,结果项目后期返工到崩溃。TARA就是帮你避免这种悲剧的。

1.1 什么是TARA

TARA的全称是Threat Analysis and Risk Assessment,威胁分析与风险评估。它不是某个工具,而是一套方法论。ISO 21434里把它定义为“识别威胁场景、评估风险等级、确定处置决策”的过程。

我个人习惯把TARA拆成三个核心动作:

  • 找威胁:攻击者可能从哪里下手?用什么手段?
  • 算风险:这个威胁发生的概率多大?造成的后果多严重?
  • 定对策:要不要管?怎么管?管到什么程度?

举个例子。你想想看,一辆智能网联汽车的T-Box(远程通信终端),攻击者可能通过蓝牙、Wi-Fi、蜂窝网络入侵。TARA就是帮你把这些路径一条条列出来,然后评估哪条路最危险,最后决定要不要加防火墙、做加密、搞入侵检测。

核心要点:TARA不是一次性活动。它贯穿整个开发周期。从概念阶段就要开始,一直持续到量产后的运维阶段。我在项目里吃过亏——前期TARA做得太粗,结果SOP前一个月发现有个高风险没覆盖,那叫一个酸爽。

1.2 TARA在ISO 21434中的定位

ISO 21434是汽车网络安全的国际标准。TARA在这份标准里是什么位置?我直接说结论:TARA是整个网络安全工程的起点和核心。

标准里明确要求:所有网络安全活动都必须基于TARA的结果来驱动。没有TARA,你就不知道要保护什么、保护到什么程度、用什么手段保护。

咱们看一张图就清楚了:

TARA在ISO 21434中的核心定位 TARA在ISO 21434中的核心定位 TARA 驱动所有网络安全活动 安全目标定义 安全需求导出 验证与确认 威胁场景 → 安全目标 安全目标 → 安全需求 安全需求 → 测试用例 关键理解 • TARA输出是安全目标的唯一来源 • 所有安全活动都围绕TARA结果展开 • TARA变更 → 安全目标变更 → 全链路影响分析

这张图你看懂了吗?TARA在最顶层,它输出的安全目标直接驱动后续所有工作。没有TARA,安全需求就是无源之水。我记得有个项目,客户说“我们照着某德系Tier1的规范抄一份安全需求”,结果产品出来被攻击者用CAN报文重放直接解锁车门——因为抄来的需求根本不适合自己的架构。

实战建议:ISO 21434的Clause 9专门讲TARA。我建议你读标准时,把Clause 9和Clause 10(安全目标)、Clause 11(安全需求)放在一起看。它们是一条完整的链条。

1.3 TARA与功能安全的关系

这个问题我几乎每次培训都会被问到。功能安全(ISO 26262)和网络安全(ISO 21434)到底啥关系?

我打个比方你就明白了:

  • 功能安全:防止系统因为随机硬件失效或系统性故障导致危害。比如刹车ECU的CPU挂了,要能安全降级。
  • 网络安全:防止系统因为恶意攻击导致危害。比如攻击者远程控制刹车系统,让刹车失灵。

两者目标一致——都是保护人身安全。但出发点和手段不同。

咱们用表格对比一下:

维度 功能安全 (ISO 26262) 网络安全 (ISO 21434)
威胁来源 随机硬件失效、系统性故障 恶意攻击者(有意图、有手段)
分析方法 FMEA、FTA、FMEDA TARA(威胁分析与风险评估)
风险度量 ASIL(A/B/C/D) 风险等级(Critical/High/Medium/Low)
处置策略 安全机制(冗余、监控、降级) 安全控制(加密、认证、隔离)
攻击者模型 无(不考虑恶意行为) 有(攻击路径、攻击能力、攻击动机)

这里有个关键点:网络安全攻击可能绕过或破坏功能安全机制。我举个例子你就懂了——

功能安全里,刹车系统通常有冗余设计:主通道失效,备份通道顶上。但攻击者如果通过OTA升级把备份通道的固件也篡改了,那功能安全的冗余设计就形同虚设。这就是为什么ISO 21434要求TARA必须考虑“攻击者可能利用功能安全机制”的场景。

避坑指南:我曾经在一个项目里看到团队把功能安全的FMEA直接拿来当TARA用。结果呢?FMEA里根本不会考虑“攻击者通过蓝牙漏洞注入恶意CAN报文”这种场景。两个方法论必须独立执行,然后做交叉分析。千万别偷懒。

1.4 TARA的核心流程概览

虽然咱们后面会逐章细讲,但这里先给你一个全景图,让你心里有数:

  1. 定义分析对象:确定要分析的系统/组件,划定边界
  2. 识别威胁场景:用STRIDE等方法找出可能的攻击路径
  3. 评估风险等级:评估攻击可行性(Attack Feasibility)和影响(Impact)
  4. 确定处置决策:规避/降低/转移/接受
  5. 导出安全目标:将风险处置转化为可验证的安全目标

这五步走完,TARA的主体工作就完成了。后续的安全需求、安全架构、安全测试,都是基于这五步的输出展开的。

我的经验:TARA最容易被忽视的是第一步——定义分析对象。边界划不清楚,后面全是糊涂账。我建议你在项目启动时,花至少半天时间和系统架构师一起把分析对象的边界、接口、数据流画清楚。这笔时间花得值。