基于“平滑水印”的隐蔽性重放攻击检测技术①

2022-08-31 12:18史立明
高技术通讯 2022年6期
关键词:卡方段长度被控

史立明 刘 斌 胡 勇

(∗武汉科技大学冶金自动化与检测技术教育部工程研究中心 武汉430081)

(∗∗湖北省冶金过程系统科学重点实验室 武汉430081)

(∗∗∗北京控制工程研究所 北京100190)

0 引言

网络攻击检测(network attack detection)是信息物理系统(cyber-physical system,CPS)安全研究领域的一个热门话题。检测方法基本上分为两类,一类是基于时间序列分析的异常检测方法,另一类是基于观测器的检测方法[1]。在随机系统(stochastic system)中,基于观测器的卡方检测器因精度良好且计算量小而被广泛使用[2]。卡方检测器受残差驱动,当残差的统计特征发生变化时,检测器发出警报。文献[3]提出了一种具有隐蔽性的重放攻击策略,该攻击方法不会引起残差统计特征发生变化,导致卡方检测器失效。文献[4]对这种隐蔽性进行了严密的数学论证。为应对该问题,文献[3]提出向最优控制量中添加独立同分布的高斯噪声序列(independent identical distribution Gaussian noise sequences,IIDGNS)水印信号,攻击者无法获知水印信号的相关信息,从而破坏了重放攻击的隐蔽性。文献[4]使用隐马尔可夫模型(hidden Markov model,HMM)生成平稳随机序列替换IIDGNS 水印信号,提高了检测效果。由于水印信号是一组噪声序列,向控制系统中注入水印信号无法避免一定的性能损失。文献[3]和文献[4]将水印信号设计问题的数学模型归纳为平衡检测效果与控制性能的最优化问题,后续的相关研究多以此范式展开。文献[5]设计了一种周期性水印信号,在非持续性攻击场景中,可以在保证检测效果的同时,降低控制性能损失。文献[6]进一步优化了水印信号的周期序列,基于水印信号的攻击检测技术应用场景渐趋广泛。文献[7]提出了一种在系统参数未知情况下水印信号的在线设计方法。文献[8]提出了一种时变动态水印信号,以适应更加复杂的被控对象。文献[9]将水印信号应用到多信道攻击场景中。文献[10]将水印信号应用到监控与数据采集(SCADA)系统中的完整性攻击(integrity attack)检测中。文献[11]设计了一种具有时变频率的正弦水印信号,可以改变输出信号的频率分布。文献[12]设计了一种使用水印信号对传感器数据进行加密的数据加密技术。文献[13]将水印加密技术应用到CPS 中的隐形双通道虚假数据注入攻击的检测中。文献[14]设计了一种可以补偿性能损失的正弦水印信号。

水印信号可以有效破坏重放攻击的隐蔽性,但因自身的噪声属性,其应用场景依然存在限制。文献[6]发现IIDGNS 水印信号在慢过程中表现较差,并提出了被控对象对水印信号的“敏感性”的概念,但并没有对这种敏感性做过多讨论,且目前也缺乏相关研究。设计适用于慢过程的水印信号是一个难题。

文献[15]指出,在采样频率较高的慢过程中使用白噪声,难以得到任何响应。受此启发,针对慢过程被控对象,本文提出了一种对水印信号进行“平滑化”的改进方法。该方法通过采样和插值算法对IIDGNS 水印信号进行平滑化处理。平滑后的水印信号呈现出“低频性”,适应了慢过程的大惯性。理论分析表明,平滑化处理使水印信号的方差减小、相关性增大。向慢过程中注入“平滑水印”,可以在降低系统性能损失的同时,有效提高攻击检测效果。本文使用单容水箱液位控制系统进行了仿真实验。实验结果表明,平滑水印在大惯性的水箱被控对象上有优于IIDGNS 水印的良好表现。最后,本文通过仿真对比实验,对平滑水印的平滑段长度与被控对象的最小时间常数之间的关系进行了探讨,归纳出了如何选定平滑段长度的一般规律。

1 问题描述

1.1 控制系统

考虑被控对象为线性时不变系统,其离散状态空间模型如下:

其中xk∈Rn、uk∈Rp和yk∈Rm分别代表系统状态变量、控制量和输出变量。过程噪声{wk~ N(0,Q)} 和观测噪声{vk~ N(0,R)} 均是独立同分布的高斯过程,且wk和vk相互独立,Q和R分别为相应的正定协方差矩阵。

假定被控对象具有能稳性和能检性。采用卡尔曼滤波器作为系统状态估计器,其表达式如下:

控制器采用无限时域线性二次高斯(linearquadratic-Gaussian control,LQG)控制器[4],其性能指标由状态变量和控制量两部分组成,表达式如下:

其中W和U是相应的正定权值矩阵。由分离定理可知,表达式(5)的最优解是状态最优估计的线性反馈,可以分别求解卡尔曼滤波问题和LQG 控制问题,且卡尔曼滤波为最优估计、LQG 控制为最优控制[16]。系统稳定后,控制率收敛到稳态值L。

LQG 控制器的最优控制量为

最优控制性能损失为

其中,trace(A) 表示矩阵A的迹。

1.2 重放攻击及攻击检测

考虑系统受到重放攻击,攻击者监听从传感器到控制中心的网络信道,并记录传感器数据。如图1所示,攻击者在s时刻开始发动攻击,用历史传感器数据替换当前传感器数据,重放延迟d个步长。为简化分析,认为攻击时段和被重放片段之间没有重叠,数学表达式为

图1 重放攻击模型

如图2 所示,攻击者通过通信网络向控制系统发动重放攻击。文献[4]对重放攻击的隐蔽性给出了严密的数学证明,并提出了向最优控制量中添加水印信号的攻击检测方法。图2 中,Δuk∈Rp代表IIDGNS 水印信号,记为{Δuk~ N(0,Λ)},Λ为水印信号的方差对角矩阵。添加水印信号之后的控制量为

图2 添加水印信号检测重放攻击

定义Γ≜(A+B·L)·(I-K·C),系统在受到攻击时的残差量为

假定Γ稳定,当k趋于无穷大时,式(12)等号右边的第2 项收敛到0,第3 项中Δui和Δui-d与zk-d均不相关。卡方检测器受残差驱动,文献[4]中给出了卡方检测器的二元假设如下。

未受攻击时,H0:zk~ N(0,ρ);受到攻击时,H1:zk~ N(μk-1,ρ+Σk-1),其中,

由于控制系统为线性系统,为简化计算,可以将重放攻击起始点设置为时间轴原点,即s=0。卡方检测器的检测指标为[4]

定义η为检测阈值,当g(zk)<η时,接受假设H0,即系统运行于正常状态;当g(zk) ≥η时,则接受假设H1,即系统受到攻击。卡方检测器的渐进检测率为

文献[4]指出,β是式(15)中Σ 的单调增函数。从式(15)可知,Σ 仅与Λ有关。所以,对于IIDGNS水印信号,卡方检测器的渐进检测率β是仅关于水印信号方差Λ的单调增函数。

添加水印信号后系统的性能损失为[3]J∗为式(9)中的最优控制性能损失。定义ΔJ代表添加水印信号后产生的额外性能损失,有:

显然,ΔJ也是关于Λ的单调增函数。

根据上述分析可知,当水印信号为独立同分布的高斯噪声序列时,卡方检测器的渐进检测率和系统额外性能损失只与水印信号的方差有关,且均是方差的单调增函数。提高水印信号的方差可以提高攻击检测效果,但同时也会导致系统性能损失升高。通常,牺牲一定的控制性能来换取攻击检测效果是值得的。但往往很多工业被控对象是慢过程,在较高的采样频率下,对IIDGNS 水印几乎无响应。提高水印信号的方差不仅会使系统性能损失增加,而且对攻击检测没有太大帮助。而降低采样频率又会导致整个系统的性能大幅下降。对于慢过程被控对象,IIDGNS 并不是理想的水印信号。

2 平滑水印设计

为解决慢过程对IIDGNS 响应较弱的问题,本文将IIDGNS 水印信号进行“平滑化”处理,使其呈现出“低频性”,以适应慢过程的大惯性。如图3 所示,在连续的2 个IIDGNS 水印信号点之间均匀采样,生成若干新的信号点替换原始信号点,以达到平滑的目的。{Δuk} 是原始水印信号,{Δu′n} 代表平滑水印信号。平滑水印在各平滑段上服从均匀分布,记为Δu′n~ U(Δuk,Δuk+1),表示Δu′n服从于(Δuk,Δuk+1) 之间的均匀分布。为简化计算,使平滑水印在各平滑段上相互独立。具体平滑方法如下。

图3 IIDGNS 水印信号的平滑化处理

步骤1确定平滑段长度q。

步骤2从初始时刻开始,取连续的2 个信号点Δuk和Δuk+1。

步骤3在Δuk和Δuk+1之间均匀采样q个新的信号点,组成一段平滑水印。数学表达式为

其中{yn} 相互独立,且均服从于(0,1)之间的均匀分布,记为{yn~ U(0,1)}。yn与Δuk相互独立。

步骤4更新信号点为Δuk+2和Δuk+3,重复执行步骤3。

平滑水印的均值和方差为

由上述计算可知,平滑水印{Δu′n} 在整个时间域上零均值同分布。平滑水印的均值为0,在无穷时域上避免了在控制量中产生直流偏置。从式(18)可以得出,平滑水印导致的额外性能损失为

显然,采用该平滑化处理方法,可以明显降低系统性能损失。

由于平滑水印在各平滑段上相互独立,只需分析平滑水印在一个平滑段内的相关性。平滑水印的自协方差为

定义R(h) ≜Cov(Δu′n,Δu′n+h) 表示{Δu′n}在一个平滑段内的自相关函数,可归纳为

由式(13)可以计算出,添加平滑水印后残差的方差变化量为

在实际应用中,平滑段长度不可能设置到无穷大,有如下结论:

Σ′在此范围内随平滑段长度q的增大而增大。

定义β′表示在平滑水印作用下卡方检测器的渐进检测率。由式(16)及相关分析可知,β′是关于Σ′的单调增函数。

由式(22)可知,添加平滑水印后,系统额外性能损失ΔJ′是仅关于原始水印信号方差Λ的单调增函数。由式(25)~(31)及相关分析可知,卡方检测器的渐进检测率β′是关于Λ和平滑段长度q的函数。当Λ一定时,Σ′是仅关于q的单调增函数,即卡方检测器的渐进检测率β′在一定范围内随着平滑段长度q的增大而增大。综上分析,本文提出的平滑水印可以将系统额外的性能损失降低1/3,而攻击检测率可以通过增大平滑段长度而达到理想水平。

3 仿真实验

考虑平滑水印应用对象的大惯性特性,本文使用单容水箱液位控制系统进行仿真实验。广义被控对象的传递函数为G(s)=10/[(s +1)·(300s +1)],其最小时间常数Tmin=1 s。根据采样定理,采样周期TS一般取为1/10·Tmin≤TS≤1/4·Tmin,本实验选择采样周期为0.2 s。单容水箱为单输入单输出系统,最小实现的状态变量为二维向量,其离散状态空间模型的参数如下:

LQG 控制器性能指标的正定权值矩阵分别为

系统的过程噪声和观测噪声的协方差矩阵分别为

LQG 控制器的最优代价J∗=53.0141,卡方检测器的误报率控制在约0.02 的水平。

图4 显示了向慢过程中添加IIDGNS 水印信号时,卡方检测器的渐进检测率与性能损失比之间的关系。表1 是其中的部分数据。分析表1 数据可知,当控制性能损失与最优性能损失比低于约10时,卡方检测器的检测率大致与误报率(约0.02)持平。若获取约0.1 的检测率,控制性能损失大约达到最优性能损失的15 倍。而要获取约0.5 的检测率,则性能损失将超过最优性能损失的100 倍,这显然是无法接受的结果。

图4 IIDGNS 水印检测率(β)与损失比(J/J∗)的关系

表1 IIDGNS 水印检测率与损失比关系的部分数据

图5 为向系统中添加IIDGNS 水印及相应平滑水印所产生的检测率的对比图。由图5 可知,从总体的趋势来看,对IIDGNS 水印信号进行平滑处理后,可以显著提高卡方检测器的渐进检测率。同时,由于水印信号的方差是驱动卡方检测器的主要因素,当原始水印的方差设置在较低水平时,添加平滑水印与原始水印产生的检测效果并没有明显区别。而当水印信号的方差较大时,平滑水印产生的检测效果明显优于IIDGNS 水印信号。从图中可以看出,在对IIDGNS 水印信号进行平滑化处理时,平滑段长度设置得越大,平滑水印产生的检测效果越好。同时也可以看出,当平滑段长度增大到一定水平后,继续增大平滑段长度,对检测率的提升则十分有限。

图5 原始水印及其平滑水印产生的检测率对比(q 为平滑段长度)

图6 为添加IIDGNS 水印及相应平滑水印所导致的性能损失的对比图。从图中可以看出,原始水印进行平滑化处理后,系统额外性能损失显著降低(比例约为1/3),且平滑段长度的变化对性能损失并没有影响,与式(22)所述结论一致。

图6 原始水印及其平滑水印导致的性能损失对比

图7 详细显示了渐进检测率与平滑段长度的关系。从图中可以看出,增大平滑段长度可以有效提高卡方检测器的渐进检测率,但检测率并不会随着平滑段长度的增大而无限升高。可以明显看出,在本次实验中,平滑段长度在小于20 个步长时,曲线的斜率较大,增大平滑段长度对检测率的提升十分明显。随后,随着平滑段长度继续增大,检测率的提升变缓。显然,设置过大的平滑段长度并没有必要。

图7 检测率与平滑段长度的关系

式(20)表明平滑水印的均值为0,保证了在无穷时域上控制量中无直流偏置。但是,当平滑段长度设置过大时,由于平滑水印在每个平滑段上服从均匀分布,会导致控制量在每个平滑段上产生直流偏置,从而影响控制性能。图8显示了平滑段长度设置过大时系统性能损失比的30 次仿真数据。从图中可以看出,多次仿真的数据波动较大。这是因为平滑段长度过大,所选取的原始水印信号点过少,随机性较大。平滑水印过于依赖所选取的原始水印信号点,可能会在控制量在中产生直流偏置。

图8 过大平滑段长度下的性能损失比

综上分析,水印信号的平滑化处理能在降低控制性能损失的同时,明显提升重放攻击检测率,此结论与理论分析相符。同时也表明,在实际应用中,平滑段长度需要设置在合适的水平,才能在不影响控制性能的同时最大程度地提高检测效果。

表2 是对不同最小时间常数的被控对象进行仿真实验所总结的最优平滑段长度数据。一般来说,传递函数的最小时间常数决定了系统的响应速度,时间常数越小,响应速度越快。由此可归纳出设置平滑段长度的一般规律,即平滑段长度应随着最小时间常数的增大而增大,才能使水印信号适应被控对象的响应速度,从而获取较高的攻击检测率。

表2 最小时间常数与最优平滑段长度的关系

4 结论

本文针对一类慢过程被控对象提出了一种基于“平滑水印”的重放攻击检测方法。由于慢过程对高频白噪声几乎无响应,传统的独立同分布高斯噪声水印信号并不能有效破坏重放攻击的隐蔽性。本文从“降频”的角度出发,对独立同分布高斯噪声水印信号进行“平滑化”处理,使水印信号呈现出“低频性”,以适应慢过程的大惯性特性。通过均匀采样和插值的方法平滑高斯水印,并证明了该平滑化处理使水印信号的方差减小、相关性增加,可以在降低控制性能损失的同时,有效提升攻击检测效果。本文选取单容水箱液位控制系统进行仿真实验,验证了该方法的有效性,并通过实验总结出了根据被控对象的最小时间常数设置平滑段长度的一般规律。实验结果也显示出了该方法的两个主要的不足之处。一是在水印信号的方差过小时,平滑化处理对检测效果的提升并不明显;二是当平滑段长度设置过大时,由于平滑水印在各个平滑段上服从均匀分布,可能会给控制量增加直流偏置,从而影响系统性能。后续的研究将从这两点出发,着重于量化被控对象对水印信号的“敏感性”,提出性能更优的水印信号设计方法。

猜你喜欢
卡方段长度被控
卡方检验的应用条件
卡方变异的SSA的FSC赛车转向梯形优化方法
中俄原油管线冻土融沉对输油管道应变的影响研究
卡方检验的应用条件
“以宽代深”模式在流域骨干引排工程中的应用研究
港警在“修例风波”中拘捕近万人
喷嘴结构对耙吸挖泥船高压冲水性能影响的试验研究
重力热管几何结构优化的数值研究
三大抽样分布的理解与具体性质