Nothing Special   »   [go: up one dir, main page]

CN114721264A - 一种基于两阶段自编码器的工业信息物理系统攻击检测方法 - Google Patents

一种基于两阶段自编码器的工业信息物理系统攻击检测方法 Download PDF

Info

Publication number
CN114721264A
CN114721264A CN202210276375.5A CN202210276375A CN114721264A CN 114721264 A CN114721264 A CN 114721264A CN 202210276375 A CN202210276375 A CN 202210276375A CN 114721264 A CN114721264 A CN 114721264A
Authority
CN
China
Prior art keywords
encoder
data
self
attack
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210276375.5A
Other languages
English (en)
Inventor
洪榛
饶森斌
周磊强
吴超飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202210276375.5A priority Critical patent/CN114721264A/zh
Publication of CN114721264A publication Critical patent/CN114721264A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于两阶段自编码器的工业信息物理系统攻击检测方法,包括以下步骤:1)建立多设备、多链路的多点注入攻击模型;2)引入自编码器技术;3)构建基于自编码器的生成对抗模型;4)设计两阶段训练方法;5)设计攻击检测算法;6)基于两阶段自编码器的攻击检测方法设计。本发明利用对抗网络思想,提出了一种基于两阶段自编码器的对抗网络检测模型,既避免了原始生成对抗网络检测方法不易收敛,易模式坍塌的问题,又能够检测出工业信息物理系统多链路、多设备遭受虚假数据注入攻击的情况,保证ICPS的正常运行。

Description

一种基于两阶段自编码器的工业信息物理系统攻击检测方法
技术领域
本发明涉及工业信息物理系统(Industrial Cyber-Physical System,ICPS)安全控 制与运行领域,具体涉及一种基于两阶段自编码器的工业信息物理系统攻击检测 方法,应用于ICPS中来解决攻击者实施的多链路或多设备的FDI攻击检测问题。
背景技术
随着IT技术和信息物理系统(Cyber Physical System,CPS)技术发展的日益成熟,CPS已经应用到越来越多领域,其也随着工业无线传感器网络的发展成熟而 应用到工业中,信息物理系统在工业中的应用形成了工业信息物理系统(Industrial CyberPhysical System,ICPS)。其将工业系统实现了智能化和信息化,使得相关工 作人员无需再去工业现场进行人工方式的物理操作,而是可以利用中央计算机和 数据采集系统(Supervisory Control And Data Acquisition,SCADA)结合ICPS的远程 管理特性实现对现场进行指令下发和数据采集等工作。这种智能化的编写的操作 得益于工业生产的物理世界和信息系统结合到一起,与此同时,其给带来方便的 同时也给了别有用心的黑客带来了可乘之机,这种物理过程与信息空间连接的方 式使得ICPS遭受不同类型的网络攻击的可能性大大增加。
目前,可以将ICPS划为感知层、网络层和控制层三个层次,控制层相当于 ICPS的大脑,负责下发对系统的管理和控制命令,分析感知层传输过来的数据并 进行处理;网络层主要负责控制层与感知层的信息交互与数据传输;感知层主要 由现场设备和控制器组组成如工业传感器和可编程逻辑控制器(Programmable Logic Controller,PLC),主要进行工业机器信息的感知以及高速实时控制指令的下 发,在工业系统中,PLC等控制器用于实现较底层的高速实时的控制功能,对于 工业控制尤为重要,控制设备与现场设备如传感器、执行器等组成了现场总线控 制网络,感知层的传感器和控制器执行器等受到攻击会欺骗控制层使得控制层发 出看似正常的错误命令,生产现场不知不觉产生了意外事故以至于影响执行器正 常作业寿命甚至引起人员伤亡。针对ICPS感知层的主要攻击威胁有FDI攻击、 DoS攻击等,其中FDI攻击相比于其他攻击,危害更大且更容易对系统产生欺骗。
攻击者在掌握了需要大范围长路径传输数据的目标大型流程工业系统相关 知识的情况下,利用数据包先截取,再篡改的手段,最后达到欺骗系统状态的 目的,向目标系统注入虚假数据,使其偏离正常稳定状态,甚至系统崩溃出现 人身事故。由于电网和水处理系统等设施的脆弱性和重要性,使得对虚假数据 注入攻击本身以及对其在ICPS中的检测与防御成为热点研究问题。
近年来,在针对工业信息物理系统的检测方面,研究主要集中与以下两个方 向:基于过程数据分析和基于网络流量分析。
(1)基于网络流量分析:网络流量的波动通常表示ICPS的状态变化,这使得 基于网络流量分析的攻击检测成为可能。传统的基于网络流量分析的检测方法通 常提取节点端口流量、流量持续时间、相邻包之间的平均时间间隔等信息,然后 对这些信息进行数据挖掘,以判定系统中节点的异常行为。这些技术的目的是在 网络流量和系统行为之间建立复杂的关系,将该关系与当前网络流量数据一起用 于判断目标系统的安全状态。当网络流量较高时,基于网络流量的攻击检测方法 在监控数据包时可能会错过正在发起的攻击。另一方面,如果网络攻击行为不违 反系统和设备所使用的通信协议,被检测的ICPS的操作行为并不能从网络流量 信息推断出来。
(2)基于过程数据分析:由于FDI攻击正是通过篡改进程数据来误导控制器 做出错误的决策,并最终对系统造成损害,所以过程数据信息也是ICPS攻击检 测中可以考虑的主要依据之一。此外,有研究人员也利用深度学习的数据驱动的 方法,利用传感器数据在时间和空间上的相关性,从而有助于识别伪造数据。基 于过程数据的方法系统建模的异常检测方法通过建立系统内部机理模型,结合运 行数据进行异常检测,该方法有效性依赖于所建立模型的精确性,大型ICS工业 生产过程机理复杂,各生产过程之间往往存在多变量,强耦合等特点难以建立精 确的物理模型。
许多研究人员提出了许多IDS来对抗ICPS的入侵。然而,大多数早先提出 的IDS都具有很高的误报率。对于现有模型,这两种类型的攻击通常似乎具有 较低的检测精度。高水平的攻击者并不只是简单地对单个设备进行攻击,而是对 多个设备或多链路同时发起攻击,称为多点虚假数据注入攻击(Multipoint Fake Data Injection Attack,MFDIA)。由于ICPS中各设备间的相互作用,多点攻击对设 备的影响可能相互抵消,它也成为了隐匿攻击的一种,它可以绕过坏数据检测机 制。在这种情况下,已知的阈值检测方法无法有效地解决该问题。
发明内容
为了解决ICPS中多链路、多设备FDI攻击检测问题,本发明设计了一种基 于两阶段自编码器的攻击检测方法。
本发明解决其技术问题所采用的技术方案是:
一种基于两阶段自编码器的FDI攻击检测方法。包括以下步骤;
1)建立多设备、多链路的FDI攻击模型;
2)引入自编码器技术;
3)构建基于自编码器的生成对抗模型;
4)设计两阶段训练方法;
5)设计攻击检测算法;
6)设计基于两阶段自编码器的攻击检测方法。
所述步骤1)中,一般来说多链路和多设备的FDI攻击按其发生位置可以分 为以下两种:
①控制器-执行器链路(或设备)攻击:
Figure BDA0003555903010000031
其中δ1为攻击向量,u1为控制器的输出值,
Figure BDA0003555903010000032
为执行器的输入值(即为接收 值)。这类攻击中,攻击者篡改了控制器的指令数据,注入的攻击数据专门用来影 响执行器的任务执行,使其执行看起来正确的错误操作达到欺骗控制器的目的;
②传感器-控制器链路(或设备)攻击:
Figure BDA0003555903010000033
其中δ2为攻击向量,y1为传感器输出,
Figure BDA0003555903010000034
为控制器的输入值(即为实际接收 值)。这类攻击主要是攻击者篡改了传感器返回给控制器的信息,干扰控制器的数 据接收从而影响其调节指令的下发,欺骗了控制器,使控制器下一步发出与实际 不符的控制调节指令。
将这两种攻击所产生的执行器和传感器运行数据看作是长时间的时间序列 向量:
Figure BDA0003555903010000035
所述步骤2)中自编码器是一种无监督的神经网络算法,他可以学习到输入 数据(向量)的隐含特征,使之从高维数据变为多维数据,也就是数据降维,这 一步称为编码(Encoding);同时学习到的新特征还可以重构出原始输入数据,称之 为解码(Decoding)。除了降维,自动编码还可以起到特征提取器的作用,在这里就 是要将它作为特征提取器使用,使其学习到传感器和执行器的多维时间序列数据 的特征,使其可以重构出正常的系统运行状态时传感器和执行器的运行数据。
搭建一个自编码器需要完成三样工作:搭建编码器,搭建解码器,设定一个 损失函数用于衡量由于编码(压缩)而损失掉的信息,编码器负责接收输入向量 X,并将输入通过h函数转变为已降维的编码向量Y:
Y=h(X) (4)
解码步骤将编码过的向量Y作为其输入,通过函数f得到重构向量:
Figure BDA0003555903010000041
定义误差err作为原始输入X与重构向量
Figure BDA0003555903010000042
之间的差异值,
Figure BDA0003555903010000043
训 练的目标就是要减少均方误差(Mean Squared Error,MSE)。
再进一步,上述步骤3):首先要了解生成对抗的思想,生成对抗网络 (GenerativeAdversarial Networks,GAN)是一种深度学习模型,由生成器G和判别 器D组成;首先,G学习给定输入数据集的概率分布,并生成遵循相同分布的人 工数据,接着由D计算G生成数据与真实的数据之间的相似性差距,差距值越小 说明生成的伪造数据与真实原始输入越像。GAN的整个对抗学习过程可以看成是 关于优化目标函数函数V(D,G)极大极小值的博弈过程:
Figure RE-GDA0003683145700000045
由式(6)可以看出,对于生成器G来说,需要尽可能的欺骗判别器D,所以需 要最大化D对生成样本的判别概率D(G(z)),即最小化log(1-D(G(z)))。而对于D 来说,其目的是尽可能的分辨出伪造生成样本和真实样本,所以需要最大化 log(1-D(G(z)))。上述步骤2)中已经描述了自编码器的构造步骤,根据已描述的 步骤需要构建出两个自编码器,两个都训练完成后,将其中一个编码器解码过的 重构输出作为第二个编码器的输入。即第一个作为生成器第二个作为判别器进行 对抗判别过程。
再进一步,上述步骤4)具体包括:
阶段1:两个自编码器模型的前半部分(即编码部分)共享,共同使用一个 编码器网络:
AE1=D1(E(X)),AE2=D2(E(X)) (7)
输入数据X由自编码器的编码部分压缩到隐空间Y,然后由两个编码器分别 重构,直至训练到每个自编码器可以重构输入向量为止,也就是最小化以下两个 等式:
Figure BDA0003555903010000051
阶段2:两个自编码器以对抗的方式进行训练,AE1试图去欺骗AE2,并且 AE2的目标是学习去判别哪些数据是真实的哪些数据是重构的。该阶段需要使 AE2能够识别真实数据和来自AE1的数据,训练AE1欺骗AE2,来自AE1输出的数 据再次被编码器压缩到Y,然后再被AE2重建,利用对抗训练的思想,AE1的目标 是最小化AE2的输出和X的差异,AE2的目标是最大化这种差异。AE1训练是否 成功欺骗AE2,而AE2则是训练至区分真实数据与从AE1输出重构的数据:
Figure BDA0003555903010000052
进一步将其误损失函数分别表示为:
Figure BDA0003555903010000053
在这个训练体系结构中,自编码器有双重目的。AE1使X的重构误差最小(阶段 1),并且还要使X与AE2对AE1输出的重构误差最小(阶段2)。至于AE2,与AE1类似,它要样本X的重构误差最小(阶段1),但是它后面要使AE1重构的输入数 据误差最大(阶段2)。每个自编码器的双重训练目标分别可以表示为等式(8)与 (10)的线性组合:
Figure BDA0003555903010000054
Figure BDA0003555903010000055
式中其中n表示训练的周期。需要注意的是,AE2并不是严格意义上的对抗网络 的判别器,因为如果它的输入是原始数据,那么就要用等式(8)来计算损失。当它 的输入是AE1的重建时,它的损失就是用等式(10)来计算。需要注意的是,在训练 过程中的参数更新,可以使用相关优化算法,这里使用的是基于Adam优化和梯 度下降优化的小批量优化算法。
再进一步,上述步骤5)设计攻击检测算法:根据步骤4设计的训练方法, 在检测阶段(即测试阶段),其异常评分定义为:
Figure BDA0003555903010000061
其中α+β=1并且用于将假阳性和真阳性之间的权衡参数化。如果α大于β,会 减少真阳性和假阳性的数量。相反,如果取小于β的α,会增加真阳性的数量, 但也会增加假阳性的数量。将α<β表示为高灵敏度检测场景,将α>β表示为 低灵敏度检测场景。这种参数化方案具有很大的工业意义。它允许使用单个训练 模型在推理期间获得一组不同的灵敏度异常分数。较大的α对应于在异常分数中 更重视AE1自动编码器的重建误差,而较大的β对应于更重视AE2自动编码器的 重建误差。无需重新训练模型即可重新调整检测灵敏度。α和β的可参数化调节 使得检测模型的灵敏度可以满足各种各样的生产环境的要求。
最后,上述步骤6)设计基于两阶段自编码器的攻击检测方法,整个攻击检 测方法分为三步:
第一步:数据预处理。训练数据集归一化并分成长度为K的时间序列窗口。 单变量时间序列在每一个时刻只包含一个变量,而多为时间序列在每个时刻含有 多个变量Γ={x1,x2...,xT},x∈Rm,为了对当前时刻与前面时刻之间的依赖关系进 行数学建模,这里再次定义Xt,在给定时间窗口长度K和时刻t下: Xt={xt-(K-1),xt-(K-2),...,xt-1,xt}。可以将原始时间序列Γ变换为一个时间窗口序列 X={X1,…,XT}作为训练输入。
第二步:训练模型。模型训练是离线进行的,旨在捕获到多变量时间序列在 某一段时期内的正常行为,并且为每一个时间窗口生成异常判别分数,注意选择 不包含大量带攻击过后的异常时间段数据。
第三步:攻击检测。这一步采用第二步训练好的模型(在线)执行,伴随着 新的时间窗口的形成,该模型会生成每一个窗口对应的异常分数Sct,若是高于给 定的阈值λ,则新的时间窗口对应的时间段是受到攻击的异常时间段。
本发明中,考虑到攻击者可能事先对待攻击的ICPS获得充分的系统结构了 解,稍后即可对ICPS发动高水平的攻击,同时攻击多个设备或链路,致使系统 反应出来的量测数据可能一直处于正常范围而没有被发觉,但是执行器等部件却 被攻击者欺骗影响了实际的作业。从对抗学习的角度出发,同时又考虑到生成对 抗网络的收敛慢,可能发生模式坍塌等缺陷,抛弃生成对抗网络而保留对抗思想, 提出了基于自编码器的对抗模型,用来实现对多变量时间序列的攻击检测,模型 训练的阶段1只需训练编码器的正常重构误差最小,阶段2利用对抗思想将其中 一个自编码器作为生成器,第二个作为判别器从而解决传统生成对抗网络难以收 敛和模式坍塌的不足的同时又实现了检测目的。
本发明的优点表现在:利用了对抗思想,结合引入的两阶段自编码器构成针 对多链路、多设备遭受到攻击情况下的攻击检测方法,既保留了有益的对抗思想 又避免了生成对抗网络的缺点,可以检测出多设备多链路同时遭到攻击而未被发 觉的情况,保证ICPS的正常运行并在检测到攻击的同时提升系统安全性能。
附图说明
图1是本发明的ICPS中的攻击模型示意图;
图2是本发明的常规自编码器示意图;
图3是本发明的阶段1训练示意图;
图4是本发明的阶段2训练示意图;
图5是本发明的检测阶段示意图。
图6是本发明方法的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图5,一种基于两阶段自编码器的工业信息物理系统攻击检测方法, 包括以下步骤:
1)建立多设备、多链路的FDI攻击模型;
一般来说多链路和多设备的FDI攻击按其发生位置可以分为以下两种(如图
1):
①控制器-执行器链路(或设备)攻击:
Figure BDA0003555903010000081
其中δ1为攻击向量,u1为控制器1的输出值,
Figure BDA0003555903010000082
为执行器1的输入值(即为接收 值)。这类攻击中,攻击者篡改了控制器的指令数据,注入的攻击数据专门用来影 响执行器的任务执行,使其执行看起来正确的错误操作达到欺骗控制器的目的;
②传感器-控制器链路(或设备)攻击:
Figure BDA0003555903010000083
其中δ2为攻击向量,y1为传感器1输出值,
Figure BDA0003555903010000084
为控制器2的输入值(即为实际接 收值)。这类攻击主要是攻击者篡改了传感器返回给控制器的信息,干扰控制器的 数据接收准确性从而影响其调节指令的下发,欺骗了控制器,使控制器下一步发 出与实际不符的控制调节指令。
将这两种攻击所产生的执行器和传感器运行数据看作是长时间的时间序列 向量:
Figure BDA0003555903010000085
2)引入自编码器技术
自编码器是一种无监督的神经网络算法(如图2),他可以学习到输入数据(向 量)的隐含特征,使之从高维数据变为多维数据,也就是数据降维,这一步称为 编码(Encoding);同时学习到的新特征还可以重构出原始输入数据,称之为解码 (Decoding)。除了降维,自动编码还可以起到特征提取器的作用,在这里就是要将 它作为特征提取器使用,使其学习到传感器和执行器的多维时间序列数据的特征, 使其可以重构出正常的系统运行状态时传感器和执行器的运行数据。
搭建一个自编码器需要完成三样工作:搭建编码器,搭建解码器,设定一个 损失函数用于衡量由于编码(压缩)而损失掉的信息,编码器负责接收输入向量 X,并将输入通过h函数转变为已降维的编码向量Y:
Y=h(X) (4)
解码步骤将编码过的向量Y作为其输入,通过函数f得到重构向量:
Figure BDA0003555903010000086
定义误差err作为原始输入X与重构向量
Figure BDA0003555903010000087
之间的差异值,
Figure BDA0003555903010000088
训 练的目标就是要减少均方误差(Mean Squared Error,MSE)。
3)构建基于自编码器的生成对抗模型
首先要了解生成对抗的思想,生成对抗网络(Generative AdversarialNetworks, GAN)是一种深度学习模型,由生成器G和判别器D组成;首先,G学习给定输 入数据集的概率分布,并生成遵循相同分布的人工数据,接着由D计算G生成数 据与真实的数据之间的相似性差距,差距值越小说明生成的伪造数据与真实原始 输入越像。GAN的整个对抗学习过程可以看成是关于优化目标函数函数V(D,G)极 大极小值的博弈过程:
Figure RE-GDA0003683145700000094
由式(6)看出,对于生成器G来说,需要尽可能的欺骗判别器D,所以需要最大化 D对生成样本的判别概率D(G(z)),即最小化log(1-D(G(z)))。而对于D来说,其 目的是尽可能的分辨出伪造生成样本和真实样本,所以需要最大化 log(1-D(G(z)))。上述步骤2)中已经描述了自编码器的构造步骤,根据已描述的 步骤需要构建出两个自编码器,两个都训练完成后,将其中一个编码器解码过的 重构输出作为第二个编码器的输入。即第一个作为生成器第二个作为判别器进行 对抗判别过程。
4)设计两阶段训练方法,具体包括:
阶段1:两个自编码器模型的前半部分(即编码部分)共享,共同使用一个 编码器网络:
AE1=D1(E(X)),AE2=D2(E(X)) (7)
输入数据X由自编码器的编码部分压缩到隐空间Y,然后由两个编码器分别 重构,直至训练到每个自编码器可以重构输入向量为止(如图3),也就是最小化 以下两个等式:
Figure BDA0003555903010000092
阶段2:两个自编码器以对抗的方式进行训练,AE1试图去欺骗AE2,并且 AE2的目标是学习去判别哪些数据是真实的,哪些数据是重构的。该阶段需要使AE2能够识别真实数据和来自AE1的数据,训练AE1欺骗AE2,来自AE1输出的数 据再次被编码器压缩到Y,然后再被AE2重建,利用对抗训练的思想,AE1的目标 是最小化AE2的输出和X的差异,AE2的目标是最大化这种差异(如图4)。AE1训练是否成功欺骗AE2,而AE2则是训练至能区分真实数据与从AE1输出重构的 数据:
Figure BDA0003555903010000101
进一步可以将其误损失函数分别表示为:
Figure BDA0003555903010000102
在这个训练体系结构中,自编码器有双重目的。AE1使X的重构误差最小(阶段 1),并且还要使X与AE2对AE1输出的重构误差最小(阶段2)。至于AE2,与AE1类似,它要样本X的重构误差最小(阶段1),但是它后面要使AE1重构的输入数 据误差最大(阶段2)。每个自编码器的双重训练目标分别可以表示为等式(8)与 (10)的线性组合:
Figure BDA0003555903010000103
Figure BDA0003555903010000104
式中其中n表示训练的周期。需要注意的是,AE2并不是严格意义上的对抗网络 的判别器,因为如果它的输入是原始数据,那么就要用等式(8)来计算损失。当它 的输入是AE1的重建时,它的损失就是用等式(10)来计算。需要注意的是,在训练 过程中的参数更新,可以使用相关优化算法,这里使用的是基于Adam优化和梯 度下降优化的小批量优化算法。
5)设计攻击检测算法(如图5)
根据上述步骤4)中阶段1和阶段2的训练方法,在检测阶段(即测试阶段), 其异常评分定义为:
Figure BDA0003555903010000105
其中α+β=1并且用于将假阳性和真阳性之间的权衡参数化。如果α大于β,会 减少真阳性和假阳性的数量。相反,如果取小于β的α,会增加真阳性的数量, 但也会增加假阳性的数量。将α<β表示为高灵敏度检测场景,将α>β表示为 低灵敏度检测场景。这种参数化方案具有很大的工业意义。它允许使用单个训练 模型在推理期间获得一组不同的灵敏度异常分数。较大的α对应于在异常分数中 更重视AE1自动编码器的重建误差,而较大的β对应于更重视AE2自动编码器的 重建误差。无需重新训练模型即可重新调整检测灵敏度。α和β的可参数化调节 使得检测模型的灵敏度可以满足各种各样的生产环境的要求。
6)设计基于两阶段自编码器的攻击检测方法
整个攻击检测方法分为三步(参照图3~5):
第一步:数据预处理。训练数据集归一化并分成长度为K的时间序列窗口。 单变量时间序列在每一个时刻只包含一个变量,而多为时间序列在每个时刻含有 多个变量Γ={x1,x2...,xT},x∈Rm,为了对当前时刻与前面时刻之间的依赖关系进 行数学建模,这里再次定义Xt,在给定时间窗口长度K和时刻t下: Xt={xt-(K-1),xt-(t-2),...,xt-1,xt}。可以将原始时间序列Γ变换为一个时间窗口序列 X={X1,…,XT}作为训练输入。
第二步:训练模型。利用步骤4中设计的方法训练模型,模型训练是离线进 行的,旨在捕获到多变量时间序列在某一段时期内的正常行为,并且为每一个时 间窗口生成异常判别分数,注意选择不包含大量带攻击过后的异常时间段数据。
第三步:攻击检测。这一步采用第二步训练好的模型(在线)执行,伴随着 新的时间窗口的形成,该模型会生成每一个窗口对应的异常分数Sct,若是高于给 定的阈值λ,则新的时间窗口对应的时间段是受到攻击的异常时间段。

Claims (7)

1.一种基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,包括以下步骤:
1)建立多设备、多链路的FDI攻击模型;
2)引入自编码器技术;
3)构建基于自编码器的生成对抗模型;
4)设计两阶段训练方法;
5)设计攻击检测算法;
6)设计基于两阶段自编码器的攻击检测方法。
2.如权利要求1所述的一种基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,所述步骤1)具体包括:一般来说多链路和多设备的FDI攻击按其发生位置可以分为以下两种:
①控制器-执行器链路(或设备)攻击:
Figure FDA0003555903000000011
其中δ1为攻击向量,u1为控制器的输出值,
Figure FDA0003555903000000012
为执行器的输入值(即为接收值)。这类攻击中,攻击者篡改了控制器的指令数据,注入的攻击数据专门用来影响执行器的任务执行,使其执行看起来正确的错误操作达到欺骗控制器的目的;
②传感器-控制器链路(或设备)攻击:
Figure FDA0003555903000000013
其中δ2为攻击向量,y1为传感器输出,
Figure FDA0003555903000000014
为控制器的输入值(即为实际接收值)。这类攻击主要是攻击者篡改了传感器返回给控制器的信息,干扰控制器的数据接收从而影响其调节指令的下发,欺骗了控制器,使控制器下一步发出与实际不符的控制调节指令。
将这两种攻击所产生的执行器和传感器运行数据看作是长时间的时间序列向量:
Figure FDA0003555903000000015
3.如权利要求1或2所述的一种基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,所述步骤2)中自编码器是一种无监督的神经网络算法,他可以学习到输入数据(向量)的隐含特征,使之从高维数据变为多维数据,也就是数据降维,这一步称为编码(Encoding);同时学习到的新特征还可以重构出原始输入数据,称之为解码(Decoding)。除了降维,自动编码还可以起到特征提取器的作用,在这里就是要将它作为特征提取器使用,使其学习到传感器和执行器的多维时间序列数据的特征,使其可以重构出正常的系统运行状态时传感器和执行器的运行数据。
搭建一个自编码器需要完成三样工作:搭建编码器,搭建解码器,设定一个损失函数用于衡量由于编码(压缩)而损失掉的信息,编码器负责接收输入向量X,并将输入通过h函数转变为已降维的编码向量Y:
Y=h(X) (4)
解码步骤将编码过的向量Y作为其输入,通过函数f得到重构向量:
Figure FDA0003555903000000021
定义误差err作为原始输入X与重构向量
Figure FDA0003555903000000022
之间的差异值,
Figure FDA0003555903000000023
训练的目标就是要减少均方误差(Mean Squared Error,MSE)。
4.如权利要求3所述的一种基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,所述步骤3)具体包括:首先要了解生成对抗的思想,生成对抗网络(Generative Adversarial Networks,GAN)是一种深度学习模型,由生成器G和判别器D组成;首先,G学习给定输入数据集的概率分布,并生成遵循相同分布的人工数据,接着由D计算G生成数据与真实的数据之间的相似性差距,差距值越小说明生成的伪造数据与真实原始输入越像。GAN的整个对抗学习过程可以看成是关于优化目标函数函数V(D,G)极大极小值的博弈过程:
Figure RE-FDA0003683145690000024
由式(6)看出,对于生成器G来说,需要尽可能的欺骗判别器D,所以需要最大化D对生成样本的判别概率D(G(z)),即最小化log(1-D(G(z)));而对于D来说,其目的是尽可能的分辨出伪造生成样本和真实样本,所以需要最大化log(1-D(G(z)));
根据步骤2)所述的自编码器的构造步骤,根据已描述的步骤需要构建出两个自编码器,两个都训练完成后,将其中一个编码器解码过的重构输出作为第二个编码器的输入;即第一个作为生成器第二个作为判别器进行对抗判别过程。
5.如权利要求4所述的一种基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,所述步骤4)具体包括:
阶段1:两个自编码器模型的前半部分(即编码部分)共享,共同使用一个编码器网络:
AE1=D1(E(X)),AE2=D2(E(X)) (7)
输入数据X由自编码器的编码部分压缩到隐空间Y,然后由两个编码器分别重构,直至训练到每个自编码器可以重构输入向量为止,也就是最小化以下两个等式:
Figure FDA0003555903000000031
阶段2:两个自编码器以对抗的方式进行训练,AE1试图去欺骗AE2,并且AE2的目标是学习去判别哪些数据是真实的哪些数据是重构的。该阶段需要使AE2能够识别真实数据和来自AE1的数据,训练AE1欺骗AE2,来自AE1输出的数据再次被编码器压缩到Y,然后再被AE2重建。利用对抗训练的思想,该阶段AE1的目标是最小化AE2的输出和X的差异,而AE2的目标是最大化这种差异。AE1训练至能成功欺骗AE2,而AE2则是训练至区分真实数据与从AE1输出重构的数据:
Figure FDA0003555903000000032
进一步将其误损失函数分别表示为:
Figure FDA0003555903000000033
在这个训练体系结构中,自编码器有双重目的。AE1使X的重构误差最小(阶段1),并且还要使X与AE2对AE1输出的重构误差最小(阶段2)。至于AE2,与AE1类似,它要样本X的重构误差最小(阶段1),但是它后面要使AE1重构的输入数据误差最大(阶段2)。每个自编码器的双重训练目标分别可以表示为式(8)与式(10)的线性组合:
Figure FDA0003555903000000041
Figure FDA0003555903000000042
式中其中n表示训练的周期。需要注意的是,AE2并不是严格意义上的对抗网络的判别器,因为如果它的输入是原始数据,那么就要用式(8)来计算损失。当它的输入是AE1的重建时,它的损失就是用式(10)来计算。需要注意的是,在训练过程中的参数更新,可以使用相关优化算法,这里使用的是基于Adam优化和梯度下降优化的小批量优化算法。
6.如权利要求5所述的基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,所述步骤5)具体包括:根据所述阶段1和阶段2的训练方法,在检测阶段(即测试阶段),其异常评分定义为:
Figure FDA0003555903000000043
其中α+β=1并且用于将假阳性和真阳性之间的权衡参数化;如果α大于β,会减少真阳性和假阳性的数量;相反,如果取小于β的α,会增加真阳性的数量,但也会增加假阳性的数量;将α<β表示高灵敏度检测场景,将α>β表示低灵敏度检测场景;允许使用单个训练模型在推理期间获得一组不同的灵敏度异常分数;较大的α对应于在异常分数中更重视AE1自动编码器的重建误差,而较大的β对应于更重视AE2自动编码器的重建误差;无需重新训练模型即可重新调整检测灵敏度;α和β的可参数化调节使得检测模型的灵敏度可以满足各种各样的生产环境的要求。
7.如权利要求6所述的基于两阶段自编码器的工业信息物理系统攻击检测方法,其特征在于,所述步骤6)具体包括:整个攻击检测方法分为三步:
第一步:数据预处理;训练数据集归一化并分成长度为K的时间序列窗口;单变量时间序列在每一个时刻只包含一个变量,而多为时间序列在每个时刻含有多个变量Γ={x1,x2...,xT},x∈Rm,为了对当前时刻与前面时刻之间的依赖关系进行数学建模,这里再次定义Xt,在给定时间窗口长度K和时刻t下:Xt={xt-(K-1),xt-(K-2),...,xt-1,xt};可以将原始时间序列Γ变换为一个时间窗口序列X={X1,…,XT}作为训练输入;
第二步:训练模型;利用步骤4设计的方法来训练模型,训练是离线进行的,旨在捕获到多变量时间序列在某一段时期内的正常行为,并且为每一个时间窗口生成异常判别分数,注意选择不包含大量带攻击过后的异常时间段数据;
第三步:攻击检测;这一步采用第二步训练好的模型(在线)执行,伴随着新的时间窗口的形成,该模型会生成每一个窗口对应的异常分数Sct,若是高于给定的阈值λ,则新的时间窗口对应的时间段是受到攻击的异常时间段。
CN202210276375.5A 2022-03-21 2022-03-21 一种基于两阶段自编码器的工业信息物理系统攻击检测方法 Pending CN114721264A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210276375.5A CN114721264A (zh) 2022-03-21 2022-03-21 一种基于两阶段自编码器的工业信息物理系统攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210276375.5A CN114721264A (zh) 2022-03-21 2022-03-21 一种基于两阶段自编码器的工业信息物理系统攻击检测方法

Publications (1)

Publication Number Publication Date
CN114721264A true CN114721264A (zh) 2022-07-08

Family

ID=82237428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210276375.5A Pending CN114721264A (zh) 2022-03-21 2022-03-21 一种基于两阶段自编码器的工业信息物理系统攻击检测方法

Country Status (1)

Country Link
CN (1) CN114721264A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225379A (zh) * 2022-07-19 2022-10-21 华东理工大学 基于测量编码的电网虚假数据注入攻击检测方法及装置
CN116304959A (zh) * 2023-05-24 2023-06-23 山东省计算中心(国家超级计算济南中心) 一种用于工业控制系统的对抗样本攻击防御方法及系统
CN117034732A (zh) * 2023-04-14 2023-11-10 北京百度网讯科技有限公司 基于真实与仿真对抗学习的自动驾驶模型训练方法
CN117633441A (zh) * 2024-01-24 2024-03-01 航天宏图信息技术股份有限公司 海表面温度数据的填补与修正方法、装置和电子设备
CN117896176A (zh) * 2024-03-12 2024-04-16 西安电子科技大学 面向工业物联网欺骗攻击的学习驱动物理层认证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737406A (zh) * 2018-05-10 2018-11-02 北京邮电大学 一种异常流量数据的检测方法及系统
CN110691100A (zh) * 2019-10-28 2020-01-14 中国科学技术大学 基于深度学习的分层网络攻击识别与未知攻击检测方法
CN111314331A (zh) * 2020-02-05 2020-06-19 北京中科研究院 一种基于条件变分自编码器的未知网络攻击检测方法
CN112688928A (zh) * 2020-12-18 2021-04-20 中国科学院信息工程研究所 结合自编码器和wgan的网络攻击流量数据增强方法及系统
CN113281998A (zh) * 2021-04-21 2021-08-20 浙江工业大学 基于生成对抗网络的工业信息物理系统多点fdi攻击检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108737406A (zh) * 2018-05-10 2018-11-02 北京邮电大学 一种异常流量数据的检测方法及系统
CN110691100A (zh) * 2019-10-28 2020-01-14 中国科学技术大学 基于深度学习的分层网络攻击识别与未知攻击检测方法
CN111314331A (zh) * 2020-02-05 2020-06-19 北京中科研究院 一种基于条件变分自编码器的未知网络攻击检测方法
CN112688928A (zh) * 2020-12-18 2021-04-20 中国科学院信息工程研究所 结合自编码器和wgan的网络攻击流量数据增强方法及系统
CN113281998A (zh) * 2021-04-21 2021-08-20 浙江工业大学 基于生成对抗网络的工业信息物理系统多点fdi攻击检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JINYIN CHEN 等: "GraphAttacker: A General Multi-Task Graph Attack Framework", IEEE TRANSACTIONS ON NETWORK SCIENCE AND ENGINEERING, vol. 9, no. 2, 1 April 2021 (2021-04-01) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225379A (zh) * 2022-07-19 2022-10-21 华东理工大学 基于测量编码的电网虚假数据注入攻击检测方法及装置
CN115225379B (zh) * 2022-07-19 2023-10-03 华东理工大学 基于测量编码的电网虚假数据注入攻击检测方法及装置
CN117034732A (zh) * 2023-04-14 2023-11-10 北京百度网讯科技有限公司 基于真实与仿真对抗学习的自动驾驶模型训练方法
CN116304959A (zh) * 2023-05-24 2023-06-23 山东省计算中心(国家超级计算济南中心) 一种用于工业控制系统的对抗样本攻击防御方法及系统
CN116304959B (zh) * 2023-05-24 2023-08-15 山东省计算中心(国家超级计算济南中心) 一种用于工业控制系统的对抗样本攻击防御方法及系统
CN117633441A (zh) * 2024-01-24 2024-03-01 航天宏图信息技术股份有限公司 海表面温度数据的填补与修正方法、装置和电子设备
CN117633441B (zh) * 2024-01-24 2024-05-10 航天宏图信息技术股份有限公司 海表面温度数据的填补与修正方法、装置和电子设备
CN117896176A (zh) * 2024-03-12 2024-04-16 西安电子科技大学 面向工业物联网欺骗攻击的学习驱动物理层认证方法
CN117896176B (zh) * 2024-03-12 2024-05-17 西安电子科技大学 面向工业物联网欺骗攻击的学习驱动物理层认证方法

Similar Documents

Publication Publication Date Title
CN114721264A (zh) 一种基于两阶段自编码器的工业信息物理系统攻击检测方法
Liu et al. Toward security monitoring of industrial cyber-physical systems via hierarchically distributed intrusion detection
CN113281998B (zh) 基于生成对抗网络的多点fdi攻击检测方法
CN109981583B (zh) 一种工控网络态势评估方法
CN112187528B (zh) 基于sarima的工业控制系统通信流量在线监测方法
CN112433518B (zh) 一种基于循环神经网络的工业控制系统入侵检测方法
Kaouk et al. A review of intrusion detection systems for industrial control systems
CN112738014A (zh) 一种基于卷积时序网络的工控流量异常检测方法及系统
CN111698257A (zh) 针对多类恶意攻击的工业信息物理系统安全检测方法
Moore et al. Anomaly detection of cyber physical network data using 2D images
CN113625681B (zh) Can总线异常检测方法、系统及存储介质
CN118041661A (zh) 基于深度学习的异常网络流量监测方法、装置、设备及可读存储介质
CN110677437A (zh) 基于潜在空间对抗式聚类的用户伪装攻击检测方法及系统
WO2022015246A1 (en) Method and system for characterising a programmable logic controller (plc) and/or attack detection in a networked control system
Mesadieu et al. Leveraging Deep Reinforcement Learning Technique for Intrusion Detection in SCADA Infrastructure
CN112822191B (zh) 一种网络化协同系统中多维数据安全性检测的方法
CN116304959B (zh) 一种用于工业控制系统的对抗样本攻击防御方法及系统
CN117792750A (zh) 一种基于生成对抗网络的信息物理系统异常检测方法
CN111343205B (zh) 工控网络安全检测方法、装置、电子设备以及存储介质
CN118018237A (zh) 一种基于多模型数据增强的工控流量异常检测方法及系统
CN111340196A (zh) 对抗网络数据生成方法以及异常事件检测方法
CN111314310A (zh) 一种基于机器学习的不可解析网络数据特征选择的攻击检测方法
Mehmood et al. Securing Industrial Control Systems (ICS) Through Attack Modelling and Rule-Based Learning
Li et al. Anomaly detection based on robust spatial-temporal modeling for industrial control systems
CN113806734A (zh) 一种基于条件的能量生成对抗网络的网络攻击恢复方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination