4. 安全网关的威胁模型与攻击面分析

车载安全网关(如 NXP S32G)位于整车电子电气架构的中央,它同时连接 CAN/CAN-FD、LIN、FlexRay、车载以太网以及外部诊断与 OTA 通道。正因为它是"汇聚点",攻击者一旦突破网关,就能横向移动到动力、底盘、车身等关键域。因此,威胁建模不是安全团队的一次性文档工作,而是贯穿网关设计、集成与运维的系统方法。本节围绕诊断、OTA、以太网、CAN 注入四条典型攻击路径,说明如何建立威胁模型并做可量化的风险评估。

一、先定义资产、信任边界与攻击面

威胁模型的第一步是明确"保护什么"。对 S32G 网关而言,核心资产包括:安全启动根密钥与 HSE 固件、SecOC 密钥与新鲜度值、诊断安全访问(Security Access)种子密钥、OTA 镜像签名验证公钥、网关路由与防火墙策略表、以及各域控的报文转发通道。资产确定后,需要画出信任边界:芯片内部(HSE、TZ 隔离区)为高信任区,网关应用核(A53/M7)为中等信任区,外部总线与诊断接口为低信任区。攻击面就是所有跨越信任边界的入口点,可归纳为四类:

  • 诊断面:UDS over CAN/DoIP,包括 0x27 安全访问、0x2E 写数据、0x31 例程控制、0x34/0x36 下载。
  • OTA 面:云端下发镜像、网关接收与分发、签名校验与回滚保护。
  • 以太网面:SOME/IP、DoIP、TSN 流量,以及网关的 IP 转发与 VLAN 隔离。
  • CAN 注入面:物理接入 OBD 或劫持某 ECU 后伪造报文,绕过网关或触发错误处理。

下面这张图给出四条攻击路径与网关内部防护点的对应关系,可作为威胁建模的起点。

S32G 安全网关:四条攻击路径与防护点 外部攻击者 OBD / 云端 / 以太网口 ① 诊断路径 UDS 0x27/0x2E/0x34 ② OTA 路径 镜像下发/回滚 ③ 以太网路径 SOME/IP / DoIP ④ CAN 注入路径 伪造报文/重放 S32G 网关防护层 HSE 安全启动 / 密钥存储 SecOC 新鲜度校验 防火墙 / VLAN 隔离 诊断会话与权限控制 OTA 签名验证 / 回滚保护 IDPS 入侵检测与限流 TZ 隔离 / 安全日志 动力/底盘域 关键控制报文 车身/信息域 舒适与娱乐 诊断/OTA 服务 刷写与配置 风险评估要素(STRIDE + DREAD 简化) S 欺骗:伪造诊断身份 / 伪造 ECU 报文  T 篡改:修改 OTA 镜像 / 改写路由表 R 抵赖:诊断操作无审计日志      I 信息泄露:密钥或固件被读出 D 拒绝服务:总线洪泛 / 诊断会话占满  E 权限提升:绕过安全访问进入编程会话 风险值 = 可能性 × 影响,按 1~5 打分,≥15 为高,8~14 为中,<8 为低

二、四条路径的威胁建模要点

诊断路径是最经典的入口。攻击者通过 OBD 口发送 0x27 请求种子,若网关对种子生成使用弱随机数或固定算法,就可能被离线破解。建模时要关注:安全访问是否与诊断会话绑定、0x2E 写数据是否校验目标 DID 的权限、0x34 下载是否要求先进入扩展会话并解锁。一个常见的错误是只在应用层做校验,而 HSE 侧没有对密钥使用做访问控制,导致密钥可被导出。

OTA 路径的风险集中在镜像完整性与回滚。攻击者若控制云端或中间人,可能下发旧版本固件触发已知漏洞。建模时应明确:镜像签名算法(如 ECDSA P-256)、公钥存储位置(HSE 只读区)、版本号单调递增策略、以及失败回滚时的安全状态。S32G 的 HSE 支持安全启动链,OTA 镜像在写入前必须完成签名验证,验证失败应拒绝写入并记录事件。

以太网路径的威胁来自协议栈与转发策略。SOME/IP 服务发现若未做访问控制,攻击者可订阅敏感信号;DoIP 若开放了未授权诊断路由,可绕过 CAN 侧限制。建模时要检查 VLAN 划分、IP 表规则、以及 TSN 流过滤是否覆盖所有跨域流量。网关的防火墙规则应默认拒绝,仅放行白名单服务 ID 与端口。

CAN 注入路径通常发生在物理层。攻击者接入总线后伪造报文,若网关仅按 ID 转发而不校验 SecOC,就可能把伪造报文送入关键域。建模时要评估:哪些报文启用了 SecOC、新鲜度值同步机制、以及网关对异常频率报文的限流能力。对于未启用 SecOC 的报文,应通过 IDPS 做频率与内容基线检测。

三、可执行的风险评估方法

威胁建模的产出应是一张可排序的风险清单。推荐用"可能性 × 影响"的简化 DREAD 打分,每项 1~5 分,乘积≥15 为高风险,8~14 为中风险,<8 为低风险。可能性考虑攻击复杂度、所需权限、是否可远程;影响考虑对安全目标(机密性、完整性、可用性)的破坏程度。下面给出一个可直接填写的评估表样例,参数为教学示例,实际项目需按车型与架构调整。

编号攻击路径威胁描述可能性影响风险值处置建议
T-01诊断0x27 种子可预测,离线破解后进入编程会话4520(高)HSE 生成随机种子,限制尝试次数
T-02OTA中间人替换镜像,签名校验被跳过3515(高)强制 HSE 验签,公钥只读存储
T-03以太网SOME/IP 未授权订阅,泄露车速信号4312(中)服务白名单 + VLAN 隔离
T-04CAN 注入伪造未启用 SecOC 的扭矩报文3515(高)关键报文启用 SecOC,IDPS 基线检测
T-05诊断诊断会话占满导致正常诊断不可用326(低)会话超时与并发限制
建模时建议先画数据流图(DFD),标出所有跨信任边界的接口,再对每个接口套用 STRIDE。S32G 的 HSE、TZ、IDPS 是三个关键防护锚点,评估时应确认每个高风险威胁至少有一个锚点覆盖。

四、从模型到验证

威胁模型不是纸面文档,必须落到可验证的测试用例。例如针对 T-01,测试用例可设计为:连续发送 100 次 0x27 请求,观察种子是否重复、失败次数是否触发锁定;针对 T-04,用 CAN 工具以 10 倍正常周期注入伪造 ID,观察网关是否限流并记录 IDPS 事件。验证结果应回写到风险表,更新可能性与影响评分,形成闭环。只有经过验证的威胁模型,才能真正指导 S32G 网关的安全策略治理。