基于VBGMM-DCNN的列车卫星定位欺骗干扰检测方法
2023-09-27王思琦蔡伯根
王思琦, 刘 江,2,3, 蔡伯根,3,4, 赵 阳
(1. 北京交通大学电子信息工程学院, 北京 100044;2. 北京交通大学智慧高铁系统前沿科学中心, 北京 100044;3. 北京市轨道交通电磁兼容与卫星导航工程技术研究中心, 北京 100044;4. 北京交通大学计算机与信息技术学院, 北京 100044;5. 中国铁道科学研究院集团有限公司通信信号研究所, 北京 100081)
0 引言
基于全球导航卫星系统(global navigation satellite system, GNSS)的列车定位不仅可以提高列车运行控制系统车载设备的高度自主性、灵活性,还可以大幅简化轨旁设备,降低维护成本,提高经济效益[1-3]。然而,考虑到GNSS固有的脆弱性以及庞大铁路网内复杂多变的运行环境,卫星定位在铁路关键装备及服务中的实际运用仍存在一定的潜在威胁[4-5],其中,信号干扰会为列车卫星定位带来信息安全层面的风险。蓄意欺骗攻击作为一种典型的干扰形式,旨在诱骗车载卫星定位终端解算出错误的位置和时间信息,会对列车定位信息用于监测、控制等决策带来直接危害。为此,考虑到列车运行控制系统对列车定位的特定安全需求,亟需引入针对卫星定位欺骗攻击的主动防御机制,强化列车卫星的自主防护能力,在实施防护的过程中,如何有效检测欺骗干扰攻击的存在,是实施防御的前提。
目前,卫星定位欺骗检测与防护技术的研究相对成熟。根据在用户接收机信号处理中检测欺骗攻击的位置不同,可将欺骗攻击检测手段分为:1)射频前端方案,根据欺骗攻击信号来向单一、信号功率普遍高于真实信号的特点,采用多天线阵列[6]、信号到达角[7]、自适应增益控制器输出功率[8]等方法,可以实现对不同欺骗攻击的较高检测成功率;2)基带信号处理端方案,通过检测捕获阶段二维时频搜索峰值或跟踪环路的自相关函数畸变,判定是否受到欺骗攻击,如捕获峰值多峰检测[9]、基于信号质量检测(signal quality monitoring, SQM)的相关峰失真检测[10]、码和载波相位联合一致性检测[11]等;3)定位解算端方案,利用辅助传感器冗余信息[12]或接收机自主完好性监测(receiver autonomous integrity monitoring, RAIM)机制[13]对特定特征参数进行一致性检测。近年来,机器学习、深度学习以及深度强化学习等人工智能领域前沿技术的引入,为卫星定位欺骗检测提供了新的思路[14-16]。然而,现有方法尚缺乏适用于列车卫星定位场景的专用设计,不断涌现的新型学习建模方法也为列车定位应用提供了有效途径。为此,本文针对列车定位解算端的欺骗检测问题,提出了基于变分贝叶斯高斯混合模型-深度卷积神经网络(variational Bayesian Gaussian mixture model-deep convolutional neural network, VBGMM-DCNN)的检测方法,主要的创新工作包括:
1)考虑轨迹欺骗、时间欺骗和伪距欺骗攻击对定位观测的显著影响,设计了基于卫星量测偏差的欺骗检测方案,根据其在欺骗攻击前后的不同分布特性实施检测;
2)提出了完整的基于VBGMM-DCNN模型的列车卫星定位欺骗干扰检测方法,使用VBGMM模型拟合特征参数的概率密度分布,DCNN模型通过提取分布特征来决策系统是否受到欺骗攻击;
3)针对同一欺骗攻击下不同卫星对欺骗攻击响应的差异,所提算法适应每颗卫星响应的差异性,并对单颗卫星是否受到欺骗攻击做出决策。
1 欺骗攻击下列车卫星定位性能影响分析
导致卫星定位脆弱性的原因包括自然环境、无意人为干扰和蓄意攻击等,其中,蓄意攻击往往主观上以卫星定位性能下降或定位失效为目的,其可操作性使卫星定位面临严重威胁。蓄意攻击主要包括压制和欺骗两类。压制攻击通过传输大功率干扰信号使接收机失去对卫星信号的锁定,导致接收机无法定位;欺骗攻击使目标接收机被迫跟踪与合法卫星信号具有相似结构的欺骗信号,从而产生错误的位置或时间信息,故而在不损害定位连续性的情况下更具误导性。对列车卫星定位系统实施欺骗攻击,欺骗者需要采取一定的技术手段跟踪列车的实时运行状态,据此产生调制了错误测量信息的伪信号;或转发真实卫星信号,通过增加信号传输延时,使列车卫星定位接收机解算错误定位信息。列车运行过程中,若受到生成式/转发式欺骗攻击,均会导致列车解算出带有显著偏移的错误位置信息,如图1所示。欺骗攻击可能引发定位失准,若在列车控制系统处理逻辑未采用针对性防护措施,则可能直接影响列车控制功能的正常执行,甚至可能对行车安全造成影响。
卫星定位通过测量信号从卫星到接收机天线端的传播时间,得到各可视卫星伪距、多普勒频移等观测量,结合卫星星历/历书,通过状态估计解算空间位置、速度。欺骗信号与真实信号存在相对码相位时延和多普勒频率偏移,故而,欺骗攻击最终将在伪距、伪距率、时钟偏差等观测信息中体现为一定偏差[17-18]。以伪距、伪距率和载波相位为例,受欺骗攻击作用下的观测方程为
δts)+I+T+ερ+δρSp
(1)
(2)
δts)-I+T+λNφ+εφ+λδφSp
(3)
=(HTH)-1HTZAu+(HTH)-1HTδZSp
(4)
2 列车卫星定位欺骗干扰检测方案
考虑到欺骗干扰检测可以视为一种典型的二分类问题,且基于深度学习方法对解决二分类问题的潜在优势,本文提出了一种基于变分贝叶斯高斯混合模型-深度卷积神经网络(VBGMM-DCNN)的列车卫星定位欺骗干扰检测方案,其总体框架如图2所示。可以看到,该框架分为离线建模和在线检测两个部分,每个部分都包括基于VBGMM的卫星特征参数拟合和基于DCNN的卫星信号分类决策两个环节:在离线建模中,采集列车运行目标线路所有可见卫星的观测数据,建立列车卫星定位无干扰和欺骗干扰数据库,通过对数据的详细分析建立欺骗干扰检测模型,通过模型训练和验证,使模型满足预期性能;在在线检测中,车载卫星定位终端采集可见卫星观测数据,实时计算并更新可见卫星观测特征,并将每颗卫星的观测特征输入至该卫星对应的已经训练所得欺骗干扰检测模型,判定是否受到欺骗攻击。
图2 基于VBGMM-DCNN的列车卫星定位欺骗干扰检测方案框架Fig.2 Spoofing detection scheme framework for satellite-based train positioning based on VBGMM-DCNN
离线建模和在线检测的具体操作如下:
首先,设置滑动窗口,即取当前时刻及其前(N-1)个定位周期列车卫星定位特征参数,包括每颗可见卫星的伪距残差、伪距率残差、载波相位残差、卫星钟差和卫星钟漂,针对每颗卫星观测通道构造一个特征参数矩阵(矩阵大小为N×5);其次,将标准化的特征参数矩阵进行主成分分析(principal component analysis, PCA)特征降维至两维,输入VBGMM模型,通过参数初始化、变分推断和自适应调整高斯混合分量个数等操作求解各个高斯分量的参数,计算二维高斯混合概率密度函数,对其进行等间隔采样得到二维概率密度图;最后,采用灰度化处理,将概率密度图转为灰度图,并输入至DCNN模型中,模型进行有监督分类,以判断是否受到欺骗攻击。离线建模和在线检测的主要区别在于输入模型的数据不同,离线建模将列车卫星定位历史数据输入至模型中,进行模型的训练和调整;在线检测则将实时定位数据输入至已经训练的模型中,实时检测欺骗攻击。
3 基于VBGMM-DCNN的欺骗干扰检测方法
3.1 特征参数
本文选取卫星伪距残差、伪距率残差、载波相位残差、卫星时钟误差及卫星时钟漂移构建干扰检测特征量。
(5)
式中,(xs,ys,zs)为卫星三维空间坐标。
(6)
(7)
4)卫星时钟误差:卫星时钟在观测时间为t时的卫星钟差Δts为
Δts=af0+af1(t-toc)+af2(t-toc)2
(8)
式中,af0,af1,af2以及参考时间toc均由卫星导航电文的第一数据块给出。
卫星时钟总的校正量还包括相对论效应的校正量Δtr和群波延时校正量TGD,即
δts=Δts+Δtr-TGD
(9)
(10)
3.2 基于VBGMM-DCNN的建模检测方法
(11)
则协方差矩阵为
(12)
计算协方差矩阵的特征值为λ1,λ2,…,λ5,且λ1>λ2…>λ5,取最大的λ1和λ2对应的特征矢量β1和β2,组成转换矩阵A=[β1,β2],利用下式得到降维后的数据V。
V=ATX
(13)
高斯混合模型(Gaussian mixture model, GMM)采用对多个高斯分量的线性组合来描述复杂数据的概率分布,广泛用于解决分类和密度估计问题。GMM模型的概率密度函数可以表示为
(14)
其中,v是使用PCA降维后的二维特征矢量;K为高斯分量的总数;Θk为第k个高斯分量的隐变量,均值为μk;方差矩阵为Λk;πk(πk≥0且∑kπk=1)是混合系数,表示高斯分量的权重;Φ(v|μk,Λk)为第k个高斯分量的概率密度函数。
本文使用变分推断(variational inference, VI)求解模型参数。将某一观测特征矢量v*代入VBGMM模型,预测其概率分布,结果为
q(Θ*|π)q(π,μk,Λk|v)dπdμkdΛk
(15)
变分推断通过循环执行变分E步和变分M步来更新均值、协方差矩阵和混合系数,直至算法收敛[19],最终,得到混合学生t分布,即所求概率密度函数
p(v*|v)=
(16)
卷积神经网络(convolutional neural networks, CNN)是一种包含卷积操作的前馈神经网络,是深度学习的典型算法之一,被广泛应用于计算机视觉、自然语音处理等领域。基于深度卷积神经网络(deep convolutional neural networks, DCNN)的分类算法是一种有效的分类方式,通过多层卷积和池化操作提取学习大规模数据的复杂特征,提高分类准确度。DCNN的核心是卷积层,由一组卷积核(也称为卷积滤波器)组成。卷积操作的本质是相关滤波,卷积核按照预设步长的滑动窗口在输入信号上移动,并与截取的相同大小的张量做点乘,添加偏置求和,不断重复上述过程直至遍历输入信号,最终得到一个特征图。一般在卷积层后紧跟池化层和激活函数,池化层对卷积层提取的特征图进行降维,改善过拟合现象,激活函数用于增加网络的非线性。在对DCNN模型进行训练时,采用交叉熵损失函数衡量预测的分类结果与真值的差距,通过反向传播更新网络参数。基于KL散度可推导交叉熵损失函数
=-Υ(P)+Υ(P,Q)
(17)
其中,p(x)为样本真实的概率密度函数;q(x)为模型拟合的概率密度函数;Ω为整个概率密度空间;Υ(P) 为样本真实分布P的信息熵;Υ(P,Q)为样本真实分布与模型预测分布Q的交叉熵;KL散度具有非负特性,使得最小化KL散度等价于最小化交叉熵。
基于上述思想的列车卫星定位欺骗干扰检测可视为一种有监督二分类问题,为引入深度卷积神经网络并发挥其建模描述能力的优势提供了契机。运用DCNN模型检测确认是否受到欺骗攻击,主要分为以下几个步骤:
Step 1:离线建模时,根据式(5)~(10)计算卫星观测特征矢量,采用PCA进行降维,得到v。
Step 2:采用VBGMM模型估计v的概率密度函数,进行二维等间隔采样,得到二维概率密度分布图Sn,关联相应的特征标签。
Step 3:将二维概率密度分布图Sn视为单通道图片信号,输入构建好的DCNN网络中,网络进行迭代训练,计算交叉熵损失函数,使用误差反向传播算法更新网络参数,多次迭代训练后得到优化的欺骗检测模型。
Step 4:列车运行中,调用DCNN网络对实时卫星观测特征的二维概率密度图进行二分类,若模型判决存在欺骗干扰,向列车定位应用端输出告警并实施欺骗防护;若模型判决未受到欺骗攻击,将卫星定位解算结果用于列车测速定位决策。
结合上述思路,本文提出的列车卫星定位欺骗干扰检测流程如图3所示。该方法可以监测每颗卫星的观测状态,若判定当前观测卫星受到欺骗攻击,可直接在列车测速定位决策处理中隔离该卫星定位通道,防止受到欺骗干扰的影响,或运用额外的欺骗攻击抑制手段恢复真实的导航卫星量测信息用于解算及定位决策处理,在保持卫星定位运用的条件下主动消除欺骗攻击的影响。本文所提方法的应用约束有:算法的欺骗检测性能与欺骗攻击的类型和强度有关;算法的检测性能与深度学习模型的深度有关;所提算法为数据驱动方式,需要大量的欺骗数据样本支持来进一步提升算法的优势。
图3 基于VBGMM-DCNN的列车卫星定位欺骗干扰检测流程Fig.3 Spoofing detection process for satellite-based train positioning based on VBGMM-DCNN
4 验证与分析
4.1 数据采集
采用2021年7月在青藏铁路公司管辖内哈木线(哈尔盖-木里)现场采集的列车卫星定位数据对本文提出的欺骗干扰检测方法性能进行验证。在现场采集中,为满足使用真实现场数据构建基础测试场景的需求,需确保卫星定位可用且具有较优定位性能,选择较为开阔的线路区段,使用NovAtel SPAN-FSAS高精度组合定位参考系统定位输出结果用于列车运行场景构建,在干扰测试中通过叠加特定类型欺骗信号模拟欺骗干扰攻击,实现信号级干扰仿真测试。图4显示了实验室内搭建的欺骗干扰测试环境。
图4 实验室搭建的欺骗干扰测试环境Fig.4 Spoofing test environment built in the laboratory
欺骗干扰测试环境由Spirent GSS 9000型导航卫星信号模拟器(含SimSAFE干扰套件)、受测接收机(Ublox M8)及相应控制软件组成。根据现场采集的列车运行数据,提取列车三维空间位置、速度信息制作列车轨迹文件,导入实测数据采集当天的星历,通过配置指令在不同的观测量注入欺骗场景事件。受测接收机通过射频天线接收模拟器产生的受干扰的卫星信号,并实施定位观测解算。
基于上述环境,实施了4种场景的测试检验,包括无干扰场景、轨迹欺骗场景、时间欺骗场景以及伪距欺骗场景。图5显示了每种场景模拟过程中8颗可持续跟踪卫星的天顶视图,实验设置真实卫星信号的强度为-130 dBm,欺骗卫星信号的强度为-125 dBm。无干扰场景:模拟器仅根据真实列车运行轨迹模拟真实卫星信号;轨迹欺骗场景:模拟器导入的欺骗轨迹相比于真实列车运行轨迹在ECEF坐标系下X轴添加了30 m偏差;时间欺骗场景:设置欺骗信号的时间参数为时钟偏移 af0=4×10-5s、时钟漂移 af1=10-9s/s、时钟漂移率 af2=10-15s/s2;伪距欺骗场景:模拟器根据真实列车运行轨迹模拟欺骗卫星信号,欺骗卫星伪距添加50m偏差。每种场景下列车运行时长2 900 s,受测接收机采样频率设置为10 Hz,4种场景共记录时长11 600 s,即116 000 条卫星定位观测数据。滑动窗口长度设置为10 s。在每一种场景下,针对每颗可视卫星可以构建28 900 例样本(特征矩阵),欺骗场景的样本标签为“1”,表示欺骗样本,无干扰场景的样本标签为“0”,表示真实样本。每种场景每颗卫星的样本划分为训练集(50%)、验证集(30%)和测试集(20%),用于建模与检验。
4.2 方法验证
为检验欺骗干扰检测算法的性能,首先,设置不同的DCNN网络模型,分析不同网络模型的适用性;其次,与常规有监督分类算法用于欺骗检测的性能进行对比分析,验证所提出VBGMM-DCNN建模检测策略的有效性。
本文选择3种DCNN网络模型用于模型对比,模型均由卷积层、批量归一化层、池化层、全连接层和激活函数混合构建,3种模型深度逐渐增加,网络参数设置如下:
1) DCNN-1模型:Conv(50, 11×11, 3);Bn();Relu();Mp(11×11, s=4);Fc(50);Relu();Fc(2);Softmax()。
2) DCNN-2模型:Conv(50, 11×11, 2);Bn();Relu();Conv(100, 12×12,2);Bn();Relu();Conv (50, 12×12, 2);Relu();Fc(50);Relu();Fc(2);Softmax()。
3) DCNN-3模型:Conv(10, 3×3, 2);Bn();Relu();Mp(11×11);Conv(100, 11×11);Bn();Relu();Mp(11×11);Conv(50, 11×11);Bn();Relu();Conv(10, 4×4, 2);Bn();Relu();Fc(50);Relu();Fc(2);Softmax()。
其中,Conv (numFilters,filterSize,stride)表示卷积层,滤波器数量为numFilters,滤波器大小为filterSize,步长为stride,默认步长为1;Bn()表示批量归一化层;Relu()表示Relu激活函数;Mp(filterSize,stride)表示最大池化;Fc(outputSize)表示全连接层,输出outputSize个神经元;Softmax()表示Softmax激活函数。3种模型迭代次数均设置为50次,学习率为0.001,批量大小为100,优化函数为Adam()。
DCNN-1、DCNN-2和DCNN-3模型的参数量分别为96.3×103,1.4×106和742.7×103,在相同的硬件平台下,三种模型经过50轮训练耗时分别为188.97 s, 1 115.95 s和1 094.30 s。图6以PRN2号卫星通道数据为例显示了DCNN-3模型的训练过程。随着迭代次数的增加,模型在训练集和验证集的准确率逐渐增加超过90%,模型损失逐渐减小至0.1附近。采用经典的分类算法评价指标,包括准确率、精准率、召回率和F1值,评价3种模型的性能。图7、图8和图9分别统计了3种模型在训练集、验证集和测试集的评价指标结果,图中横坐标表示3种模型的4个评价指标,纵坐标表示不同卫星通道,矩形颜色深浅量化表示了评价指标值的区别。总体来看,针对不同数据集,随着模型深度的增加,评价指标值越大,欺骗干扰检测性能越优,且不同卫星通道运用相同网络模型架构进行模型训练和检测,其检测性能存在差异,其原因在于随着卫星空间分布不同,不同卫星对同一欺骗攻击的响应程度不一致,具体体现在所选5维观测特征参数的变化存在差异,使得相同网络模型所得训练参数不一致,导致不同的检测效果。为了定量分析模型性能,对不同卫星观测的性能评价指标求算术平均(结果如表1),结果表明,DCNN网络这一类方法能够有效实现对干扰特征的建模并支持干扰检测识别,在所采用的3种模型中,DCNN-3模型在多个评价指标和多个数据集上能够获得总体更优性能,相对DCNN-1、DCNN-2,模型深度的增加有助于提高欺骗干扰检测性能。
图6 DCNN-3模型的训练过程Fig.6 Training process of DCNN-3 model
图7 训练集评价指标统计Fig.7 Statistics of evaluation indexes of training set
图8 验证集评价指标统计Fig.8 Statistics of evaluation indexes of validation set
图9 测试集评价指标统计Fig.9 Statistics of evaluation indexes of testing set
表1 三种DCNN模型的欺骗检测性能评价指标统计
本文选择伪距欺骗场景来验证DCNN-3模型对不同程度欺骗攻击的检测性能。设置11种伪距欺骗场景,欺骗卫星添加20~200 m伪距偏差。表2列出了在测试集上不同观测卫星的性能评价指标的算术平均值。整体来看,随着欺骗信号伪距偏差的增加,四个检测性能评价指标出现增加趋势,当伪距偏差达到90 m时,各个检测性能评价指标已接近100%。因此,随着欺骗程度的增加,所提模型的检测性能具有一定的提升。
表2 不同伪距欺骗程度下DCNN-3模型的检测性能评价指标统计
本文选择了3种经典的有监督分类算法作为参照来进一步对比分析所提算法的检测性能,包括决策树(DT)、支持向量机(SVM)、包含单隐藏层的感知机(MLP),使用文本选择的5维卫星定位观测特征参数组成的特征矢量进行模型训练和测试。图10显示了包括本文所用策略(DCNN网络配置为DCNN-3)在内的4种方法的测试集性能统计结果。图中,纵坐标显示了不同卫星通道4种评价指标的算术平均值,并根据标准差添加了误差线。具体来看,本文所提出的方法的准确度相比于对比方法分别提升了0.88%(DT),2.32%(SVM)和17.36%(MLP);精确度相比于SVM算法提升了2.50%,相比于DT和MLP算法分别降低了0.21%、5.36%;召回率相比于对比方法分别提升了4.88%(DT),5.32%(SVM)和92.96%(MLP);F1值分别提升了2.25%(DT),4.17%(SVM)和44.68%(MLP)。总体来看,测试验证中所设置的欺骗干扰场景所致卫星观测特征与无干扰条件相比存在较明显异化,所选用的3种参照方法能够达到一定的欺骗干扰检测性能,本文所提出的方法充分发挥了VBGMM-DCNN策略的优势,达到了量化更优且更为稳定的检测性能,对于确保列车定位的欺骗干扰检测能力并驱动主动防护具有积极意义。
图10 对比算法的评价指标统计Fig.10 Statistics of comparison algorithm evaluation index
综上所述,本文所提出欺骗干扰检测方法针对不同的深度卷积网络模型配置策略、不同空间分布下的卫星定位观测通道,其欺骗干扰检测性能存在差异,随着网络模型深度的增加,检测性能能够得到提升;分别在所建立的欺骗干扰数据集上实施本文方法和典型有监督分类算法,对比验证了所选用的卫星观测特征参数集的合理性和可用性,进一步验证了本文提出整体方案的检测性能和应用潜力。
5 结论
针对列车卫星定位的欺骗干扰检测防护需求,面向卫星定位解算域,提出一种基于VBGMM-DCNN的欺骗干扰检测方法,该方法采用VBGMM模型拟合卫星定位观测特征矢量的概率密度函数,等间隔采样得到二维概率密度图,并将其输入至DCNN模型中进行二分类判决。论文结合欺骗干扰测试环境实施了测试验证,结论如下:
(1)构建了无干扰、伪距欺骗、轨迹欺骗和时间欺骗4类欺骗干扰模式的样本数据集,对不同的DCNN网络模型进行了测试,结果显示,不同卫星通道对同一欺骗攻击的响应有所区别,导致相同DCNN模型的欺骗干扰检测性能存在差异;整体而言,随着DCNN网络模型深度的增加,欺骗干扰检测性能能够得到提升。
(2)将所提出的方法与典型有监督分类算法进行对比,结果显示,本文所选用的卫星定位观测特征参数集能够充分体现欺骗干扰对定位解算的影响。综合各类性能指标来看,VBGMM-DCNN建模检测策略的引入能够达到更优的整体性能。
(3)基于VBGMM-DCNN的欺骗干扰检测能够适应测试验证中运用的列车运行特征及定位观测条件,所达到的检测性能较高,且针对每颗可视卫星建立独立的神经网络模型,如果检测出卫星受到欺骗攻击,可以通过简单的排除该卫星通道,使其不参与最终卫星定位解算,从而简单地实现欺骗干扰的防护。