有效
一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法
孙蕊、李佳颐、熊秋茹、周益、姚策驰、庞波波
南京航空航天大学
摘要
本发明提出了一种极端天气下基于PSO‑GRU的北斗时间同步攻击检测方法,包括:构建并训练PSO‑GRU网络模型,用于预测时钟状态;基于自适应滑动窗对所述极端天气下的北斗时钟数据进行预处理;预测和实测时钟状态;进行时间同步攻击检测并识别时间同步攻击的类型,完成极端天气下基于PSO‑GRU的北斗时间同步攻击检测。本发明解决了基于卡尔曼滤波的时间同步攻击检测方法存在极端天气下受数据中的噪声和异常值影响大,难以实时估计时钟状态的问题,具备良好的非线性映射能力和高度的自学习能力,并且能够避免出现梯度爆炸、梯度消失和过拟合等问题,同时TSA检测的精度和效率能够得到一定程度的提升。
1.一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,包括以下步骤:步骤1,构建并训练PSO-GRU网络模型,用于预测时钟状态;步骤2,基于自适应滑动窗对所述极端天气下的北斗时钟数据进行预处理;步骤3,预测和实测时钟状态;步骤4,根据步骤3中得到的预测和实测的时钟状态,进行时间同步攻击检测并识别时间同步攻击的类型,完成极端天气下基于PSO-GRU的北斗时间同步攻击检测。
2.根据权利要求1所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤1所述的构建并训练PSO-GRU网络模型,包括以下步骤:步骤1-1,构建训练数据集;步骤1-2,构建PSO-GRU网络模型;步骤1-3,训练PSO-GRU网络模型,即使用PSO算法优化GRU网络模型参数。
3.根据权利要求2所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤1-1中所述的构建训练数据集,具体包括:对未受到时间同步攻击的原始北斗卫星数据进行后处理,根据授时原理解算出实际的时钟偏差和时钟漂移,所述训练数据集为 其中,未受到时间同步攻击的原始北斗卫星数据中的时钟偏差X和时钟漂移 如下:其中,τ表示历元间的时间间隔,n表示时钟序列的数据个数,X表示从历元T-nτ时刻到t时刻的北斗卫星实测接收机钟偏, 表示从历元t-nτ时刻到t时刻的北斗卫星实测接收机钟漂;b u,m (t)表示历史实测接收机钟偏, 表示历史实测接收机钟漂,u表示由BDS接收机接收到的数据,m表示实际测量值。
4.根据权利要求3所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤1-2中所述的构建PSO-GRU网络模型,具体包括:步骤1-2-1,构建GRU网络模型,所述GRU网络模型,具体包括:一个重置门,用于决定需要保留的历史数据,具体如下:r t =σ(W r ·[h t-1 ,x t ])其中,x t 表示当前时刻输入的时钟状态数据,h t-1 表示前一时刻的隐藏状态,r t 为当前时刻的重置门输出,·代表矩阵乘积,σ代表sigmoid函数,W r 为重置门的权重矩阵;一个更新门,用于决定保留的历史数据长度,具体如下:z t =σ(W z ·[h t-1 ,x t ])其中,z t 表示当前时刻的更新门输出,W z 为更新门的权重矩阵;一个候选隐藏状态,用于表示一个临时隐藏状态,包含当前输入数据和历史数据,具体如下:h′ t =tanh(W h ,·[r t *h t-1 ,x t ])其中,h′ t 为当前时刻的候选隐藏层状态,W h’ 为候选隐藏状态的权重矩阵,*代表点积,tanh为双曲正切函数;根据所述重置门、更新门和候选隐藏状态,计算当前隐藏状态,具体如下:h t =(1-z t )*h t-1 +z t *h′ t其中,h t 是当前时刻的最终隐藏状态;步骤1-2-2,初始化PSO算法参数,以GRU网络模型的隐藏层数、时间序列长度和隐藏层节点数作为PSO算法的优化超参数,并设置所述PSO算法中优化超参数的范围与粒子速度,设置迭代的最大次数以及粒子最大飞行速度;步骤1-2-3,定义适应度,采用GRU网络模型输出的时钟状态预测值的均方差作为PSO算法中的粒子适应度值S ( θ),具体如下:其中,n 0 为实验预测次数,z i 代表实际值,z θ 代表预测值;步骤1-2-4,以PSO算法中粒子的位置信息作为GRU网络模型的参数,完成PSO-GRU网络模型的构建。
5.根据权利要求4所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤1-3中所述的使用PSO算法优化GRU网络模型参数,具体包括:步骤1-3-1,训练GRU网络模型,得到PSO算法中每个粒子的适应度值,更新当前的个体极值和群体极值;步骤1-3-2,根据所述当前的个体极值和群体极值用非线性惯性权值迭代更新粒子速度和位置信息:v id k+1 =ωV id k +Z 1 r 1 (P id k -X id k )+Z 2 r 2 (P gd k -X id k )其中,k表示当前迭代次数;V id k 、X id k 、P id k 和P gd k 分别表示PSO算法中的粒子的速度、位置、本次粒子i的局部最优解和本次粒子群的全局最优解;Z 1 、Z 2 ∈[1,4]为环境加速因子;r 1 、r 2 为[0,1]内的随机实数;ω∈[0.5,1.5]为惯性因子,其值非负;步骤1-3-3,当迭代次数达到设置的最大迭代次数时,PSO算法终止,获得GRU网络模型的最优隐藏层数L、时间序列长度T和隐藏层节点数H,以此为基础重新执行步骤1-3,进行新一轮的PSO-GRU网络模型训练。
6.根据权利要求5所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤2中所述的基于自适应滑动窗对所述极端天气下的北斗时钟数据进行预处理,具体包括:步骤2-1,初始化滑动窗长度为w;步骤2-2,计算北斗时钟数据即时钟序列的滑动窗口标准差,形成滑动窗口标准差序列,其中,滑动窗口标准差序列的计算方法如下:其中,X表示时钟偏差序列,n表示时钟序列的数据个数, 表示滑动窗口均值序列中的第i个数据,X k 表示时钟偏差序列中的第k个数据,w表示滑动窗口大小且w<n,σ i 表示滑动窗口标准差序列中的第i个数据;步骤2-3,将滑动窗口标准差序列中幅值过大的区域视为异常区域,所述异常区域的判定方法表示如下:其中, 表示滑窗标准差序列的均值,q表示滑窗标准差序列的标准差;当σ i 满足 时,时钟序列中的第 个历元为异常区域起点,记异常区域起点位置为s;当σ i 满足 时,时钟序列中的第 个历元为异常区域终点,记异常区域终点位置为f;在确定异常区域的起点与终点后,对时钟序列X在异常区域中的区域作差分,具体如下:d i =|X i+1 -X i |,i=s,s+1,…,f-1其中,d i 为异常区域差分序列的第i个数据;取异常区域差分序列d i 的最大值,最大值所对应的下标即为原坐标序列中异常点所在位置,记异常点的位置为e,异常点的时钟状态为X e ;步骤2-4,根据异常点的钟偏及钟漂,及异常点前后的序列均值判断异常点是否为突变点,具体如下:若满足:则判定异常点X e 为突变点,对该突变点的位置进行记录;其中,D(X e )为突变判别值,ε为阈值, 表示异常点前w/2个历元的均值, 表示异常点后w/2个历元的均值;步骤2-5,对识别出的突变点进行插补,并对其后的序列进行平移,表示如下:其中,d为突变点及其后序列的平移幅度,X e-1 和X e-2 分别为突变点之前的两个数据;步骤2-6,重复执行步骤2-2至步骤2-5,直至时钟序列中不存在突变点。
7.根据权利要求6所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤3中所述的时钟状态,包括:时钟偏差即钟偏和时钟漂移即钟漂;所述的预测,具体方法如下:将经过步骤2预处理后的时钟数据输入到PSO-GRU网络模型中,进行时钟状态预测,得到当前历元的预测时钟偏差b u,p (t s )和时钟漂移 所述的实测,具体方法如下:根据北斗卫星授时原理和接收机时钟模型解算出实际的北斗卫星的时钟偏差b u,m (t s )和时钟漂移
8.根据权利要求7所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤4中所述的进行时间同步攻击检测并识别时间同步攻击的类型,包括以下步骤:步骤4-1,对时间同步攻击进行建模,即将时间同步攻击建模为对伪距和伪距率的叠加攻击,具体如下:ρ s (m)=ρ(m)+s ρ (m)其中,ρ s (m)为时间同步攻击下的伪距;ρ(m)表示真实伪距;s ρ (m)表示伪距攻击量, 为时间同步攻击下的伪距率; 表示真实伪距率; 表示伪距率攻击量;根据上述攻击量对伪距和伪距率的变化,将时间同步攻击分为时钟突然跳变攻击和时钟渐进式偏移攻击两种类型,分别建立两种类型的攻击模型;步骤4-2,针对两种类型的攻击模型进行检测和判断。
9.根据权利要求8所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤4-1中所述的分别建立两种类型的攻击模型,具体如下:步骤4-1-1,建立时钟突然跳变攻击模型,在真实伪距和伪距率中分别添加一个固定的常数C 1 和一个相应的δ函数,建立的时钟突然跳变攻击模型如下:s ρ (m)=C 1步骤4-1-2,建立时钟渐进式偏移攻击模型,如下:其中,Δt为时间间隔; 和 分别表示攻击量对伪距和伪距率的变化率,s ρ (m)和 分别表示伪距攻击量和伪距率攻击量。
10.根据权利要求9所述的一种极端天气下基于PSO-GRU的北斗时间同步攻击检测方法,其特征在于,步骤4-2中所述的针对两种类型的攻击模型进行检测和判断,具体包括:步骤4-2-1,检测是否为时钟突然跳变攻击,具体如下:其中,b u,m (t s )和b u,p (t s )分别表示测量和预测的时钟偏差; 表示测量和预测的时钟偏差之间的差异,当 超过阈值 时,表示实测时钟偏差异常,判断为时钟突然跳变攻击;步骤4-2-2,检测是否为时钟渐进式偏移攻击,具体如下:其中, 和 分别表示测量和预测的时钟漂移; 表示测量和预测的时钟漂移之间的差值,当 超过阈值 时,表示实测时钟漂移异常;判断为时钟渐进式偏移攻击。




