Homology Analysis of Positioning System Offset Caused by Malicious Attack and the Method of Positioning Calibration Using Distributed Secure State Observer
-
摘要: 全球定位系统由于其较长的传输距离和较弱的加密方式, 易受到恶意攻击的影响. 定位系统中的恶意阻断攻击、恶意欺骗攻击与恶意偏差注入攻击会导致攻击范围内的接收设备产生相似的定位偏移. 针对定位系统中恶意攻击的同源性进行了深入分析, 并设计了分布式观测器以实现定位矫正. 针对定位系统中常见的三种攻击, 分别设计了恰当的模拟实现方式, 能够在多次蒙特卡洛实验很好的控制环境变量, 从而得到具有统计意义的实验结果. 本文还建立了不随偏差注入攻击幅值变化的定位偏移同源性的衡量指标, 分析了三种典型恶意攻击的同源性. 然而, 现有的分布式观测器方法没有考虑系统包含安全输出和存在有界噪声的情况, 这使得观测器的应用受到了限制. 同时提出了一种适配复杂系统的观测器来实现恶意攻击下的定位校正, 并得到了观测器收敛的充分条件. 仿真结果证明了观测器理论的有效性.Abstract: The Global Positioning System is susceptible to malicious attacks due to its extensive transmission and fragile encryption. The existence of Blocking, Spoofing, or Biasing Injection Attacks in positioning systems would induce similar positioning offsets in the receiver within the attack vicinity. Relevant research presupposes that the aforementioned identical positioning offset is a homologous attack, and proposes that positioning calibration under malicious attack can be achieved through distributed collaboration. However, the homology of positioning offsets and their measurement methodology remain unclear. In this study, for the three classical malicious attacks in the positioning system, appropriate experimental methods are devised separately, which can facilitate Monte Carlo experiments and control environmental variables, thereby ensuring the statistical significance of the experimental results. This study also establishes the homology index of positioning offsets, scrutinizes the the statistical homology of the three typical malicious attacks. However, existing distributed secure state estimation methods did not consider the existence of secure measurement and bounded noise, which limits the application of this theory. In this paper, a more comprehensive observer is proposed to achieve positioning calibration under meaconing attack, and a sufficient condition for the convergence of the observer has been obtained. The simulation results demonstrate the effectiveness of the observer theory.
-
全球定位系统(Global position system, GPS)作为使用场景最广泛的定位系统之一, 可以实现定位、测速和数据传输等多项功能. 尽管GPS的定位精度已经达到$ {\pm 4\ \mathrm{m}} $, 但仍存在一些因素影响定位, 例如时钟误差问题[1]. 此外, 恶意攻击也是GPS面临的主要威胁[2]. 由于卫星信号的传输距离远、加密强度弱, 部分GPS提供的数据的完整性和可用性更容易受到恶意攻击的影响, 从而使目标接收器产生错误的位置或速度估计[3]. GPS恶意攻击不仅对民用游艇等交通工具的安全造成了潜在威胁, 一些军用GPS设备也同样面临威胁[4]. 例如, 伊朗曾通过GPS恶意攻击成功捕获了洛克希德马丁公司生产的美国Q-170哨兵无人机[5]. 常见的GPS恶意攻击分为阻断攻击、欺骗攻击[6]和偏差注入攻击[7]. GPS恶意攻击导致接收器定位偏移, 其具体数值被称为定位偏移向量(Position offset vector, POV).
阻断攻击类似拒绝服务攻击[8], 指的是恶意攻击者用更强大的无意义信号或电磁屏蔽等方式阻止接收器接收部分GPS卫星信号[9]. 欺骗攻击则是利用特殊设备模拟卫星传递发送虚假的信号, 高级欺骗攻击者甚至能够完全模拟卫星运动, 例如使恶意攻击设备围绕目标接收器做周期性运动以避免基于导航理论的接受角分析监测. 偏差注入攻击则是改变真实GPS信号的关键卫星数据使其部分偏离真实值, 在保证不被检测机制发现的情况下使接收器利用错误的数据进行定位, 进而导致定位偏差. 一种典型的偏差注入攻击是GPS转发攻击, 其本质上通过截取并记录当前时刻的真实信号, 并在一段时间后将存储的信号以更高功率发送. 由于接收器接受的是被延迟的信号, 其同卫星之间的伪距发生了变化, 因此产生了POV. 由于转发攻击只改变信号的接收时间而不改变信号的内容, 因此转发攻击对设备的要求也较低, 仅依靠信号转发器、接收发射天线和足够的增益来替换信号就可以进行攻击[10].
目前, GPS恶意攻击的检测方法主要是基于单接收设备和信号数据分析, 如预相关检测、前端检测、到达角和频率检测[11]、链路级或导航级检测[12]等. 例如相关研究开发了偏差注入平台, 提出了一种基于改进比结合载波噪声移动方差的偏差注入攻击检测方法[13]. 一些研究使用分布式方法来对抗GPS恶意攻击, 例如使用雷达传感器作为额外的信息来源来检测和减轻对无人机的GPS欺骗攻击[14]. 由于电力系统依赖GPS来保持各部分的时间同步, 部分综述文章分析了欺骗攻击对时间同步的影响[15]. 然而大多数研究都没有考虑定位系统恶意攻击对范围内设备影响的同源性.
信号同源性的概念来源于分布式多智能体系统, 指的是对不同设备产生相同或相关影响的信号[16], 一些常见的同源信号例如同一电池包内的电池温度以及光伏电厂内太阳能板的光强[17]. 在恶意攻击方面, 尽管恶意攻击者为了混淆信号通常倾向于使用互不相同的信号, 但仍有部分恶意攻击者由于攻击带宽不足或者攻击原理受限被迫施加同源攻击信号. 例如, 分布式系统中存在信号源或不同的通信链路采用了相同的加密方式, 针对信号源或通信链路的攻击自然对其覆盖范围内的设备产生相关影响.GPS卫星是一个典型的信号源, 因此对卫星的攻击就会导致一定范围内受影响的接收器产生相似的POV[18]. 考虑受GPS恶意攻击的两个位置完全重叠的接收器, 攻击发生前后它们接收到的信号始终是相同的, 因此攻击产生的POV也完全相同, 因此具有同源性[19]. 当两个接收器在一定范围内分离时, 接收到的部分信号会存在一定的变化, POV也会在保持一定的相似性的基础上出现一些差异. POV的相似程度也被称为恶意攻击同源度, 然而现有研究缺乏对攻击同源度的精确衡量, 也缺乏恶意攻击同源度的影响因素分析[20]. 在本文中, 攻击同源度指的是某一恶意攻击对某区域内的多个接收设备造成的多个POV的相似程度. 尽管同源度指标通过POV的数值进行计算, 为了更突出攻击的概念, 本文还是称其为攻击同源度或同源度, 在此特别声明.
与一些基于单接收机的矫正方法不同, 一些研究人员认为分布式安全状态估计(Distributed state estimation, DSSE)可以利用恶意攻击的同源性来矫正GPS定位. DSSE是指利用多智能体系统的动态特性, 从被攻击的传感器测量中重构系统真实状态. 对于使用GPS进行定位的多无人机系统, 无人机的真实位置、被攻击后的位置和POV可被视作系统的真实状态、被攻击的传感器测量和同源攻击. 利用DSSE重构系统状态相当于校正无人机的真实位置[21]. 为了在同源攻击下实现DSSE, 某些研究利用优化方法设计观测器, 还提出了一种基于分布式一致性的Luenberger观测器, 以降低观测器的计算复杂度[22]. 相关研究利用事件触发传输或凸优化方法来减少智能体之间的通信频率和计算量[23]. 然而, 现有研究通常要求系统输出维度相同, 而实际上智能体可以利用多种传感器来测量系统, 其中某些有线传输的传感器, 如电压表或气压表, 通常不会受到恶意攻击的影响, 因此需要考虑系统存在安全输入的情况. 同时, 同源攻击也存在一些差异, 先前研究未考虑相关差异对观测器性能的影响.
综上, 现有理论对GPS恶意攻击同源度理论描述和实验分析不够充分, DSSE的理论分析的系统模型同真实情况存在差异. 针对上述问题, 本研究通过实际实验, 详细分析了定位系统中多种恶意攻击的同源性, 并进一步设计DSSE观测器使得其在复杂系统中重构系统状态. 本研究的贡献如下:
●本文基于恶意攻击的原理建立了三种常见定位系统恶意攻击的模拟实现方式. 模拟实现方式在真实模拟攻击的同时较好的控制蒙特卡洛实验中的环境变量. 模拟实现方式还方便研究人员调整攻击参数, 基于真实的卫星数据得到具有统计意义的实验结果.
●本文设计了一种衡量攻击同源度的指标, 该指标不受偏差注入攻击幅值影响. 借助该指标, 本文还分析了三种恶意攻击影响卫星数量对同源度的影响, 相关分析有助于进一步改善GPS安全性或设计更具混淆性的攻击.
●针对存在安全输出和有界噪声的分布式系统, 本研究提出了一种分布式观测器来同时重构系统状态和恶意攻击, 并证明其收敛性. 在系统噪声为有界值时, 该DSSE观测器可以利用恶意攻击同源性实现定位系统校正.
本研究第一章介绍了数据采集和三种恶意攻击的模拟实现方法, 并提出了同源度的计算策略; 第二章分析了受恶意攻击影响的卫星数量对攻击同源度的影响, 并指出偏差注入攻击幅值不影响攻击同源度; 第三章设计了一种复杂系统下的分布式观测器, 其收敛性分析、参数选择和仿真在第四章中给出.
1. 实验准备与实验方式
1.1 GPS数据采集与定位
本研究利用30台接收器采集真实的GPS信号, 如图 1(a)所示. 这些接收器被放置在北京某街区内的随机位置, 以评估GPS恶意攻击对该街区内接收器产生POV的同源度. 卫星信号被连续采集并存储在上位机程序中, 收集的信息包括卫星编号、信号接收时间、信噪比以及其他定位相关参数. 为了利用采集的卫星信号确定接收器的经纬度, 本研究使用了Github中开源的GPS定位工具
1 , 图 1(b)为GPS定位工具的部分界面. 为了对接收器进行三维定位, 该GPS定位工具利用最常见的伪距算法, 通过至少四颗卫星的数据实现对接收器的定位. 接收器从位置已知的GPS卫星(卫星星历表见链接1 )收集测距信号, 根据信号的发射时间(卫星时钟)和接收时间(接收器时钟), 将传播时间乘以光速即可得到卫星与接收器之间的距离, 亦称伪距. 考虑随机噪声和时钟偏差, 实际定位公式如下:$$ {\rho _i} = \left\| {s_i - r} \right\| + C{\tau} + \gamma $$ (1) 式中$ \rho_i $为接收器与第$ i $颗卫星之间的伪距; $ s_i,\;r\in \mathrm{{R}}^3 $分别表示第$ i $颗卫星和接收器的三维信息; $ {\tau} $表示卫星与接收器之间的时钟差; $ {\gamma} $表示噪声或干扰. 目前, 利用上述公式融合30多颗卫星数据进行定位已经成为一种成熟的方法, 本文所有分析仅针对所采用的开源定位算法, 其他算法可以按照相似的实验策略进行针对性实验. 定位得到的接收器坐标利用百度地图进行可视化结果, 并直观的显示攻击前后的定位值, 效果如图 1(c)所示. 本文还使用米勒投影法将两点之间的经纬度差映射为欧几里得距离, 相对的将计算单位从坐标的度调整为距离的米. 该调整有两点好处, 一是更直观的展示攻击对定位的影响程度, 二是在本文之后进行的同源度计算中, 以米为单位表示的POV更容易进行计算. 本文提到的POV都是以坐标经过米勒投影之后进行计算得出的值.
1.2 GPS恶意攻击及其模拟实现方法
利用上述方法可以实现对真实卫星信号的采集以及对接收器的定位, 利用真实的卫星攻击设备也可以在真实场景中实现恶意攻击. 然而, 本文的实验结果需要从超过
50000 次的蒙特卡罗实验中得出, 在真实场景中进行实验成本过高、效率过低. 同时, 由于本研究需要数值分析, 控制实验中的各种变量至关重要, 然而由于卫星是不断移动的, 在多次蒙特卡洛实验中卫星的变化会导致分析结果不可靠. 因此利用现实实验的方式进行同源度进行分析难以得到有效结果. 鉴于此, 本文针对阻断攻击、欺骗攻击和偏差注入攻击分别设计模拟攻击实验方法. 这些模拟攻击实验方法同现实中的恶意攻击原理别无二致, 但其在进行统计分析实验中有多项优势. 首先, 模拟攻击利用的是确定时刻的卫星数据, 能够很好避免由于天气、环境噪声、卫星位置等时间相关因素造成的影响. 其次, 模拟攻击的方式可以快速进行大批量计算, 具有成本低、效率高的特点, 可以快速得到初步的结论, 相关结论仍可以通过后续实际实验进行二次验证. 第三, 模拟攻击可以得到接收器的真实坐标, 方便DSSE矫正性能的分析, 三种恶意攻击的模拟实现方法如图 2所示.阻断攻击的本质是使得接收器无法接收某些卫星的信息, 因此阻断攻击的模拟实现方式如下: 首先利用接收设备存储一段完整的卫星信号, 利用GPS定位工具和完整数据获得接收器的真实坐标, 之后确定阻断攻击施加的卫星编号, 并将对应编号的卫星删除从而实现阻断攻击, 利用攻击后的数据获得获得攻击后的坐标, 将其同真实位置比较即可得到阻断攻击造成的POV.
偏差注入攻击的本质是更改接收器接收到的卫星数据的内容, 其中针对卫星数据中的发送时间施加偏差注入攻击能够对GPS的定位产生显著影响. 因此偏差注入攻击的模拟实现方式是直接更改接收器记录的卫星数据的具体内容来实现攻击. 首先利用GPS定位工具和未修改的数据获得接收器的真实坐标. 之后确定偏差注入攻击施加的卫星编号与攻击幅值, 通过调整对应卫星的信息发送时间实现攻击并得到攻击前后的POV. 为了降低分析难度, 文中对多颗卫星施加的偏差注入攻击被设置为相同的, 即信号发送时间的偏移量相同. 这可能会影响本文的部分分析结果, 发送时间偏移量不同的研究可作为未来的研究内容.
欺骗攻击的本质是增加虚假卫星的信号数据, 因此其模拟方法是在真实卫星信号中增加虚假卫星信息. 在本实验中虚假的卫星信息并不是全部伪造的, 而是由真实卫星受到偏差注入攻击后的信号数据, 这样可以保证不被检测机制视作异常数据而丢弃. 因此欺骗攻击的模拟方式是从真实卫星数据中先移除一部分卫星的数据, 利用剩余的卫星数据获得模拟的真实位置, 然后进一步将被移除的卫星的数据施加偏差注入攻击后同保留的卫星数据进行融合从而获得欺骗攻击后的接收器的位置. 如果不移除数据的话, 可能会出现同编号卫星的定位信息不一致的情况, 也会被检测机制视作异常. 欺骗攻击同偏差注入攻击的最大不同在于, 模拟欺骗攻击在攻击数量增加时真实卫星数量不变, 而模拟偏差注入攻击在攻击数量增加时真实卫星数量相应减少, 因此具备理论分析价值.
1.3 转发攻击同源度计算
由于GPS的定位原理, GPS恶意攻击者只能对一定范围内的接收器施加相同的恶意攻击. 利用上述恶意攻击模拟方法可以对所有接收器施加相同的恶意攻击, 并获得一组POV, 即真实位置与攻击后位置之间的差值. 图 3显示了部分接收器在攻击前后的位置, 分别以绿框和红框显示. 显然, 攻击造成的POV具备一定的同源性. 不同接收器之间的POV的相似性也被称为恶意攻击同源度. 为了分析恶意攻击同源度的影响因素, 需要设计一个精确指标衡量同源度的大小.
欧氏距离、余弦相似度、协方差矩阵和方差等多项指标都曾被考虑为潜在的同源度指标. 在经过多项实验后, 变异系数(Coefficient of variation
3 , $ {c_v} $)引起了作者的注意. $ {c_v} $是概率分布或频率分布离散度的标准化度量, 被定义为标准差与均值的比值, 适用于对比受量纲影响较大的两组数据的离散程度. 对于一组数据$ \{x_i\}_{i = 1}^n $, $ {c_v} $的计算公式为$ {c_v} = \sigma/\mu $, 其中$ {\sigma} $和$ {\mu} $分别代表数据$ \{x_i\}_{i = 1}^n $的标准差和平均值. 通过实验, 作者发现利用$ {c_v} $设计的同源度指标在偏差注入攻击下与注入的偏差幅值无关(见下一章节), 该性质可以极大的减少分析过程的复杂度. 该性质存在的本质原因是$ {c_v} $削弱了POV幅值对同源度的影响. 其他同源度参数虽然也有自己的有效性, 但它们缺乏上述独特性质, 因此本文不再深入研究其他同源度指标的设计. 本文使用的同源度计算方法如算法1所示.Algorithm 1同源度的计算方法
输入: 一组POVs$ \{[x_i,\;y_i]\}^n_{i = 1} $;
输出: 恶意攻击的同源度$ \theta $;
1: if所有的POVs都等于0 then
2: 定义该组POVs的同源度$ \theta $为0;
3: else
4: 计算$ \overline{x} = 1/n\sum^n_{i = 1}x_i,\;\overline{y} = 1/n\sum^n_{i = 1}y_i $;
5: 计算平均向量和向量[1,1]之间的角度, 例如$ {\gamma} = \angle{[\overline{x},\;\overline{y}]}-\pi/4 $;
6: 将所有POVs顺时针旋转$ {\gamma} $度, 得到旋转后的$ \{[x^*_i,\;y^*_i]\}^n_{i = 1} $;
7: 分别计算$ \{x^*_i\}^n_{i = 1} $和$ \{y^*_i\}^n_{i = 1} $的变异系数$ {c_{vx}} $和$ {c_{vy}} $;
8: 得到同源度$ {\theta} $为:
$$ {\theta} = \frac1{c_{vx}}+\frac1{c_{vy}} $$ (2) 9: end if
在算法1中首先验证攻击是否影响了定位, 并将攻击不影响定位时的同源度定义为0, 这是因为本研究中利用的GPS定位工具提供错误检测机制, 如果某些卫星的数据与其他卫星的数据差别很大, 则将排除异常卫星数据. 同时, 当接收到的卫星较少时, 该工具可能无法获得准确的定位并报告误差. 之后, 将所有定位的POV均匀旋转, 使其平均矢量与正$ X $轴夹角为$ \pi/4 $. 这一步是因为在分析有相反符号的数据时(定位POV与经纬度方向接近对齐时), $ {c_v} $的值会出现波动. 例如考虑两组偏移向量: $ A = \{[1,\;10],\;[-0.8,\;9.8]\} $和$ B = \{[6.50,\; 7.63],\; [7.77, 6.36]\} $, 通过旋转$ \pi/4 $度, $ B $可以与$ A $完全重叠, 因此这两组POV的同源度应该是相同的, 因为同源度指标应该与向量的角度无关. 但是, 不经过旋转计算的$ A $的同源度小于$ B $. 为了使得提出的指标与攻击相似度成正相关, 分别计算经度方向和纬度方向上数据的$ {c_v} $的倒数并融合, 进而得到同源度结果. 图 3为三组POV的同源度的直观展示. 为了更直观的展示同源度的量化指标, 在不同参数下选取了一些具有代表性的攻击实例, 所选取攻击的同源度如图 3所示. 显然, 使用算法1计算出的同源度能够反映POV的相似性.
2. 三类典型攻击的同源度分析
本文的实验部分中收集并预处理了北京的某街区内30个接收器的数据. 为了实现标准化的分析, 只保留了能被所有接收器接收到的16颗卫星的数据
4 . 利用GPS定位工具和来自16颗卫星的数据, 可以获得30个接收器的真实位置, 进而通过第1.2节中的模拟攻击方式对接收器施加攻击. 本节中主要分析受三种恶意攻击影响卫星的数量(攻击数量)以及偏差注入攻击的幅值对攻击同源度的影响情况.2.1 阻断攻击数量对同源度的影响
本节讨论了同源度与阻断攻击数量之间的关系, 即与被阻断卫星数量的关系. 由于实现基础的定位需要至少4颗卫星的数据, 而可用的卫星数量为16, 因此本小节中考虑的阻断攻击数量$ n $最大值设置为11. 针对$ n $颗卫星受到攻击的情况, 从中16颗卫星中任选$ n $颗作为一组随机实验, 利用之前的模拟攻击方式对$ n $颗卫星施加攻击并计算同源度.
图 4中展示了
5000 次的蒙特卡洛实验结果, 其中左半部分展示了平均同源度随攻击数量的变化, 右半部分则是将所有的攻击结果以箱线图的形式表示. 从图 4中的左图可以看出, 阻断攻击数量为$ 1 $到$ 4 $时系统具有相对较高的平均同源度, 其均值在5.5到6之间波动. 在阻断攻击数量为$ 4 $时同源度达到峰值$ 5.8 $. 在阻断攻击数量为5 ~ 7时同源度从5.5快速降低至2附近. 随着被删除卫星数量继续增加, 平均同源度始终保持在2 ~ 2.5之间. 从本实验结果中看出, 在阻断攻击数量较少时, 攻击平均同源度较高.图 4右侧的箱线图也直观的展示了在
5000 次蒙特卡洛实验中的各项数据. 可以看出在随着阻断攻击数量增加的同时, 以“+”表示的离群点数量也逐渐增加, 这说明在随着多数阻断攻击的同源度降低的同时仍有少数攻击保留了较高的同源度. 箱线图的中位数多数位于箱体中部区域, 显示数据大小分布较为均匀. 同时结合箱线图的箱体的长度和离群点数量, 可以看出数据的分散程度与攻击数量呈正相关, 在攻击数小于6时, 该特性由箱体长度体现, 当攻击数大于6时, 该特性由离群点数量体现.2.2 欺骗攻击数量对同源度的影响
本节分析同源度与欺骗攻击数量之间的关系, 其中模拟欺骗的实现方式是从真实数据中提取一部分卫星数据获得模拟的真实位置, 之后将未提取的卫星施加偏差后同保留的数据依次融合获得受欺骗攻击的接收器位置. 由于从16颗卫星中选择被攻击卫星的方法很多, 为了控制变量, 使结论更加清晰, 提出了以下方法. 首先, 将所有接收器都能接收到的16颗卫星的索引随机排序成索引序列. 为了确保基本的定位是有效且稳定的, 索引序列中前7个卫星的数据作为原始数据提取, 然后依次对后续编号的卫星数据施加偏差注入攻击后同前七个卫星数据融合后进行定位. 这种方法可以减轻卫星编号变化对蒙特卡罗实验结果的影响. 利用该方法可考虑的欺骗攻击数量$ n $的最大值为9. 本节的结论是在5,000条随机索引序列的基础上计算得出的.
通过多次随机选取卫星编号序列实现蒙特卡洛实验, 实验结果如图 5所示, 其中图 5的左半部分展示了在多次实验中, 平均同源度随攻击数量的变化方式, 右侧则是将所有的攻击结果以箱线图的形式表示. 从图 5左图可以看出, 欺骗攻击下对于同源度的影响大体呈现先增加后减小的趋势: 在欺骗攻击数量为1 ~ 3时, 同源度在120 ~ 140之间且波动不大; 在欺骗攻击数量为4时, 同源度达到了最高点, 大约为210. 当欺骗攻击数量继续增加时, 同源度迅速降低并在欺骗攻击数量为8时最低为60.
图 5右图箱线图可以看出每个欺骗攻击数量对应的同源度分布具有较大的离散性. 在欺骗攻击数量为1 ~ 3时, 同源度的分布较宽, 这意味着攻击的同源度表现出了较大的波动, 当欺骗攻击数量达到4时同源度的分布最宽, 这预示着同源度的取值范围出现了最大的波动, 这也对应左侧的平均同源度的明显下降区间, 随着欺骗攻击数量继续增加, 同源度的分布逐渐变窄, 这说明当欺骗攻击数量达到一定值的时候, 欺骗攻击的同源度将会更加稳定同时维持在较低的水平. 总的来说, 欺骗攻击数量对同源度的影响具有复杂性, 表现为一定的波动和离散性, 在欺骗攻击数量达到4时, 同源度最高, 之后同源度逐渐降低, 且同源度分布逐渐集中, 这反映了欺骗攻击在一定数量范围内对同源度有较大的扰动效果, 但过多的欺骗攻击反而使得系统的同源度趋于稳定.
2.3 偏差注入攻击数量和幅值对同源度的影响
本节讨论了转发攻击数量与同源度的关系. 本节为了控制变量, 使结论更加清晰, 提出了以下攻击模拟方法. 类比隐藏攻击分析部分, 本部分也采用索引序列的方式确定受攻击卫星编号. 首先确定一个索引序列, 然后依次攻击第一个, 第二颗卫星, 直到所有卫星都被攻击. 这种方法可以减轻随后随机蒙特卡罗模拟中卫星编号变化的影响.
图 6显示了蒙特卡罗实验中平均同源度随攻击数量的变化, 为了防止零同源攻击对平均同源度的影响, 绿色和红色曲线显示了包含和不包含零同源实例的平均同源度, 红色和绿色曲线都呈现先增加后减少的特性. 当被攻击的卫星数量为8颗时, 同源度达到顶峰为39.56. 可以看出, 当一半的卫星信号受到攻击时, 攻击的同源度最强. 此后, 同源度逐渐降低到零. 值得注意的是, 当所有卫星都受到攻击时, 攻击造成的定位偏差为零. 这是因为对所有卫星的偏差注入攻击的延迟是相同的, 本质上相当于接收器的本地时钟减慢, 即式(1)中的$ \tau $, 而定位工具中已经考虑了本地时钟和卫星时钟的差异, 因此全部卫星受到相同的偏差注入攻击时不改变定位. 该原因也进一步导致了相关曲线较为对称. 举例来说, 只有一颗卫星未受攻击等价于该卫星的信号提前到达, 既只有一颗卫星时间延迟为负的转发攻击, 因此图 6具有一定程度的对称性.
由于攻击者有能力操纵偏差注入攻击幅值, 因此如果攻击的同源度不随偏差注入攻击幅值发生变化, 则有助于未来的潜在研究. 幸运的是, 基于$ {c_v} $的同源度指标具备这一优良的性质. 本小节进行了
5000 次蒙特卡罗模拟实验. 随机选取不同数量和编号的被攻击卫星, 进行幅值从0到8×$ {10^4} $$ \mathrm{ns} $的偏差注入攻击. 部分蒙特卡罗模拟结果如图 7所示, 图中的每条线代表一次模拟攻击的结果, 其中攻击的数量和编号都是随机的. 很明显, 在蒙特卡罗模拟的大多数情况下, 无论偏差注入攻击的幅值如何变化, 同源度都几乎保持不变. 同源度发生显著变化的实例用一条明显上升的实红色线表示, 这种情况下的平均振幅也用一条红实线表示, 在该情况下, 无论攻击幅值有多大, 平均POV始终在0.1 $ \mathrm{m} $以下, 这种情况可以被归类为攻击对定位没有明显影响, 也可以被视为一类异常情况.3. 利用DSSE实现恶意攻击下的定位校正
3.1 DSSE在GPS定位矫正中的应用
DSSE可以实现恶意攻击下GPS的定位修正, 但是DSSE不能直接嵌入GPS系统之中, 而是必须依托一个具有确定动态模型的利用GPS定位的多智能体系统. 该多智能体系统作为中间桥梁, 实现了DSSE、动态模型和GPS之间的相互作用. 在实现定位校正的过程中, DSSE主要是利用分布式系统的动态模型以及恶意攻击下GPS系统POV的同源性来实现智能体的定位校正. 下面将通过一个例子来说明DSSE如何实现恶意攻击下的定位校正. 首先考虑一个在规定范围内运行的多无人机集群. 恶意攻击者对GPS卫星信号进行攻击导致无人机产生同源POV. 在这个过程中无人机的真实位置、被攻击的定位和同源POV可以分别看作是真实系统状态、被攻击的系统状态和同源攻击. 利用DSSE对系统状态进行重构, 获得真实位置, 从而进行定位校正.
图 8是一个利用DSSE实现定位矫正的原理图. 智能体(无人机)由系统方程(3) ~ (5)给出, 存在于物理层中并由蓝色圆圈表示. 每个多智能体都有一个由黄色圆圈表示的观测器来估计其状态和攻击信号, 并可以通过网络层共享信息. 智能体输出(位置)由处于定位层的GPS进行测量, 恶意攻击也发生在该层中. 由此DSSE定位矫正策略的三层结构得以确立, 其中智能体动态层是其基础.
在上述示例中, POV被认为是对控制系统的恶意攻击即式(4)中的$ a\left( k \right) $, 而不是阻断攻击或者欺骗攻击. 这不难理解, 因为DSSE是一种控制方法, 而POV直接影响控制系统. 将POV视为对系统输出的恶意攻击有以下两个优点: 首先, 若将阻断攻击等GPS系统中的攻击视作$ a\left( k \right) $就需要在模型中考虑GPS系统的模型, 这大大提供高了模型的阶次和复杂度, 将POV视为$ a\left( k \right) $可以仅考虑系统动力学模型, 而不考虑GPS系统模型. 其次, 将POV视为$ a(k) $可以直接校正定位, 而将同源攻击或攻击延迟视为$ a(k) $只能校正卫星信号, 还需要再次进行定位校正. 另外还应该注意到前面提到的攻击延迟不同于分布式系统中的通信延迟, 因为恶意攻击发生在GPS信号中, 而不是在分布式系统的通信中.
3.2 问题描述与系统分解
$ R^{n} $和$ R^{m\times n} $表示$ n $维向量和$ m\times n $维实矩阵. $ I $表示特定维度的单位矩阵, $ A^{*,\;\mathrm{T}} $, $ A^{*,\;-1} $和$ \left\|A^*\right\| $分别表示$ A^* $的转置、逆和2范数, $ * $表示任意角标. $ A \succ {0} $ or $ A \prec {0} $代表对称阵$ A $是正定的或负定的. $ G\mathop = \limits^\Delta \{\nu,\;\varepsilon,\;P \} $代表有向图, 其中$ n,\;l \in R $分别代表智能体、通信链路的数量. $ \nu\mathop = \limits^\Delta\left\{ {1,\; \cdots ,\;n} \right\} $和$ \varepsilon \mathop = \limits^\Delta \{ 1,\;\cdots , l \} $分别代表节点集合和链路集合. 符号$ i,\;j \in \nu $代表智能体的标号. $ N_i $代表智能体$ i $的邻居. 随机矩阵$ P \mathop = \limits^\Delta \{p_{ij}\} $是图$ G $的加权矩阵, 当智能体$ j $可以传输信息至智能体$ i $则$ p_{ij}>0 $, 反之$ p_{ij} = 0 $. 额外的, 定义$ \Upsilon \mathop = \limits^\Delta P-I $, $ \Upsilon_p\mathop = \limits^\Delta{\Upsilon \otimes {I_p}} $.
考虑如下分布式系统:
$$ \begin{align} {x_i}\left( {k+ 1} \right) & = A_i{x_i}\left(k\right) + B_i{u_i}\left(k\right) \end{align} $$ (3) $$ \begin{align} y_i^a\left( k \right) & = C_i^a{x_i}\left( k \right) + a\left( k \right)+\varepsilon_i\left( k \right) \end{align} $$ (4) $$ \begin{align} y_i\left( k \right) & = {C_i}{x_i}\left( k \right) \end{align} $$ (5) 其中$ x_i\left( {k} \right) \in {R^{q_i}} $, $ u_i\left( {k} \right)\in {R^{v_i}} $, $ y_i\left( {k} \right) \in {R^{p_i}} $和$ y_i^a\left( k \right) \in {R^{s}} $分别代表智能体$ i $在时刻$ k $的状态、输入、安全测量和受攻击测量. 与以往研究要求的输出维度相同不同的是, 本文允许安全输出的维度不同, 这更能反映现实情况. $ A_i,\;B_i,\;C_i,\;C_i^a $是参数矩阵. 进一步的, $ a\left( {k} \right),\;\varepsilon_i\left( k \right)\in {R^{s}} $分别为未知的同源攻击和有界噪声. 在多无人机系统的例子中, 系统安全输出$ y_i (k) $可以是电池电压或引擎转速. $ a\left( {k} \right) $可以代表第$ i $个智能体的POV. $ \varepsilon_i\left( k \right) $则代表噪声或POV之间的有界差异. 为了区分安全输出能够重构的系统状态维度, 需要利用能观性分解方法, 并做出如下假设:
假设1. 对于所有的智能体, $ (A_i,\; C_i) $都是不完全能观的且$ \left\|\varepsilon_i\left( k \right)\right\|<\bar \varepsilon $.
如果存在某一个智能体的$ (A_i,\; C_i) $是完全能观的, 那么其利用安全输出就可以完全重构其自身状态$ x_i $, 进一步可以利用受攻击输出重构同源攻击信号并将该智能体作为领导者在分布式系统中对攻击信号实现共识. 之后本问题就变成了一个普通的有界噪声下的状态估计问题, 也就没有了讨论的意义. 当假设1不被满足时, 系统(3) ~ (5)是完全能观的当且仅当对于所有的智能体$ (A_i,\;[C_i;C_i^a]) $都是完全能观的.
仅考虑系统状态方程(3)和安全输出方程(5), 众所周知存在变换矩阵$ \Gamma_i \in R^{q_i \times q_i} $, 其中$ \Gamma _i^{ - 1} = \Gamma _i^\mathrm{T} $, 使得系统在变换$ {\xi _i}\left( k \right)\mathop = \limits^\Delta {\Gamma _i}{x_i}\left( k \right) $(也即$ {x_i}\left( k \right) = \Gamma _i^\mathrm{T}{\xi _i}\left( k \right) $)下进行能观性分解. 基于假设1, 对于系统状态方程(3)和安全输出(5), 系统在变换$ {\xi _i}\left( k \right) = {\Gamma _i}{x_i}\left( k \right) $下进行能观性分解可以得到:
$$ \begin{split}& {\xi _i}\left( {k + 1} \right) = \left[ \begin{array}{*{20}{c}} {A_i^{\bar {o}}} & {{{\tilde{ A}}_i}}\\ 0 & {A_i^o} \end{array} \right] {\xi _i}\left( k \right) + {\Gamma _i}{B_i}u\left( k \right)\\&y_i^{}\left( k \right) = {C_i}\Gamma _i^\mathrm{T}{\xi _i}\left( k \right) = \left[ {\begin{array}{*{20}{c}} 0&{C_i^{o}} \end{array}} \right]{\xi _i}\left( k \right)\\&y_i^a\left( k \right) = C_i^a\Gamma _i^\mathrm{T}{\xi _i}\left( k \right) + a\left( k \right)+\varepsilon_i\left( k \right)\end{split} $$ 其中对应的转换矩阵可表示为$ \Gamma _i = [ {\Gamma _i^{\bar o,\;\mathrm{T}}};{\Gamma _i^{o,\;\mathrm{T}}} ] $, 其中$ {\Gamma _i^{\bar o}}\in R^{n_i\times n^{\bar o}_i} $由$ n^{\bar o}_i $个列向量组成, 这些列向量构成了系统(3)和安全输出(5)的不能观子空间的一组标准正交基. $ {\Gamma _i^{ o}}\in R^{n_i\times n^{ o}_i} $对应于$ {\Gamma _i^{\bar o}}\in R^{n_i\times n^{\bar o}_i} $的正交补空间的标准正交基. 从系统能观性分解理论可知, 这两组基都是标准正交的, 并且彼此相互正交. 变换后的系统状态$ {\xi _i}\left( k \right) $定义为$ [\xi _i^{\bar o}\left( k \right);\xi _i^{ o}\left( k \right)]\mathop = \limits^\Delta {\xi _i}\left( k \right) $, 其中$ \xi _i^{ o}\left( k \right) = {\Gamma _i^{ o,\;\mathrm{T}}}x(k) $和$ \xi _i^{\bar o}\left( k \right) = {\Gamma _i^{\bar o,\;\mathrm{T}}}x(k) $分别为系统的能观分量和不能观分量.
能观的状态变量$ \xi _i^o\left( {k } \right) $的动态可表示为
$$ \begin{align} \xi _i^o\left( {k + 1} \right) & = A_i^o \xi _i^o\left( k \right) + \Gamma _i^{o,\;\mathrm{T}}{B_i}u\left( k \right) \end{align} $$ (6) $$ \begin{align} y_i^{}\left( k \right) & = C_i^{{o}}\xi _i^o\left( k \right) \end{align} $$ (7) 不能观的状态变量$ \xi _i^{\bar o}\left( {k} \right) $的动态可被写作:
$$ \xi _i^{\bar o}\left( {k + 1} \right) = A_i^{\bar o} \xi _i^{\bar o}\left( k \right) + {{\tilde A}_i} \xi _i^o\left( k \right) + \Gamma _i^{\bar o,\;\mathrm{T}}{B_i}u\left( k \right) $$ (8) $$ y_i^a\left( k \right) = C_i^{a,\;{\bar o}}\xi _i^{\bar o}\left( k \right) + C_i^{a,\;{o}}\xi _i^o\left( k \right) + a\left( k \right)+\varepsilon_i\left( k \right) $$ (9) 其中$ C_i^{a,\;{{\bar o}}}\mathop = \limits^\Delta C_i^a\Gamma _i^{{{\bar o}}},\;C_i^{a,\;{{o}}}\mathop = \limits^\Delta C_i^a\Gamma _i^{{ o}} $. 接下来分析系统完全能观的充要条件, 我们先引入如下引理:
引理1. [15]当系统中不存在安全输出时, 即不考虑输出方程(5), 则系统(3) ~ (4)或$ \left( {A_i,\;C_i} \right)_{i = 1}^n $在同源攻击下完全能观的充要条件是$ \cap _{i = 1}^n{ \rm I\rm m}\left(O_i \right) = \left\{ 0 \right\} $, 其中$ {O_i} = [ {{C_i};{C_iA_i};\cdots;{C_iA_i^{q_i-1}}} ] $.
定理1. 考虑系统(3) ~ (5), 每个智能体的初始状态$ x_i(k) $和同源攻击信号$ a(k) $可以通过系统输入和输出在有限时间内被唯一确定的充分必要条件是$ \left( {A_i^{\bar o},\;C_i^{a,\;\bar o}} \right)_{i = 1}^n $在同源攻击下完全能观.
证明. 根据系统能观性分解, 很容易确定系统(6)和(7)是完全能观的. 因此$ \xi _i^o\left( {k} \right) $可通过安全输出简单重构. 对于系统(8)和(9), $ \xi^o_ i(k) $是已知输入. 通过利用引理1, $ \left( {A_i^{\bar o},\;C_i^{a,\;\bar o}} \right)_{i = 1}^n $在同源攻击下完全能观代表$ \xi _i^{\bar o}\left( {k} \right) $可以被唯一的确定. 因为$ {x_i}\left( k \right) = \Gamma _i^\mathrm{T}{\xi _i}\left( k \right) $, 系统状态可以被唯一的确定.
□ 3.3 分布式观测器设计
定义$ \tilde a_i,\;\hat a_i,\;\hat x_i $分别为第$ i $个智能体的中间攻击估计, 最终攻击估计和状态估计. 设计如下的观测器来获得中间攻击估计:
$$ {\tilde a_i}\left( k \right) = {y_i^a}\left( k \right) - {C_i^a}{\hat x_i}\left( k \right) $$ (10) 注意到, 在这一步中所有的估计误差都被包含在了$ \tilde a_i\left( k \right) $之中. 在不考虑$ \varepsilon_i\left( k \right) $的条件下, $ {y_i^a}\left( k \right) - {C_i^a}{x_i}\left( k \right) - {{\tilde a}_i}\left( k \right) $恒等于零, 这意味着系统的残差信息此时是失效的. 重新生成残差信息的关键在于与保持不同智能体之间对攻击的估计是相同的. 这是因为攻击是同源的, 因此对其的估计也应该保持一致. 然而利用观测器(10)得到的中间攻击估计通常是不一致的, 而这种不一致本质上反映了系统残差. 因此如下的一致性步骤(11)被引入以获得逐渐一致的最终攻击估计:
$$ {\hat a_i}\left( k \right) = \sum\limits_{j \in {N_i}} {p_{ij}}{\tilde a_j}\left( k \right) $$ (11) 其中$ {p_{ij}} $是智能体之间的权重系数且$ \sum\nolimits_{j \in {N _i}} {p_{ij}} = 1 $. 本观测器是一种分布式观测器, 系统拓扑结构和邻居信息在步骤(11)中均被引入. 该方法是一个典型且简易的一致性方法, 针对其他复杂情况可以利用更多的例如基于迭代等方法的一致性算法.
针对系统的状态估计, 设计如下分布式观测器:
$$ \begin{split} {{\hat x}_i}&\left( {k + 1} \right) = {A_i}{{\hat x}_i}\left( k \right) + {B_i}{u_i}\left( k \right)+ \\& \Gamma _i^o{L_i}\left( {y_i}\left( k \right) - {{\hat y}_i}\left( k \right) \right) + \Gamma _i^{\bar o}{N_i}\left( {y}_i^a\left( k \right) - \hat y_i^a\left( k \right) \right) \end{split} $$ (12) 其中$ {L_i\in R^{n_i^o \times p_i}},\;{N_i\in R^{n_i^ {\bar o} \times s}} $是待设计增益矩阵且
$$ \hat y_i^{}\left( k \right) \mathop = \limits^\Delta {C_i}{\hat x_i}\left( k \right),\;\hat y_i^a\left( k \right) \mathop = \limits^\Delta C_i^a{\hat x_i}\left( k \right) + {\hat a_i}\left( k \right) $$ (13) 步骤(12)是一类融合观测器, 其能够通过本地的残差信息来调整状态估计, 用较为简洁的方法将两种系统的输出有机的融合起来, 并分别用来校正能观部分和不能观部分.
4. 观测器收敛性分析及其参数的选择
4.1 观测器分析
首先, 对应于状态分解, 我们对状态估计也进行相应的分解. 定义变换如下:
$$ \begin{split} &\hat\xi _i^{\bar o}\left( k \right)\mathop = \limits^\Delta{\Gamma _i^{\bar o,\;\mathrm{T}}}\hat x(k),\;\hat \xi _i^{ o}\left( k \right)\mathop = \limits^\Delta{\Gamma _i^{ o,\;\mathrm{T}}}\hat x(k)\\&{\hat \xi _i}\left( k \right)\mathop = \limits^\Delta \left[ \hat \xi _i^{\bar o}\left( k \right);\hat \xi _i^o\left( k \right) \right] = {\Gamma _i}{\hat x_i}\left( k \right) \end{split} $$ 因此式(12)被写为:
$$ \begin{split} &\Gamma _i^\mathrm{T}{{\hat \xi }_i}\left( {k + 1} \right) = \Gamma _i^\mathrm{T}\left[ {\begin{array}{*{20}{c}} {A_i^{\bar o}}&{{{\tilde A}_i}}\\ 0&{A_i^o} \end{array}} \right]{{\hat \xi }_i}\left( k \right) + {B_i}{u_i}\left( k \right)+\\ &\quad\left[ {\begin{array}{*{20}{c}} {\Gamma _i^{\bar o}}&{\Gamma _i^o} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{N_i}}&{0}\\ {0}&{{L_i}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {y_i^a\left( k \right) - \hat y_i^a\left( k \right)}\\ {{y_i}\left( k \right) - {{\hat y}_i}\left( k \right)} \end{array}} \right] \end{split} $$ 由于$ \Gamma _i $是可逆的, 上式可被写为:
$$ \hat \xi _i^o\left( {k + 1} \right) = A_i^o\hat \xi _i^o\left( k \right) + \Gamma _i^{o,\;\mathrm{T}}{B_i}{u_i}\left( k \right) + {L_i}\tilde{y_i}\left( k \right) $$ (14) $$ \begin{split} \hat \xi _i^{\bar o}\left( {k + 1} \right) = \;&A_i^{\bar o}\hat \xi _i^{\bar o}\left( k \right) + {{\tilde A}_i}\hat \xi _i^o\left( k \right)+\\& \Gamma _i^{\bar o,\;\mathrm{T}}{B_i}{u_i}\left( k \right) + {N_i}\tilde y_i^a\left( k \right) \end{split} $$ (15) 其中, $ \tilde y_i^a\left( k \right) $和$ {{\tilde y}_i}\left( k \right) $为系统残差, 其定义为:
$$ \tilde y_i^a\left( k \right) \mathop = \limits^\Delta y_i^a\left( k \right) - \hat y_i^a\left( k \right),\;{{\tilde y}_i}\left( k \right) \mathop = \limits^\Delta {y_i}\left( k \right) - {{\hat y}_i}\left( k \right) $$ (16) 定义多智能体$ i $的状态估计误差为:
$$ e^x_i\left( k \right)\mathop = \limits^\Delta {x_i}\left( k \right) - {\hat x_i}\left( k \right) $$ (17) 定义中间和最终攻击估计误差为:
$$ e^{\tilde a}_i\left( k \right)\mathop = \limits^\Delta a\left( k \right) - {\tilde a_i}\left( k \right),\; e^a_i\left( k \right)\mathop = \limits^\Delta a\left( k \right) - {\hat a_i}\left( k \right) $$ (18) 可得系统状态能观和不能观分量的估计误差为:
$$ e_i^{\xi ,\;\bar o}\left( k \right) \mathop = \limits^\Delta \xi _i^{\bar o}\left( k \right) - \hat \xi _i^{\bar o}\left( k \right),\;e_i^{\xi ,\;o}\left( k \right) \mathop = \limits^\Delta \xi _i^o\left( k \right) - \hat \xi _i^o\left( k \right) $$ $$ e_i^\xi \left( k \right)\mathop = \limits^\Delta \left[ e_i^{\xi ,\;\bar o}\left( k \right);e_i^{\xi ,\;o}\left( k \right) \right] = {\xi _i}\left( k \right) - {\hat \xi _i}\left( k \right) = \Gamma _i^{}e_i^x\left( k \right) $$ 将式(7)和式(13)代入式(16)可以得到
$$ {{\tilde y}_i}\left( k \right) = C_i^{{o}}e_i^{\xi ,\;o}\left( k \right) $$ 考虑式(6), (7)和(14), 可以得到
$$ e_i^{\xi ,\;o}\left( {k + 1} \right) = \left( {A_i^{{o}} - {L_i}C_i^{{o}}} \right)e_i^{\xi ,\;o}\left( k \right) $$ (19) 利用式(6), (8)和(15), 可以得到
$$ e_i^{\xi ,\;\bar o}\left( {k + 1} \right) = A_i^{\bar o}e_i^{\xi ,\;\bar o}\left( k \right) + {{\tilde A}_i}e_i^{\xi ,\;o}\left( k \right) + {N_i}\tilde y_i^a\left( k \right) $$ (20) 为了方便给出定理, 定义如下参数
$$ e_{}^{x}\left( {k} \right)\mathop = \limits^\Delta \left[ e_1^{x}\left( {k } \right); \cdots ;e_n^{x }\left( {k} \right) \right],\; \bar \Gamma\mathop = \limits^\Delta \mathrm{diag}\{ {\Gamma_i}\} $$ $$ \bar A^{\bar o}\mathop = \limits^\Delta \mathrm{diag}\{ {A_i^{\bar o}}\},\; \bar N\mathop = \limits^\Delta \mathrm{diag}\{ {N_i}\},\; \bar C^{a,\;\bar o}\mathop = \limits^\Delta \mathrm{diag}\{ {C_i^{a,\;\bar o}}\} $$ 定理2. 考虑系统(3) ~ (4), 观测器(10) ~ (12)的估计误差$ e^x\left( k \right) $最终收敛到有界值当且仅当矩阵($ {A_i^{{o}} - {L_i}C_i^{{o}}} $)和矩阵($ \bar A^{\bar o} + \bar N\left( {I - P \otimes {I_p}} \right)\bar C^{a,\;\bar o} $)的谱半径小于1. 估计误差二范数$ \left\|e^x\left( k \right)\right\| $的上界是$ \varpi \bar \varepsilon /(1 - \sigma) $, 其中
$$ \varpi \mathop = \limits^\Delta \left\|\bar\Gamma\right\|\left\| {\bar N\Upsilon_p} \right\|,\;\sigma \mathop = \limits^\Delta \left\| {\bar A_{}^{\bar o} + \bar N\Upsilon_p\bar C_{}^{a,\;\bar o}} \right\| $$ 特别的, 当攻击完全同源时, 既$ \bar \varepsilon \equiv 0 $时, 估计误差$ \left\|e^x\left( k \right)\right\| $收敛到0.
证明. 首先, 由于子系统$ ({A_i^{{o}},\;C_i^{{o}}}) $是完全能观的, 从式(19)中可以清楚地看出存在增益矩阵$ L_i $, 使得原矩阵($ {A_i^{{o}} - {L_i}C_i^{{o}}} $)的谱半径小于1, 即系统状态的能观部分可以被重构. 之后分析不能观分量估计误差的收敛性. 从式(4)可以得出
$$ a(k) = {y_i^a}(k) - {C_i^a}{x_i}(k)-\varepsilon_i\left( k \right) $$ (21) 通过将式(11)和(21)代入式(18), 可以得到状态估计误差和中间攻击估计误差之间的关系.
$$ e^{\tilde a}_i\left( k \right) = - {C_i^a}e^x_i\left( k \right)-\varepsilon_i\left( k \right) $$ (22) 由于$ \sum\nolimits_{j \in {N _i}} {p_{ij}} = 1 $, 通过将式(11)代入式(18), 最终的攻击估计误差可以写成
$$ \begin{split} e_i^a\left( k \right) =\;& \sum\limits_{j \in {N_i}} {{p_{ij}}} \left( a\left( k \right) - {{\tilde a}_j}\left( k \right) \right) = \sum\limits_{j \in {N_i}} {{p_{ij}}} e_i^{\tilde a}\left( k \right)=\\ & - \sum\limits_{j \in {N_i}} {{p_{ij}}} C_j^ae_j^x\left( k \right) - \sum\limits_{j \in {N_i}} {{p_{ij}}} {\varepsilon _j}\left( k \right) \\[-1pt]\end{split} $$ (23) 将式(4)和(13)代入式(16)可以得到
$$ \begin{split} \tilde y_i^a\left( k \right) =\;& C_i^ae_i^x\left( k \right) + e_i^a\left( k \right) + {\varepsilon _i}\left( k \right)=\\ & C_i^ae_i^x\left( k \right) - \sum\limits_{j \in {N_i}} {p_{ij}}C_j^ae_j^x\left( k \right) - \\ &\sum\limits_{j \in {N_i}} {{p_{ij}}} {\varepsilon _j}\left( k \right) + {\varepsilon _i}\left( k \right) \end{split} $$ 其中第二个等式来自式(23). 根据$ e_i^\xi \left( k \right) $, $ e_i^{\xi ,\;\bar o}\left( k \right) $和$ e_i^{\xi ,\;o}\left( k \right) $的定义可知, 可以得到
$$ \begin{split} C_i^ae_i^x\left( k \right) =\;& C_i^a\Gamma _i^Te_i^\xi \left( k \right) = C_i^{a,\;{{\bar o}}}e_i^{\xi ,\;\bar o}\left( k \right) + \\ &C_i^{a,\;{{o}}}e_i^{\xi ,\;o}\left( k \right) \end{split} $$ 结合上述两个公式可以得出
$$ \begin{split} \tilde y_i^a\left( k \right) =\;& C_i^{a,\;\bar o}e_i^{\xi ,\;\bar o}\left( k \right) - \sum\limits_{j \in {N_i}} {{p_{ij}}} C_i^{a,\;\bar o}e_j^{\xi ,\;\bar o}\left( k \right)+\\ &C_i^{a,\;o}e_i^{\xi ,\;o}\left( k \right) - \sum\limits_{j \in {N_i}} {{p_{ij}}} C_i^{a,\;o}e_j^{\xi ,\;o}\left( k \right)-\\ &\sum\limits_{j \in {N_i}} {{p_{ij}}} {\varepsilon _j}\left( k \right) + {\varepsilon _i}\left( k \right) \end{split} $$ (24) 因为$ e_i^{\xi ,\;o}\left( {k} \right) $的动态满足式(19)且指数收敛于0, 因此$ e_i^{\xi ,\;o}\left( {k} \right) $对$ e_i^{\xi ,\;\bar o}\left( {k} \right) $的影响可以忽略不计. 那么观测器的收敛性取决于$ e_i^{\xi ,\;\bar o}\left( {k} \right) $的收敛性. 通过将式(24)代入式(20), 并忽略与$ \hat \xi _i^{o}\left( {k + 1} \right) $相关的成分, 得到如式(25)所提出的子系统.
$$ \begin{split} e_i^{\xi ,\;\bar o}\left( {k + 1} \right) =\;& \left( {A_i^{\bar o} + {N_i}C_i^{a,\;\bar o}} \right)e_i^{\xi ,\;\bar o}\left( k \right) + {N_i}{\varepsilon _i}\left( k \right)-\\& {N_i}\sum\limits_{j \in {N_i}} {{p_{ij}}} C_j^{a,\;\bar o}e_j^{\xi ,\;\bar o}\left( k \right) -\\ &{N_i}\sum\limits_{j \in {N_i}} {{p_{ij}}} {\varepsilon _j}\left( k \right) \\[-1pt]\end{split} $$ (25) 此外, 定义系统估计误差的整体形式为
$$ \begin{split} &e_{}^{\xi ,\;\bar o}\left( {k} \right)\mathop = \limits^\Delta \left[ e_1^{\xi ,\;\bar o}\left( {k } \right); \cdots ;e_n^{\xi ,\;\bar o}\left( {k} \right) \right]\\& \varepsilon\left( {k } \right)\mathop = \limits^\Delta \left[ \varepsilon_1\left( k \right); \cdots ;\varepsilon_n\left( k \right) \right] \end{split} $$ 通过融合多个智能体, 式(25)可进一步写为:
$$ e_{}^{\xi ,\;\bar o}\left( {k + 1} \right) = \left( {\bar A_{}^{\bar o} + \bar N{\Upsilon _p}\bar C_{}^{a,\;\bar o}} \right)e_{}^{\xi ,\;\bar o}\left( k \right) + \bar N{\Upsilon _p}\varepsilon \left( k \right) $$ (26) 通过迭代, 可以得到
$$ \begin{split} e^{\xi ,\;\bar o}\left( k \right) =\;& {\left( {\bar A_{}^{\bar o} + \bar N\Upsilon_p\bar C_{}^{a,\;\bar o}} \right)^k}\bar e\left( 0 \right)+\\& \sum\limits_{t = 0}^k {{\left( {\bar A_{}^{\bar o} + \bar N\Upsilon_p\bar C_{}^{a,\;\bar o}} \right)^{k - t}}\bar N\Upsilon_p\varepsilon \left( t \right) } \end{split} $$ 因为$ e^x\left( k \right) = \bar\Gamma^{T}e^\xi \left( k \right) $, 若矩阵$ \bar A^{\bar o} + \bar N\Upsilon_p\bar C^{a,\;\bar o} $的谱半径小于1, 易知状态估计误差$ \left\|e^x\left( k \right)\right\| $存在上限$ \varpi \bar \varepsilon /(1 - \sigma) $. 从式(23)中可得
$$ e_{}^a\left( k \right) = - \left( {P \otimes {I_p}} \right)\bar C_{}^ae_{}^x\left( k \right) - P{\varepsilon _j}\left( k \right) $$ 其中$ e_{}^{a}\left( {k} \right)\mathop = \limits^\Delta \left[ e_1^{a}\left( {k } \right); \cdots ;e_n^{a }\left( {k} \right) \right] $, $ \bar C_{}^a\mathop = \limits^\Delta diag\{ {C_i^a}\} $.
特殊的, 当$ \bar \varepsilon \equiv 0 $, $ e^x\left( k \right) $和$ e^a\left( k \right) $都将收敛到0. 从本定理中可知, 估计误差与系统噪声$ \bar \varepsilon $上限成正比, 而攻击同源性分析可以间接描述噪声. 高同源度的攻击可用本观测器实现精确的定位校正.
□ 注1. 对系统拓扑的要求隐含的包含在定理2中. 权重矩阵$ P $的形式决定了系统的拓扑结构. 如果系统拓扑选择不正确, 矩阵$ \bar A^{\bar o} \;+\; \bar N( I - P \;\otimes {I_p} )\bar C^{a,\;\bar o} $的谱半径不会小于1.
4.2 观测器参数的选择
为了方便增益矩阵的设计, 对于子系统(25), 定义如下Lyapunov函数:
$$ V\left( k \right)\mathop = \limits^\Delta {e^{\xi ,\;\bar o,\;T}\left( {k} \right) }\Psi{e}^{\xi ,\;\bar o}\left( {k} \right) $$ (27) 其中$ \Psi\mathop = \limits^\Delta \mathrm{diag}\{ {\Psi_i}\} $是对称矩阵并且有$ {\Psi_i}\succ0 $.
定理3. 当$ \bar \varepsilon \equiv 0 $时, 如果存在正定对称矩阵$ \Psi $和一系列增益矩阵$ N_i $使得矩阵不等式
$$ {\left[ { \begin{array}{*{20}{c}} {{\Psi^{ - 1}}}&{\bar A^{\bar o} + \bar N\Upsilon_p\bar C^{a,\;\bar o}}\\ {(\bar A^{\bar o} + \bar N\Upsilon_p\bar C^{a,\;\bar o})^\mathrm{T}}&\Psi \end{array}} \right]} \prec 0 $$ (28) 成立, 子系统式(25)的估计误差$ e_i^{\xi ,\;\bar o}\left( {k } \right) $收敛到零.
证明. 根据式(27), 可以得到
$$ V\left( {k + 1} \right) = {e^{\xi ,\;\bar o,\;T}\left( {k + 1} \right) }\Psi{e}^{\xi ,\;\bar o}\left( {k + 1} \right) $$ (29) 不考虑$ \varepsilon \left( k \right) $, 通过将式(26)带入式(29), 可得
$$ V\left( {k + 1} \right) = {e}^{\xi ,\;\bar o,\;T}\left( k \right)\Gamma {e^{\xi ,\;\bar o}}\left( k \right) $$ (30) 其中$ \Gamma \mathop = \limits^\Delta{\left( {\bar A_{}^{\bar o} + \bar N\Upsilon_p\bar C_{}^{a,\;\bar o}} \right)^\mathrm{T}}\Psi\left( {\bar A_{}^{\bar o} + \bar N\Upsilon_p\bar C_{}^{a,\;\bar o}} \right) $. 因此Lyapunov函数的变化值可以表示为
$$ \Delta V\left( k \right)\mathop = \limits^\Delta V\left( {k + 1} \right)- V\left( k \right) = \bar e{\left( k \right)^\mathrm{T}}\left( {\Gamma - \Psi} \right)\bar e\left( k \right) $$ 其中第二个方程由式(27)和(30)组合而成. 通过Schur Complement定理, 可得当式(28)成立时, $ \Gamma- \Psi \prec 0 $. 因此, $ \Delta V\left( k \right) < 0 $.
□ 注意到二次矩阵不等式(28)可以通过对$ {\Psi^{ - 1}} $的限制条件转化为线性矩阵不等式. 通过求解对应的线性不等式可以得到观测器增益$ N_i $的选择. 对二次矩阵不等式(28)进行锥补线性化处理也可以解决$ N_i $的选择问题. 通过传统的观测器设计方法可以得到$ L_i $的选择, 从而完成观测器(12)的增益设计.
当系统(3) ~ (4)在同源攻击下完全能观时, 因为系统分布式的原因, 很难证明使观测器稳定的增益矩阵$ \bar N $总是存在. 这个问题可能通过$ (\bar A^{\bar o},\;( I - P \otimes {I_p} )\bar C^{a,\;\bar o}) $的完全能观性来解决, 可以在今后的工作中可以考虑进一步的分析.
4.3 仿真
考虑某一无人机机场受到了GPS恶意攻击, 尝试利用所提出的DSSE观测器实现定位矫正. 在实践中, 无人机的状态具有多个维度, 为了方便起见, 在不影响仿真结论的基础上, 将问题简化为二维平面问题. 选择系统状态维度为4, 其中各个维度代表的物理意义分别为经度位置、纬度位置、经度速度和纬度速度. 存在一组多无人机系统正在执行盘旋、起飞、降落等操作, 无人机按照一定的动态特性进行运动, 其具体动态特性如下(保留三位小数):
$$ \begin{split} A_1 & = \left[ { \begin{array}{*{20}{c}} 1.394& -0.795 & 0.072 & -0.135\\ 0.298& 0.254& -0.079 & 0.075\\ -0.442 & 0.198 & 0.047 & 0.014\\ 0.289 &-0.097 &-0.010 &0.106 \end{array}} \right]\\ A_2 & = \left[ { \begin{array}{*{20}{c}} 2.739 &-1.196 & 0.531 & 0.266\\ 1.140 & -0.206 & 0.077 & 0.140\\ -0.039 & -0.235 & 0.349& 0.671\\ -1.107 & 1.042& -0.096 & 0.794 \end{array}}\right] \\ A_3 & = \left[ { \begin{array}{*{20}{c}} 1.974 & -0.690& -0.608 & -0.516\\ 0.994 & 0.064 & -0.820 & 0.117\\ -0.306 & 0.439 & 0.399 & 0.319\\ -0.316 & 0.475 & 0.372 & 0.402 \end{array}}\right] \end{split} $$ 每个无人机携带GPS以测量位置信息, 而GPS的输出由于恶意攻击的影响产生了同源的POV. 为了简化计算和程序编写, 系统受攻击的输出$ C_i^a $被设置为GPS定位相关信息的线性组合. 同时, 仅无人机1和2携带空速计等安全测量, 无人机3不携带安全测量. 无人机输出矩阵设置为:
$$ \begin{split}C_1& = [-0.874,\; 0.842,\;-0.193,\;0.727] \\ C_1^a& = [-0.486,\;-0.226,\;0.797,\;-0.110]\\ C_2& = [-1.281,\;0.9216,\;-0.439,\;-0.169]\\ C_2^a& = [-0.563,\;-0.294,\;0.882,\;0.368]\\ C_3^a& = [-0.344,\;-0.703,\;0.215,\;0.237] \end{split} $$ 采用本文提出的状态分解方法即可实现系统状态的重构. 选取同源攻击信号为$ a(k) = \mathrm{sin}(0.2*k) $. 然后, 可以计算$ {A_i^{\bar o}},\;{{{\tilde A}_i}},\;{A_i^o} $和$ C_i^o $, 如下增益矩阵$ L_i $可使得$ {A_i^o}-L_i C_i^o $稳定.
$$ L_1 = \left[ {\begin{array}{*{20}{c}} 0.486\\0.535 \end{array}}\right],\;L_2 = \left[ {\begin{array}{*{20}{c}} 2.375\\0.610 \end{array}}\right],\;L_3 = \left[ {\begin{array}{*{20}{c}} 0.653\\2.215 \end{array}}\right] $$ 易验证$ {A_i^o}-L_i C_i^o $的谱半径都小于1. 系统拓扑为图 9所示的有向图. 参数$ p_{ij} $和$ N_i $设置如下.
$$ p_11 = 0.3,\; p_13 = 0.7,\; $$ $$ p_22 = 0.3,\; p_21 = 0.7,\; p_33 = 0.8,\; p_32 = 0.2 $$ $$ N_1 = \left[ {\begin{array}{*{20}{c}} 0.218\\ 0.220 \end{array}}\right],\;N_2 = \left[ {\begin{array}{*{20}{c}} 0.420\\ 1.303 \end{array}}\right],\;N_3 = \left[ {\begin{array}{*{20}{c}} 0.638\\ 0.270 \end{array}}\right] $$ 图 10展示了所有无人机的状态和攻击信号的估计误差, 即$ e_i^x $和$ e_i^a $. 可以观察到, 估计误差都收敛于零. 在前十秒中, 无人机3的估计误差最大, 由于信息交换的原因, 也增加了无人机1的估计误差. 进而使得无人机2的估计误差增加. 通过三个无人机的信息传递和调整, 估计误差最终收敛于零.
图 11分别描述了能观和不能观状态分量的估计误差, 即$ e_i^{\xi ,\;\bar o}\left( k \right) $和$ e_i^{\xi ,\;o}\left( k \right) $. 根据式(19)和式(20)中给出的$ e_i^{\xi ,\;o}\left( k \right) $和$ e_i^{\xi ,\;\bar o}\left( k \right) $的动态特性, 可以看出能观分量和不能观分量的估计误差逐渐收敛到零. 进一步的, 根据式(19)可以看出, $ e_i^{\xi ,\;o}\left( k \right) $的收敛速度不受$ e_i^{\xi ,\;\bar o}\left( k \right) $的影响, 可以用$ {A_i^o},\; C_i^o $和$ L_i $构造一个额外的观测器来验证. 该额外观测器的估计误差应该与$ e_i^{\xi ,\;o}\left( k \right) $的动态相同. 式(20)表明$ e_i^{\xi ,\;\bar o}\left( k \right) $受$ e_i^{\xi ,\;o}\left( k \right) $的影响. 然而, 由于$ e_i^{\xi ,\;o}\left( k \right) $逐渐收敛到零, 故这种影响不会持续很长时间. 如果$ {{{\tilde A}_i}} $发生变化, 而其他矩阵(如$ {A_i^{\bar o}},\;{A_i^o} $)保持不变, 则只有不能观分量误差的初始趋势会受到影响, 而其收敛性不受影响.
图 12显示了各个无人机的中间攻击估计, 其中红线表示实际的攻击信号. 起初, 攻击信号的估计值和实际值之间存在偏差, 但是这些估计值最终都会收敛到真实值. 尽管不同无人机的中间攻击估计存在显著差异, 但通过一致性操作, 这些差异会有所减小. 这种比较显示出了一致性操作的影响.
5. 总结
本文针对GPS系统中存在的三种恶意攻击的同源性做出了详细分析. 本研究首先根据三种恶意攻击的原理设计了易于批量实验的模拟攻击方法来控制影响实验的变量, 并设计了同源度指标来衡量攻击的同源性. 基于该同源度指标, 本文分析了三种恶意攻击数量和偏差注入攻击幅值对攻击同源性的影响. 此外本研究针对包含安全输出和有界噪声影响的系统受到同源传感器攻击的情形, 设计了对同源攻击实现协同估计的分布式观测器, 还设计了一种观测器增益设计算法能够同时得到对状态和攻击估计, 并通过仿真进行了验证. 本研究详细阐述了该观测器在GPS恶意攻击矫正中的应用方式, 具备一定的应用潜力.
-
-
[1] 谭粤, 黄观文, 付文举, 王乐, 谢威, 曹钰. 一种顾及轨道误差的实时GPS钟差估计方法. 导航定位与授时, 2023, 10(01): 125−132Tan Yue, Huang Guan-Wen, Fu Wen-Ju, Wang Le, Xie Wei, Cao Yu. A real-time GPS clock estimation method considering orbital error. Navigation Positioning and Timing, 2023, 10(01): 125−132 [2] Berkane S, Tayebi A, De M S. A nonlinear navigation observer using imu and generic position information. Automatica, 2021, 127: 109513 [3] Pardhasaradhi B, Yakkati R R, Cenkeramaddi L R. Machine learning-based screening and measurement to measurement association for navigation in GNSS spoofing environment. IEEE Sensors Journal, 2022, 22: 23423−23435 [4] He H, Chen Y, Qi W, Wang M, Chen X. Observer-based resilient control of positive systems with heterogeneous dos attacks: A markov model approach. J. Frankl. Inst., 2021, 359: 272−293 [5] 应晨铎, 伍益明, 徐明, 郑宁, 何熊熊. 欺骗攻击下具备隐私保护的多智能体系统均值趋同控制. 自动化学报, 2023, 49(2): 425−436Ying Chen-Duo, Wu Yi-Ming, Xu Ming, Zheng Ning, He Xiong-Xiong. Privacy-preserving average consensus control for multi-agent systems under deception attacks. Acta Automatica Sinica, 2023, 49(2): 425−436 [6] 翁品迪, 陈博, 俞立. 虚假数据注入攻击信号的融合估计. 自动化学报, 2021, 47(9): 2292−2300Weng Pin-di, Chen Bo, Yu Li. Fusion estimate of FDI attack signals. Acta Automatica Sinica, 2021, 47(9): 2292−2300 [7] 胡沁伶, 郑宁, 徐明, 伍益明, 何熊熊. DoS攻击下具备隐私保护的多智能体系统均值趋同控制. 自动化学报, 2022, 48(8): 1961−1971Hu Qin-Ling, Zheng Ning, Xu Ming, Wu Yi-Ming, He Xiong-Xiong. Privacy-preserving average consensus control for multi-agent systems under DoS attacks. Acta Automatica Sinica, 2022, 48(8): 1961−1971 [8] Shi M, Wan N. Estimate the states of multiagent systems under homologous attacks by optimization approaches. IEEE Transactions on Control of Network Systems, 2023, 10(1): 430−440 [9] Pirayesh H, Zeng H. Jamming attacks and anti-jamming strategies in wireless networks: A comprehensive survey. IEEE Communications Surveys & Tutorials, 2021, 24: 767−809 [10] Pardhasaradhi B, Srihari P, Aparna P. Spoofer-to-target association in multi-spoofer multi-target scenario for stealthy GPS spoofing. IEEE Access, 2021, 9: 108675−108688 [11] Chen X, He D, Yan X, Yu W, Truong T. GNSS interference type recognition with fingerprint spectrum dnn method. IEEE Transactions on Aerospace and Electronic Systems, 2022, 58: 4745−4760 [12] Zhang K W, Larsson E G, Papadimitratos P. Protecting GNSS open service navigation message authentication against distance-decreasing attacks. IEEE Transactions on Aerospace and Electronic Systems, 2022, 58: 1224−1240 [13] Zhu X, Lu Z, Hua T, Yang F, Tu G, Chen X. A novel GPS meaconing spoofing detection technique based on improved ratio combined with carrier-to-noise moving variance. Electronics, 2022, 11(5): 738 [14] Pardhasaradhi B, Cenkeramaddi L R. GPS spoofing detection and mitigation for drones using distributed radar tracking and fusion. IEEE Sensors Journal, 2022, 22(11): 11122−11134 [15] Shi Y, Wang Y. Online secure state estimation of multiagent systems using average consensus. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2022, 52(5): 3174−3186 [16] Zhang H, Peng S, Liu L, Su S, Cao Y. Review on GPS spoofing-based time synchronisation attack on power system. IET Generation, Transmission and Distribution, 2020, 14(20): 4301−4309 [17] Shi M, Guan X, Yiu K, Li B, Wu A. Further results on state estimation of multi-agent systems under homologous attacks. Automatica, 2024, 166: 111699 doi: 10.1016/j.automatica.2024.111699 [18] Shi Y, Liu C, Wang Y. Asymptotically stable filter for MVU estimation of states and homologous unknown inputs in heterogeneous multiagent systems. IEEE Transactions on Automation Science and Engineering, 2022, 19(2): 884−894 doi: 10.1109/TASE.2021.3060075 [19] 秦自兵, 钟雄, 张伟, 张政. GPS信号与特性分析的研究. 数字通信世界, 2024, 06(06): 12−14 doi: 10.3969/J.ISSN.1672-7274.2024.06.002Qin Zi-Bing, Zhong Xiong, Zhang Wei, Zhang Zheng. Research on GPS signal and characterization analysis. Digital Communication World, 2024, 06(06): 12−14 doi: 10.3969/J.ISSN.1672-7274.2024.06.002 [20] Shi Y K, Wang Y Q, Tuo J Y. Distributed secure state estimation of multi-agent systems under homologous sensor attacks. IEEE/CAA Journal of Automatica Sinica, 2022, 10(1): 67−77 [21] Shi Y, Liu C, Wang Y. Secure state estimation of multiagent systems with homologous attacks using average consensus. IEEE Transactions on Control of Network Systems, 2021, 8(3): 1293−1303 [22] 张岱峰, 段海滨. 恶意攻击下基于分布式稀疏优化的安全状态估计. 自动化学报, 2021, 47(4): 813−824Zhang Dai-Feng, Duan Hai-Bin. Secure state estimation based on distributed sparse optimization under malicious attacks. Acta Automatica Sinica, 2021, 47(4): 813−824 [23] Shi Y, Ma H, Tuo J, Wang Y. Event-triggered distributed secure state estimation for homologous sensor attacks. ISA Transactions, 2023, 143: 10−19 doi: 10.1016/j.isatra.2023.09.011 -
计量
- 文章访问数: 9
- HTML全文浏览量: 9
- 被引次数: 0