一、TARA 概述与标准背景

大家好,我是老周。今天咱们聊聊 ISO 21434 里的 TARA——威胁分析与风险评估。这玩意儿说白了,就是汽车网络安全的“体检报告”。你车上的电子系统有没有漏洞?黑客能不能攻进来?后果有多严重?TARA 就是回答这些问题的。

我刚开始接触这个标准时,说实话,头大。一堆术语,什么资产、威胁、风险,感觉像在看天书。但干了几年的项目之后,我发现 TARA 其实没那么玄乎。它就是一个结构化的思考框架,帮你把“安全”这件事从拍脑袋变成可量化、可追溯的工程活动。

核心观点:TARA 不是一次性的文档作业,而是贯穿整个产品生命周期的持续活动。从概念阶段到退役,你都得惦记着它。

1.1 ISO 21434 标准解读

ISO 21434 是 2021 年发布的汽车网络安全国际标准。它不像 ISO 26262 那样强制要求功能安全等级(ASIL),但它规定了“你得做哪些事”来保证网络安全。说白了,它是一套流程要求,不是技术规范。

我个人习惯把 ISO 21434 的核心内容归纳为四个维度:

  • 管理维度:网络安全治理、文化、流程。公司老大得重视,下面的人才能动起来。
  • 项目维度:从概念、开发、生产到运维,每个阶段都有对应的网络安全活动。
  • 分布式开发:供应商、合作伙伴之间怎么分责任、怎么沟通。这块最容易出问题。
  • 持续活动:威胁监控、漏洞管理、事件响应。车在路上跑,安全不能停。

我记得有一次,一个供应商跟我说他们“完全符合 ISO 21434”。结果我一看他们的 TARA,资产清单里连网关的调试接口都没写进去。嗯,这就是典型的“流程合规,实质缺失”。标准是骨架,你得往里填肉。

标准章节 核心内容 与 TARA 的关系
第 5 章 网络安全治理 定义 TARA 的组织责任
第 8 章 分布式开发 TARA 结果需在供应链中传递
第 9 章 概念阶段 TARA 的主要执行阶段
第 10 章 产品开发 TARA 结果指导安全需求
第 11 章 生产与运维 TARA 需持续更新

1.2 TARA 在 V 模型中的位置

搞过汽车开发的都知道 V 模型。左边是设计,右边是验证,中间是实现。TARA 在哪儿?它横跨了 V 模型的左侧上半部分。

你想想看,V 模型左侧从“概念”开始,然后是“系统需求”、“架构设计”。TARA 就在概念阶段启动,输出网络安全目标和安全需求,这些需求会流入系统需求,然后一路向下分解到软件和硬件。

为什么会这样?因为安全不能事后补。你车都造出来了,发现网关有漏洞,再改硬件?成本受不了。所以 TARA 必须在设计之前就把威胁想清楚。

我的经验:很多团队把 TARA 当成“设计评审”的一部分,放在架构设计之后做。这是错的。TARA 应该在概念阶段就启动,至少完成初步的资产识别和威胁场景分析。否则你会发现,架构都定了,安全需求加不进去。

下面这张图展示了 TARA 在 V 模型中的位置和主要活动:

TARA 在 V 模型中的位置 概念 系统需求 架构设计 详细设计 验收测试 系统测试 集成测试 单元测试 TARA 活动区域:概念 → 系统需求 → 架构设计 TARA 输出:网络安全目标 → 安全需求 → 安全架构

1.3 TARA 核心概念:资产、威胁、风险

这三个词是 TARA 的基石。我见过很多新手把这三个概念搞混,结果分析出来的东西驴唇不对马嘴。咱们一个一个说清楚。

1.3.1 资产(Asset)

资产就是你想要保护的东西。在汽车里,资产可以是硬件(比如 ECU、传感器)、软件(比如 AUTOSAR 栈、应用程序)、数据(比如密钥、用户隐私信息),甚至是功能(比如制动功能、转向功能)。

我个人习惯把资产分成三类:

  • 功能资产:车辆的核心功能,比如制动、转向、加速。这些被攻击了会出人命。
  • 数据资产:密钥、证书、用户数据、车辆识别码。这些被偷了会泄露隐私或导致欺诈。
  • 系统资产:ECU、网关、域控制器、通信总线。这些是攻击的入口和载体。

注意:资产识别不能只列硬件。我曾经在一个项目里,团队只写了“网关 ECU”作为资产,完全没提网关里存储的“安全凭证”和“路由表”。结果 TARA 分析出来的威胁全是针对硬件的物理攻击,完全忽略了远程攻击路径。后来补了数据资产,威胁场景才完整。

1.3.2 威胁(Threat)

威胁就是“谁可能通过什么方式对资产做什么坏事”。ISO 21434 里对威胁的定义是“可能对资产造成损害的情况”。注意,是“可能”,不是“已经发生”。

威胁通常用 STRIDE 模型来分类:

STRIDE 分类 含义 汽车场景举例
Spoofing(欺骗) 冒充合法实体 伪造 CAN 报文冒充 ABS 控制器
Tampering(篡改) 非法修改数据或代码 刷写非法的 ECU 固件
Repudiation(抵赖) 否认做过某操作 否认发送过 OTA 更新指令
Information Disclosure(信息泄露) 敏感数据被未授权访问 通过 OBD 接口读取车辆密钥
Denial of Service(拒绝服务) 系统资源被耗尽 向 CAN 总线发送大量报文导致网关瘫痪
Elevation of Privilege(权限提升) 获得超出授权的权限 从信息娱乐系统提权到网关控制权

你想想看,一个威胁场景通常包含三个要素:攻击者(谁)、攻击路径(怎么进来)、影响(造成什么后果)。比如:“远程攻击者通过蓝牙漏洞入侵信息娱乐系统,进而通过内部网络篡改制动控制器的固件,导致制动失效。”

1.3.3 风险(Risk)

风险 = 威胁发生的可能性 × 威胁造成的后果严重性。ISO 21434 里用 攻击可行性(Attack Feasibility)和 影响等级(Impact Rating)来综合评估风险等级。

攻击可行性看的是:攻击需要多少时间、多少专业知识、多少设备、多少机会。影响等级看的是:对安全(Safety)、财务(Financial)、隐私(Privacy)、运营(Operational)的影响。

我记得有一次做 TARA 评审,一个团队把某个威胁的风险等级标成了“高”。我问他们为什么,他们说“因为后果很严重”。我说那攻击可行性呢?他们愣住了。后来一分析,那个攻击需要物理接触车辆、需要专用设备、需要 8 小时连续操作。攻击可行性极低。最终风险等级降到了“中”。

关键公式:风险等级 = f(攻击可行性, 影响等级)。两者缺一不可。只看后果不看难度,你会把资源浪费在几乎不可能发生的威胁上。

下面这张图展示了 TARA 核心概念之间的关系:

TARA 核心概念关系图 资产 ECU / 数据 / 功能 威胁 攻击者 + 攻击路径 风险 可能性 × 影响 TARA 分析流程 1. 识别资产 → 2. 识别威胁场景 → 3. 评估攻击可行性 4. 评估影响等级 → 5. 计算风险等级 → 6. 确定安全目标 7. 定义安全需求 → 8. 验证安全措施有效性

1.4 本章小结

咱们这一章把 TARA 的底子打好了。ISO 21434 是流程框架,TARA 是核心方法。它在 V 模型的左侧上半部分活动,从概念阶段就开始介入。资产、威胁、风险这三个概念,你得刻在脑子里。

最后说一句:TARA 不是文档游戏。我见过太多团队把 TARA 做成了“填表作业”,模板一拉,内容一填,评审一过,完事。结果车在路上跑,安全事件一出,才发现当初的 TARA 全是拍脑袋。别这样干。TARA 的价值在于让你真正理解你的系统哪里脆弱、谁可能攻击、后果有多重。这才是做安全的初心。