跳转至

HARA / TARA / STPA 分析指南

本文档详述功能安全分析 (HARA)、信息安全分析 (TARA) 和系统理论过程分析 (STPA) 的方法论、输入输出映射及实施指南。


💡 Michael Lin 的实战经验

项目背景: MAGNA 某制动系统 ASIL D 功能安全认证 + ISO 21434 网络安全合规

核心挑战:

  • HARA 与 TARA 分析团队各自为战,风险评估结果无法对齐
  • 传统 FMEA 方法遗漏了多个系统级交互风险
  • 德国 OEM 客户要求功能安全与网络安全分析可追溯关联

我的解决方案:

  1. 设计 HARA-TARA 联合评审模板,将功能安全与网络安全风险统一映射
  2. 引入 STPA 控制结构分析,识别出传统 FMEA 遗漏的 3 个 UCA
  3. 建立 跨部门风险协调会议机制,每周同步分析进展

量化成果:

指标 改进前 改进后 提升
安全分析覆盖率 72% 100% +40%
评审周期 6 周 2 周 -67%
OEM 退回次数 3 次/项目 0 次 -100%

方法论概览

分析方法 标准来源 分析目标 核心输出
HARA ISO 26262 功能安全风险 ASIL等级 & 安全目标
TARA ISO 21434 网络安全风险 CAL等级 & 安全目标
STPA MIT/Leveson 系统性危害 控制缺陷 & 约束

STPA 系统理论过程分析

STPA 核心概念

STPA (System-Theoretic Process Analysis) 是一种基于系统理论的危害分析方法,由MIT的Nancy Leveson教授提出。其核心理念是:

事故不仅仅是组件失效的结果,更是控制结构不充分的结果。

STPA 控制回路图 - 通用模型

flowchart TB subgraph Controller["🎮 控制器 (Controller)"] direction TB PM["过程模型<br/>Process Model"] CA["控制算法<br/>Control Algorithm"] PM --> CA end subgraph Actuator["⚙️ 执行器 (Actuator)"] ACT["执行机构"] end subgraph Process["🔄 被控过程 (Controlled Process)"] CP["物理过程/系统状态"] end subgraph Sensor["📡 传感器 (Sensor)"] SEN["感知设备"] end Controller -->|"控制动作<br/>(Control Action)"| Actuator Actuator -->|"物理输入"| Process Process -->|"物理输出"| Sensor Sensor -->|"反馈信息<br/>(Feedback)"| Controller subgraph UCA["⚠️ 不安全控制动作类型"] direction LR UCA1["1. 未提供必要的控制动作"] UCA2["2. 提供了不安全的控制动作"] UCA3["3. 控制动作时机不当"] UCA4["4. 控制动作持续时间不当"] end Controller -.->|"可能导致"| UCA style Controller fill:#e3f2fd,stroke:#1976d2 style Actuator fill:#fff3e0,stroke:#f57c00 style Process fill:#e8f5e9,stroke:#388e3c style Sensor fill:#fce4ec,stroke:#c2185b style UCA fill:#ffebee,stroke:#c62828

STPA 分析步骤

flowchart LR subgraph Step1["Step 1: 定义分析目的"] S1A[识别系统级损失] S1B[识别系统级危害] S1C[建立危害-损失关联] end subgraph Step2["Step 2: 建模控制结构"] S2A[识别控制器] S2B[识别控制动作] S2C[识别反馈通道] S2D[绘制控制结构图] end subgraph Step3["Step 3: 识别UCA"] S3A[分析每个控制动作] S3B[应用4种UCA类型] S3C[记录不安全控制动作] end subgraph Step4["Step 4: 识别致因场景"] S4A[控制器致因] S4B[控制路径致因] S4C[反馈路径致因] S4D[过程模型致因] end Step1 --> Step2 --> Step3 --> Step4

ADAS 系统 STPA 控制结构示例

flowchart TB subgraph Environment["🌍 外部环境"] OBJ["目标物体<br/>(车辆/行人)"] ROAD["道路环境"] end subgraph Driver["👤 驾驶员"] DRV["驾驶员输入"] end subgraph ADAS_Controller["🖥️ ADAS 控制器"] direction TB subgraph ProcessModel["过程模型"] PM1["目标状态估计"] PM2["本车状态估计"] PM3["环境模型"] end subgraph Algorithm["决策算法"] ALG1["风险评估"] ALG2["路径规划"] ALG3["控制策略"] end ProcessModel --> Algorithm end subgraph Perception["📷 感知系统"] CAM["摄像头"] RAD["毫米波雷达"] LID["激光雷达"] USS["超声波"] end subgraph Actuation["⚙️ 执行系统"] BRK["制动系统"] STR["转向系统"] ACC["动力系统"] end subgraph Vehicle["🚗 车辆动力学"] VEH["车辆状态"] end Environment --> Perception Driver --> ADAS_Controller Perception -->|"感知数据"| ADAS_Controller ADAS_Controller -->|"制动请求"| BRK ADAS_Controller -->|"转向请求"| STR ADAS_Controller -->|"加速请求"| ACC BRK & STR & ACC --> VEH VEH -->|"车辆状态反馈"| ADAS_Controller VEH -->|"影响"| Environment style ADAS_Controller fill:#e3f2fd,stroke:#1976d2,stroke-width:2px style Perception fill:#fff3e0,stroke:#f57c00 style Actuation fill:#e8f5e9,stroke:#388e3c

UCA 分析表模板

控制动作 未提供 错误提供 时机过早/过晚 持续时间不当
制动请求 前方有碰撞风险时未制动 无风险时误制动 制动时机过晚无法避障 制动持续过长导致追尾
转向请求 需规避时未转向 错误方向转向 转向时机导致失控 转向角度持续过大
加速请求 需汇入时未加速 危险区域加速 加速时机不当 加速持续过长

HARA vs TARA 对比分析

输入输出映射图

flowchart TB subgraph Inputs["📥 共同输入"] I1["系统定义 & 边界"] I2["功能描述"] I3["运行场景"] I4["利益相关者信息"] end subgraph HARA_Process["🛡️ HARA 过程 (ISO 26262)"] direction TB H1["Item 定义"] H2["危害识别<br/>(Hazard Identification)"] H3["危害场景分析"] H4["S/E/C 评估"] H5["ASIL 确定"] H6["安全目标定义"] H1 --> H2 --> H3 --> H4 --> H5 --> H6 end subgraph TARA_Process["🔐 TARA 过程 (ISO 21434)"] direction TB T1["资产识别"] T2["威胁识别<br/>(Threat Identification)"] T3["攻击路径分析"] T4["影响/可行性评估"] T5["CAL 确定"] T6["安全目标定义"] T1 --> T2 --> T3 --> T4 --> T5 --> T6 end subgraph HARA_Outputs["📤 HARA 输出"] HO1["危害清单"] HO2["ASIL 等级"] HO3["功能安全目标"] HO4["安全需求"] end subgraph TARA_Outputs["📤 TARA 输出"] TO1["威胁清单"] TO2["CAL 等级"] TO3["网络安全目标"] TO4["安全需求"] end Inputs --> HARA_Process Inputs --> TARA_Process HARA_Process --> HARA_Outputs TARA_Process --> TARA_Outputs style HARA_Process fill:#e8f5e9,stroke:#388e3c,stroke-width:2px style TARA_Process fill:#fff3e0,stroke:#f57c00,stroke-width:2px

关键概念对比

维度 HARA (功能安全) TARA (信息安全)
标准依据 ISO 26262 ISO 21434
分析对象 Item (系统/功能) Asset (资产/数据)
风险来源 系统故障/失效 恶意攻击/威胁
场景描述 危害场景 (Hazardous Event) 攻击场景 (Attack Scenario)
影响评估 Severity (严重度) Impact (影响程度)
暴露评估 Exposure (暴露度) Attack Feasibility (攻击可行性)
可控评估 Controllability (可控性) -
风险等级 ASIL (A/B/C/D) CAL (1/2/3/4)
输出目标 功能安全目标 (FSG) 网络安全目标 (CSG)

严重度评估对比

HARA - Severity (S)

等级 描述 伤害程度
S0 无伤害 -
S1 轻微伤害 可能轻伤
S2 严重伤害 可能重伤, 生存概率高
S3 致命伤害 可能致命

TARA - Impact

等级 安全影响 财务影响 运营影响 隐私影响
Severe 致命伤害 巨额损失 无法运营 大规模泄露
Major 严重伤害 重大损失 严重中断 敏感泄露
Moderate 轻微伤害 中等损失 部分中断 一般泄露
Negligible 无伤害 微小损失 轻微影响 无泄露

HARA-TARA 关联场景

flowchart LR subgraph Scenario["场景: 自动紧急制动失效"] direction TB FUNC["功能失效<br/>(HARA视角)"] CYBER["网络攻击<br/>(TARA视角)"] end subgraph HARA_Analysis["HARA 分析"] HA1["危害: AEB 误触发/漏触发"] HA2["S3: 可能致命碰撞"] HA3["E4: 高暴露度"] HA4["C2: 正常可控性"] HA5["ASIL D"] end subgraph TARA_Analysis["TARA 分析"] TA1["威胁: CAN 注入攻击"] TA2["Impact: Severe (Safety)"] TA3["Attack Feasibility: Medium"] TA4["CAL 4"] end FUNC --> HARA_Analysis CYBER --> TARA_Analysis HARA_Analysis -->|"同一失效模式"| Integration TARA_Analysis -->|"攻击可导致"| Integration subgraph Integration["🔗 综合安全需求"] INT1["需同时满足 ASIL D 和 CAL 4"] INT2["安全机制需抵抗故障+攻击"] end

分析方法选择指南

flowchart TD Start[开始分析] --> Q1{分析目标?} Q1 -->|功能安全合规| HARA Q1 -->|网络安全合规| TARA Q1 -->|系统级危害理解| STPA HARA --> Q2{需要系统级视角?} TARA --> Q3{需要理解控制缺陷?} Q2 -->|是| STPA_H[STPA 补充分析] Q2 -->|否| HARA_Done[完成 HARA] Q3 -->|是| STPA_T[STPA 补充分析] Q3 -->|否| TARA_Done[完成 TARA] STPA --> Q4{需要合规评级?} Q4 -->|功能安全| HARA_S[HARA 补充] Q4 -->|网络安全| TARA_S[TARA 补充] Q4 -->|否| STPA_Done[完成 STPA]

方法协同应用

项目阶段 推荐方法 说明
概念阶段 STPA 系统级危害识别,理解控制结构
Item 定义 HARA + TARA 建立安全等级基线
架构设计 STPA + HARA/TARA 验证架构决策的安全性
详细设计 FMEA/FTA 组件级失效分析
变更影响 增量 STPA 评估变更对控制结构的影响

实施模板

HARA 工作表模板

Item 功能失效 危害 场景 S E C ASIL 安全目标
AEB 制动不足 碰撞 城市道路 S3 E4 C2 D FSG-001
LKA 转向错误 偏离车道 高速公路 S3 E3 C2 C FSG-002

TARA 工作表模板

Asset 威胁 攻击路径 影响 可行性 Risk CAL 安全目标
制动ECU 消息伪造 CAN注入 Severe Medium High 4 CSG-001
OTA服务器 篡改固件 网络入侵 Severe Low Medium 3 CSG-002

最后更新: 2026-01-25

ML
Verified

Michael Lin

MAGNA Quality Manager
Architect of Compliance-Wächter
AI for ISO 21434 & UN R155

作为 MAGNA 质量经理,我在德国汽车电子行业深耕 10+ 年。每天我都见证着一个新的瓶颈: 网络安全合规 (UN R155 / ISO 21434)

我正在构建 Compliance-Wächter — 一个 AI 驱动的 Copilot, 自动化 TARA 分析,将合规文书工作减少 70%