

Yulong Cao 是密歇根大学计算机科学与工程专业的博士生。Z. Morley Mao 是密歇根大学电气工程与计算机科学专业的教授。本文最初刊载于 The Conversation。
对于自动驾驶汽车来说,感知周围环境至关重要。与人类驾驶员一样,自动驾驶汽车需要能够瞬时做出决策的能力。
如今,大多数自动驾驶汽车依赖多种传感器来感知世界。大多数系统使用摄像头、雷达传感器和激光雷达(LiDAR,光探测与测距)传感器的组合。车载计算机将这些数据融合,以创建车辆周围情况的全面视图。没有这些数据,自动驾驶汽车就无法安全地在道路上行驶。使用多种传感器系统的汽车性能更好、更安全——每种系统都可以相互验证——但没有任何系统能免受攻击。
不幸的是,这些系统并非万无一失。基于摄像头的感知系统可以通过在交通标志上贴贴纸来完全改变其含义来轻易欺骗。
我们在密歇根大学RobustNet 研究小组的工作表明,基于激光雷达的感知系统也可能被破坏。通过有策略地欺骗激光雷达传感器信号,攻击者能够欺骗车辆的激光雷达感知系统,使其“看到”一个不存在的障碍物。如果发生这种情况,车辆可能会通过阻碍交通或突然刹车而导致事故。
欺骗激光雷达信号
基于激光雷达的感知系统有两个组成部分:传感器和处理传感器数据的机器学习模型。激光雷达传感器通过发射光信号并测量该信号从物体反射回来并返回传感器所需的时间来计算自身与周围环境的距离。这种往返持续时间也称为“飞行时间”。
激光雷达单元每秒发送数万次光信号。然后,其机器学习模型利用返回的脉冲来描绘车辆周围世界的图像。这类似于蝙蝠在夜间如何使用回声定位来感知障碍物的位置。
问题在于这些脉冲可能会被欺骗。为了欺骗传感器,攻击者可以向传感器发射自己的光信号。这样就可以让传感器混淆。
然而,要欺骗激光雷达传感器“看到”一个不存在的“车辆”,则更加困难。要成功,攻击者需要精确地控制射向目标激光雷达的信号的时间。这必须在纳秒级别上完成,因为信号以光速传播。当激光雷达使用测量的飞行时间计算距离时,微小的差异会很明显。
如果攻击者成功欺骗了激光雷达传感器,那么它还必须欺骗机器学习模型。OpenAI 研究实验室的工作表明,机器学习模型容易受到特殊构造的信号或输入——即所谓的对抗性样本——的攻击。例如,交通标志上的特殊生成的贴纸可以欺骗基于摄像头的感知。
我们发现,攻击者可以使用类似的技术来制作对抗激光雷达的扰动。这些扰动不是可见的贴纸,而是专门设计的欺骗性信号,旨在欺骗机器学习模型,使其认为存在障碍物,而实际上并不存在。激光雷达传感器会将黑客伪造的信号输入机器学习模型,模型会将其识别为障碍物。
对抗性样本——伪造的物体——可以根据机器学习模型的期望进行定制。例如,攻击者可能会创建一个未移动的卡车的信号。然后,为了进行攻击,他们可能会将其设置在交叉路口,或者将其放置在一辆自动驾驶汽车前行驶的车辆上。

两种可能的攻击
为了演示设计的攻击,我们选择了一个被许多汽车制造商使用的自动驾驶系统:百度 Apollo。该产品拥有超过 100 个合作伙伴,并已与包括沃尔沃和福特在内的多家制造商达成了量产协议。
通过使用百度 Apollo 团队收集的真实世界传感器数据,我们演示了两种不同的攻击。第一种是“紧急制动攻击”,我们展示了攻击者如何通过欺骗车辆认为其路径上出现障碍物来使其突然停止。第二种是“自动驾驶汽车冻结攻击”,我们使用伪造的障碍物欺骗一辆停在红灯前的车辆在绿灯亮起后继续停车。
通过利用自动驾驶感知系统的漏洞,我们希望引起构建自动驾驶技术的团队的警觉。对自动驾驶系统中新型安全问题的研究才刚刚开始,我们希望在不法分子利用它们在道路上造成危害之前,能够发现更多潜在的问题。

