伪造 GPS 信号就能把无人车带沟里?百度 Apollo 工程师实验证明:自动驾驶没那么好骗
来源:量子位
人在亦庄, 手机 却定位到了东北旺?
可能不是你的手机出了问题,而是遇到了 GPS 信号欺骗 。
那么,问题来了:
全靠传感器的自动驾驶系统,要是遇上了伪造 GPS 信号这种攻击手段,岂不是分分钟就被带沟里了?
实践才能出真知。百度 Apollo 的工程师最近决定,亲自调戏一把无人车,看看自动驾驶系统到底坚挺不坚挺。
用伪 GPS 信号调戏无人车
在移动 互联网 时代,通过伪造 GPS 信号对手机进行干扰,是一种常见的攻击手段,会导致手机出现定位偏移等情况,导航到错误的地点。
市面上主流的 GPS 欺骗方式是压制式欺骗,即整个干扰欺骗系统通过生成虚假的导航信号播发到用户端 GPS 接收机,使得用户端接收机获得错误信号,进而计算出错误的位置、速度等信息,以达到欺骗的目的。
这种方式会对自动驾驶车辆的运行造成干扰吗?
工程师们的具体实验设置是这样的:
实验一:在车内对自动驾驶系统发起 GPS 伪信号攻击
让自动驾驶车辆正常运行,车端 GPS 和手机 GPS 均处在正常状态。
车辆行驶过程中,使用 GPS 欺骗设备对 车辆 和 手机 的 GPS 模块同时进行攻击。
可以看到,在车内发起一段时间的攻击后,手机端的 GPS 已经 " 上当受骗 ",完全偏离了实际位置。
不过,自动驾驶车辆并没有像手机那样 " 一脸懵逼 ",一秒从亦庄被拐到了东北旺。
其 GPS 定位及路线规划均未受到影响,车辆继续安全行进。
看来,实验一,自动驾驶系统安全过关。
实验二:在车外对自动驾驶系统发起 GPS 伪信号攻击
车内不起作用,从车外干扰能奏效吗?
研究人员提前在车辆的行驶路线上设置了 GPS 伪信号干扰路段。
车辆经过干扰路段,手机 GPS 又被带跑偏了。
但自动驾驶系统依然坚挺,定位和路径规划还是没有受到影响。
也就是说,实验结果表明,无论在车内还是车外对自动驾驶系统发起 GPS 伪信号攻击时,自动驾驶车辆的定位及路径规划均未受干扰,不影响车辆正常安全行驶。
看来,通过 GPS 伪信号攻击,把自动驾驶车辆分分钟带沟里,是不存在的。
三重安全保障
实际上,对于 GPS 卫星来说,它们会同时发送两种信号:民用 L1(1575.42MHz 波段)和军用 L2(1227.60MH 波段)等波段信号。
目前,自动驾驶车辆通常使用多模多频高精度 GNSS 接收机,能够同时接收 GPS L1 和 L2 信号,也可以接收中国北斗、俄罗斯格洛纳斯和欧盟伽利略等信号。
能做到不被伪 GPS 信号欺骗,Apollo 依靠的是三重安全保障。
第一层:算法保障
首先,基于缓存 GNSS 星历和当前系统时间,高精度 GNSS 接收机在热启动时能够对部分历史 GPS 欺骗信号进行快速分析与剔除,保证 GNSS 信号仅来自当前时段。
同时,车载多模多频高精度 GNSS 接收机,也接收中国北斗、俄罗斯格洛纳斯和欧盟伽利略等信号,基于冗余校验,对单 GPS 信号欺骗存在一定的抗欺骗能力。
然后,车端 GNSS 接收机在接收到 GNSS 基站差分数据后,内部定位引擎算法会完成基站数据和本地数据的比对、差分校正、定位计算,在经过一系列严格质量检查后,输出厘米级精度的位置输出。
第二层:多传感器交叉验证
其次,GPS(GNSS)位置仅仅是无人车的定位输入源之一。
当前 Apollo 定位系统基于 GNSS RTK、LiDAR、轮速计和 IMU 等,依靠多传感器融合,提升了定位系统的可用性。
同时,在传感器之间进行交叉验证,能够进一步剔除可能被欺骗的、错误的 GPS 位置输入,保障系统的完好性。
第三层:信息安全主、被动防护措施
最后,Apollo 自动驾驶系统在实际部署时,系统会搭载一套信息安全主、被动防护措施,能够通过分层防御提升网络攻击的门槛,同时系统将利用动态防御体系进行网络攻击监控并及时阻断。
这三层安全保障形成了自动驾驶 汽车 的纵深防御体系,从而提升自动驾驶算法的抗攻击性,增强了自动驾驶的安全级别。
Apollo 自动驾驶开发平台
目前,百度 Apollo 已经构建了独有的开源平台,开源代码量超过了 56 万行,是全球最大自动驾驶开发者社区。
百度 Apollo 表示,开源的目的,就在于与广大自动驾驶研究人员、开发者共同发现问题、解决问题,让自动驾驶系统更加坚固安全。
当然,对于更多普罗大众来说,没有比坐一坐更直观的了。
现在,百度 Apollo 已经在长沙开启了免费坐模式,想更早看见未来的样子,可以去长沙试试。