导读:自动驾驶依赖传感器"感知"世界,但这些传感器可被欺骗。本文解析激光雷达、摄像头、毫米波雷达的攻击手法,并给出多传感器融合的防御方案。
| 传感器 |
作用 |
数量 |
安全等级 |
| 激光雷达 (LiDAR) |
3D 环境建模 |
1-4 个 |
🔴 高 |
| 摄像头 |
视觉识别、车道线 |
6-12 个 |
🔴 高 |
| 毫米波雷达 |
测速、测距 |
4-8 个 |
🟠 中 |
| 超声波雷达 |
泊车辅助 |
8-12 个 |
🟡 低 |
| GNSS/IMU |
定位、姿态 |
1 套 |
🔴 高 |
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 激光雷达 │ │ 摄像头 │ │ 毫米波雷达 │
│ 点云数据 │ │ 图像数据 │ │ 目标列表 │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└────────────────┼────────────────┘
▼
┌─────────────────┐
│ 传感器融合 │
│ (卡尔曼滤波/深度学习)│
└────────┬────────┘
▼
┌─────────────────┐
│ 环境模型 │
│ (障碍物、车道、交通标志)│
└────────┬────────┘
▼
┌─────────────────┐
│ 决策规划 │
│ (路径规划、控制) │
└─────────────────┘
安全关键点:
- 单一传感器被欺骗 → 融合层应能发现异常
- 多传感器同时被欺骗 → 系统应进入安全模式
攻击原理
激光雷达通过发射激光脉冲并测量反射时间计算距离。
欺骗方式:
1. 致盲攻击:强光照射接收器,使其饱和
2. 虚假目标注入:同步发射激光,伪造障碍物
3. 距离欺骗:延迟发射,改变测量距离
实验验证(密歇根大学研究)
攻击设备:
- 脉冲激光器(905nm,与 LiDAR 同波长)
- 同步控制电路
- 成本:约 2000 美元
攻击效果:
- 在 LiDAR 前方 100 米处"制造"虚假障碍物
- 自动驾驶车辆紧急刹车
- 或"抹除"真实障碍物 → 碰撞风险
防御方案
| 方案 |
原理 |
效果 |
| 多雷达交叉验证 |
多个 LiDAR 从不同角度扫描 |
单点欺骗易被发现 |
| 强度检测 |
检测反射光强度异常 |
可发现致盲攻击 |
| 时间戳验证 |
验证激光发射 - 接收时间一致性 |
可发现延迟欺骗 |
| 融合摄像头 |
视觉验证障碍物存在 |
跨传感器验证 |
攻击类型
(1)对抗样本攻击
原始图像:停车标志
↓ 添加人眼不可见的扰动
对抗图像:停车标志 + 扰动
↓
AI 识别结果:限速 45 公里
攻击效果:
- 停车标志被识别为限速标志
- 车道线"消失"或"偏移"
- 行人/车辆检测失效
(2)投影攻击
攻击者用投影仪在路面投射虚假车道线
↓
摄像头捕获虚假车道线
↓
车辆偏离真实车道
防御方案
| 方案 |
描述 |
| 对抗训练 |
在训练数据中加入对抗样本 |
| 多帧验证 |
连续多帧识别结果应一致 |
| 传感器融合 |
与 LiDAR/雷达数据交叉验证 |
| 异常检测 |
检测图像异常(过曝、投影边界) |
攻击方式
(1)干扰攻击
- 发射同频噪声,使雷达无法检测真实目标
(2)欺骗攻击
- 接收雷达信号,延迟后重发
- 伪造虚假目标距离/速度
特点
| 攻击类型 |
难度 |
成本 |
防御难度 |
| 干扰攻击 |
低 |
低 |
中 |
| 欺骗攻击 |
中 |
中 |
高 |
攻击原理
GNSS 接收器信任卫星信号,攻击者可发射伪造信号。
攻击效果:
- 车辆定位偏移("我在 100 米外")
- 时间同步错误
- 导航系统失效
真实案例
2019 年黑海 GNSS 欺骗事件:
- 多艘船只 GPS 显示位置在机场(而非实际位置)
- 推测为军事 GNSS 欺骗测试
防御方案
| 方案 |
原理 |
| 多星座融合 |
GPS + 北斗 + GLONASS + Galileo,需同时欺骗所有系统 |
| 惯性导航 |
IMU 推算位置,与 GNSS 对比 |
| 视觉定位 |
摄像头识别路标,与地图匹配 |
| 信号认证 |
使用加密的军用/民用信号(如 GPS L1C) |
┌─────────────────────────────────────────────────────┐
│ 传感器融合安全架构 │
├─────────────────────────────────────────────────────┤
│ │
│ 前融合(数据级): │
│ 原始数据 → 融合 → 检测 │
│ 优点:信息损失少 │
│ 风险:单一传感器污染影响全局 │
│ │
│ 后融合(决策级): │
│ 各传感器独立检测 → 投票/加权 → 最终决策 │
│ 优点:故障隔离 │
│ 风险:信息损失 │
│ │
│ 推荐:混合融合 │
│ 关键目标用后融合,一般环境用前融合 │
│ │
└─────────────────────────────────────────────────────┘
(1)一致性检查
# 伪代码:多传感器一致性验证
defvalidate_perception(lidar_targets, camera_targets, radar_targets):
for target in lidar_targets:
# 在摄像头和雷达中查找匹配目标
camera_match = find_match(target, camera_targets)
radar_match = find_match(target, radar_targets)
if not camera_match and not radar_match:
# 仅 LiDAR 检测到,可能是虚假目标
if target.distance < 50: # 近距离需警惕
alert("疑似虚假障碍物")
return False
return True
(2)置信度融合
传感器置信度权重:
-激光雷达:0.4(距离精确)
-摄像头:0.35(分类准确)
-毫米波雷达:0.25(测速准确)
最终置信度=Σ(传感器置信度×权重)
if最终置信度<阈值:
进入安全模式(减速、停车)
感知系统异常 → 分级响应:
Level 1(轻微异常):
├── 告警提示驾驶员
└── 增加传感器采样频率
Level 2(中度异常):
├── 限制车速(如 60 km/h 以下)
├── 要求驾驶员接管
└── 记录日志
Level 3(严重异常):
├── 立即减速停车
├── 开启双闪
└── 联系远程协助
| 场景 |
测试内容 |
预期结果 |
| 隧道 |
GNSS 信号丢失 |
惯性导航接管,定位连续 |
| 强光 |
摄像头过曝 |
LiDAR/雷达补偿,功能正常 |
| 恶劣天气 |
传感器性能下降 |
降级运行或要求接管 |
| 对抗样本 |
虚假交通标志 |
多传感器验证,不执行错误指令 |
| 工具 |
用途 |
| CARLA |
自动驾驶仿真,注入传感器噪声 |
| LGSVL |
多传感器仿真测试 |
| 真实干扰设备 |
现场测试(需封闭场地) |
预期功能安全:处理传感器局限性和误用场景
| 要求 |
描述 |
| 场景覆盖 |
测试所有预期场景 + 边界场景 |
| 传感器局限 |
明确传感器工作范围(天气、光照) |
| 人机交互 |
清晰告知驾驶员系统状态 |
| 条款 |
要求 |
| 6.6.1 |
感知系统冗余 |
| 6.6.2 |
传感器异常检测 |
| 6.6.3 |
安全降级策略 |
自动驾驶感知安全是系统性工程,需要传感器冗余、融合算法、异常检测、安全降级多层防护。随着攻击技术演进,持续测试和更新至关重要。
下一期预告:《车联网 PKI 体系:证书管理与密钥保护》
参考资料:
1. ISO 21448:2022 Road vehicles — Safety of the intended functionality
2. "Sensor Spoofing Attacks on Autonomous Vehicles" - IEEE S&P
3. GB 44495-2024《汽车整车信息安全技术要求》
4. 《自动驾驶汽车安全白皮书》- 中国智能网联汽车产业创新联盟
本文仅用于技术交流,不构成安全建议