2、车载网络威胁模型:常见的攻击向量、攻击者能力分级与资产识别
大家好,我是你们的讲师。今天我们来聊聊车载网络威胁模型。说实话,这个章节是整个课程的地基。你想想看,如果连敌人是谁、从哪来、想干什么都没搞清楚,那后面的加密方案再漂亮也是白搭。
我在做车载安全项目时,最怕听到的一句话就是:“我们的车很安全,因为没人会黑它。” 嗯,这种想法在2015年之前或许还能成立,但现在嘛……咱们还是务实一点好。
2.1 常见的攻击向量
攻击向量,说白了就是黑客进入车载网络的入口。我把它分成三大类:物理访问、无线攻击、OBD注入。咱们一个一个说。
2.1.1 物理访问攻击
这类攻击需要攻击者直接接触到车辆硬件。听起来门槛高?其实不然。我记得有一次做渗透测试,一辆车的车门锁居然能被一个简单的电磁脉冲干扰器打开……嗯,那是另一个故事了。
常见的物理攻击点包括:
- CAN总线裸露端子:很多车型的CAN总线在OBD接口、大灯模组、甚至后备箱里都能直接找到。拿个示波器或者USBCAN设备就能监听。
- ECU调试接口:比如JTAG、SWD接口。如果没做物理防护,直接就能读取固件。
- 传感器线束:比如轮速传感器、刹车压力传感器的线束被剪断或短接,会导致ABS、ESP误判。
我曾经见过一个项目,工程师把CAN_H和CAN_L的线序接反了,结果整车网络瘫痪。物理层面的可靠性,有时候比加密更重要。
2.1.2 无线攻击
这是目前最主流的攻击方式。攻击者不需要靠近车辆,远程就能下手。我把它细分为几类:
- 蓝牙/Wi-Fi攻击:车载信息娱乐系统(IVI)通常开放蓝牙和Wi-Fi。如果固件有漏洞,攻击者可以通过缓冲区溢出拿到root权限,然后通过网关进入CAN网络。
- 蜂窝网络攻击:T-Box通过4G/5G联网。如果T-Box的OTA更新机制没做好签名验证,攻击者可以伪造服务器下发恶意固件。
- 无钥匙进入系统(RKE/PKE)攻击:中继攻击(Relay Attack)是最经典的。两个攻击者一个靠近车,一个靠近钥匙,通过信号中继让车误以为钥匙就在身边。我测试过,最远能中继到300米。
- GPS/GNSS欺骗:发送虚假的GPS信号,让车辆定位系统误判位置。这对自动驾驶来说可是致命的。
我在做T-Box安全审计时发现,很多厂商只关注了CAN报文加密,却忽略了T-Box本身的Linux系统安全。结果攻击者通过Wi-Fi进入T-Box,直接读取了CAN总线上的明文数据。加密做得再好,源头被攻破也是白费。
2.1.3 OBD注入攻击
OBD接口是车载网络的“后门”。很多诊断工具、刷写设备都通过OBD接口操作。但这也给了攻击者可乘之机。
常见的OBD注入方式:
- 恶意诊断工具:比如市面上一些廉价的OBD蓝牙适配器,固件里可能藏有恶意代码。插上后自动发送伪造的诊断请求,修改ECU参数。
- OBD中间人攻击:在OBD接口和诊断仪之间串联一个设备,实时篡改CAN报文。我在实验室里做过一个demo,通过这种方式成功让仪表盘显示的车速比实际车速慢了20km/h。
- 固件刷写攻击:通过OBD接口刷写ECU固件。如果刷写流程没有签名验证,攻击者可以刷入恶意固件。
OBD接口是物理访问和无线攻击的结合点。攻击者可以通过蓝牙OBD适配器实现远程攻击。所以,我建议所有量产车都要对OBD接口做访问控制,比如需要物理按键确认才能进入诊断模式。
2.2 攻击者能力分级
不是所有攻击者都一个水平。我习惯把攻击者分成三个等级,这样在做风险评估时更有针对性。
| 等级 | 能力描述 | 典型攻击方式 | 所需资源 |
|---|---|---|---|
| L1 - 脚本小子 | 只会使用现成工具,不懂底层原理 | 使用公开的CAN总线嗅探工具、OBD蓝牙适配器 | 低(几百元设备) |
| L2 - 专业黑客 | 懂嵌入式系统、网络协议,能逆向分析固件 | 固件提取、CAN报文逆向、中继攻击 | 中(几万元设备+时间) |
| L3 - 国家级攻击者 | 拥有完整团队,能发现0day漏洞,能物理接触车辆 | 芯片级逆向、侧信道攻击、供应链攻击 | 高(百万级+团队) |
为什么要分级?因为防护成本不一样。你不可能花100万去防一个脚本小子,也不能只用一把锁去防国家级攻击者。说白了,安全是个经济学问题。
对于量产车,我通常建议至少防住L2级别的攻击者。L3级别的攻击者,说实话,防不住是常态,但可以通过检测和响应机制来降低损失。
2.3 资产识别与风险评估
资产识别,就是搞清楚车上什么东西值得保护。风险评估,就是搞清楚这些东西被攻击后会有什么后果。
2.3.1 资产分类
我把车载资产分成四类:
- 安全关键资产:制动系统、转向系统、动力系统、安全气囊。这些一旦被攻击,直接威胁人身安全。
- 功能资产:空调、车窗、座椅、灯光。被攻击后影响舒适性,但不致命。
- 隐私资产:车辆位置、行驶轨迹、通话记录、联系人。被攻击后泄露用户隐私。
- 商业资产:固件代码、标定数据、诊断算法。被攻击后导致知识产权泄露。
2.3.2 风险评估方法
我常用的方法是基于ISO 21434的威胁分析与风险评估(TARA)。简单来说,就是评估每个资产的攻击可行性和影响严重性。
举个例子:
资产:制动系统ECU
攻击可行性:高(CAN总线无加密,物理可访问)
影响严重性:致命(制动失效导致车祸)
风险等级:极高(必须采取防护措施)
资产:空调ECU
攻击可行性:高(同样在CAN总线上)
影响严重性:低(最多不制冷)
风险等级:低(可以不做特殊防护)
风险评估不是一次性的。车辆生命周期中,固件会升级、新漏洞会出现、攻击技术会进步。我建议每半年重新做一次风险评估。
2.3.3 我的实战经验
我记得有一次做风险评估,客户坚持认为“所有CAN报文都要加密”。我问他:“你空调的开关指令被篡改了,会死人吗?” 他想了想说:“不会。” 我说:“那为什么要花几百万去加密它?”
安全不是非黑即白的。你得算账。把有限的资源投入到最需要保护的地方,这才是安全架构师的价值所在。
我曾经见过一个团队,把所有CAN报文都加密了,结果导致诊断工具无法正常工作,售后维修效率下降了50%。最后不得不回滚方案。记住:安全不能牺牲可维护性。
2.4 本章小结
好了,这一章的内容就到这里。我们来捋一捋重点:
- 攻击向量有物理、无线、OBD三大类,每个都有不同的防护重点。
- 攻击者分三级,防护策略要量力而行。
- 资产识别和风险评估是安全方案的基础,别一上来就想着加密。
下一章,我们会深入CAN FD协议本身,看看它的帧结构、仲裁机制,以及为什么传统CAN的安全机制在CAN FD上不够用。到时候见。