3、攻击面分析:OBD-II接口攻击、无线攻击面(蓝牙/WiFi/蜂窝)、传感器欺骗攻击、CAN总线重放攻击
各位同学,今天我们聊点硬核的。攻击面分析,说白了就是搞清楚「敌人能从哪些地方下手」。我做了这么多年车载安全,见过太多「看似安全、一捅就破」的设计。你想想看,一辆车上有几十个ECU,上百个传感器,还有各种无线连接——这简直就是给黑客开了个后花园。
我个人习惯,拿到一辆新车的第一件事,不是看它的百公里加速,而是先扫描它的攻击面。嗯,职业病。今天我们就拆解四个最经典的攻击入口:OBD-II、无线、传感器和CAN总线。
3.1 OBD-II接口攻击:物理接入的噩梦
OBD-II接口,本来是给修车师傅用的。但在我眼里,它就是车上的「裸奔端口」。为什么这么说?因为它直接挂在CAN总线上,没有任何身份认证。
我在项目中遇到过一件事:某款车型的OBD接口,居然直接暴露在手套箱下方,没有任何防拆设计。黑客只需要一个几十块钱的OBD蓝牙适配器,就能坐在车里远程攻击。你想想看,这有多可怕?
常见的OBD-II攻击手段包括:
- 报文嗅探:监听CAN总线上的所有通信,提取车速、油门、刹车等敏感数据
- 报文注入:伪造ECU指令,比如发送「刹车解除」报文
- 固件刷写:通过OBD接口直接刷写ECU固件,植入后门
我曾经帮一家OEM做过安全审计,发现他们的OBD接口连最基本的速率限制都没有。黑客可以以毫秒级的速度狂刷报文,ECU根本来不及校验。嗯,这里要注意:物理接口不等于可信接口。
3.2 无线攻击面:蓝牙/WiFi/蜂窝
无线攻击面,是现在最热门的攻击入口。为什么?因为不需要物理接触。黑客可以坐在停车场,甚至隔着几条街发起攻击。
3.2.1 蓝牙攻击
蓝牙在车载中主要用于免提电话、音乐播放和数字钥匙。但蓝牙的配对机制,说实话,漏洞不少。
我记得有一次测试某款车的蓝牙模块,发现它居然支持「Just Works」配对模式——也就是不需要任何PIN码验证。黑客只需要在车附近扫描,就能直接连上车载蓝牙系统,然后通过音频通道注入恶意指令。
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,就能远程解锁车门、启动引擎、甚至切断刹车助力。这不是科幻片,这是真实存在的攻击场景。
3.3 传感器欺骗攻击:让车「瞎掉」
传感器是自动驾驶的眼睛。但如果黑客欺骗了传感器,车就变成了瞎子。
常见的传感器欺骗攻击包括:
- 超声波传感器欺骗:用超声波干扰器让倒车雷达失效
- 摄像头欺骗:用激光照射摄像头,造成过曝或盲区
- 雷达欺骗:发射伪造的雷达回波,让ACC自适应巡航误判
- GPS欺骗:伪造GPS信号,让车辆定位偏移
我在项目中遇到过最离谱的一次:某款车的超声波传感器居然没有做频率校验。黑客只需要用一个同频率的超声波发射器,就能让传感器误以为前方有障碍物,导致车辆急刹。嗯,这里要注意:传感器数据必须做交叉验证。
举个例子,如果摄像头检测到前方有行人,但雷达没有检测到任何物体,系统就应该触发安全机制,而不是盲目信任摄像头。
3.4 CAN总线重放攻击:最经典的攻击方式
CAN总线重放攻击,说白了就是「录下来,再放一遍」。黑客先监听CAN总线上的报文,然后找到关键指令(比如解锁车门、启动引擎),再把这些报文原封不动地重放一遍。
为什么这种攻击有效?因为CAN总线协议本身没有时间戳、没有序列号、没有身份认证。同一个报文,发送一百遍,ECU都会乖乖执行。
我记得有一次做渗透测试,我录了一段「打开车窗」的CAN报文,然后在停车场对着同一款车重放——车窗真的降下来了。你想想看,如果录的是「解除刹车」呢?
防御CAN总线重放攻击的常见方法:
- 添加序列号:每个报文都带一个递增的序列号,重复报文直接丢弃
- 时间戳校验:报文必须包含时间戳,超出时间窗口的报文视为无效
- 挑战-响应认证:发送方和接收方之间进行握手验证
3.5 攻击面总结
好了,我们把这四个攻击面串起来看看。其实它们之间是有关联的:
| 攻击面 | 攻击难度 | 危害程度 | 防御重点 |
|---|---|---|---|
| OBD-II接口 | 低(物理接触) | 高 | 物理防护 + 认证 |
| 蓝牙/WiFi/蜂窝 | 中(远程) | 极高 | 加密 + 双向认证 |
| 传感器欺骗 | 高(需专用设备) | 高 | 多传感器融合 |
| CAN总线重放 | 低(需接入总线) | 极高 | 序列号 + 时间戳 |
说实话,这四个攻击面没有哪个是「绝对安全」的。但好消息是,只要我们做好分层防御,就能把攻击者的成本提到足够高。
我个人习惯,在设计IDS时,会优先关注CAN总线重放攻击和无线攻击面——因为这两个是「低成本、高回报」的攻击方式。传感器欺骗虽然厉害,但攻击者需要专用设备,门槛相对较高。
嗯,今天就到这里。下一章我们聊聊如何设计一个轻量级的车载IDS架构。到时候我会分享一些我在实际项目中踩过的坑,保证让你少走弯路。