基于LSTM-KF模型的无人机抗GPS欺骗方法
2020-10-21孙旸曹春杰赖俊晓于天娇
孙旸,曹春杰,赖俊晓,于天娇
(1.海南省Internet信息检索重点实验室,海南 海口 570228;2.海南大学计算机与网络空间安全学院,海南 海口 570228;3.南海海洋资源利用国家重点实验室,海南 海口570228)
1 引言
GPS欺骗是当前GPS 面临的主要威胁[1],其手段是通过伪造或重放虚假的GPS信号,使被攻击的GPS接收器捕获并跟踪虚假的GPS信号,从而解算出错误的时间和位置信息。GPS欺骗分为转发式欺骗和生成式欺骗两种类型。① 转发式欺骗通过记录预欺骗位置真实的GPS信号,使用软件定义无线电等信号发射设备,将记录的真实GPS信号经过一定的延迟发射到处于另一位置的目标接收器,达到欺骗目标接收器的目的。② 生成式欺骗是从真实的GPS信号中提取时间、位置、卫星星历等必要信息,根据预欺骗的时间、位置信息生成虚假的GPS信号,将虚假GPS信号的载波与真实GPS信号对齐,通过矩阵天线发送给GPS接收器,从而使GPS接收器解算出错误的时间、位置信息,达到欺骗的目的。
国际上针对GPS定位导航的事件频发[2]。2013年,Humphreys研究团队使用GPS欺骗技术成功诱导一艘价值8 000万美元的白玫瑰号游艇向左偏离航道3°,造成其偏出预定航线1 km。因此,针对GPS安全问题,必须找到有效的解决方案来检测GPS攻击。
目前国内外针对GPS欺骗的防护方法主要有如下几种。
(1)信号物理层特性检测方法
通过对比虚假信号与真实信号在信号物理层特性的差异来识别GPS虚假信号,这些差异主要包括自动增益控制[3]、信号到达方向、载波相位值、多普勒频移[4]等。Psiaki[5]等分析了基于信号到达方向检测GPS欺骗的原理,通过不同天线间信号载波相位的变化来判断信号的到达角,从而判断当前目标是否受到GPS欺骗攻击,并提出了根据GPS信号到达方向的欺骗检测方案。Ranganathan[6]等提出了辅助峰值跟踪的欺骗检测方法,该方法与导航消息检查器结合使用,可以通过跟踪最强的卫星信号以及其他较弱的环境信号实现欺骗检测。Kang[7]提出了利用GPS历书和星历数据估计到达方向(DOA)和实测DOA的差异,利用GPS定向天线进行欺骗检测的方法。
(2)基于密码学验证检测方法
使用密码学手段加密为随机噪声码,接收机接收到信号后需要对信号进行解码,对信号的发送者进行身份认证。Wesson等[8]提出了基于统计假设检验的密码源认证和码定时认证相结合的概率模型GPS信号认证方法,通过利用GPS信号的伪随机噪声码检测GPS欺骗攻击。
(3)使用其他设备辅助定位检测方法
通过使用惯性导航、无线网络和蜂窝网络等辅助手段结合GPS接收器进行定位,达到抗欺骗的目的。Panice等[9]结合惯性导航系统提出了基于状态分布的抗GPS欺骗检测机制,通过使用支持向量机分析GPS与惯性导航之间的误差分布来检测GPS欺骗攻击。Magiera等[10]提出了基于相位延迟和空间处理的GPS欺骗检测和缓解技术,通过使用多个接收天线对信号相位进行延迟估计和对信号进行空间滤波,以保护GPS接收器免受欺骗攻击。Jansen[11]提出了群体众包的方法来检测无人机的GPS欺骗攻击,该方法使用多架飞机报告位置的差异,通过无线空中交通管制系统来检测无人机位置的GPS欺骗攻击。Kwon等[12]提出通过对比GPS接收器和加速度计之间的加速度差来检测GPS欺骗攻击的方法。
在诸如电力巡检、物流配送等无人机沿指定路线飞行的场景中,现有方案仍存在如下问题:基于GPS信号物理层检测的方法只能检测到简单的GPS欺骗,当攻击者使用多个方向的GPS欺骗装置发射虚假GPS信号或在欺骗的同时动态调整GPS发射信号的频率和功率时,仅通过GPS信号物理层特性无法检测出欺骗攻击,因此该方法无法解决无人机在电力巡检中因上述GPS欺骗干扰引起的轨迹偏移问题;基于密码学验证方法不能解决信号的重放攻击,且对信号进行加密不适用于民用GPS信号;使用其他设备辅助定位检测方法,可以在一定程度上提高GPS接收器的抗欺骗能力,然而会因此增加设备定位的成本和无人机在电力巡检中的负载。针对现有方案的局限性,本文将长短期记忆(LSTM,long short-term memory)网络和卡尔曼滤波(KF,Kalman filter)相结合,提出了LSTM-KF模型。该模型提高了无人机在沿指定路线飞行时的抗GPS欺骗干扰的能力;一方面,利用LSTM循环神经网络学习当前环境无人机飞行轨迹规律,对无人机飞行轨迹进行有效的预测,避免了物理层检测方法对GPS信号过度依赖的问题;另一方面,使用Kalman滤波有效地解决了LSTM模型预测轨迹的误差,提高了无人机轨迹预测精度,从而有效增强了无人机抗GPS欺骗干扰的能力。同时,此方法不需要对GPS接收器增加额外的硬件开销,也无须对GPS信号进行任何修改,且易于实现。
2 LSTM-KF模型设计
2.1 设计思想
本文基于LSTM-KF模型的无人机抗GPS欺骗方法,通过比较无人机飞行轨迹预测值与无人机GPS接收机定位值之间的差异,可以快速检测出无人机GPS欺骗干扰。该方法使用LSTM与Kalman滤波相结合来预测无人机飞行轨迹。LSTM模型具有很强的时间序列数据预测能力,能够被应用于无人机飞行轨迹的预测,同时Kalman滤波能很好地解决LSTM预测的飞行轨迹因噪声等外部因素干扰带来的误差缺陷。基于LSTM-KF模型的无人机抗GPS欺骗方法流程如图1所示。
图1 基于LSTM-KF模型的无人机抗GPS欺骗方法流程Figure 1 Flow chart of anti-GPS spoofing method for drone based on LSTM-KF model
图1所示的系统流程实现是基于LSTM模型的无人机飞行轨迹静态预测和基于Kalman滤波的轨迹动态调整相结合,得出轨迹预测值的,并与GPS实时定位数据对比,检测无人机GPS定位安全性。其中,LSTM模型为预测的基础,利用训练好的LSTM模型从无人机的历史轨迹中计算出需要预测的无人机飞行轨迹。但LSTM模型不能对无人机所处的复杂环境(如噪声干扰等)进行调整,所以将卡尔曼滤波算法加入模型中。将LSTM模型预测的无人机轨迹作为初始的预测轨迹,再将该初始的预测轨迹输入卡尔曼滤波器中对结果进行动态地调整。卡尔曼滤波模型利用更新方程将最新的更新值加入预测向量中,从而有效地提高预测的精度。通过与GPS实时定位的数据作对比,发现该方法可有效地提高无人机抗欺骗干扰能力。
2.2 基于LSTM的无人机轨迹静态预测
2.2.1 无人机飞行轨迹预测模型
无人机飞行轨迹的预测是运用LSTM循环神经网络解决回归问题。对LSTM模型进行训练,将无人机的历史轨迹特征数据作为输入,将未来的无人机轨迹特征数据作为对应的标签,通过训练LSTM循环神经网络,建立无人机历史飞行轨迹与无人机未来飞行轨迹的映射关系,实现模型对无人机未来飞行轨迹的预测。
设x(t)为无人机在各时刻的四元组数据,其中t表示无人机飞行中的时刻,四元组数据代表的信息为[lngt,latt,higt,vt],其中lng、lat、hig、v分别表示无人机在t时刻的经度、维度、高度和速度。则无人机在t时刻的轨迹特征x(t)可表示为
通过训练后的LSTM模型可对无人机飞行轨迹进行预测,将连续n个时刻的无人机飞行轨迹数据[x(t-n+1),…,x(t)]作为LSTM模型的输入数据,向后预测n步,即将预测未来n个时刻的无人机轨迹数据[x(t+1),…x(t+n)]作为输出。其中n为LSTM模型中输入层的step大小。因此,无人机飞行轨迹预测模型表达式为
2.2.2 数据归一化处理
为了消除无人机飞行轨迹数据间不同量纲对LSTM模型训练引起的误差,对无人机飞行轨迹数据进行归一化处理。本文采用离差标准化(min-max normalization)方法,经处理后的无人机飞行轨迹数据取值范围映射到[0,1]。转换函数为
其中,max为无人机轨迹样本数据的最大值,min为无人机轨迹样本数据的最小值。X为无人机飞行轨迹原始数据,*X为归一化处理后的无人机飞行轨迹数据。经过归一化处理后,可以消除数据间取值范围和数量级的影响,但仍会保留数据间的关系。使用LSTM模型对无人机飞行轨迹进行预测后,对预测结果进行反归一化处理,使预测的无人机轨迹符合真实意义,以便后期与GPS接收器定位值作对比检测。
2.2.3 无人机轨迹预测LSTM模型输入层步数的选择
LSTM模型中引入了时序的概念,使模型的处理数据增加了一阶步数的选择。该步数即无人机飞行轨迹输入时刻的长短。根据步数的选择,LSTM模型的记忆神经元会选择记忆和遗忘所累积的信息,从而更加准确地由所选时刻的长短预测对应的无人机未来飞行的轨迹。在本文实验中,选择3~7个连续时刻的无人机飞行轨迹,即选择输入层的步数大小为3~13,并将无人机抗GPS欺骗评估指标作为评判标准,选取最佳的步数大小。
2.2.4 无人机轨迹预测LSTM模型隐藏层神经元节点个数选择
LSTM模型隐藏层神经元节点个数对无人机轨迹预测精度有直接的影响。如果节点数目太小,无人机轨迹预测不能很好地拟合,导致预测精度低,影响无人机抗GPS欺骗的性能;如果节点数目过大,会增加算法的复杂性与训练的时间。因此,本文实验中对隐藏层节点数目的选取进行分析,并将无人机抗GPS欺骗评估指标作为评判标准,选取最佳的隐藏层神经元节点个数。
2.3 基于Kalman滤波的轨迹动态调整
通过LSTM模型对无人机飞行轨迹预测,实现对无人机未来飞行状态和趋势较为合理的预测,然而由于复杂环境中不可避免的噪声干扰等问题,经过LSTM预测后的轨迹会出现偏移,需要对LSTM预测后的无人机飞行轨迹进行优化和调整,以提高预测精度,从而提高无人机的抗欺骗干扰能力。
卡尔曼滤波通过状态预测方程和更新方程对LSTM模型预测的无人机飞行轨迹结果进行更新,使无人机飞行轨迹预测结果更加精准,基于Kalman滤波的轨迹动态调整流程如图2所示。
图2 基于Kalman滤波的轨迹动态调整流程Figure 2 Dynamic adjustment of trajectories based on Kalman filtering
图2中,LSTM模型预测后的无人机飞行轨迹是卡尔曼滤波的观测值,Kalman滤波通过状态方程的预测阶段和测量更新阶段两个部分对LSTM模型预测的无人机轨迹进行动态调整,提高无人机轨迹预测的精确度。模型中卡尔曼滤波的状态方程和观测方程分别如式(4)、式(5)所示。
其中,X(k)为系统状态向量,表示无人机在k时刻的状态矢量,F(k+1)为状态转移矩阵,表示无人机飞行轨迹中由前一时刻的运动状态到下一时刻的运动状态的转移方式,W(k)为无人机运动模型的系统状态噪声,其统计特性相当于高斯白噪声;Z(k+1)为观测向量,表示无人机在k+1时刻LSTM模型预测的无人机轨迹值,H(k+1)为观测矩阵,V(k)为无人机轨迹估计过程中产生的观测噪声。
卡尔曼滤波状态方程预测根据无人机轨迹前一时刻值最优状态估计预测出无人机轨迹下一时刻值的状态,同时更新当前预测状态的协方差,状态预测方程如下所示。
得到下一时刻预测值之后,利用LSTM模型预测的无人机轨迹提供观测值Z(k+1,k),利用卡尔曼更新方程来推测出最优无人机轨迹估计值,同时通过状态噪声协方差和观测噪声协方差得出卡尔曼增益矩阵K。观测更新方程如式(8)所示。
经过卡尔曼滤波更新过程,得到无人机轨迹下一时刻的最优位置估计值,通过不断迭代,可完成对LSTM模型预测无人机轨迹的动态调整。
3 GPS抗欺骗系统设计与实现
本文方法首先加载无人机飞行记录数据集并对其进行规范化,将数据集分成训练数据集和测试数据集。接下来,创建并初始化LSTM模型。设定LSTM的每个输入数据与以前的数据输入之间的递归关系。在LSTM中,激活函数为sigmoid,在编译模型时指定损失函数为mean_squared_error,优化器为adam。然后对训练数据进行批量迭代训练,并进行LSTM预测。最后,利用Kalman Filter.em()学习参数,建立并拟合Kalman滤波器,利用KalmanFilter.smooth()预测隐藏状态序列。最终得出预测值,与GPS接收器的数据进行实时对比,得出检测结果,判断无人机是否受到GPS欺骗干扰。
基于LSTM-KF模型的GPS欺骗检测算法如算法1所示。
算法1基于LSTM-KF模型的GPS欺骗检测算法
输入无人机GPS轨迹集T
输出无人机GPS欺骗检测结果
1)加载数据集
2)规范化数据集
scaler=MinMaxScaler(feature_range=(0,1))
dataset=scaler.fit_transform(dataset)
3)创建训练数据和测试数据集
4)初始化LSTM训练模型
model=Sequential()
model.fit(trainX,trainY,epochs=100,batch_size=5)
5)对数据进行训练,并进行LSTM预测
6)初始化Kalman滤波模型
kf=KalmanFilter(initial_state_mean=observations[0])
7)EM算法学习Kalman参数
kf=kf.em(observations,n_iter=5,em_vars='all')
8)利用Kalman模型预测隐藏状态序列
measurements_predicted=(kf.smooth(measurements)[0])[:,0]
9)对比预测值与定位值,判断欺骗结果
if compare(D_PRE,D_RES)>ε
output ture;
else
T=T+D_RES
output false
无人机GPS抗欺骗接收器软件实现:运用GPS定位模块和LSTM-KF算法模块组合实现GPS抗欺骗功能,GPS接收器模块实时接收定位数据,对数据进行处理,解算无人机定位数据。定位软件开启后可检测硬件设备和驱动是否安装正确,并开始采集数据,将实时数据通过与LSTM-KF算法预测轨迹数据进行对比分析,得出无人机抗欺骗结果,并在地图上将定位点实时显示出来。飞行完成后的定位数据可保存在本地中,以供后续处理分析和使用。
4 实验结果与分析
4.1 实验数据描述与处理
数据的采集来自无人机携带的GPS接收器实际接收的GPS信号产生的定位记录,无人机的飞行轨迹区间为海南大学第一田径运动场至海南大学图书馆,无人机携带的GPS接收器能够记录无人机飞行轨迹的经度、维度、高度和速度。无人机GPS欺骗场景通过软件定义无线电实现,攻击者可以通过生成式欺骗产生虚假信号,通过定向天线对无人机进行GPS欺骗干扰。采集数据集参数如表1所示。
表1 采集数据集参数Table 1 Acquisition data set parameters
4.2 评估指标
为了确定研究的LSTM-KF模型的性能,采用4种评价指标对该模型的抗GPS欺骗性能进行评估。
图3 无人机抗GPS欺骗系统实现Figure 3 Implementation of UAV anti-GPS deception system
检测率(DR,detection rate)、漏检率(MR,missing report rate)、误报率(FR,false alarm rate)、准确率(Accuracy)的计算式如下。
其中,Pd为检测率,代表无人机正确识别GPS欺骗信号的概率;Pm为漏检率,代表无人机将GPS欺骗信号识别为正常的信号的概率;Pf为误报率,代表无人机将正常的GPS信号识别为欺骗信号的概率;Pa为准确率,代表无人机将GPS正常信号和欺骗信号均正确识别的概率。
4.3 结果分析
本节实验结果分析主要分成两部分:①针对本文提出的LSTM-KF模型,研究不同的参数对无人机抗GPS欺骗的性能的影响;②分析对比不同的方法对无人机抗GPS欺骗的效果。
4.3.1 无人机抗GPS模型参数分析
对无人机飞行轨迹数据作归一化处理后,设定不同的隐藏层神经元节点个数,将连续6个时刻的无人机飞行轨迹数据作为模型的输入,将未来6个时刻的无人机飞行轨迹数据作为输出来训练模型。在实验中设置不同的LSTM预测模型的隐藏层神经元节点个数。通过比较实验结果的准确率和误报率,确定该模型中最佳的参数,实验过程中不同隐藏层节点数对应的准确率和误报率对比如图4所示。
图4 神经元节点对应的准确率和误报率对比Figure 4 Comparison of accuracy and false alarm rates corresponding to neuron nodes
由图4可知,随着隐藏层神经元节点个数不断增加,无人机识别GPS信号真伪的性能随之提高。隐藏层神经元个数从4增加到12,准确率提高了8.3%。而神经元个数从12增加到16时,准确率的提升比较缓慢。当神经元个数增加到12之后,随着神经元个数的增加,误报率出现上升的趋势。从实验结果可以看出,当隐藏层神经元节点数为12时,训练效果最佳,无人机识别GPS欺骗准确率高、误报率低、无人机抗GPS欺骗性能最佳。综上所述,该模型设置的最佳隐藏层神经元节点数为12。
无人机飞行轨迹输入时刻的长短直接影响着该模型对无人机飞行轨迹预测的精度,实验中设置输入层不同的步数,即设置不同连续时刻的无人机飞行轨迹作为模型的输入,对比实验结果中不同步数的准确率和误报率,确定该模型最佳的步数。实验过程中输入层步数对应的准确率和误报率图5所示。
图5 输入时序步长对应的准确率和误报率对比Figure 5 Comparison of accuracy and false alarm rates corresponding to input timing steps
由图5可知,随着输入层步数逐渐增大,无人机识别GPS信号真伪的性能在步数为10时达到最高值。当步数从3增加到10,准确率逐步提升,在10时准确率达到了97.1%。同时误报率明显下降,无人机识别GPS信号性能不断提升。当步数增加到10以后,随着步数不断增加,准确率开始逐步下降,同时当步数达到11之后,误报率开始出现上升趋势。输入的步数越大,模型计算越复杂,模型出现过拟合现象,导致无人机识别GPS信号的准确率开始下降,误报率出现上升趋势。从图5可以看出,当输入层步数为10时,训练效果最佳,无人机识别GPS欺骗准确率高、误报率低、无人机抗GPS欺骗性能最佳。综上所述,该模型设置的最佳步数为10。
4.3.2 不同方法对于无人机抗GPS欺骗性能对比
为了验证该模型的无人机抗GPS欺骗的性能和效果,在相同的数据集的基础上,采用循环神经网络(RNN,recurrent neural network)模型、LSTM模型、支持向量机(SVM,support vector machine)模型测试本次实验中无人机抗GPS欺骗的效果。利用本文提出的评估指标对以上模型进行抗GPS欺骗性能的比较,实验结果如表2所示。
表2 各模型抗GPS欺骗性能对比结果Table 2 Comparison results of anti-GPS deception performance of each model
由表2可知,本文提出的LSTM-KF模型的无人机抗GPS欺骗性能优于LSTM模型、SVM模型和RNN模型。LSTM-KF模型的准确率达到98.3%,误报率仅为0.56%,漏检率为0.8%。一方面,该模型使用的LSTM预测方法本身可以提供较好的时序预测能力;另一方面,结合Kalman滤波可有效地改善LSTM预测模型因外部环境等因素产生的预测误差。本文提出的LSTM-KF模型的抗GPS欺骗准确率分别比LSTM模型、SVM模型、RNN模型提高了9.8%、13.6%和25.7%,LSTM-KF模型的准确率得到了极大地提升。对于虚假信号的检测率,该模型相对其他3种模型分别提高了6.5%、11.9%和16.1%。同时LSTM-KF模型对于实验结果的误报率有明显的优势,分别比其他3种模型误报率降低了10.14%、16.24%和21.04%。
5 结束语
欺骗是GPS接收器上最重要的威胁之一。本文讨论了无人机抗GPS欺骗干扰的检测模型,提出了基于LSTM-KF模型抗GPS欺骗检测方法,通过长短期记忆网络预测出无人机飞行轨迹并结合卡尔曼滤波对其进行调整,之后通过与GPS接收器定位结果的对比达到对无人机GPS欺骗干扰做出有效判断的目的。模型采用长短期记忆网络模型实现静态预测,同时采用卡尔曼滤波模型结合实时定位数据对静态预测的预测值进行动态调整。通过两个模块的静态预测和动态调整的结合,实现最优估计,从而对欺骗信号进行准确的判断,达到抗欺骗干扰的目的。该方法相对于传统的抗GPS欺骗检测方法无须增加辅助设备等硬件成本,且具有准确率高、误报率和漏报率低的特点,能在无人机沿指定路线飞行的场景下有效地实现抗GPS欺骗干扰的效果。