3、攻击面分析:OBD-II接口攻击、无线攻击面(蓝牙/WiFi/蜂窝)、传感器欺骗攻击、CAN总线重放攻击

各位同学,今天我们聊点硬核的。攻击面分析,说白了就是搞清楚「敌人能从哪些地方下手」。我做了这么多年车载安全,见过太多「看似安全、一捅就破」的设计。你想想看,一辆车上有几十个ECU,上百个传感器,还有各种无线连接——这简直就是给黑客开了个后花园。

我个人习惯,拿到一辆新车的第一件事,不是看它的百公里加速,而是先扫描它的攻击面。嗯,职业病。今天我们就拆解四个最经典的攻击入口:OBD-II、无线、传感器和CAN总线。

3.1 OBD-II接口攻击:物理接入的噩梦

OBD-II接口,本来是给修车师傅用的。但在我眼里,它就是车上的「裸奔端口」。为什么这么说?因为它直接挂在CAN总线上,没有任何身份认证。

⚠️ 警告: OBD-II接口是物理攻击的首选目标。只要插上一个小设备,就能读取或发送CAN报文。

我在项目中遇到过一件事:某款车型的OBD接口,居然直接暴露在手套箱下方,没有任何防拆设计。黑客只需要一个几十块钱的OBD蓝牙适配器,就能坐在车里远程攻击。你想想看,这有多可怕?

常见的OBD-II攻击手段包括:

  • 报文嗅探:监听CAN总线上的所有通信,提取车速、油门、刹车等敏感数据
  • 报文注入:伪造ECU指令,比如发送「刹车解除」报文
  • 固件刷写:通过OBD接口直接刷写ECU固件,植入后门

我曾经帮一家OEM做过安全审计,发现他们的OBD接口连最基本的速率限制都没有。黑客可以以毫秒级的速度狂刷报文,ECU根本来不及校验。嗯,这里要注意:物理接口不等于可信接口

3.2 无线攻击面:蓝牙/WiFi/蜂窝

无线攻击面,是现在最热门的攻击入口。为什么?因为不需要物理接触。黑客可以坐在停车场,甚至隔着几条街发起攻击。

3.2.1 蓝牙攻击

蓝牙在车载中主要用于免提电话、音乐播放和数字钥匙。但蓝牙的配对机制,说实话,漏洞不少。

我记得有一次测试某款车的蓝牙模块,发现它居然支持「Just Works」配对模式——也就是不需要任何PIN码验证。黑客只需要在车附近扫描,就能直接连上车载蓝牙系统,然后通过音频通道注入恶意指令。

💡 避坑指南: 我曾经踩过这个坑——蓝牙配对一定要强制使用Numeric Comparison或Passkey Entry模式,别偷懒用Just Works。

3.2.2 WiFi攻击

车载WiFi主要用于OTA升级和车内热点。但WiFi的攻击面比蓝牙更广。黑客可以:

  • 伪造热点:创建一个同名WiFi热点,诱导车辆连接
  • 中间人攻击:截获OTA升级包,篡改固件
  • WPA2漏洞:利用KRACK攻击破解WiFi密码

我个人习惯,车载WiFi一定要启用WPA3,并且关闭WPS功能。WPS那玩意儿,说白了就是个安全后门。

3.2.3 蜂窝攻击

蜂窝网络(4G/5G)是车联网的核心。但它的攻击面更隐蔽。黑客可以通过伪基站(IMSI Catcher)拦截车辆的通信,或者直接攻击T-Box的基带处理器。

你想想看,如果黑客控制了T-Box,就能远程解锁车门、启动引擎、甚至切断刹车助力。这不是科幻片,这是真实存在的攻击场景。

🔑 关键点: 无线攻击面的核心防御思路是「加密+认证」。所有无线通信必须使用TLS 1.3或更高版本,并且双向认证。

3.3 传感器欺骗攻击:让车「瞎掉」

传感器是自动驾驶的眼睛。但如果黑客欺骗了传感器,车就变成了瞎子。

常见的传感器欺骗攻击包括:

  • 超声波传感器欺骗:用超声波干扰器让倒车雷达失效
  • 摄像头欺骗:用激光照射摄像头,造成过曝或盲区
  • 雷达欺骗:发射伪造的雷达回波,让ACC自适应巡航误判
  • GPS欺骗:伪造GPS信号,让车辆定位偏移

我在项目中遇到过最离谱的一次:某款车的超声波传感器居然没有做频率校验。黑客只需要用一个同频率的超声波发射器,就能让传感器误以为前方有障碍物,导致车辆急刹。嗯,这里要注意:传感器数据必须做交叉验证

举个例子,如果摄像头检测到前方有行人,但雷达没有检测到任何物体,系统就应该触发安全机制,而不是盲目信任摄像头。

⚠️ 警告: 传感器欺骗攻击很难被传统IDS检测到,因为攻击者注入的是「合法但虚假」的数据。必须使用多传感器融合和物理层校验。

3.4 CAN总线重放攻击:最经典的攻击方式

CAN总线重放攻击,说白了就是「录下来,再放一遍」。黑客先监听CAN总线上的报文,然后找到关键指令(比如解锁车门、启动引擎),再把这些报文原封不动地重放一遍。

为什么这种攻击有效?因为CAN总线协议本身没有时间戳、没有序列号、没有身份认证。同一个报文,发送一百遍,ECU都会乖乖执行。

我记得有一次做渗透测试,我录了一段「打开车窗」的CAN报文,然后在停车场对着同一款车重放——车窗真的降下来了。你想想看,如果录的是「解除刹车」呢?

防御CAN总线重放攻击的常见方法:

  • 添加序列号:每个报文都带一个递增的序列号,重复报文直接丢弃
  • 时间戳校验:报文必须包含时间戳,超出时间窗口的报文视为无效
  • 挑战-响应认证:发送方和接收方之间进行握手验证
🔑 关键点: 我个人强烈建议在关键ECU之间启用SecOC(安全车载通信)协议。虽然会增加一些延迟,但安全性提升是质的飞跃。

3.5 攻击面总结

好了,我们把这四个攻击面串起来看看。其实它们之间是有关联的:

攻击面 攻击难度 危害程度 防御重点
OBD-II接口 低(物理接触) 物理防护 + 认证
蓝牙/WiFi/蜂窝 中(远程) 极高 加密 + 双向认证
传感器欺骗 高(需专用设备) 多传感器融合
CAN总线重放 低(需接入总线) 极高 序列号 + 时间戳

说实话,这四个攻击面没有哪个是「绝对安全」的。但好消息是,只要我们做好分层防御,就能把攻击者的成本提到足够高。

我个人习惯,在设计IDS时,会优先关注CAN总线重放攻击和无线攻击面——因为这两个是「低成本、高回报」的攻击方式。传感器欺骗虽然厉害,但攻击者需要专用设备,门槛相对较高。

嗯,今天就到这里。下一章我们聊聊如何设计一个轻量级的车载IDS架构。到时候我会分享一些我在实际项目中踩过的坑,保证让你少走弯路。