一、PBNN模型:
PbNN的操作分为两个阶段
1) 离线阶段,用于使用设计知识和操作数据集学习状态变量(离散变量和连续变量)之间的相互作用;
2) 在线阶段,用于实时监控过程工厂以检测存在异常。
模型架构
1、组件提取器:
P1阶段相关组件:状态变量n ={n1 : MV101,n2 : LIT101, n3 : P101, n4 : FIT101, n5 : FIT201}.
(状态变量n1和n3是离散变量,其余是连续变量)
在第t+1步时估计T101中的水位的不变量定义为:x1(t + 1) = x1(t) + δ(x2(t) − x3(t)).
其中,δ是根据储罐的物理特性和流量单位计算得出的常数
2、模型生成器和模型修建器:
定义一个非线性函数f():x1(t + 1) = f(x1(t), x2(t), x3(t)).
模型生成器模块通过应用DCNN构建表示状态变量之间的相互作用的物理模型。
独立状态变量(x1(t), x2(t), x3(t))作为DCNN体系结构的输入提供,并以这样的方式进行训练,即在输出层获得相关状态变量 (x1(t+1)) 的精确或更接近的值。
采用自动网格搜索来微调DCNN的超参数,其中模型生成器模块生成具有不同超参数值的多个DCNN模型。模型修改器将根据中定义的Theil的U1 (Tu1) 统计得分选择最佳模型。
3、异常评分器:
一旦通过模型修改器获得了给定不变量的最佳DCNN模型,则将其相应组件的预测状态与其观察到的状态进行比较,以进行异常检测。
在研究中,累积总和 (CUSUM) 方法与DCNN集成在一起,以监测和评估残留的大小。
计算残差序列的大小以检测其大小的微小偏差。为了最大程度地减少假阳性,分别使用以下公式计算残基的正侧和负侧偏差:
P(t) = max(0, r(t) − target − b)
N(t) = min(0, r(t) − target + b)
其中P(t) 和N(t) 分别是高、低沉,目标代表安全极限,b是允许松弛。此外,我们引入了两个参数,即控制上限 (UCL) 和控制下限 (LCL),它们是使用P和N的值凭经验计算的。在测试阶段,当P(t)>UCL或N(t)<LCL时,组件的行为被认为是可疑的。
4、流量分析器和警报器:
流量分析仪和警报发生器构成PbNN的在线阶段。它们充当整个系统与工厂操作员之间的接口。他们通过从离线阶段获得的知识来连续监视和分析每个子过程的操作,以检测异常。
二、示例:
单点攻击:
多点协同攻击:
涉及组件:
连续攻击之间保持10分钟的间隔。此外,每次攻击都在不同的稳定状态下发动了五次。
发起隐身攻击时遵循的一般程序如下:
1) 识别PLC中的存储器位置 (标签),将在其中保存目标传感器的测量值;
2) 损害PLC和SCADA工作站之间的无线链路;
3) 将标签更改为不同的值,以使plc假定操纵值为组件的真实状态,从而导致错误的控制动作。
三、实验:
结果
根据定义的性能指标,异常检测器的有效性
进一步进行实验,将PbNN应用于更大的状态变量集。