算法分析的目的_UCI研究人员利用漏洞攻破多传感器融合定位算法_物联网新闻_新闻中心...

本文主要是介绍算法分析的目的_UCI研究人员利用漏洞攻破多传感器融合定位算法_物联网新闻_新闻中心...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自动驾驶领域目前最强的MSF(多传感器融合)定位算法,再次被攻破了。

攻击之下,平均30秒内,正常行驶中的自动驾驶汽车就撞上了马路牙子:

e2949244c611285b5c7b8ca46dbd958e.png

不仅GPS被忽悠瘸,LiDAR、轮速计和IMU一起上都没能阻止。

并且,攻击算法的成功率竟然达到了90%以上。

连多传感器融合定位算法达到SOTA的百度Apollo,在仿真环境也中了招。

这项最新研究,来自加州大学尔湾分校(UCI),目前已发表在信息安全领域四大顶会之一的USENIX Security 2020上。

多传感器融合如何被忽悠?

GPS欺骗是目前常见的一种攻击手段,并且在智能手机、无人机、游艇,甚至特斯拉汽车上都能生效。

有调查显示,自2016年以来,在俄罗斯就发生过9883起GPS欺骗事件,影响了1311个民用船只系统。

不过,在自动驾驶业界,研究人员们通常认为多传感器融合(MSF)算法,能有效对抗GPS欺骗。

但加州大学尔湾分校的研究人员们却通过仿真环境测试发现,桥豆麻袋,这里面还有漏洞可以钻。

MSF方法安全性分析

研究人员通过实验分析发现,由于传感器噪声和算法误差等实际应用中存在的动态因素的影响,MSF会出现可信度相对降低的窗口期。

在此期间,GPS欺骗能够导致MSF输出的偏差呈指数级增长。

3f86a0e4d0b966c13e6cc57e21e29fa0.png

根据分析日志,研究人员发现,在这种情况下,LiDAR输入实际上变成了离群值,无法提供修正。

也就是说,被忽悠瘸了的GPS在某种程度上成了自动驾驶汽车定位的主导输入源,会导致多传感器交叉验证的机制失效。

研究人员称此为接管效应(take-off effect)。

FusionRipper攻击方法

基于接管效应,研究人员设计了名为FusionRipper的攻击方法,能够抓住接管漏洞出现的窗口期,对行驶中的自动驾驶车辆进行攻击。

攻击方式有两种:

其一,是车道偏离攻击。目的是让目标自动驾驶汽车向左或向右偏离车道,直至驶出路面。

其二,是错道攻击。目的是让目标自动驾驶汽车向左偏离,驶入逆向车道。

攻击一旦成功,造成的危险是显而易见的:撞上马路牙子,掉下公路悬崖,撞上对向来车……

2d1c3c131ab6c33677318db1826b4d30.png

需要说明的是,在这项研究中,研究人员假设攻击者可以发起GPS欺骗来控制目标车辆的GPS定位,导致受攻击的GPS接收机输出置信度高但实际误差大的位置信息。并且,攻击者可以在攻击过程中实时跟踪受害车辆的物理位置。

攻击方法具体分为两个阶段。

首先是漏洞分析。在这一阶段,攻击者开始GPS欺骗,并在MSF可信度下降的窗口期出现时,测量目标自动驾驶车辆的反馈信息来进行分析。

识别出窗口期之后,就进入攻击性欺骗阶段,即攻击者开始进行指数级欺骗,以触发接管效应,快速诱发出最大偏差。

FusionRipper有多猛

那么,这样的攻击算法,成功率有多少呢?

研究者们首先采用了6种真实世界里的传感器,在仿真环境中对FusionRipper进行评估,每次实验的时间为2分钟。

其中,攻击成功的结果分为偏离正常车道行驶、和驶入逆向车道两种。

d739d4e4b95ae002082e7ad7e59b81fe.png

也就是说,在2分钟内,如果攻击算法让车子偏离了车道、或是开到了逆向车道上,那么攻击就成功了。

如下图,两种攻击方式分别可以实现至少97%和91%的成功率。

aba964726a58fba52a7e2278215d161a.png

也就是说,在FusionRipper的攻击下,跟车2分钟内,自动驾驶汽车就有97%的几率偏离车道行驶,91%的可能开到逆向车道。

不仅如此,与其他攻击算法对比的结果发现,FusionRipper甚至能完美攻击目前「最强的」自动驾驶算法。

在3种比较先进的MSF算法上,研究者们将FusionRipper和普通的随机攻击算法进行了对比测试。

下图是测试的结果,可以看见,在JS-MSF和ETH-MSF这两种自动驾驶算法上,普通的随机攻击还是很有用的,导致车辆偏离车道的成功率会比导致其逆向行驶的成功率更高。

4d02fe0caa68e4594d813d5bc06c9c59.png

然而,当普通的随机攻击算法遇上BA-MSF后,就「蔫了」,从图中显示的数据结果来看,成功让汽车偏离车道、或是逆向行驶的几率,只有和。

相对的,FusionRipper算法却依旧保持了强劲的势头。

即使在面对BA-MSF时,FusionRipper也有97%的几率让自动驾驶汽车偏离轨道。

事实上,由于这种算法对攻击参数的选择非常敏感,研究者们提出了一种离线方法,可以在实际攻击前选出高效的攻击参数。

当然,这让攻击条件本身也受到限制,攻击者需要拥有与受害者型号相同的自动驾驶车辆,也就是需要有相同的传感器组,攻击才能被完成。

如下图,测试结果表明,这种离线方法在攻击时,最终能成功实现偏离车道和发生逆行的概率都至少能达到80%以上。

2cf246458d659bf094345a8c0998b6a1.png

听起来,这个漏洞后果很严重,不过研究者表示,能找到解决的办法。

这种攻击的根本原理,依旧是GPS信号欺骗。

如果利用现有的GPS信号欺骗检测技术(例如监控信号功率、基于多天线的信号到达角度检测、或基于密码认证的GPS基础架构),某种程度上可以进行防御,但这些现有技术,都无法完全解决问题。

从根本上来说,需要提高的是MSF的定位置信率,这是克服系统弱点的唯一方法,但尚不清楚目前何时能实现这样的突破。

不过,通过独立的定位源来交叉检查定位结果、减轻攻击,仍然是一个可行的方向,其中一种方法就是基于摄像头的车道检测。

a7305b552290ce14e32bcdea670747d3.png

当然,要实现这样的攻击,成本其实也并不低。

据作者介绍,硬件方面主要包括两个部分:价值在2500美元(约合万人民币)左右的高端GPS spoofer,以及一辆能够实时跟车、精准定位目标车辆的自动驾驶车辆。

所以,研究者表示,文中提到这种攻击算法可能被应用的一种比较现实的情况,是攻击者是自动驾驶行业的竞争对手。

瞄准最强自动驾驶开源系统

不挑特斯拉,不选谷歌,团队这次专门挑了百度的Apollo下手,原因何在?

对此,论文一作、UCI在读博士生沈骏杰表示,选择Apollo的原因,其实比较现实:它的系统开源。

61fd4601752c0b2afd262bc991100108.png

Apollo有着目前世界上最大的自动驾驶开源社区,影响范围广、便于研究。

当然,选择Apollo的原因也不仅于此。

百度Apollo MSF(BA MSF),刚好是生产级多传感器融合算法实现的经典案例。

这次用来实验的Apollo系统,已经通过了现实中厘米级精度的评估,不仅算法定位的方式非常先进,而且是基于MSF的定位算法中「最靓的仔」(SOTA)。

不仅如此,Apollo工程师此前也用实验证明,其自动驾驶系统可以通过多传感器融合等方式来防御GPS信号欺骗。

能带偏毫无防备的自动驾驶系统,那不算什么。

但,如果能拐跑这种自带防御能力的高级系统呢?

在这种情况下,Apollo就算是躺着也能「中枪」了:

研究团队的算法,直接就带偏了「多传感器融合」这一防御算法。

0bae7b30fe79303294d2cfc6c73537d2.png

他们在实验时,特意将Apollo作为一个案例,并发现通过特定的GPD信号欺骗方式,可以让汽车在某些情况下发生大于10m以上的偏移,并且这种攻击成功率在90%以上。

作者表示,目前他们已经联系了29家自动驾驶公司,就这一新攻击算法进行了交流。在收到的回复里,已经有17家开始针对这个问题展开调查。其中有1家已经开始着手研发防御/缓解手段。

这种攻击有现实可行性吗?

百度Apollo也同样和研究团队进行了一系列沟通。

对于这项技术,Apollo官方回应,在接到研究报告的第一时间,出于对人身安全、无人车安全的极大重视,他们已经在现实环境中对实车进行了测试。

不过,与研究团队给出的仿真结果不同,Apollo的工程师发现FusionRipper对实车并没有影响。

9032c201d0b5209951319d464260fade.png

Apollo方面还进一步进行了解释:无人车是软、硬件结合的产物。真正投入运营的车辆,无论是硬件设备还是软件系统,与实验室条件完全不同。

在实际测试,Apollo实车采用RTK GPS技术,该技术定位精度在厘米级别,远高于平常所用的GPS接收器的米级别精度。如果受到论文所假设的欺骗干扰,不能产生厘米级置信度的错误RTK。

如果试图欺骗GNSS接收机并产生错误的RTK结果,需要极高的硬件成本,对抗数十个卫星校验,以及车上双天线校验,理论上几乎不可能完成。最后,Apollo有多传感器融合和GPS伪造检测能力辅助识别欺骗。

另外,Apollo工程师指出,该项研究采用的Apollo MSF是2018版本,之所以能在仿真场景中攻击成功,是因为当时版本中的MSF并未实时将LiDAR等传感器数据与GNSS位置信息进行强校验。

而在最新的工程实践中,Apollo已经对此完成了优化。即使攻击者通过近距离长期尾随自动驾驶车辆,并持续发射GPS欺骗信号,导致无人车车载高精度接收机的所有信道都被欺骗,最终位置输出偏差,MSF也可以通过新增的相对稳定、不受外界干扰的激光定位作为观测值强校验,进行规避。

Apollo方面还建议,类似的硬件安全研究,应该在真实环境中进行进一步测试,以便最终落地工业。为此,Apollo未来也计划与各个高校建立合作。

说到底,把自动驾驶车辆忽悠瘸,本就不是攻防研究的本质目的。

挖掘现有方法背后的安全问题,让自动驾驶系统更加安全,才是相关研究的意义所在。

相信开放的技术交流、合作,也会让我们离更加安全的自动驾驶更进一步。

1

这篇关于算法分析的目的_UCI研究人员利用漏洞攻破多传感器融合定位算法_物联网新闻_新闻中心...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/351084

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景