2. 车载网络基础

各位同学,欢迎来到第二章。上一章我们聊了车载网络架构的演变,从CAN总线一路走到以太网+域控。但架构越复杂,攻击者能下手的地方就越多。今天我们就来系统梳理一下:攻击者到底能从哪些地方打进来?他们用什么套路?我们怎么用模型去分析这些威胁?

我个人习惯,做安全分析之前,先画一张全景图,把攻击面、攻击场景和攻击链模型串起来。这样心里有个谱,后面做隔离和检测方案时才知道重点防哪里。

车载网络安全威胁分析全景图 车载网络安全威胁分析全景图 攻击面分析 • 远程攻击面 • 近场攻击面 • 物理攻击面 • 供应链攻击面 典型攻击场景 • 远程攻击 • 近场攻击 • 物理攻击 • 供应链攻击 攻击链模型 • STRIDE 模型 • 攻击树模型 • 杀伤链模型 • MITRE ATT&CK 核心思路 先摸清攻击面 → 再分析典型攻击场景 → 最后用模型结构化描述威胁 攻击面识别 场景分析 模型化描述 最终目标:为车载网络隔离策略与入侵检测规则提供输入 攻击面 → 攻击场景 → 攻击链模型 → 安全需求 → 防御方案

2.1 攻击面分析:攻击者从哪里下手?

攻击面,说白了就是车辆暴露给攻击者的所有入口。我经常跟团队说:你连门都数不清,怎么守门?车载系统的攻击面,我习惯分成四大类。

攻击面类别 典型入口 攻击者条件 风险等级
远程攻击面 T-Box、4G/5G、Wi-Fi、蓝牙、V2X 任意位置,有网络即可 极高
近场攻击面 蓝牙、NFC、UWB、Wi-Fi Direct 车辆附近(10-100米) 高
物理攻击面 OBD-II、USB、调试接口、拆壳 需要物理接触车辆 中高
供应链攻击面 固件更新包、第三方SDK、诊断工具 在开发或售后环节介入 中

我的经验:远程攻击面是当前最危险的。为什么?因为攻击者可以在世界任何角落发起攻击,不需要靠近车辆。我记得2022年某团队演示过,通过T-Box的4G漏洞远程控制了一辆量产车的刹车系统——这就是远程攻击面的典型例子。

2.2 典型攻击场景

攻击面是入口,攻击场景是攻击者具体怎么操作。我按攻击距离分成三类,每一类都有真实案例。

2.2.1 远程攻击场景

远程攻击是当前车载安全最大的噩梦。攻击者不需要靠近车辆,只需要找到网络入口。

  • T-Box远程入侵:通过4G/5G蜂窝网络,利用T-Box固件漏洞或弱口令,获取T-Box root权限,进而访问车内网络。
  • 云端到车端攻击:攻击车联网云平台,下发恶意指令或篡改OTA升级包,实现批量控车。
  • V2X攻击:伪造V2X消息(如红绿灯信号、前车刹车信息),诱导车辆做出危险决策。

避坑指南:我曾经见过一个项目,T-Box和IVI之间没有任何隔离,T-Box被攻破后直接就能发CAN报文控制刹车。这就是典型的「远程攻击面 + 网络隔离缺失」组合拳。所以后面我们会花大量篇幅讲网络隔离。

2.2.2 近场攻击场景

近场攻击需要攻击者在车辆附近,但不需要物理接触。这类攻击往往被低估。

  • 蓝牙重放攻击:捕获蓝牙钥匙的配对信号,重放后解锁车门。我记得某国际品牌就出过这类漏洞。
  • Wi-Fi中间人攻击:在车辆连接公共Wi-Fi时,攻击者伪造热点,截获或篡改车机与云端通信。
  • NFC中继攻击:用中继设备放大NFC信号,让车主以为钥匙在车内,实际攻击者在远处就能启动车辆。

2.2.3 物理攻击场景

物理攻击需要接触车辆,但一旦得手,破坏力极大。你想想看,攻击者都摸到车了,还有什么不能干的?

  • OBD-II端口攻击:通过OBD-II接口直接接入CAN总线,发送诊断报文或恶意控制指令。
  • USB调试接口攻击:通过车机USB口进入ADB模式,安装恶意应用或提取敏感数据。
  • 拆壳硬件攻击:拆开ECU外壳,通过JTAG/SWD调试接口读取固件或注入代码。

个人建议:物理攻击虽然需要接触,但你不能假设攻击者永远接触不到。比如代客泊车、维修保养、二手车交易等场景,车辆都可能脱离车主控制。所以物理接口的防护同样重要。

2.3 攻击链模型:怎么结构化描述威胁?

光知道攻击面和攻击场景还不够。我们需要一个结构化的模型来描述和分析威胁。我个人最常用的是STRIDE和攻击树,下面详细讲。

2.3.1 STRIDE 模型

STRIDE是微软提出的威胁建模方法,把威胁分成六类。每个字母代表一类威胁。

字母 威胁类型 车载场景举例 影响
S Spoofing(欺骗) 伪造V2X消息、伪造ECU身份 身份假冒
T Tampering(篡改) 篡改CAN报文、修改固件 数据完整性破坏
R Repudiation(抵赖) 否认发送过诊断指令 不可追溯
I Information Disclosure(信息泄露) 窃取车辆位置、用户隐私 机密性破坏
D Denial of Service(拒绝服务) CAN总线泛洪攻击、OTA服务瘫痪 可用性破坏
E Elevation of Privilege(权限提升) 从IVI普通用户提权到系统管理员 越权操作

实战用法:我在做安全需求分析时,会针对每个数据流(比如T-Box到网关的通信),逐一问自己:这个流会不会被欺骗?会不会被篡改?会不会导致信息泄露?这样就能系统性地找出所有威胁,而不是靠拍脑袋。

2.3.2 攻击树模型

攻击树是一种树形结构,根节点是攻击者的最终目标,子节点是达成目标需要的子步骤。说白了,就是把攻击者的思路画出来。

举个例子,攻击者的目标是「远程控制车辆刹车」。攻击树可能是这样的:

根目标:远程控制车辆刹车
├── 1. 获取T-Box远程访问权限
│   ├── 1.1 利用T-Box固件漏洞
│   ├── 1.2 暴力破解T-Box SSH密码
│   └── 1.3 通过云端下发恶意配置
├── 2. 从T-Box渗透到网关
│   ├── 2.1 利用T-Box与网关之间的未加密通信
│   └── 2.2 利用网关固件漏洞
├── 3. 从网关发送刹车CAN报文
│   ├── 3.1 伪造刹车ECU的CAN ID
│   └── 3.2 绕过网关的CAN报文过滤规则
└── 4. 触发刹车动作
    └── 4.1 发送连续刹车指令直到车辆停止

我的习惯:画攻击树时,我会把每个叶子节点(最底层的子步骤)都标上「攻击难度」和「检测难度」。比如「暴力破解SSH密码」攻击难度低但检测难度高(容易被日志记录),而「利用固件漏洞」攻击难度高但检测难度低(需要0day)。这样就能指导我们优先防御哪些路径。

2.4 威胁分析实战:一个完整的例子

光说不练假把式。我们拿一个真实场景来走一遍完整的威胁分析流程。

场景:某车型支持手机App远程启动空调。攻击者想通过这个功能远程启动车辆并开走。

第一步:攻击面识别

  • 远程攻击面:手机App、云端API、T-Box蜂窝网络
  • 近场攻击面:手机与车辆之间的蓝牙配对
  • 物理攻击面:T-Box调试接口

第二步:攻击场景分析

  • 场景A:攻击者破解手机App账号密码,直接远程启动车辆
  • 场景B:攻击者拦截手机App与云端之间的通信,重放启动指令
  • 场景C:攻击者通过T-Box漏洞,直接发送启动指令到CAN总线

第三步:STRIDE威胁建模

数据流 S T R I D E
手机App → 云端 ✓ ✓ ✓ ✓
云端 → T-Box ✓ ✓ ✓
T-Box → 网关 ✓ ✓ ✓
网关 → 车身ECU ✓ ✓

第四步:攻击树分析

根目标:远程启动车辆并开走。子路径包括破解账号、重放指令、T-Box漏洞利用等。每个叶子节点都标注了防御措施。

重要提醒:威胁分析不是一次性的工作。车辆上市后,新的攻击手法会不断出现。我建议每半年做一次威胁分析更新,特别是OTA升级后、新功能上线后。

2.5 本章小结

好了,这一章的内容就到这里。我们系统梳理了:

  • 攻击面:远程、近场、物理、供应链四大入口
  • 攻击场景:远程攻击、近场攻击、物理攻击的具体手法
  • 攻击链模型:STRIDE六类威胁和攻击树结构化分析