仿真环境跟车2分钟,就让自动驾驶系统撞上马路牙子,攻破率超90%,多传感器融合系统都失效...
鱼羊 萧萧 发自 凹非寺
量子位 报道 | 公众号 QbitAI
自动驾驶领域目前最强的MSF(多传感器融合)定位算法,再次被攻破了。
攻击之下,平均30秒内,正常行驶中的自动驾驶汽车就撞上了马路牙子:
不仅GPS被忽悠瘸,LiDAR、轮速计和IMU一起上都没能阻止。
并且,攻击算法的成功率竟然达到了90%以上。
连多传感器融合定位算法达到SOTA的百度Apollo,在仿真环境也中了招。
这项最新研究,来自加州大学尔湾分校(UCI),目前已发表在信息安全领域四大顶会之一的USENIX Security 2020上。
多传感器融合如何被忽悠?
GPS欺骗是目前常见的一种攻击手段,并且在智能手机、无人机、游艇,甚至特斯拉汽车上都能生效。
有调查显示,自2016年以来,在俄罗斯就发生过9883起GPS欺骗事件,影响了1311个民用船只系统。
不过,在自动驾驶业界,研究人员们通常认为多传感器融合(MSF)算法,能有效对抗GPS欺骗。
但加州大学尔湾分校的研究人员们却通过仿真环境测试发现,桥豆麻袋,这里面还有漏洞可以钻。
MSF方法安全性分析
研究人员通过实验分析发现,由于传感器噪声和算法误差等实际应用中存在的动态因素的影响,MSF会出现可信度相对降低的窗口期。
在此期间,GPS欺骗能够导致MSF输出的偏差呈指数级增长。
根据分析日志,研究人员发现,在这种情况下,LiDAR输入实际上变成了离群值,无法提供修正。
也就是说,被忽悠瘸了的GPS在某种程度上成了自动驾驶汽车定位的主导输入源,会导致多传感器交叉验证的机制失效。
研究人员称此为接管效应(take-off effect)。
FusionRipper攻击方法
基于接管效应,研究人员设计了名为FusionRipper的攻击方法,能够抓住接管漏洞出现的窗口期,对行驶中的自动驾驶车辆进行攻击。
攻击方式有两种:
其一,是车道偏离攻击。目的是让目标自动驾驶汽车向左或向右偏离车道,直至驶出路面。
其二,是错道攻击。目的是让目标自动驾驶汽车向左偏离,驶入逆向车道。
攻击一旦成功,造成的危险是显而易见的:撞上马路牙子,掉下公路悬崖,撞上对向来车……
需要说明的是,在这项研究中,研究人员假设攻击者可以发起GPS欺骗来控制目标车辆的GPS定位,导致受攻击的GPS接收机输出置信度高但实际误差大的位置信息。并且,攻击者可以在攻击过程中实时跟踪受害车辆的物理位置。
攻击方法具体分为两个阶段。
首先是漏洞分析。在这一阶段,攻击者开始GPS欺骗,并在MSF可信度下降的窗口期出现时,测量目标自动驾驶车辆的反馈信息来进行分析。
识别出窗口期之后,就进入攻击性欺骗阶段,即攻击者开始进行指数级欺骗,以触发接管效应,快速诱发出最大偏差。
FusionRipper有多猛
那么,这样的攻击算法,成功率有多少呢?
研究者们首先采用了6种真实世界里的传感器,在仿真环境中对FusionRipper进行评估,每次实验的时间为2分钟。
其中,攻击成功的结果分为偏离正常车道行驶、和驶入逆向车道两种。
也就是说,在2分钟内,如果攻击算法让车子偏离了车道、或是开到了逆向车道上,那么攻击就成功了。
如下图,两种攻击方式分别可以实现至少97%和91%的成功率。
也就是说,在FusionRipper的攻击下,跟车2分钟内,自动驾驶汽车就有97%的几率偏离车道行驶,91%的可能开到逆向车道。
不仅如此,与其他攻击算法对比的结果发现,FusionRipper甚至能完美攻击目前「最强的」自动驾驶算法。
在3种比较先进的MSF算法上,研究者们将FusionRipper和普通的随机攻击算法进行了对比测试。
下图是测试的结果,可以看见,在JS-MSF和ETH-MSF这两种自动驾驶算法上,普通的随机攻击还是很有用的,导致车辆偏离车道的成功率会比导致其逆向行驶的成功率更高。
然而,当普通的随机攻击算法遇上BA-MSF后,就「蔫了」,从图中显示的数据结果来看,成功让汽车偏离车道、或是逆向行驶的几率,只有3.7%和0.2%。
相对的,FusionRipper算法却依旧保持了强劲的势头。
即使在面对BA-MSF时,FusionRipper也有97%的几率让自动驾驶汽车偏离轨道。
事实上,由于这种算法对攻击参数的选择非常敏感,研究者们提出了一种离线方法,可以在实际攻击前选出高效的攻击参数。
当然,这让攻击条件本身也受到限制,攻击者需要拥有与受害者型号相同的自动驾驶车辆,也就是需要有相同的传感器组,攻击才能被完成。
如下图,测试结果表明,这种离线方法在攻击时,最终能成功实现偏离车道和发生逆行的概率都至少能达到80%以上。
听起来,这个漏洞后果很严重,不过研究者表示,能找到解决的办法。
这种攻击的根本原理,依旧是GPS信号欺骗。
如果利用现有的GPS信号欺骗检测技术(例如监控信号功率、基于多天线的信号到达角度检测、或基于密码认证的GPS基础架构),某种程度上可以进行防御,但这些现有技术,都无法完全解决问题。
从根本上来说,需要提高的是MSF的定位置信率,这是克服系统弱点的唯一方法,但尚不清楚目前何时能实现这样的突破。
不过,通过独立的定位源来交叉检查定位结果、减轻攻击,仍然是一个可行的方向,其中一种方法就是基于摄像头的车道检测。
当然,要实现这样的攻击,成本其实也并不低。
据作者介绍,硬件方面主要包括两个部分:价值在2500美元(约合1.7万人民币)左右的高端GPS spoofer,以及一辆能够实时跟车、精准定位目标车辆的自动驾驶车辆。
所以,研究者表示,文中提到这种攻击算法可能被应用的一种比较现实的情况,是攻击者是自动驾驶行业的竞争对手。
瞄准最强自动驾驶开源系统
不挑特斯拉,不选谷歌,团队这次专门挑了百度的Apollo下手,原因何在?
对此,论文一作、UCI在读博士生沈骏杰表示,选择Apollo的原因,其实比较现实:它的系统开源。
Apollo有着目前世界上最大的自动驾驶开源社区,影响范围广、便于研究。
当然,选择Apollo的原因也不仅于此。
百度Apollo MSF(BA MSF),刚好是生产级多传感器融合算法实现的经典案例。
这次用来实验的Apollo系统,已经通过了现实中厘米级精度的评估,不仅算法定位的方式非常先进,而且是基于MSF的定位算法中「最靓的仔」(SOTA)。
不仅如此,Apollo工程师此前也用实验证明,其自动驾驶系统可以通过多传感器融合等方式来防御GPS信号欺骗。
能带偏毫无防备的自动驾驶系统,那不算什么。
但,如果能拐跑这种自带防御能力的高级系统呢?
在这种情况下,Apollo就算是躺着也能「中枪」了:
研究团队的算法,直接就带偏了「多传感器融合」这一防御算法。
他们在实验时,特意将Apollo作为一个案例,并发现通过特定的GPD信号欺骗方式,可以让汽车在某些情况下发生大于10m以上的偏移,并且这种攻击成功率在90%以上。
作者表示,目前他们已经联系了29家自动驾驶公司,就这一新攻击算法进行了交流。在收到的回复里,已经有17家开始针对这个问题展开调查。其中有1家已经开始着手研发防御/缓解手段。
这种攻击有现实可行性吗?
百度Apollo也同样和研究团队进行了一系列沟通。
对于这项技术,Apollo官方回应,在接到研究报告的第一时间,出于对人身安全、无人车安全的极大重视,他们已经在现实环境中对实车进行了测试。
不过,与研究团队给出的仿真结果不同,Apollo的工程师发现FusionRipper对实车并没有影响。
Apollo方面还进一步进行了解释:无人车是软、硬件结合的产物。真正投入运营的车辆,无论是硬件设备还是软件系统,与实验室条件完全不同。
在实际测试,Apollo实车采用RTK GPS技术,该技术定位精度在厘米级别,远高于平常所用的GPS接收器的米级别精度。如果受到论文所假设的欺骗干扰,不能产生厘米级置信度的错误RTK。
如果试图欺骗GNSS接收机并产生错误的RTK结果,需要极高的硬件成本,对抗数十个卫星校验,以及车上双天线校验,理论上几乎不可能完成。最后,Apollo有多传感器融合和GPS伪造检测能力辅助识别欺骗。
另外,Apollo工程师指出,该项研究采用的Apollo MSF是2018版本,之所以能在仿真场景中攻击成功,是因为当时版本中的MSF并未实时将LiDAR等传感器数据与GNSS位置信息进行强校验。
而在最新的工程实践中,Apollo已经对此完成了优化。即使攻击者通过近距离长期尾随自动驾驶车辆,并持续发射GPS欺骗信号,导致无人车车载高精度接收机的所有信道都被欺骗,最终位置输出偏差,MSF也可以通过新增的相对稳定、不受外界干扰的激光定位作为观测值强校验,进行规避。
Apollo方面还建议,类似的硬件安全研究,应该在真实环境中进行进一步测试,以便最终落地工业。为此,Apollo未来也计划与各个高校建立合作。
说到底,把自动驾驶车辆忽悠瘸,本就不是攻防研究的本质目的。
挖掘现有方法背后的安全问题,让自动驾驶系统更加安全,才是相关研究的意义所在。
相信开放的技术交流、合作,也会让我们离更加安全的自动驾驶更进一步。
你说呢?
传送门:
项目链接:https://sites.google.com/view/cav-sec/fusionripper
— 完 —
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
「百度AI开发系列课」免费报名
5分钟上手,10分钟定制高精度AI模型,硬核百度EasyDL,小白也能学!
10.21日起,3期公开课带你0门槛轻松学AI开发、实现AI模型训练与部署!扫码添加量子位小助手(qbitbot12)、加入课程直播群吧~▽
p.s.完成课堂任务还有机会赢取李彦宏新书《智能经济》哦~
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 !
仿真环境跟车2分钟,就让自动驾驶系统撞上马路牙子,攻破率超90%,多传感器融合系统都失效...相关推荐
- 算法分析的目的_仿真环境跟车2分钟,这个攻击算法就让自动驾驶系统撞上马路牙子...
鱼羊 萧萧 发自 凹非寺 量子位 报道 | 公众号 QbitAI 自动驾驶领域目前最强的MSF(多传感器融合)定位算法,再次被攻破了. 攻击之下,平均30秒内,正常行驶中的自动驾驶汽车就撞上了马路牙子 ...
- 送餐送货机器人、自动驾驶车、扫地机器人,再也不用担心撞上玻璃橱窗了丨CVPR2020...
萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 自动送货车撞上玻璃.扫地机器人撞碎玻璃伤行人--如今这些事件也即将成为过去式. 大连理工大学等单位研发了一个玻璃检测神经网络,能够利用AI在 ...
- 小鹏汽车首款量产车开售:搭载自动驾驶应用,补贴前售价20万起
李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI 又一家造车新势力进入公布售价阶段. 小鹏汽车首款量产车G3,今日首次在北京亮相,车队从广州出发,途经长沙.武汉.郑州等城市,历经2338公 ...
- 车路协同冬去春来,自动驾驶来到分岔口?
如果有人问:过去的2021年什么行业最火?那可能就是车路协同. 十年前,科幻电影<机械公敌>中,威尔•史密斯驾驶的全自动汽车能准确甄别交通状况,调整汽车行驶状态.十年后,新型车路协同系统让 ...
- 华为鸿蒙汽车自动驾驶,华为鸿蒙车机OS现身,自动驾驶再进化
原标题:华为鸿蒙车机OS现身,自动驾驶再进化 在2019年的上海车展上,华为首次公开宣布进入汽车领域.时隔一年多,在2020北京车展上我们将再次看到华为的身影.这一次,人们的疑问不再是"华为 ...
- 基于车路协同的高等级自动驾驶数据交互内容
基于车路协同的高等级自动驾驶数据交互内容 基于车路协同的高等级自动驾驶系统组成 1. 系统架构 2. 系统功能 2.1 RSS各组成单元功能 2.2 VSS各组成单元功能 3. 系统交互 基于车路协同 ...
- 五分钟通俗理解自动驾驶
大家好,我是良许. 这几年,自动驾驶这个概念非常火热,无论是百度还是谷歌,都做出了还不错的原型机,但是你真的知道什么是自动驾驶吗? 本文就花 5 分钟左右的时间,向大家科普一下什么是自动驾驶. 自动驾 ...
- 「百度@了所有车企」:Apollo自动驾驶商用上岗,欢迎上车
贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 1月25日,由威马汽车主办的"WeLab威马科技开放日"在上海举行,搭载百度Apollo AVP自主泊车方案的威马W6 ...
- 给你一台小车车,怎么让它自动驾驶起来?
最近几年,「自动驾驶」这个词经常出现在新闻头条里.人们对这个技术充满了憧憬.好奇,企业也纷纷跟进,不管是传统车企如:奔驰.宝马.奥迪,还是新兴科技公司如:Google.苹果.特斯拉.Uber.三星,都 ...
最新文章
- 视频分辨率无损放大软件 Topaz Video Enhance AI 2.3.0
- 思科面试题c语言,C语言面试题~总汇(基础题、嵌入式、微软、华为、思科……).doc...
- 例子---纯CSS实现加载球
- 【LeetCode】剑指 Offer 67. 把字符串转换成整数
- win8远程访问mysql_Windows 安装 mysql8.0 配置远程访问
- CSE 110: Principles of Programming Languages
- beetl 国内下载量貌似快跟freemaker的差不多了
- 用于PC的骁龙1000近似实锤了,高通员工LinkedIn泄露天机
- python学习(6)--logging打印日志
- [转载] 随机游走和随机重启游走_网络动画API的随机游走
- 使用tmpfs的好处
- 使用promise封装ajax请求
- 关于阿克曼函数(akermann)非递归算法的一点见解 c++
- 汉字区位码转换为“汉字ASCII码“
- 如何区分1位和4位数码管引脚图
- 成都最最最牛逼的 IT 公司全在这了
- jedisPool相关参数说明
- 大家好才是真的好,“通用设计”知多少
- Java-生成动态图片验证码
- 【最新】M1芯片Mac安装PS2021/2020卡在启动页解决教程下载方法
热门文章
- 如何在ActionScript 3中将“ Null”(真实的姓氏!)传递给SOAP Web服务
- Tensorflow源码解析2 -- 前后端连接的桥梁 - Session
- google-perftools优化nginx在高并发时的性能
- Javascript中的apply、call、bind
- nagios部署安装中篇
- NYOJ72Financial Management
- symbol(s) not found for architexture i386 报错
- C#中处理XML文档的方法
- Windows实现appium+iOS自动化测试
- Kali Linux 64位架构安装Veil-Evasion