注入攻击下的扩展卡尔曼滤波安全检测
2023-10-21李秀雯
李秀雯,王 雷,任 祝
(1.浙江理工大学 信息学院,浙江 杭州 310018;2.中国人民武装警察部队 海警学院,浙江 宁波 315801)
随着通信、网络技术的发展与融合,信息物理系统(Cyber-Physical Systems,CPS)[1]作为一个集通信、计算与物理过程为一体的智能系统得到了迅速发展。CPS的关键技术被广泛应用于交通、通信、军事、机器人、农业自动化、工业远程控制以及航空航天等领域[2]。
伴随着CPS系统及其关键技术的迅速发展,其安全问题引起了较大关注[3-5]。CPS是一种开放式的网络化智能信息系统,该系统中的测量和控制数据通常通过网络空间进行集成与交互,具有一定的脆弱性,给CPS带来了新的网络安全威胁。随着该系统对社会安全关键基础设施的日益渗透,安全隐患也日渐加剧。因此,确保CPS的运行安全愈发重要。
无线网络的引入导致无线网络控制系统产生了一些亟待解决的特殊问题。由于不可能在一个封闭的环境产生和收集数据,且无法和其他事物分离,所以实际数据不可避免地受到量测噪声、环境噪声等因素的干扰,观测值不能准确反映系统的状态信息。因此, 系统的状态估计问题也得到了广泛研究[6-9]。
在此发展背景下,经过调查发现了多种网络攻击[10]。按照攻击者发动攻击的位置可将网络控制系统受到的攻击分为3类:欺骗式攻击[11]、拒绝服务式攻击(DoS攻击)[12]和物理攻击,前两者主要针对现有研究对象。针对信息物理系统安全控制设计问题,文献[13]提出了DoS攻击下具有任意有界丢包的事件触发预测控制 (Event-triggered Predictive Control,ETPC)方法。该方法考虑了DoS攻击能量的有限性及攻击行为的任意性。文献[14]以攻击可以检测为前提,建立了攻击信号下的电力系统分布式动态模型,通过仿真实验验证了其设计的状态估计器对于数据攻击检测的有效性。
由于实际系统存在非线性因素,使得传统的卡尔曼滤波在频率检测预测方面存在困难,因此研究人员陆续提出了卡尔曼滤波(Kalman Filter)[15-16]和基于改进的无迹卡尔曼滤波(Unscented Kalman Filter)。文献[17]设计一种分布式协同定位方法。文献[18]基于无迹卡尔曼滤波研究了通信受限的无线传感器网络上非线性系统的远程状态估计问题。文献[19]给出了一种在工程实际中广泛适用的扩展卡尔曼滤波稳定性判别条件。
由于在现实中扩展卡尔曼滤波对于信息物理系统网络问题的研究较少,因此本文针对注入攻击下信息物理系统中的状态估计安全问题,结合扩展卡尔曼状态估计器,设计了一种基于最小迹原则扩展卡尔曼滤波状态估计的检测方案。本文首先对系统架构及存在的问题进行了介绍,将问题带入高斯白噪声的非线性系统上进行安全问题分析,然后设计检测方案分析注入攻击对系统性能的影响,最后通过仿真实验验证了上述检测的有效性,为未来最大限度降低类似丢包带来的消极影响提供了参考。
1 问题设置
注入攻击是一种通信攻击,其会使传感器获得错误量测值,从而导致系统性能变差。本文考虑了非线性信息物理系统在不可靠通道下进行量测数据传输时可能受到的恶意攻击情况,即系统在[kn,km]工作时间段内可能受到注入攻击。如图1所示,系统配备有智能传感器、扩展卡尔曼滤波器和虚假数据检测器等组件。智能传感器对采集到的数据进行预处理,并通过无线通道将新息序列传输到滤波器。由于无线通道具有开放、共享等特性,使得攻击者可较为容易地截取并修改所发送的数据。
图1 系统架构Figure 1. System architecture
原始的信息物理系统一般由一个离散时不变系统组成,其动态模型如式(1)所示。
(1)
在日常生活中存在不确定性,当前的信息物理系统由一个非线性系统组成。对于非线性系统,无法用线性的状态空间方程来表达,因此有如下计算式(带高斯白噪声的非线性系统)
xk+1=f(xk)+wk
(2)
yk=h(xk)+vk
(3)
其中,xk∈Rn为时刻k的n维状态向量;yk∈Rm是来自传感器的m维量测向量;f(·)和h(·)分别是系统非线性状态函数和量测函数;wk和vk分别是系统的过程噪声和测量噪声,是互不相关的高斯白噪声,均值为0。
远程估计器使用扩展卡尔曼滤波器来处理接收到的数据。在每个时刻,智能传感器对采集到的数据进行预处理,并通过无线通道将传输到远程估计器。扩展卡尔曼估计器用来计算来自智能传感器的测量值yk的最优估计值。对于扩展卡尔曼滤波(Extended Kalman Filter,EKF)有以下几种形式
(4)
(5)
(6)
(7)
(8)
以上为系统处于安全运行情况下的系统模型及扩展卡尔曼模型估计器。只有当数据正常传输时,扩展卡尔曼滤波估计器才能安全运行。在发生攻击时,扩展卡尔曼估计器无法得到正确的系统状态估计。
2 攻击识别检测方案
2.1 注入攻击模型
现考虑的信息物理系统由一个非线性系统组成,其攻击策略为攻击者随机为被攻击的传感器节点添加一个偏差值Δ,且Δ=2d。注入攻击下的CPS系统模型为
(9)
其中,xk∈Rn为时刻k的n维状态向量;yk∈Rm是来自传感器的m维量测向量;f(·)是系统非线性状态函数;wk是系统的过程噪声,均值为0;协方差为Qk;αk表示传感器是否遭到攻击,其元素符合均服从伯努利分布特性。
(10)
(11)
式中,yk=h(xk)+vk表示传感器在k时刻的量测值;dmax表示在不受环境干扰下传感器节点中的最大误差精度。
2.2 检测方案设计
在可能存在注入攻击的信息物理系统模型下,现定义系统的判断规则,并采用如下指标对结果进行评价
(12)
系统检测器判决规则为
(13)
在正常情况下,通过训练设定的阈值即可判断系统是否遭受攻击。当系统受到注入攻击,检测器成功检测出异常,此时检测器会将系统状态判断为H1并发送报警信号,反之不发送。
在扩展卡尔曼滤波中,新息序列zk由具有正态分布的独立随机变量组成。错误数据检测器可以利用序列的统计特性来检测即将到来的序列中的异常。由于序列服从具有已知均值和方差的正态分布,因此在给定移动窗口的情况下,δ可以取为正态分布分位点数。通过将其与阈值进行比较,可以确定窗口中数据是否受到攻击。注入攻击检测算法描述如下所示。
算法1 注入攻击检测算法1初始化相关参数:初始估计状态^xk=0,均方误差协方差矩阵P0,采样点数等2 for k=1:K do3 先计算系统正常运行时的相关参数: 根据式(4)计算先验估计值; 根据式(5)计算先验误差协方差; 根据式(6)计算扩展卡尔曼滤波增益; 根据式(7)计算后验估计值; 根据式(8)计算后验误差协方差;4 for k=i:i+J do5 加入注入攻击,检测gk=∑ki=k-J+1zi(k)/J6 end while7 if gk≤δ then8 CPS→D0;系统未受到攻击,正常进行滤波9 else if gk>δ then10 CPS→D1;系统受到攻击,错误地将当前时刻量测值yk使用前一时刻yk-1代替,进行滤波
通过举例方式对上述数据补偿进行说明。
由表1可以看出,在系统工作k∈[1,6]时间段内,量测值y1、y4、y6成功传输,而量测值y2、y3、y5遭到攻击,其中y2和y3连续遭到攻击。在实际情况中,由于检测数据端获取到量测值错误,系统所能得到的准确信息只有最近一次的估计值和预测值,故使用最近一次的估计值和预测值进行计算。
表1 数据传输Table 1. Data transfer
2.3 注入攻击下状态估计器的状态估计算法
由检测方案可知,检测器的数据来自状态估计器计算的残差和后验误差协方差。为了检测本文所提出的检测算法的检测性能,现对注入攻击下状态估计器的状态估计算法进行研究分析,分析扩展卡尔曼滤波器在攻击下去噪声处理后得到预测更新算法。
扩展卡尔曼滤波算法包括预测和更新两个过程。
(14)
(15)
(16)
(17)
由上述计算式可知,CPS在受到注入攻击下以及状态估计器在计算估计值时,先验估计值和先验误差协方差分别都受到上一时刻后验估计值和后验误差协方差的影响,同时先验误差协方差将用于量测更新。
(18)
其中
(19)
式中,P1表示k时刻相同状态之间的协方差;P2为k和k-1不同时刻状态之间的协方差;P3为k-1时刻相同状态之间的协方差;P4为k时刻实际值和攻击下的系统预测值之间的协方差;P5为k-1时刻的实际值和注入攻击下后验估计值的协方差。
依据攻击后的最优增益更新当前k时刻的后验估计值为
(20)
攻击下的后验误差为
(21)
由后验误差计算得到后验误差协方差为
(22)
对比式(8)和式(22)可以明显看出在攻击下与系统安全稳定运行情况下后验误差协方差的区别。当系统受到注入攻击对状态估计器的影响可知时,扩展卡尔曼状态估计器可进一步得到攻击下的后验误差协方差。
3 数值仿真
为了验证理论的准确性,根据具有注入攻击的离散时间的非线性系统状态方程构建仿真模型,将可能受到攻击的估计值与未受到任何影响的真实值进行比较。
假设在固定窗口中,攻击者对传感器进行注入攻击,模拟从k=0到k=200结束,每间隔10步长对系统注入微小偏差攻击量,即取d=0.12。由图2可以看出,随着系统不断运行,在该算法机制下能减少注入攻击对系统稳定性的影响,估计值与真实值基本一致。由图3可以看出,误差状态估计偏差多为系统攻击处,有攻击时误差增大,当经过算法补偿以后误差又迅速回落。同时,通过查询正态分布表可知,95%置信度δ=1.65,当gk>δ时, 拒绝假设H1,即判断出系统受到攻击。由图4中可以看出,系统受到注入攻击后能及时准确地检测出异常。
图2 目标运动轨迹Figure 2. Target trajectory
图3 后验误差协方差轨迹Figure 3. Traces of a posterior error covariance
图4 检测函数Figure 4. Detection function
4 结束语
本文主要研究了注入攻击下信息物理系统中的状态估计安全问题。在引入非线性系统的基础上,本文提出了一种攻击检测模型,并结合扩展卡尔曼状态估计器,设计了一种基于最小迹原则扩展卡尔曼滤波状态估计的检测方案,在给定检测判决规则实现检测方案设计的同时分析了注入攻击对系统性能的影响。
为了验证检测方案的有效性,通过MATLAB进行仿真验证。仿真结果表明,在给定的攻击检测判决规则下,本文所提检测方案能够有效检测到注入攻击,缓解由于传感器获得错误量测值而造成的系统性能变差问题。本文提出的方法对于未来提高控制性能、检测通信故障或网络攻击具有一定的参考意义。