一、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 模型中的位置和主要活动:
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 核心概念之间的关系:
1.4 本章小结
咱们这一章把 TARA 的底子打好了。ISO 21434 是流程框架,TARA 是核心方法。它在 V 模型的左侧上半部分活动,从概念阶段就开始介入。资产、威胁、风险这三个概念,你得刻在脑子里。
最后说一句:TARA 不是文档游戏。我见过太多团队把 TARA 做成了“填表作业”,模板一拉,内容一填,评审一过,完事。结果车在路上跑,安全事件一出,才发现当初的 TARA 全是拍脑袋。别这样干。TARA 的价值在于让你真正理解你的系统哪里脆弱、谁可能攻击、后果有多重。这才是做安全的初心。