针对偏差攻击的安全状态估计与检测

2021-12-03 06:04孙杨燕周秀莹
电子科技 2021年12期
关键词:协方差检测器卡尔曼滤波

孙杨燕,周秀莹,任 祝

(浙江理工大学 信息学院,浙江 杭州 310018)

随着人类社会网络化、信息化、智能系统一体化逐步发展,信息系统与物理世界不断交互。计算技术、通信技术、控制技术深度耦合的信息物理系统(Cyber-Physical Systems,CPS)被广泛应用于新型工业、智能制造、军事等领域。由恶意攻击引发的CPS感知物理层和信息传输层的破坏是CPS现在面临的主要安全威胁来源。在系统受到欺骗攻击(Spoofing Attack,SA)、拒绝服务攻击(Denial of Service,DoS)、虚假数据注入攻击(False Data Injection,FDI)时,避免状态估计性能受到毁灭性破坏成为诸多学者的重点研究方向。因此,研究面向网络攻击的状态估计问题,设计有效的攻击检测方法,具有一定的现实意义。

目前主要的攻击方式为DoS攻击和FDI攻击。其中,FDI攻击是攻击者修改不同网络部分之间传输数据包的完整性以获取对攻击目标的访问权或者获取关键信息的攻击手段[1-3]。作为一种特殊的FDI攻击,偏差攻击(Biasing Attack,BA)指攻击者通过入侵信息网络,篡改传输的控制指令和(或者)测量传输。攻击者小量连续地篡改多个数据,即在对每个时刻的数据添加一个非零常数恒定值。“恒定值”是BA 攻击和FDI攻击的主要区别。为了避免被检测到,恒定值通常取值较小。需要注意的是,叠加的该恒定值通常是针对系统的稳态情况设计的,其目的是扰乱系统工作且不被常规检测手段发现。

近年来,可以骗过系统内置攻击检测机制的攻击策略层出不穷。考虑到类似网络攻击对CPS的影响,许多学者从不同角度进行研究。文献[4]考虑状态估计器在虚假数据注入攻击中的脆弱性,提出一种依赖于最小攻击强度和检测阈值之间平衡关系的在线异常检测算法。文献[5]定义了时间相关型检测和空间相关型检测的CPS综合安全威胁模型,构建了一种将攻击可能发生的情况抽象为系统控制流程中对量测值与控制指令篡改策略求解问题。文献[6]在拒绝服务攻击参数已知的情况下,提出了一种既能缓解通信带宽压力,又可同时消除拒绝服务攻击影响的弹性事件触发机制。文献[7]提出了一种基于局部卡尔曼滤波并在局部中心之间交换必要信息的分布式状态估计器,并提供了理论保证的假警报率检测方案。文献[8]针对无线传感器网络的分布式目标估计问题,提出了基于攻击检测策略的改进分布式卡尔曼滤波算法。文献[9]基于一种优化的聚类算法,提出一种实时检测FDI攻击的检测方法,通过验证测量值与预测测量值的一致性来检测FDI攻击。文献[10]从攻击者的角度降低任意通信速率约束下的估计质量,给出了攻击方的最小均方误差估计算法,并研究了攻击阈值与调度阈值之间的封闭关系。文献[11]中研究了FDI攻击下的分布式滤波安全问题,采用随机规则对阈值检测进行变换来保证其高斯性。文献[12]根据线性离散时不变系统前向通道和反馈通道的数据设计偏差攻击,并设计检测方法。但该研究没有考虑网络通信约束,例如网络延迟、丢包,给出的攻击序列对系统的模型要求较高。目前关于分布式信息物理系统的攻击检测和安全状态估计的研究主要集中在单个线性系统上,对多智能体、不确定性以及测量噪声的分布式大规模信息物理系统还没有广泛的延展性研究。

针对CPS的偏差攻击检测,文献[13]提出一种将网络电力系统负载频率控制环上的偏差注入网络攻击的框架模型,将损坏的传感器测量值传输到一个受影响控制区域的自动生成控制单元。文献[14~15]对BA攻击附加弹性要求的分布式H∞估计问题进行了分析。研究者在分布式观察者网络中增加一个基于协同状态估计算法的状态观测器攻击检测层,以检测BA攻击并修正其对网络估计结果的影响。文献[16]在攻击对象未知的情况下,将残差检测与变化检测相结合,将多个数据残差值偏差的累积量作为判决攻击发生的条件。但特征的选择较为复杂,会影响攻击检测率。文献[17]设计了一种基于融合间隔和历史测量的传感器攻击检测方法,利用传感器之间的成对不一致关系检测并识别攻击。但由于根据历史测量预测的当前测量不够准确,导致误报率增高。以上文献通过抽象传感器和系统建模,采用残差值偏差累积及动态递推估计等方法从不同角度给出了不同的偏差攻击检测方法,执行复杂度较高,检测方案成本较高,可行性较低。

本文针对CPS中偏差攻击检测问题,提出一种新型的混合时间型检测模型。该模型以终端估计误差协方差作为性能指标[18],采用最优卡尔曼滤波状态估计器和t检测器相结合的检测方案,检验偏差攻击识别阈值。

1 问题描述

本文在CPS系统遭到偏差攻击时,分析系统动态目标的状态估计,以终端估计误差协方差作为性能指标,得到最优攻击检测的结果。其攻击策略为攻击者随机为被攻击的传感器节点添加一个偏差值。

现考虑CPS由一个离散线性时不变系统组成,其过程为

x(k+1)=Ax(k)+Bu(k)+w(k)

(1)

y(k)=(1-α(k))S(k)+α(k)S*(k)

(2)

式中,k∈{0,1,2,…,N}为时间指数;x(k)={x1(k),x2(k),x3(k),…,xn(k)}∈Rn,x(k)表示系统在k时刻的状态向量;u(k)={u1(k),u2(k),u3(k),…,ul(k)}∈Rl,u(k)为控制信号;y(k)∈Rm代表系统输出量测值;α(k)表示传感器是否收到攻击,并且服从独立同分布。

Pr(α(k)=1)=Pα

(3)

(4)

S*(k)表示传感器受到攻击时的随机偏差攻击矢量,即传感器节点提供错误量测

S*(k)=S(k)+2d,0<|d|

(5)

其中,S*(k)是传感器S在k时刻的测量值。

S(k)=Cx(k)+v

(6)

w(k)∈Rn,v∈Rm代表相互独立的在k时刻的过程噪声和量测噪声。协方差分别为Q和Rv,均服从零均值多元高斯分布。A∈Rm×n及B∈Rn×l分别为系统状态矩阵和控制矩阵,C∈Rm×n为量测矩阵。(A,C)是可观的,(A,Q)是可控的。dmax表示在不受环境干扰下所有传感器节点中最大的误差精度。

2 攻击识别检测方案

本文研究的是偏差攻击。偏差攻击隶属于虚假数据注入攻击,系统受到攻击后的主要表现形式为:传感器节点被随机注入了一个虚假的噪声信息,并引入了一个传感器误差精度干扰的偏差信息。基于此类虚假数据注入的攻击,为减少系统噪声和测量噪声对系统的干扰,从包含噪声的量测中得到系统状态的最优估计量。本文采用基于卡尔曼滤波算法和估计误差协方差最小迹原则的状态估计器和t检测器进行攻击检测。

2.1 偏差攻击下的状态估计器

在攻击状态下,综合式(1)和式(2)即可得到偏差攻击时,基于改进一致性卡尔曼滤波算法[6]的状态估计器的去噪过程,在每个k时刻,传感器节点首先基于过程量测值执行本地估计,然后将更新值发送到远程估计器。

(7)

(8)

(9)

式中,Pk-1为上一时刻估计误差的最小协方差。

在预测更新的基础上,对卡尔曼滤波增益K(k)进行调整

(10)

(11)

(12)

(13)

其中

(14)

式中,P1、P2、P3分别为相同、不同时刻状态之间的协方差;P4、P5为同一时刻实际值与预测值之间的协方差。

2.2 偏差攻击检测判决规则

当系统未遭到攻击时,测量误差呈正态分布。考虑到偏差攻击信号d和传感器量测精度密切相关,在对系统进行最优状态估计处理的基础上,当攻击者少量多次进行攻击时,在随机注入的偏差攻击值远小于dmax的状态下,可以达到攻击隐蔽的效果,系统报警被限制在容忍范围之内。

对比下,t检测器能够对测量残差z(k)的微小变化进行分析。对其具有t分布的统计估计值进行假设检验,得到偏差攻击下的t检测器接收残差为

(15)

由式(15)进一步计算得到攻击状态下量测残差的协方差为

为了更好地检验浙江省对外直接投资对出口贸易和进口贸易的不同影响,本文建立如下出口效应模型和进口效应模型:

(16)

(17)

式中,ρ*(k)表示非攻击状态下测量残差z*(k)的协方差[19]。

在测量残差z(k)方差不变的前提下[20-21],定义系统的攻击判断规则为

(18)

式中,J为传感器的检测窗口大小;μ为所有zi(k)的零假设均值。由假设检验与置信区间的估计的等价性可知,攻击检测阈值δ满与观测值rk满足

Pr(rk<δ)<0.95

(19)

即遵循假设检验

(20)

当系统正在遭受攻击并被成功检测出异常,检测器将会判决系统状态为H1,并触发警报信号,即发生报警。

2.3 仿真验证

为了验证本文所提出的偏差攻击下攻击识别检测方案的有效性,根据离散系统状态方程,即式(1)和式(2)构建仿真模型,将变加速曲线运动的目标作为观测对象。本文采用MATLAB对稳定系统进行偏差攻击检测的仿真实验,并给出与其他检测方法检测性能的对比分析。当前系统状态矩阵、量测矩阵和噪声协方差为

图1 目标运动轨迹Figure 1.Movement trace of target

由图1可以看出,图中真实状态和预测状态值近似重合,该机制能在系统正常运行时进行可靠的状态估计。

本文假设在固定窗口中,攻击者对传感器进行偏差攻击。现从k=1至k=60时刻,对系统持续注入微小偏差攻击量,即取d=0.12,得到系统在未受攻击和受攻击情况下的正态概率图,如图2和图3所示。

图2 正常状态下量测残差的正态概率分布Figure 2.Normal probability distribution of residuals measured under normal conditions

图3 受攻击状态下量测残差的正态概率分布Figure 3.Normal probability distribution of residuals measured under attack state

由图2和图3可以看出,该偏差攻击具有较强的隐蔽性,仅通过量测残差无法观测到系统是否受到攻击。取J=20,在连续时间内对量测残差z(k)的变化进行多次统计,如图4所示。

图4 量测残差变化Figure 4.Changes in measured residuals

通过查询t分布的累积分布函数查询表可知,当J=20时,δ=1.729。由此,经多次计算,分别得到k=1至k=20,k=10至k=30,k=20至k=40时刻的z(k)的观测值rk始终满足minrk>δ。由攻击判断规则式(20)可知,系统状态为H1,即μ≠ 0,系统受到偏差攻击后能及时准确地检测异常。

为了进一步评估本文提出的基于最小迹原则的卡尔曼滤波状态估计算法和t检测器相结合的检测方案,本文分别收集了20次被攻击的传感器数据,并分析卡方检测、Z检测和t检测各自的平均检测率,如表1所示。

其中,表1给出了不同窗口和同一偏差攻击场景3种攻击检测的检测率。传感器以10 Hz分别平均采样1~5 s,因此传感器分别有10~40个测量值。其中,卡方检测是一种基于卡尔曼滤波器的传感器攻击检测方法。从表中可以看出,对于隐蔽型偏差攻击,t检测方法在小窗口中都比Z检测和卡方检测更加鲁棒,并且随着窗口大小的增加,直至30时,t检测方法逐渐达到稳态检测率。此时t检测与Z检测性能相近,t检测器的平均检测率比卡方检测器大约高 12%,比Z方法高约 2%。当J>30时,在大窗口中Z检测的检测性能较优于t检测方法。对于检测偏差攻击来说,t检测方法的优势是能在最短时间内更快、更精确地检测到攻击。

表1 偏差攻击量d不变时检测率Table 1. Detection rates when biasing attack value d is constant /%

表2给出了在同一窗口和不同偏差攻击场景下3种攻击检测的检测率,取J=20。从表中可以看出,随着偏差攻击量d的增加,t检测方法都比Z检测和卡方检测更加鲁棒,并且当d>1后,t检测方法逐渐达到稳态检测率,检测率高达99.86%。此时t检测与Z检测性能相近,t检测器的平均检测率比卡方检测器大约高 10%,比Z方法高约 3%。

表2 窗口大小J不变时检测率Table 2. Detection rates when window size J is constant /%

表3总结了在窗口大小中取d=0.12时3种方法的检测速度。该实验结果表明,t检测方法对隐蔽型偏差攻击具有最高的灵敏度。

表3 检测速度Table 3. Detection speed /s

3 结束语

本文研究了信息物理系统中状态估计安全问题。首先在引入离散线性时不变系统的基础上,构建了一种混合时间空间型攻击检测模型,并针对偏差攻击检测提出了基于卡尔曼滤波算法和最小迹原则的最优状态估计。此外,本文对多个时刻的残差变化进行分析,在t检测结果的基础上给出了攻击检测判决规则。MATLAB仿真实验结果验证了该检测判决规则的有效性。

需要注意的是,当被攻击的传感器添加的偏差值很小时,系统将很难成功地进行攻击识别检测。假设传感器节点的量测模型可观可控,对于多传感器而言,部分节点可能无法获得目标的真实量测数据,今后还有待对多节点信息进行数据融合,提高攻击检测的准确性和鲁棒性。

猜你喜欢
协方差检测器卡尔曼滤波
基于二次否定剪切选择的入侵检测方法*
用于检验散斑协方差矩阵估计性能的白化度评价方法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
多元线性模型中回归系数矩阵的可估函数和协方差阵的同时Bayes估计及优良性
二维随机变量边缘分布函数的教学探索
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
一种雾霾检测器的研究与设计
基于模糊卡尔曼滤波算法的动力电池SOC估计