4. 车辆网络安全威胁与攻击面
车辆网络安全验证的第一步不是“找漏洞”,而是把谁在攻击、攻击什么、从哪里进入、会造成什么后果讲清楚。攻击面决定了验证边界,攻击者模型决定了测试强度,威胁建模决定了优先级,而风险等级评估则决定资源投入顺序。本节围绕这四条主线展开,并给出可直接用于工程落地的分析框架。
一、攻击者模型:从动机到能力的分层
攻击者模型不是简单罗列“黑客”,而是按动机、资源、访问距离、技术能力四个维度分层。不同层级的攻击者对应不同的验证策略:远程攻击者关注通信链路与云接口,物理接触攻击者关注OBD、USB、调试口,供应链攻击者关注零部件固件与更新通道。
| 攻击者类型 | 典型动机 | 访问距离 | 能力等级 | 验证重点 |
|---|---|---|---|---|
| 脚本小子 | 炫耀、破坏 | 远程/近场 | 低 | 已知漏洞、弱口令、未授权接口 |
| 白帽研究者 | 漏洞披露、学术 | 物理+远程 | 中高 | 协议模糊测试、逆向分析 |
| 网络犯罪团伙 | 勒索、盗车 | 远程/供应链 | 高 | 密钥提取、远程控制、OTA劫持 |
| APT/国家级 | 情报、破坏 | 供应链+长期潜伏 | 极高 | 固件植入、侧信道、持久化后门 |
| 内部人员 | 报复、利益 | 诊断口/产线 | 中高 | 权限滥用、诊断服务越权 |
二、威胁建模:从资产到攻击路径
威胁建模的核心是回答四个问题:保护什么(资产)、担心什么(威胁)、哪里薄弱(脆弱性)、怎么发生(攻击路径)。工程上常用“资产—接口—数据流—信任边界”四步法:先列出ECU、网关、T-Box、云端、移动App等资产,再标注CAN、以太网、蓝牙、蜂窝、USB等接口,然后绘制数据流图,最后在信任边界处标记威胁。
信任边界是威胁建模的关键。例如:T-Box与车机之间、车机与网关之间、网关与动力CAN之间,每一处跨越都意味着认证、加密、访问控制必须被验证。边界模糊的地方,往往就是攻击者横向移动的通道。
三、STRIDE:六类威胁的系统化检查
STRIDE是微软提出的威胁分类方法,在车辆场景中可直接映射到具体攻击:
- Spoofing(仿冒):伪造T-Box身份接入云端,或伪造ECU报文。
- Tampering(篡改):修改OTA固件、篡改CAN信号值。
- Repudiation(抵赖):诊断操作无审计日志,无法追溯。
- Information Disclosure(信息泄露):密钥硬编码、日志泄露位置。
- Denial of Service(拒绝服务):CAN总线泛洪、网关过载。
- Elevation of Privilege(权限提升):从娱乐域提权到动力域。
STRIDE的价值在于逐元素检查:对每个数据流、每个接口、每个存储点,逐一问“这六类威胁是否可能发生”。它不替代攻击树,但能保证覆盖度。
四、攻击树:把威胁拆成可验证的路径
攻击树以“攻击目标”为根,向下分解为子目标,直到叶子节点是可执行的具体动作。例如根节点“远程控制车辆制动”,可分解为“获取云端权限”“突破网关”“注入CAN报文”三条路径,每条路径再细化到具体漏洞利用。攻击树的叶子节点就是渗透测试用例的来源。
五、典型攻击案例与风险等级评估
真实案例能校准威胁模型的优先级。2015年Jeep Cherokee远程控制事件中,攻击者通过蜂窝网络进入T-Box,再横向移动至CAN总线,最终控制制动与转向。该案例暴露了信任边界缺失与总线无认证两个核心问题。2022年某品牌无钥匙进入系统被中继攻击,攻击者放大钥匙信号实现解锁,属于协议设计缺陷。OTA升级被劫持的案例则说明签名校验与回滚保护必须同时验证。
风险等级评估常用DREAD模型或CVSS结合车辆影响。工程上更推荐“可能性×影响”矩阵:可能性由攻击面暴露度、漏洞利用难度决定;影响由安全等级(ASIL)、人身伤害、隐私、法规决定。下表给出简化评估清单:
| 风险项 | 可能性 | 影响 | 等级 | 处置建议 |
|---|---|---|---|---|
| CAN报文无认证注入 | 高 | 严重 | 严重 | 部署SecOC或网关过滤 |
| 诊断服务未鉴权 | 中高 | 严重 | 高 | 启用27服务+安全访问 |
| OTA签名校验缺失 | 中 | 严重 | 高 | 强制签名+回滚保护 |
| 日志泄露位置信息 | 中 | 中 | 中 | 脱敏+访问控制 |
| 蓝牙配对弱口令 | 高 | 中 | 中高 | 强制配对确认+密钥强度 |
六、复盘:从威胁模型到验证闭环
威胁建模的产出必须可追踪:每个威胁对应攻击树路径,每条路径对应测试用例,每个用例对应风险等级与修复验证。建议用如下结构固化:
威胁ID: T-004
STRIDE类别: Tampering / Elevation of Privilege
攻击树路径: 根目标→路径B→诊断服务未鉴权
测试用例: TC-DIAG-007 诊断会话越权写入
风险等级: 严重
修复措施: 启用安全访问+网关白名单
验证状态: 待复测
只有把攻击者模型、威胁建模、STRIDE、攻击树和风险等级评估串成一条可执行、可追踪、可复测的链路,车辆网络安全验证才不是纸面合规,而是真正降低攻击面、提升攻击成本的工程能力。