基于生成对抗网络的多点FDI攻击检测方法转让专利

申请号 : CN202110430106.5

文献号 : CN113281998B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 洪榛杨超锋俞立

申请人 : 浙江工业大学

摘要 :

一种生成对抗网络的工业信息物理系统多点FDI攻击检测方法,包括以下步骤:1)建立不同类型的FDI攻击模型;2)建立GAN模型;3)建立采用LSTM‑RNN为生成器和辨别器单元的LR‑GAN模型;4)基于LR‑GAN的多点FDI攻击检测算法设计;5)基于LR‑GAN的多点FDI攻击检测框架设计。本发明用新颖的生成对抗网络,能够在多链路、多设备存在FDI攻击的情况下,保证ICPS系统的正常运行并在检测到攻击的同事提升系统安全性能。另外设计一个新的多点FDI攻击检测算法,同时提出了一个基于LR‑GAN的FDI攻击检测框架。

权利要求 :

1.一种基于生成对抗网络的工业信息物理系统多点FDI攻击检测方法,其特征在于,所述方法包括以下步骤:

1)建立不同类型的FDI攻击模型;

2)GAN模型的推导生成;

3)建立采用LSTM‑RNN为生成器和辨别器单元的LR‑GAN模型;

4)基于LR‑GAN的多点FDI攻击检测算法设计;

5)基于LR‑GAN的多点FDI攻击检测框架设计;

所述步骤3)中,对于高水平攻击者发动的多点FDI攻击,采用LSTM‑RNN为生成器和辨别器单元建立一种新的LR‑GAN模型,对于LR‑GAN来说,生成器G隐式地定义了生成样本的概率分布Gls‑rnn(z),z来自随机隐空间,它由测试样本翻转映射得到,对于判别器Dls‑rnn来说,Gls‑rnn(z)是生成样本,被定义为“假的”样本;生成器的训练目的是尽可能的混淆判别器,使其最大程度地将生成样本判别为真实样本,判别器的训练目标是尽可能地将生成样本判定为“假的”,因此对于生成器G来说,需要将最小化损耗:同时,判别器的训练目标为最小化判别损耗:

在训练过程中,Gloss和Dloss同时进行优化,用于更新Gls‑rnn和Dls‑rnn的参数;

所述步骤4)中,基于LR‑GAN的多点FDI攻击检测算法设计过程为:

4.1)基于判别器的攻击检测:由于经过训练的判别器D能够以较高的灵敏度将假数据与真实数据区分开来,因此它作为攻击检测的直接依据;

4.2)基于重构损失的攻击检测:训练后的生成器G实际上是一个从隐空间到真实数据空间的映射:G(Z):Z→X,看作是反映真实数据分布的一个隐式系统模型,由于隐空间的平滑跃迁特性,如果隐空间的输入相互之间很接近,则发生器G将输出相似的样本,因此,如果能够在测试数据Xtes的隐空间中找到对应的Zk,Xtes和G(Zk)之间的相似性可以解释Xtes在多大程度上遵循G所反映的分布,即利用Xtes和G(Zk)之间的重构损失来识别测试数据中的异常;

为了找到与测试样本相对应的最佳噪声样本,首先从隐空间中随机采样一个数据集Z1={z1,z2,z3......zi},并将其作为生成器的输入来获得重构样本G(Z1),接着利用由最小化Xtes和G(Zk)定义的误差函数得到的梯度对Z1进行更新,误差函数如下所示:min Er(Xtes,Glr‑rnn(Zk))=1‑Simi(Xtes,Gls‑rnn(Zk))    (15)相似性度量Simi定义为两者的协方差,在经过足够多次的迭代,误差足够小后,此时的样本Zk被记录为测试数据在隐空间中的对应映射,测试数据集Xtes在t时刻的重构损失表示为:其中 是n个变量中的某一个在t时刻的测量值,因此,基于判别器损失以及重构损失的攻击检测损失函数表示为:tes tes tes

Lt =λRes(Xt )+(1‑λ)Dls‑rnn(Xt )    (17)经过训练之后的LR‑GAN生成器和判别器将为每个测试数据的子序列输出一组攻击检测损失 其中sw为滑动窗口尺寸,通过将子序列的攻击检测损失映射回原始时间序列,设计一个基于“联合判别‑重构”的异常评分标准DRSc:其中t∈{1,2,...,N},j∈{1,2,...,n},s∈{1,2,...,sw},LR‑GAN在训练过程中的参数更新,使用基于Adam优化和梯度下降优化的小批量优化算法;

所述步骤5)中,基于LR‑GAN的多点FDI攻击检测框架设计的阶段为:阶段1:对多变量时间序列进行预处理,考虑训练数据集 和测试数据集其中T为数据流数量,M,N表示每一个数据流里的数据测量值,为了能使LR‑GAN能更加有效地学习到原始数据集的概率分布,可以利用滑动窗口Sw和步长Sl将多变量时间序列分成多个子序列集合 其中m=(M‑Sw)/Sl为子序列的个数,Z={zi,i=1,2,...,m}是取自隐空间的子序列集合;

阶段2:将子序列集合X'tra和Z作为LR‑GAN的输入,对生成器和判别器进行训练,Gls‑rnn生成“看起来像真的”的“假”样本数据Xg,Dls‑rnn则通过计算DRSc与真实数据之间的交叉熵,并利用检测标志函数来判断是否存在攻击;

阶段3:接着利用训练好的LR‑GAN模型对实时ICPS数据集Xtes进行分析,以检测是否存在由多点FDI攻击产生的异常数据,为了更好地进行检测,将 同样分为多变量子tes序列集合X'tes={xj ,j=1,2,...,n},其中n=(N‑Sw)/Sl为子序列个数;

采用主成分分析法PCA将高维数据投影到PC投影空间,再输入到LR‑GAN模型中;

将投影之后的测试数据输入到LR‑GAN模型中,并根据式(16)计算出异常评分,为了将异常评分量化为攻击检测的标准,设计了如下的检测标志函数其中, 表示测试数据集的标志向量,当其为非零时,即异常评分DRSc的交叉熵误差H(DRSct,1)大于给定值ω,说明检测到有攻击存在。

2.如权利要求1所述的基于生成对抗网络的工业信息物理系统多点FDI攻击检测方法,其特征在于,所述步骤1)中,FDI攻击作为一种对ICPS有严重破坏性的恶意攻击,通过破坏数据完整性来干扰正常的控制决策与变量观测,FDI攻击按其发生位置分为以下两种:

1.1)传感器‑控制器链路S‑C‑FDI:在该种攻击形式下,攻击者在传感器输出链路上注入虚假数据,其形式如式(1)所示其中δ为攻击向量,y为传感器量测值;

1.2)控制器‑执行器链路C‑A‑FDI:攻击者在控制器的输出链路上注入虚假数据,形式如下其中δ为攻击向量,u为控制器输出。

3.如权利要求1或2所述的基于生成对抗网络的工业信息物理系统多点FDI攻击检测方法,其特征在于,所述步骤2)中,GAN的整个对抗学习过程可以看成是关于优化目标函数V(D,G)极大极小值的博弈过程:由上式可以看出,对于生成器G来说,需要尽可能的欺骗判别器D,所以需要最大化D对生成样本的判别概率D(G(z)),即最小化log(1‑D(G(z)));而对于D来说,其目的是尽可能的分辨出人为生成样本和真实样本,所以需要最大化log(1‑D(G(z))),首先给出预备知识:定义1[KL散度]:设P(x),Q(x)是随机变量X上的两个概率分布,则在连续随机变量的情形下,P(x)和Q(x)的KL散度为定义2[JS散度]:设P(x),Q(x)是随机变量X上的两个概率分布,则在连续随机变量的情形下,P(x)和Q(x)的JS散度为JS散度度量了两个概率分布的相似度,基于KL散度的变体,解决了KL散度非对称的问题,JS散度是对称的,其取值是0到1之间;

对于最优判别器有如下定理及证明:

*

定理1.对于给定的G,有最优判别器D如下

证明.在给定生成器G的情况下,判别器D的训练准则是最大化V(G,D),当变量连续时有由初等数学知识可知,对于任意 方程y→a log(y)+b log(1‑y)在y=a/(a+b)时取到最大值maxy∈[0,1],判别器D不需要在关于pdata和pg的支撑集的并集之外有*定义,所以得出结论:最优判别器D如式(6)所示;

由式(6)可知,判别器D的训练目标其实可以解释为最大化对数似然来估计条件函数P(Y=y|x),其中Y表示x是来自pdata(y=1)还是pg(y=0),所以对于生成器G来说,式(1)的最小最大博弈就变为最小化目标函数C(G)在确定了最优判别器D*后,优化目标变为最小化

对该目标函数有如下定理:

定理2.目标函数C(G)在当且仅当pg=pdata时取到全局最小值,最小值为C(G)*=‑log4     (10)

证明.考虑式(6),当pg=pdata时, 进一步的,式(7),在 时,为了验证‑log4是否为C(G)的全局最小值,对式(7)进行简单变形,等式右边分子分母同乘以 得到

根据定理1、2有

因为JS散度总是非负的,并且在pg=pdata时JS(pdata||pg)=0,所以由式(10)可知,当且仅当pg=pdata时,C(G)取到全局最小值C(G)*=‑log4。

说明书 :

基于生成对抗网络的多点FDI攻击检测方法

技术领域

[0001] 本发明涉及工业信息物理系统(Industrial Cyber‑Physical System,ICPS)安全控制与运行领域,具体涉及一种基于生成对抗网络的多点虚假数据注入攻击(False Data Injection,FDI)检测方法,应用于ICPS中来解决针对多链路或多设备的FDI 攻击检测问题。

背景技术

[0002] 随着ICPS开始在各种工业系统中得到应用,人们不必再去工业现场进行人为物理操作,而是利用ICPS的分布式远程控制特性,通过可编程逻辑控制器 (Programmable Logic Controller,PLC)和传感器等智能设备对系统进行控制和监视。对于由这些PLC和传感器组合起来的控制网络,工作人员可以使用监控和数据采集系统(Supervisory Control And Data Acquisition,SCADA)并结合中央计算机进行操作。这种自动化智能操作得益于ICPS将物理过程与信息空间结合到一起,但这种连接也使得ICPS遭受不同类型信息物理攻击的风险大大增加。因此,设计一种有效的攻击检测方法来解决工业信息物理系统中存在的各种攻击问题迫在眉睫。
[0003] 目前,针对ICPS的攻击威胁主要有FDI攻击、DoS攻击等,其中FDI攻击相比于其他攻击,危害更大且难以防范。FDI通常发生在大型流程工业以及电网系统这类需要大范围传输数据的ICPS系统,攻击者能够在掌握目标系统相关知识的情况下,利用欺骗,截取,篡改等手段向目标系统注入虚假数据,使其偏离稳定状态,甚至崩溃。电网、水处理系统、石油化工系统等基础设施的重要性加之 FDI攻击的隐蔽特性,使得对FDI攻击本身以及对其的检测成为热点研究问题。
[0004] 近年来,在针对FDI的检测方面,研究主要集中与以下两个方向:
[0005] (1)基于网络流量分析:网络流量的波动通常表示ICPS的状态变化,这使得基于网络流量挖掘的攻击检测成为可能。传统的基于网络流量分析的FDI攻击检测系统通常提取IP地址和端口、流量持续时间、相邻包之间的平均时间间隔等信息,然后对这些信息进行数据挖掘,以识别系统的异常行为。常用的流量挖掘技术包括有监督聚类,神经网络,多分类支持向量机等。这些技术的目的是在网络流量和系统行为之间建立复杂的关系,进而将这些关系与当前网络流量数据一起用于判断目标系统的安全状态。
[0006] (2)基于过程数据分析:过程数据信息是ICPS攻击检测系统中需要考虑的重要因素,FDI攻击正是通过篡改进程信息来误导控制器做出错误的决策,并最终对系统造成致命的损害。现有研究将过程变量分为三类:常量、枚举和连续变量,然后为每个过程变量建立一个正常的行为模型。在系统运行过程中,一旦观测到的过程值由于虚假数据注入的影响而偏离其正常行为模型,系统就会产生报警。另有研究人员使用来自多个工业传感器的测量数据来表示系统状态,并提出了一种状态距离测量方法。可以通过检测当前状态和临界状态之间的接近程度来识别 FDI攻击。此外,有研究人员总结了基于残差分析的两类虚假数据入侵检测方法:序列检测和变化检测。前者的目标是尽快发现入侵,即确定IDS能够做出正常/ 异常判断的最短剩余序列。后者在未知时间点检测到可能的异常。
[0007] 上述两种方法虽然对于常规的FDI攻击有较好的检测效果,但是对于高水平攻击者发动的多点FDI攻击,即在多链路或多设备上注入虚假数据,已有的检测方法无法奏效。

发明内容

[0008] 为了解决ICPS中的多点FDI攻击检测问题,本发明面向多链路、多设备FDI 攻击检测问题,设计了一种基于生成对抗网络的多点FDI攻击检测算法与框架。
[0009] 本发明解决其技术问题所采用的技术方案是:
[0010] 一种基于生成对抗网络的工业信息物理系统多点FDI攻击检测方法,所述方法包括以下步骤;
[0011] 1)建立不同类型的FDI攻击模型,过程如下:
[0012] FDI攻击作为一种对ICPS有严重破坏性的恶意攻击,通过破坏数据完整性来干扰正常的控制决策与变量观测,特别地,对数据传输的实时性、可靠性依赖度很高的电力系统、过程控制系统来说,FDI攻击存在巨大的威胁,FDI攻击按其发生位置可以分为以下两种:
[0013] 1.1)传感器‑控制器链路FDI(S‑C‑FDI):在该种攻击形式下,攻击者在传感器输出链路上注入虚假数据,其形式如式(1)所示
[0014]
[0015] 其中δ为攻击向量,y为传感器量测值,S‑C‑FDI的目的在于利用虚假数据篡改传感器量测值,并欺骗控制器使其下发错误的控制指令,从而毁坏设备,甚至使系统偏离稳定状态直至崩溃;
[0016] 1.2)控制器‑执行器链路FDI(C‑A‑FDI):攻击者在控制器的输出链路上注入虚假数据,形式如下
[0017]
[0018] 其中δ为攻击向量,u为控制器输出,攻击者直接在控制器的输出链路上注入虚假数据,而不是通过篡改传感器读数的间接方式,C‑A‑FDI攻击通过篡改控制器输出的控制指令使设备执行错误的操作,从而达到破坏系统稳定运行状态的目的;
[0019] 2)建立GAN模型
[0020] GAN是一种新型的深度学习模型,由生成器G和判别器D组成,通过对抗的方式,GAN能从初始分布样本中学习未知的概率分布,所谓的对抗即生成器G 和判别器D的相互对抗:首先,G学习给定数据集的概率分布,并生成遵循相同分布的人工数据,接着由D计算G生成数据与真实的数据之间的相似性差距,并反馈一个具体的判别分数,分数越高说明生成器生成的数据越接近真实数据。D 根据生成器返回的分数进行参数优化,继续生成数据,不断地重复上述步骤即为对抗过程;
[0021] GAN的整个对抗学习过程看成是关于优化目标函数函数V(D,G)极大极小值的博弈过程:
[0022]
[0023] 由上式可以看出,对于生成器G来说,需要尽可能的欺骗判别器D,所以需要最大化D对生成样本的判别概率D(G(z)),即最小化log(1‑D(G(z))),而对于D来说,其目的是尽可能的分辨出人为生成样本和真实样本,所以需要最大化 log(1‑D(G(z))),首先给出预备知识:
[0024] 定义1[KL散度]:设P(x),Q(x)是随机变量X上的两个概率分布,则在连续随机变量的情形下,P(x)和Q(x)的KL散度为
[0025]
[0026] 定义2[JS散度]:设P(x),Q(x)是随机变量X上的两个概率分布,则在连续随机变量的情形下,P(x)和Q(x)的JS散度为
[0027]
[0028] JS散度度量了两个概率分布的相似度,基于KL散度的变体,解决了KL散度非对称的问题,JS散度是对称的,其取值是0到1之间;
[0029] 对于最优判别器有如下定理及证明:
[0030] 定理1.对于给定的G,有最优判别器D*如下
[0031]
[0032] 证明.在给定生成器G的情况下,判别器D的训练准则是最大化V(G,D),当变量连续时有
[0033]
[0034] 由初等数学知识可知,对于任意 方程y→alog(y)+blog(1‑y)在 y=a/(a+b)时取到最大值maxy∈[0,1],需要注意的是判别器D不需要在关于 pdata和pg的支*
撑集的并集之外有定义,所以可以得出结论:最优判别器D如式(4) 所示;
[0035] 由式(4)可知,判别器D的训练目标其实可以解释为最大化对数似然来估计条件函数P(Y=y|x),其中Y表示x是来自pdata(y=1)还是pg(y=0),所以对于生成器G来说,式(1)的最小最大博弈就变为最小化目标函数C(G)
[0036]
[0037] 在确定了最优判别器D*后,优化目标变为最小化
[0038]
[0039] 对该目标函数有如下定理:
[0040] 定理2.目标函数C(G)在当且仅当pg=pdata时取到全局最小值,最小值为[0041] C(G)*=‑log4(10)
[0042] 证明.考虑式(4),当pg=pdata时, 进一步的,式(7),在 时,为了验证‑log4是否为C(G)的全局最小值,对式(7)进行简单
变形,等式右边分子分母同乘以 得到
[0043]
[0044] 根据定理1、2有
[0045]
[0046] 因为JS散度总是非负的,并且在pg=pdata时JS(pdata||pg)=0,所以由式(10) 可知,当且仅当pg=pdata时,C(G)取到全局最小值C(G)*=‑log4。
[0047] 3)建立采用LSTM‑RNN为生成器和辨别器单元的LR‑GAN模型,过程如下:
[0048] 对于高水平攻击者发动的多点FDI攻击,传统的GAN无法有效地利用其产生的多变量时间相关序列,因此,采用LSTM‑RNN为生成器和辨别器单元建立一种新的LR‑GAN模型,对于LR‑GAN来说,生成器G隐式地定义了生成样本的概率分布Gls‑rnn(z),z来自随机隐空间,它由测试样本翻转映射得到。对于判别器Dls‑rnn来说,Gls‑rnn(z)是生成样本,被定义为“假的”样本。生成器的训练目的是尽可能的混淆判别器,使其最大程度地将生成样本判别为真实样本。判别器的训练目标是尽可能地将生成样本判定为“假的”,因此对于生成器G来说,需要将最小化损耗:
[0049]
[0050] 同时,判别器的训练目标为最小化判别损耗:
[0051]
[0052] 在训练过程中,Gloss和Dloss同时进行优化,用于更新Gls‑rnn和Dls‑rnn的参数;
[0053] 4)基于LR‑GAN的多点FDI攻击检测算法设计,过程如下:
[0054] LR‑GAN的优点在于生成器和判别器是同时训练优化的,同时使用生成器损失Gloss和判别器损失Dloss可以更好的表示攻击检测过程中的可变性;因此结合基于判别器损失和重构损失两个部分进行针对ICPS多变量时间相关序列数据的攻击检测;
[0055] 为了找到与测试样本相对应的最佳噪声样本,首先从隐空间中随机采样一个数据集Z1={z1,z2,z3......zi},并将其作为生成器的输入来获得重构样本G(Z1),接着利用由最小化Xtes和G(Zk)定义的误差函数得到的梯度对Z1进行更新,误差函数如下所示:
[0056] min Er(Xtes,Glr‑rnn(Zk))=1‑Simi(Xtes,Gls‑rnn(Zk))   (15)
[0057] 相似性度量Simi定义为两者的协方差,在经过足够多次的迭代,误差足够小后,此时的样本Zk被记录为测试数据在隐空间中的对应映射,测试数据集Xtes在t时刻的重构损失表示为:
[0058]
[0059] 其中 是n个变量中的某一个在t时刻的测量值,因此,基于判别器损失以及重构损失的攻击检测损失函数表示为:
[0060] Lttes=λRes(Xttes)+(1‑λ)Dls‑rnn(Xttes)   (17)
[0061] 经过训练之后的LR‑GAN生成器和判别器将为每个测试数据的子序列输出一组攻击检测损失 其中sw为滑动窗口尺寸,通过将子序列的攻击检测损失映射回原始时间序列,设计一个基于“联合判别‑ 重构”的异常评分标准DRSc:
[0062]
[0063] 其中t∈{1,2,...,N},j∈{1,2,...,n},s∈{1,2,...,sw},LR‑GAN在训练过程中的参数更新,可以使用相关优化算法,在本文中使用的是基于Adam优化和梯度下降优化的小批量优化算法;
[0064] 5)基于LR‑GAN的多点FDI攻击检测框架设计,过程如下:
[0065] 多点FDI攻击检测问题(或称为多变量时间序列指纹攻击检测问题)可以表述为如下几个阶段:
[0066] 阶段1:对多变量时间序列进行预处理,考虑训练数据集 和测试数据集其中T为数据流数量,M,N表示每一个数据流里的数据测量值;
[0067] 阶段2:将子序列集合X'tra和Z作为LR‑GAN的输入,对生成器和判别器进行训练;
[0068] 阶段3:接着利用训练好的LR‑GAN模型对实时ICPS数据集Xtes进行分析,以检测是否存在由多点FDI攻击产生的异常数据;
[0069] 使用LSTM‑RNN代替常规的循环神经网络来构造生成器和判别器,这必然会使得在高维输入下产生更高的计算消耗,因此采用主成分分析法PCA将高维数据投影到PC投影空间,再输入到LR‑GAN模型中,方法如下
[0070]
[0071] 将投影之后的的测试数据输入到LR‑GAN模型中,并根据式(18)计算出异常评分。为了将异常评分量化为攻击检测的标准,设计了如下的检测标志函数
[0072]
[0073] 其中, 表示测试数据集的标志向量,当其为非零时,即异常评分 DRSc的交叉熵误差H(.,.)大于给定值ω,说明检测到有攻击存在。
[0074] 本发明的技术构思为:考虑到高水平的攻击者具有丰富的攻击资源,可以同时在ICPS内部多个通信链路或设备上发动FDI攻击,从对抗学习的角度出发,提出了一种将LSTM‑RNN作为生成器和辨别器的对抗生成网络,LR‑GAN。通过将受多点FDI攻击下产生的多变量时间相关序列分段进行LR‑GAN训练,生成一个伪造的时间相关序列数据,并利用伪造序列与真实序列的差别,设计一个基于重构损失的多点FDI攻击检测算法。
[0075] 本发明的有益效果主要表现在:用新颖的生成对抗网络,能够在多链路、多设备存在FDI攻击的情况下,保证ICPS系统的正常运行并在检测到攻击的同事提升系统安全性能。另外设计一个新的多点FDI攻击检测算法,同时提出了一个基于LR‑GAN的FDI攻击检测框架,可以有效的检测针对ICPS的多点FDI攻击。

附图说明

[0076] 图1为ICPS中的FDI攻击示意图;
[0077] 图2为常规GAN学习模型示意图;
[0078] 图3为LR‑GAN的基本框架示意图。
[0079] 图4为基于重构损失的攻击检测框架示意图。

具体实施方式

[0080] 下面结合附图对本发明作进一步描述。
[0081] 参照图1~图4,一种基于生成对抗网网络的工业信息物理系统多点FDI攻击检测方法,包括以下步骤:
[0082] 1)建立不同类型的FDI攻击模型;
[0083] FDI攻击作为一种对ICPS有严重破坏性的恶意攻击,通过破坏数据完整性来干扰正常的控制决策与变量观测,特别地,对数据传输的实时性、可靠性依赖度很高的电力系统、过程控制系统来说,FDI攻击存在巨大的威胁,一般来说FDI 攻击按其发生位置可以分为以下两种:
[0084] 1.1)传感器‑控制器链路FDI(S‑C‑FDI):在该种攻击形式下,攻击者在传感器输出链路上注入虚假数据,如图3所示。其形式如式(1)所示
[0085]
[0086] 其中δ为攻击向量,y为传感器量测值,S‑C‑FDI的目的在于利用虚假数据篡改传感器量测值,并欺骗控制器使其下发错误的控制指令,从而毁坏设备,甚至使系统偏离稳定状态直至崩溃;
[0087] 1.2)控制器‑执行器链路FDI(C‑A‑FDI):攻击者在控制器的输出链路上注入虚假数据,如图3所示,形式如下
[0088]
[0089] 其中δ为攻击向量,u为控制器输出。攻击者直接在控制器的输出链路上注入虚假数据,而不是通过篡改传感器读数的间接方式。C‑A‑FDI攻击通过篡改控制器输出的控制指令使设备执行错误的操作,从而达到破坏系统稳定运行状态的目的。
[0090] 2)建立GAN模型,过程如下:
[0091] GAN的整个对抗学习过程看成是关于优化目标函数函数V(D,G)极大极小值的博弈过程:
[0092]
[0093] 由上式可以看出,对于生成器G来说,需要尽可能的欺骗判别器D,所以需要最大化D对生成样本的判别概率D(G(z)),即最小化log(1‑D(G(z))),而对于D 来说,其目的是尽可能的分辨出人为生成样本和真实样本,所以需要最大化 log(1‑D(G(z)));
[0094] 3)建立采用LSTM‑RNN为生成器和辨别器单元的LR‑GAN模型,过程如下:
[0095] 生成器的训练目的是尽可能的混淆判别器,使其最大程度地将生成样本判别为真实样本,判别器的训练目标是尽可能地将生成样本判定为“假的”,因此对于生成器G来说,需要将最小化损耗:
[0096] 同时,判别器的训练目标为最小化判别损耗:
[0097]
[0098] 在训练过程中,Gloss和Dloss同时进行优化,用于更新Gls‑rnn和Dls‑rnn的参数;
[0099] 4)基于LR‑GAN的多点FDI攻击检测算法设计,过程如下:
[0100] 结合判别器损失和重构损失两个部分进行针对ICPS多变量时间相关序列数据的攻击检测;
[0101] 为了找到与测试样本相对应的最佳噪声样本,首先从隐空间中随机采样一个数据集Z1={z1,z2,z3......zi},并将其作为生成器的输入来获得重构样本G(Z1),接着利用由最小化Xtes和G(Zk)定义的误差函数得到的梯度对Z1进行更新,误差函数如下所示:
[0102] min Er(Xtes,Glr‑rnn(Zk))=1‑Simi(Xtes,Gls‑rnn(Zk))   (6)
[0103] 在本文中,相似性度量Simi定义为两者的协方差。在经过足够多次的迭代,误差足够小后,此时的样本Zk被记录为测试数据在隐空间中的对应映射。测试数据集 Xtes在t时刻的重构损失表示为:
[0104]
[0105] 其中 是n个变量中的某一个在t时刻的测量值,因此,基于判别器损失以及重构损失的攻击检测损失函数表示为:
[0106] Lttes=λRes(Xttes)+(1‑λ)Dls‑rnn(Xttes)   (8)
[0107] 经过训练之后的LR‑GAN生成器和判别器将为每个测试数据的子序列输出一组攻击检测损失 其中sw为滑动窗口尺寸,通过将子序列的攻击检测损失映射回原始时间序列,设计一个基于“联合判别‑ 重构”的异常评分标准DRSc:
[0108]
[0109] 其中t∈{1,2,...,N},j∈{1,2,...,n},s∈{1,2,...,sw},LR‑GAN在训练过程中的参数更新,可以使用相关优化算法,在本实施例中使用的是基于Adam优化和梯度下降优化的小批量优化算法;
[0110] 5)基于LR‑GAN的多点FDI攻击检测框架设计,过程如下:
[0111] 多点FDI攻击检测问题可以表述为如下几个阶段:
[0112] 阶段1:对多变量时间序列进行预处理,考虑训练数据集 和测试数据集其中T为数据流数量,M,N表示每一个数据流里的数据测量值,为了能使LR‑GAN能更加有效地学习到原始数据集的概率分布,可以利用滑动窗口Sw和步长Sl将多变量时间序列分成多个子序列集合 其中m=(M‑Sw)/Sl为子序列的个数。类似的, Z={zi,i=1,2,...,m}是取自隐空间的子序列集合;
[0113] 阶段2:将子序列集合X'tra和Z作为LR‑GAN的输入,对生成器和判别器进行训练。Gls‑rnn生成“看起来像真的”的“假”样本数据Xg,Dls‑rnn则通过计算DRSc 与真实数据之间的交叉熵,并利用检测标志函数来判断是否存在攻击;
[0114] 阶段3:接着利用训练好的LR‑GAN模型对实时ICPS数据集Xtes进行分析,以检测是否存在由多点FDI攻击产生的异常数据,为了更好地进行检测,将 同样分为多变tes量子序列集合X'tes={xj ,j=1,2,...,n},其中 n=(N‑Sw)/Sl为子序列个数;
[0115] 需要注意的是,本实施例使用LSTM‑RNN代替常规的循环神经网络来构造生成器和判别器,这必然会使得在高维输入下产生更高的计算消耗,因此,采用主成分分析法PCA将高维数据投影到PC投影空间,再输入到LR‑GAN模型中,方法如下
[0116]
[0117] 将投影之后的的测试数据输入到LR‑GAN模型中,并根据式(18)计算出异常评分。为了将异常评分量化为攻击检测的标准,设计了如下的检测标志函数
[0118]
[0119] 其中, 表示测试数据集的标志向量,当其为非零时,即异常评分 DRSc的交叉熵误差H(.,.)大于给定值ω,说明检测到有攻击存在。
[0120] 本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。