自动驾驶是未来智能交通的发展方向,但在其安全性获得完全检验之前,人们还难以信任这种复杂的技术。虽然各家车企、创业公司的路试里程早已突破百万英里,但最近 AI 领域里逐渐兴起的「对抗样本」技术正让自动驾驶遭遇挑战。
前不久,来自腾讯科恩实验室的研究人员们找到了几种使用「物理攻击」的方式欺骗特斯拉自动驾驶系统的方法。
在腾讯放出的视频中我们可以看到,科恩实验室发现:
利用 AI 对抗样本生成特定图像并进行干扰时,特斯拉的 Autopilot 系统输出了「错误」的识别结果,导致车辆雨刷启动。
在道路特定位置贴上几个贴纸,可以让处在自动驾驶模式的汽车并入反向车道。
获取 Autopilot 控制权之后,即使 Autopilot 系统没有被车主主动开启,也可以利用 Autopilot 功能实现通过 Xbox 游戏手柄对车辆行驶方向进行操控。
特斯拉的 Autopilot 功能是在 2016 年推出的,2018 年 10 月,该公司曾推出「全自动驾驶」功能。但因被批夸大性能,特斯拉很快移除了这项技术。最近,随着特斯拉向用户推销其辅助驾驶系统 Autopilot 的策略发生转变,该选项重新出现在了菜单上。
在上个月初,特斯拉 CEO 伊隆·马斯克还曾表示:今年晚些时候,全自动版 Autopilot 将允许特斯拉车主在复杂的城市环境中激活自动驾驶功能。但在看完以上视频之后,恐怕人们就不太敢打开 Autopilot 功能了,不知特斯拉何时能够解决这些漏洞。
如何欺骗 Autopilot
特斯拉汽车的 Autopilot 系统中内置了一个深度神经网络,用于识别相机图像中的车道标志。该神经网络「看」东西的方式与我们大有不同,即使是创造和训练它们的人也不能理解其中原因。
通常,研究人员会向神经网络展示大量关于某物(如街道)的图像来训练它们,而这些图像中一般有由人类显式标记的东西,如车道标志。网络通过观察标记数据集中的图像,从中检测出某些相似性,然后逐渐能够识别车道标志。但这些相似性具体是什么,对它来说却有些抽象。
由于车道标志的实际性质和神经网络对其认知之间的脱节,即使是准确率很高的神经网络也会被「对抗」图像所欺骗,这些对抗图像被精心构建以利用这种模式识别。
上周,来自腾讯科恩实验室的研究人员展示了如何欺骗特斯拉 Model S 中的车道检测系统,以隐藏人类可见的车道标志,并创建人类会忽略的标志。在某些特定情况下,这种做法会导致特斯拉的 Autopilot 在不发出警告的情况下驶入错误车道。
通常,对抗图像攻击(adversarial image attack)是通过直接给神经网络输入修改的图像以数字方式进行的。对神经网络上进行现实世界的攻击要难得多,因为这样做更难控制网络看到的东西。
但物理对抗攻击可能也是一个严重问题,因为它们不需要直接访问正在使用的系统,该系统只要能够看到对抗模式,就会被破坏。
腾讯的测试一开始是直接访问特斯拉软件。研究人员向车道检测系统展示了各种车道标志的数字图像,以建立其检测参数。作为输出,该系统指定它在输入图像中检测到的任何车道坐标。通过使用「各种优化算法来改变车道及其周围的区域」,研究人员发现了几种不同类型的「对抗样本」,这些样本与原始图像相似,但能够使车道识别功能失灵。
本质上,腾讯试图找到特斯拉车道检测神经网络的置信阈值从「非车道」到「车道」或「车道」到「非车道」的点,并利用这个点来生成对抗车道标志。以下是一些示例:
基于以上图像中的第二个样本,腾讯用一些颜料在现实世界中再现了这种效果,结果是相同的。
车道标志被打乱到什么程度才能使 Autopilot 忽略它们,这一点很重要。腾讯研究人员解释称:
Autopilot 模块的车道识别功能有良好的鲁棒性,如果想通过在现实世界中布置一些不显眼的标志来使行驶中的特斯拉汽车车道识别功能失灵,很难。我们怀疑这是因为特斯拉在其训练集中添加了很多不正常的车道,比如破损或者被遮挡的车道,以应对物理世界的复杂性。这导致其自动驾驶系统在正常的外部环境(无强光、雨雪、沙尘暴等干扰)中表现良好。
然而,正是这种稳健性导致 Autopilot 更容易受到相反方向的攻击:创建对抗标志,这种标志能够触发 Autopilot 的车道识别系统,但对人类司机来说却很少或几乎看不到车道迹象。腾讯的实验表明,只需在地面上添加三个贴纸就能让 Autopilot 误认为「这是车道」。
特斯拉自动驾驶的其它漏洞
安全研究人员还发现了特斯拉的其它一些东西,这些东西不算弱点但挺有趣。比如,用图像触发雨刷的能力。他们还发现可以用游戏手柄控制特斯拉汽车的驾驶方向,这一点利用了特斯拉声称已经修补好的漏洞。
将这个示例放在上下文中是很重要的,因为它看起来只在特定环境下运作—该演示发生在类似于十字路口的地方(也许是一个无控制的四路交叉口),其中没有其他车道线供系统遵循。
这些贴纸似乎不可能导致汽车穿过完善的中心车道线,但该演示表明在没有其他车道标志的情况下,贴纸的确可以导致自动驾驶特斯拉进入反向车道,司机也得不到任何视觉提示,因而无法了解即将发生什么。
当然,研究人员希望特斯拉汽车足够聪明,可以在发现迎面而来的车辆时候不进入反向车道。值得指出的是,为了使车道标志检测系统发挥作用,特斯拉汽车考虑到大量变化,因为现实生活中的车道标志具有诸多变化。
相信大家在高速公路行驶时都有过这样的经历:不同时间画的几组标志(但都以相同的方式褪色)彼此分离,以至于我们的大脑也很难决定走哪条车道。
在这种情况下,我们通常会以人类擅长的方式行事—快速吸收大量信息,并借助环境和毕生的道路知识尽可能做出最好的决定。众所周知,自动系统在这方面表现非常糟糕,但相较于仅靠观察车道标志做出决策,特斯拉 Autopilot 依然有很多方式利用其它数据做出更佳的决策。
最简单的一种方法大概是观察你前面的车辆如何行使,跟着它们可能是最安全的行车路线,即使它们没有选择与你相同的路线。
特斯拉的回应
腾讯科恩实验室这一次测试的是特斯拉 Model S,其软件版本为 2018.6.1。腾讯已将研究结果编写为白皮书(如感兴趣可查阅文末链接),对此,特斯拉对于目前发现的三个问题均给出了回应。
关于「雨刷的视觉识别缺陷」:
「该研究通过向直接放置在汽车挡风玻璃前的电视展示图像进行验证。这不是现实世界中司机会遇到的情况,所以也不是安全问题。此外,我们在车主的『用户手册』中写过:『(雨刷的)自动设置目前仍处在 Beta 测试阶段』。用户也可以随时选择手动开启或关闭雨刷。」
关于「车道的视觉识别缺陷」:
「在演示中研究人员调整了车辆周围的物理环境(即在道路上放置了胶带),使得自动驾驶系统的表现出现了变化。考虑到驾驶员可以随时接管汽车,控制方向和刹车,其操作权限高于 Autopilot,这不是现实世界中需要担忧的问题。」
关于「遥控器操控车辆行驶」:
「在本报告中提到的主要漏洞已被特斯拉在 2017 年安全更新中修复,之后还有 2018 年安全更新,两个补丁都是在该报告发布前上线的。在多年来特斯拉汽车在路上行驶的经历中,我们从未见到任何一位用户被本报告中所提及的任何问题所影响。」
不知这样的回复是否能够令你满意?
特斯拉的 Autopilot 一直处在一个尴尬的处境,它似乎同时在告诉消费者「你当然可以信任它」和「你当然不能信任它」。
几乎可以肯定的是,后一种说法更为准确,车道识别攻击令人担忧,司机在车辆已经开始转向之前才可能意识到出现了问题,但可怕的是,在某些情形下,车辆自身无法意识到问题出现。
尽管这成为特斯拉 Autopilot 实际问题的可能性还很小,但这项研究向我们提出了一些问题:假如道路上出现了类似模式的随意白点,会发生什么呢?还有哪些隐患尚待确认呢?特斯拉已经进行大量的真实驾驶测试,但现实世界太大了,总会有一些可能的情况需要我们做好准备。
参考内容:
https://spectrum.ieee.org/cars-that-think/transportation/self-driving/three-small-stickers-on-road-can-steer-tesla-autopilot-into-oncoming-lane
https://keenlab.tencent.com/en/whitepapers/Experimental_Security_Research_of_Tesla_Autopilot.pdf
https://keenlab.tencent.com/zh/2019/03/29/Tencent-Keen-Security-Lab-Experimental-Security-Research-of-Tesla-Autopilot/