以下文章来源于轩辕实验室 ,作者轩辕实验室
—
背景介绍
随着自动驾驶(ADAS)与智能网联汽车的发展,围绕其功能与信息安全的要求也逐步提升。由于目前ADAS方案对高精定位的需求,GNSS的可靠性与安全性也成为了业内重点关注的对象。GNSS欺骗是一项被研究多年的黑客技术,如今又被抬上了舞台。本文将着重介绍使用HackRF实施GPS欺骗的技术路线,并根据其特点,设计了应对的感知方案。
—
GNSS原理
GPS接收器和卫星的拓扑关系
GPS接收器接收到的时序
—
GNSS欺骗原理
GNSS欺骗分为压制式干扰与欺骗式干扰。常见的压制干扰有阻塞干扰、瞄准干扰、相关干扰等,工程实现简单,危害较小,本文不作重点。危害较大的欺骗式干扰,目的是使目标错误定位,通常有转发式干扰和产生式干扰两种。转发式干扰是攻击者接受了真实的信号,进行存储延时的转发,可以通过时间校验进行简单的防护。产生式干扰可以产生基于欺骗位置(任意位置)的符合GPS标准的虚假卫星信号,是较为高明且危险的欺骗手段。我们通过Hackrf工具对多款车辆进行了产生式GPS欺骗,实验过程和结果可参考《IDPS GNSS Spoofing》
GPS信号发生器电路图
第二步,即为根据攻击机欺骗的目标位置P(X, Y, Z),以及星历数据,计算出当前位置的可见卫星,根据目标位置与卫星的相对距离求解相对延时Di,并根据Di产生相应时序的信号。
第三步,在地球固连坐标系(ECEF),通过星座位置、运行速度和接收机位置,修正传输延时和载波频移(多普勒频移)。工程上,还可以引入动态位移来诱骗行驶的汽车,以及修改星历数据以产生实时的虚假干扰信号。
虚假干扰信号的实时产生
—
GNSS欺骗感知
根据不同的GNSS欺骗方法,感知的方法也应当是多样的。本文列举几项校验GNSS的方法。
功率:欺骗信号由于产生于地面,往往强度极高,且模拟的各卫星信号强度相同。可以根据信号的强度来判断是否是欺骗信号。
迭代时间:真实GNSS信号在传播过程中会有种种干扰,并非理想的真空状态,存在的误差导致四元方程无法直接求解,需要用最小二乘法迭代才能得到最终位置。虚假信号的伪距是反求解得到的,不存在误差问题,迭代速度较快。或者当真实信号掺杂虚假信号一同输入迭代模块,会导致迭代时间过长导致计算失败。综上,可以从得到单个GNSS坐标的迭代时间来判断是否是欺骗信号。
多通道校验:通常欺骗者只发送一种系统的虚假信号,可以通过两种及以上的GNSS系统进行位置校验来判断是否存在欺骗信号。
多普勒频移:多普勒效应是波源和观察者有相对运动时,观察者接受到波的频率与波源发出的频率并不相同的现象。欺骗信号往往无法模拟真实的多普勒频移,也可通过此进行校验。(但本文涉及的实验,Hackrf可以为欺骗信号添加多普勒频移。)
瞬移:最传统的做法是在导航系统中设定阈值,汽车不可能在短时间内移动到很远的范围。可以监控汽车的位置变化来判断是否存在欺骗信号。
IMU校验:汽车在运动中,IMU可以提供较为准确的轨迹。通过比对GNSS与IMU在同一坐标系中产生的轨迹来判断是否存在欺骗信号。
END
已完成
数据加载中