CN112861364B - 一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法 - Google Patents

一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法 Download PDF

Info

Publication number
CN112861364B
CN112861364B CN202110201190.3A CN202110201190A CN112861364B CN 112861364 B CN112861364 B CN 112861364B CN 202110201190 A CN202110201190 A CN 202110201190A CN 112861364 B CN112861364 B CN 112861364B
Authority
CN
China
Prior art keywords
state
edge
delay
state data
time delay
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.)
Active
Application number
CN202110201190.3A
Other languages
English (en)
Other versions
CN112861364A (zh
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.)
Shandong Computer Science Center National Super Computing Center in Jinan
Harbin Institute of Technology Weihai
Original Assignee
Shandong Computer Science Center National Super Computing Center in Jinan
Harbin Institute of Technology Weihai
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 Shandong Computer Science Center National Super Computing Center in Jinan, Harbin Institute of Technology Weihai filed Critical Shandong Computer Science Center National Super Computing Center in Jinan
Priority to CN202110201190.3A priority Critical patent/CN112861364B/zh
Publication of CN112861364A publication Critical patent/CN112861364A/zh
Application granted granted Critical
Publication of CN112861364B publication Critical patent/CN112861364B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于状态时延转换图二次标注的工控***设备行为建模方法及装置,包括:(1)状态数据预处理;对状态数据执行离散变量二元化和连续变量二元化操作,生成多组二元状态集合;(2)状态时延转换图构建;对每个二元状态集合构建与之相对应的状态时延转换图;(3)基于环发现的初级标注;采用状态转换边和环的标注流程,进行初级标注;(4)基于时延特征聚类的二次标注;输出为行为模型中的各参数。本发明实现设备状态转换及相应持续时间的描述,本发明将实时水分配***中过程设备实时产生的状态数据输入行为模型中,可以有效发现过程设备当前状态是否符合行为模型中描述的数据关系及转换关系,实现异常检测。

Description

一种基于状态时延转换图二次标注的工控***设备行为建模 实现异常检测的方法
技术领域
本发明涉及一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,属于信息安全技术领域。
背景技术
在工业控制***异常检测研究中,一般采用设备正常行为建模方式实现对未知异常状态的检测,行为模型的优劣直接影响着检测结果的精确度。工控***中设备主体类型多样使得设备行为建模方法多样。一般将控制行为操作方式作为建模对象,依据建模方式的不同,研究者从统计学、机器学习、控制学等领域多视角地进行了深入研究:采用无随机成分建立的确定型模型,如与/或图、有限状态自动机、关联性规则;采用概率统计的方法通过计算各个操作出现的频率而建立的概率型模型,如支持向量机、贝叶斯网络、Markov链、概率后缀树、混合马尔科夫树;然而,大多从设备操作行为的角度进行语义描述,将控制设备的行为与现场设备的状态分离开来。然而,影响设备状态异常的因素不仅仅是由中间人攻击、拒绝服务攻击等攻击行为引发的设备操作时序、次序等方面的操作异常,还包括由以控制设备的输入/输出寄存器、控制逻辑程序、固件为攻击目标的攻击行为所引发的现场设备状态异常,仅从操作序列角度进行检测,未能全面覆盖各类攻击行为所引发的设备行为特征变化,这将导致较高的误报率。
基于设备状态的建模方式更能直接体现控制***的操作行为特征,目前的模型有:基于工业控制物理过程的描述型模型,如自回归模型、物理过程模型等。自回归模型在对基于离散类型或者二元变量检测中,存在一定局限性;基于物理过程模型检测实时性强,但要求对物理过程的高细节理解。基于状态规则检测精确度高,但构建方面多需要领域专家人工辅助。
为了解决构建中人工依赖性较强的问题,Almalawi团队采用聚类算法,在对正常状态和临界状态进行有效区分的基础上,基于簇特征抽取临界状态检测规则,推动了临界状态检测方法的发展,但是,其精确率对聚类算法依赖性较强;Xu团队采用Apriori、PrefixSpan等规则挖掘算法和控制设备的控制逻辑程序规约算法自动化构建了控制设备状态规则,并取得了良好的效果;杨安团队结合设备状态信息识别操作间隔中工控设备的异常状态实现异常检测,但是,他们着重检测操作次序和对应的状态变化,而没有考虑状态时延的特征。虽然张仁斌团队考虑了状态时延特征,但其使用均值描述时延特征的方式无法充分表达工业控制***的运行特点。
发明内容
针对现有技术的不足,本发明提供了一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法。本发明还提供了一种实现上述基于状态时延转换图二次标注的工控***设备行为建模方法的装置。
本发明通过构造状态时延转换图,实现设备状态转换及相应持续时间的描述,并将其中含有的时延特性进行分簇,进一步使用字符标注的方式对设备行为进行描述。
本发明主要解决以下几个问题:
1)现有描述型模型要求对物理过程的高细节理解的问题。
2)现有设备行为建模大多基于网络通讯中控制设备对被控设备的操作序列进行,而对更精准的状态数据建模欠缺的问题。
3)现有基于状态的工控***设备行为建模中,设备状态持续时间,即“时延特征”欠缺问题。
术语解释:
1、K-means聚类算法,K-means聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
2、深度优先搜索算法,深度优先搜索算法步骤如下:
(1)首先选定一个未被访问过的顶点V作为起始顶点(或者访问指定的起始顶点V),并将其标记为已访问过;
(2)搜索与顶点V邻接的所有顶点,判断这些顶点是否被访问过,如果有未被访问过的顶点,则任选一个顶点W进行访问;再选取与顶点W邻接的未被访问过的任一个顶点并进行访问,依次重复进行。当一个顶点的所有的邻接顶点都被访问过时,则依次回退到最近被访问的顶点。若该顶点还有其他邻接顶点未被访问,则从这些未被访问的顶点中取出一个并重复上述过程,直到与起始顶点V相通的所有顶点都被访问过为止。
(3)若此时图中依然有顶点未被访问,则再选取其中一个顶点作为起始顶点并访问之,转(2)。反之,则遍历结束。
3、环集合CYC,环集合是使用深度优先搜索算法对有向图进行遍历,获得的图中存在的“环”所组成的集合。
4、KMeans++算法,k-means算法需要随机地确定初始聚类中心,不同的初始聚类中心可能导致完全不同的聚类结果,有可能导致算法收敛很慢甚至出现聚类出错的情况。针对这一问题,K-means++算法改进了聚类中心选择方法:(1)从数据集中随机选择一个样本作为初始聚类中心;(2)计算每个样本到最近聚类中心的距离;(3)每个样本都有一个距离,距离最大的样本,被选为下一个聚类中心;(4)重复(2)、(3),直到得到预设的K个聚类中心。
5、水分配***原始状态数据集,本发明采用的水分配***模拟构建了一个城市水务SCADA(数据采集与监视控制)***,该***的原始状态数据集包括:数据采集时间、水箱1水位、水箱2水位、水箱3水位、水管1开关(打开为1;关闭为0)、水管2开关(打开为1;关闭为0)、阀门1开关(打开为1;关闭为0)、阀门2开关(打开为1;关闭为0)等字段。
本发明的技术方案为:
一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,包括步骤如下:
(1)状态数据预处理;
状态数据是指在水分配***处于正常行为下获取的状态数据集合,包括水箱的水位值、阀门的开关状态、水管的开关状态;对状态数据执行离散变量二元化和连续变量二元化操作,生成多组二元状态集合,二元状态集合的数目与原状态节点集合中连续变量的个数相同;
(2)状态时延转换图构建;
对步骤(1)得到的多组二元状态集合中的每个二元状态集合,构建与之相对应的状态时延转换图;
(3)基于环发现的初级标注;
针对步骤(2)构建的每个状态时延转换图,采用状态转换边和环的标注流程,对状态执行序列进行初级标注;
(4)基于时延特征聚类的二次标注;
输出为行为模型中的各参数,包括状态转换边集合、标注完成的状态转换时延序列、标注时产生的符号集、以及标注符号对应的均值、方差、中心点、最大值和最小值,标注时产生的符号集包括符号名称及其对应的边或环。
根据本发明优选的,控制循环***中状态数据类型包括连续型、离散型及二元型。连续型数据空间较大,如果将其取值空间中每个对应的数值作为一个状态点,会引发空间***问题。为了解决空间***问题,采用连续变量和离散变量二元化的方法,将状态数据(包含各种数据类型)表示为二元数据集。
离散变量二元化和连续变量二元化操作的具体步骤为:设连续变量CV的取值范围为[c0,c1],采用Kmeans聚类算法,将连续变量CV划分nc个簇,簇编号分别对应为
Figure GDA0003553468120000041
连续变量CV对应的离散变量集合为
Figure GDA0003553468120000042
簇dc0的取值范围为
Figure GDA0003553468120000043
簇dc1的取值范围为
Figure GDA0003553468120000044
Figure GDA0003553468120000045
的取值范围为
Figure GDA0003553468120000046
Figure GDA0003553468120000047
权重集合
Figure GDA0003553468120000048
二元状态集合包括连续变量CV对应的离散变量集合和权重集合Ws
例如,设CV=ct,当ct∈dc0时,DCV0=1,DCVi=0,(i∈[1,2,…,nc]),此时一个连续变量的表示方式由原来的1列,扩展为nc列。即,连续变量ct可表示为一组二进制数据(1,0,0,…,0),该二进制数据的长度为nc,该数据表示ct的取值在簇dc0内,因此,对应的dc0的取值为1,其他编号的簇的取值都是0。
根据本发明优选的,设定状态转换时延图为:SEG=(Vs,Ds);
Figure GDA0003553468120000049
为状态转换时延图中顶点集合,
Figure GDA00035534681200000410
分别指的是状态数据执行离散变量二元化和连续变量二元化操作之后的所有设备状态的状态,nv是所有状态的个数;具体解释为:原始状态数据集由二元型、离散型及连续型三种类型组成,将离散型及连续型数据经过二元化后,分别表示为二元型数据,此时,数据类型全部是二元型。举例来说,设***中设备状态数据的个数为k,在某一段时间内,所有状态对应的值为(val1,val2,…,valk),则(val1,val2,…,valk)∈Vs,是状态转换时延图中的某个顶点。
Figure GDA00035534681200000411
表示从顶点vi到vj的状态转换关系;
Figure GDA00035534681200000412
Rs表示状态转换集合;
Figure GDA00035534681200000413
Figure GDA00035534681200000414
表示
Figure GDA00035534681200000415
所对应的一组时延序列;
Figure GDA00035534681200000416
是指从状态vi到状态vj的所有转移所对应的时延所组成的集合;举例来说,在整个水分配***运行过程中,状态vi持续
Figure GDA00035534681200000417
的时间,转移到状态vj,***运行一段时间后,***处于状态vi时,又持续了
Figure GDA00035534681200000418
的时间,转移到状态vj,经过多次状态转移后,可得到状态vi到状态vj的所有转移所对应的时延所组成的集合。nt是获得的所有从状态vi到状态vj的持续时间的数目;
Figure GDA0003553468120000051
DTs表示所有状态转换集合Rs所对应的时延集;
如果水分配***运行过程中,有状态转移关系:v0→v1,vi→vj,vj→vj+1,vj+1→vj+2,的连续转移,则v0→v1→vi→vj→vj+1→vj+2为水分配***中的状态转移序列,记为状态转换序列SS;
状态时延转换图构建的具体步骤包括:
A、遍历二元状态集合中的每一行状态数据,如果上一状态数据为空,则将上一状态数据设置为当前读取的状态数据内容,并将上一状态数据的延续时间设置为0;否则,判断上一状态数据与当前读取的状态数据内容是否相同,如果上一状态数据与当前读取的状态数据内容相同,则将上一状态数据的延续时间加1;如果上一状态数据与当前读取的状态数据内容不同,则执行以下步骤①至步骤③:
①保存上一状态数据及其对应的延续时间;
②判断当前状态数据是否存在于状态集即顶点集合中,如果不存在,则将当前状态数据添加到状态集中;否则,进行步骤③;
③判断上一状态数据到当前状态数据的转移是否在边集合即状态转移集合中,如果不在边集合中,则将上一状态数据到当前状态数据的转移添加到边集合中,并将上一状态数据对应的延续时间加入到边对应的时延列表即时延集合中;如果存在于边集合中,则将上一状态数据对应的延续时间加入到边对应的时延列表中;
④更新上一状态数据为当前状态数据,并将上一状态数据的延续时间设置为1,返回步骤A。
根据本发明优选的,采用状态转换边和环的标注流程,对状态执行序列进行初级标注,包括步骤如下:
B、采用深度优先搜索算法获取状态转换时延图中存在的环,所有环组成的集合即环集合记为CYC;
C、根据环的长度,对环集合CYC中的环,按照环的长度从长到短进行次序排序,次序排序后的环集合记为sortedCYC;
D、遍历sortedCYC中的每个元素cv,如果cv在状态转换序列SS中,则为cv分配一个符号
Figure GDA0003553468120000061
将符号
Figure GDA0003553468120000062
及其对应的环cv添加到符号集合SIG中,并使用这个符号
Figure GDA0003553468120000063
替代cv在SS中的位置,获得新的标识符号序列new_SS;符号集合SIG是指存放符号和与之对应的环或边的集合,初始情况下,该符号集合SIG为空;
E、遍历Rs中的每条边edge_v,如果边edge_v在new_SS中存在,则为边edge_v分配一个新的符号
Figure GDA0003553468120000064
将符号
Figure GDA0003553468120000065
及对应的边edge_v添加到符号集合SIG中,并使用这个符号
Figure GDA0003553468120000066
替代边edge_v在new_SS中的位置,进一步更新标识符号序列new_SS1。
根据本发明优选的,基于时延特征聚类的二次标注,
行为模型表示为BMSLS={Vs,Rs,Ws,SIG,MED,ASD,CEN,MAX,MIN},
Ws是连续变量对应的权重集合;
SIG是已标记的符号及其对应的状态转移;
MED是已标记的符号集合中所对应的边的时延的均值;
ASD是已标记的符号集合中所对应的边的时延的方差;
CEN是已标记的符号集合中所对应的边的时延的中心点;
MAX是已标记的符号集合中所对应的边的时延的最大值;
MIN是已标记的符号集合中所对应的边的时延的最小值。
包括步骤如下:
F、遍历符号集合SIG中的符号signi,及其对应的环或边cei
G、根据状态时延转换图中的边集合、状态执行序列集合即状态转换序列SS及边集合中存储的时延信息DTs,解析出cei对应的时延矩阵,时延矩阵中的列向量对应环中具体某条边的所有时延;
H、根据环或边所对应的总时延数目即矩阵中的行数Numm,利用KMeans++算法对步骤G得到的时延矩阵进行聚类,具体是指:当Numm>α,则聚类个数为α;Numm≤α时,聚类个数为Numm;α取值为5;
I、设聚类类别包括{c1,c2,…,cn},则依据聚类类别对符号集合SIG中的符号signi进行二次标注为{signic1,signic2,…,signicn};
J、上述聚类结束后,每个簇对应的中心点分别为CENsn={cen1,cen2,…,cenn},则行为模型中环或边对应的中心点为CEN={cen1,cen2,…,cenn},计算该环中每条边对应的时延的均值、方差、最大值和最小值。
进一步优选的,cei对应的时延矩阵解析过程包括:
先遍历cei中的边e1,e2,…,em,从时延集DTs中读取边el相应的属于环cei的时延序列
Figure GDA0003553468120000071
该时延序列长度为n;再以
Figure GDA0003553468120000072
为列向量,得到cei对应的m列n行的时延矩阵。
进一步优选的,
边el对应的时延的均值
Figure GDA0003553468120000073
边el对应的时延的方差
Figure GDA0003553468120000074
边el对应的时延的最大值取值为
Figure GDA0003553468120000075
中的最大值;
边el对应的时延的最小值取值为
Figure GDA0003553468120000076
中的最小值。
一种实现上述基于状态时延转换图二次标注的工控***设备行为建模方法的装置,包括依次连接的数据预处理模块、状态时延转换图构建模块、基于环发现的初级标注模块、基于时延特征聚类的二次标注模块;所述数据预处理模块用于执行所述步骤(1);所述状态时延转换图构建模块用于执行所述步骤(2);所述基于环发现的初级标注模块用于执行所述步骤(3);所述基于时延特征聚类的二次标注模块用于执行所述步骤(4)。
本发明的有益效果为:
1、本发明通过对状态时延转换图的自动构建及二次标注,不存在对物理过程的高细节理解的要求;从控制设备、现场设备所处状态的角度出发,通过采集工控***正常运行时状态数据集,并直接对状态数据集进行建模,无需基于网络通讯中控制设备对被控设备的操作序列进行,解决对更精准的状态数据建模欠缺的问题。
2、本发明通过对状态时延转换图中的边或者环的时延矩阵进行聚类操作,实现“时延”特征的描述,解决现有基于状态的工控***设备行为建模中,设备状态持续时间,即“时延”特征欠缺问题。
3、本发明通过构造状态时延转换图,实现设备状态转换及相应持续时间的描述,并将其中含有的时延特性进行分簇,进一步使用字符标注的方式对设备行为进行描述,本发明将实时水分配***中过程设备,如水管、水阀、水箱等,实时产生的状态数据输入构建的水分配***设备行为模型中,可以有效发现过程设备当前状态是否符合行为模型中描述的数据关系及转换关系,进一步实现异常检测的功能。本发明用于信息安全事件和各类工业控制网络中的异常检测。
附图说明
图1为本发明基于状态时延转换图二次标注的工控***设备行为建模方法的流程示意图;
图2为本发明基于环发现的初级标注的流程示意图;
图3为本发明基于时延特征聚类的二次标注的流程示意图;
图4(a)为本发明实施例得到的状态时延转换图示例一;
图4(b)为本发明实施例得到的状态时延转换图示例二;
图4(c)为本发明实施例得到的状态时延转换图示例三;
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,如图1所示,包括步骤如下:
(1)状态数据预处理;
状态数据是指在水分配***处于正常行为下获取的状态数据集合,包括水箱的水位值、阀门的开关状态、水管的开关状态;对状态数据执行离散变量二元化和连续变量二元化操作,生成多组二元状态集合,二元状态集合的数目与原状态节点集合中连续变量的个数相同;
(2)状态时延转换图构建;
对步骤(1)得到的多组二元状态集合中的每个二元状态集合,构建与之相对应的状态时延转换图;
(3)基于环发现的初级标注;
针对步骤(2)构建的每个状态时延转换图,采用状态转换边和环的标注流程,对状态执行序列进行初级标注;
(4)基于时延特征聚类的二次标注;
输出为行为模型中的各参数,包括状态转换边集合、标注完成的状态转换时延序列、标注时产生的符号集、以及标注符号对应的均值、方差、中心点、最大值和最小值,标注时产生的符号集包括符号名称及其对应的边或环。
实施例2
根据实施例1所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其区别在于:
控制循环***中状态数据类型包括连续型、离散型及二元型。连续型数据空间较大,如果将其取值空间中每个对应的数值作为一个状态点,会引发空间***问题。为了解决空间***问题,采用连续变量和离散变量二元化的方法,将状态数据(包含各种数据类型)表示为二元数据集。
离散变量二元化和连续变量二元化操作的具体步骤为:设连续变量CV的取值范围为[c0,c1],采用Kmeans聚类算法,将连续变量CV划分nc个簇,簇编号分别对应为
Figure GDA0003553468120000091
连续变量CV对应的离散变量集合为
Figure GDA0003553468120000092
簇dc0的取值范围为
Figure GDA0003553468120000093
簇dc1的取值范围为
Figure GDA0003553468120000094
Figure GDA0003553468120000095
的取值范围为
Figure GDA0003553468120000096
Figure GDA0003553468120000097
权重集合
Figure GDA0003553468120000098
二元状态集合包括连续变量CV对应的离散变量集合和权重集合Ws
例如,设CV=ct,当ct∈dc0时,DCV0=1,DCVi=0,(i∈[1,2,…,nc]),此时一个连续变量的表示方式由原来的1列,扩展为nc列。即,连续变量ct可表示为一组二进制数据(1,0,0,…,0),该二进制数据的长度为nc,该数据表示ct的取值在簇dc0内,因此,对应的dc0的取值为1,其他编号的簇的取值都是0。
实施例3
根据实施例1所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其区别在于:
设定状态转换时延图为:SEG=(Vs,Ds);
Figure GDA0003553468120000099
为状态转换时延图中顶点集合,
Figure GDA00035534681200000910
分别指的是状态数据执行离散变量二元化和连续变量二元化操作之后的所有设备状态的状态,nv是所有状态的个数;具体解释为:原始状态数据集由二元型、离散型及连续型三种类型组成,将离散型及连续型数据经过二元化后,分别表示为二元型数据,此时,数据类型全部是二元型。举例来说,设***中设备状态数据的个数为k,在某一段时间内,所有状态对应的值为(val1,val2,…,valk),则(val1,val2,…,valk)∈Vs,是状态转换时延图中的某个顶点。
Figure GDA00035534681200000911
表示从顶点vi到vj的状态转换关系;
Figure GDA00035534681200000912
Rs表示状态转换集合;
Figure GDA0003553468120000101
Figure GDA0003553468120000102
表示
Figure GDA0003553468120000103
所对应的一组时延序列;
Figure GDA0003553468120000104
是指从状态vi到状态vj的所有转移所对应的时延所组成的集合;举例来说,在整个水分配***运行过程中,状态vi持续
Figure GDA0003553468120000105
的时间,转移到状态vj,***运行一段时间后,***处于状态vi时,又持续了
Figure GDA0003553468120000106
的时间,转移到状态vj,经过多次状态转移后,可得到状态vi到状态vj的所有转移所对应的时延所组成的集合。nt是获得的所有从状态vi到状态vj的持续时间的数目;
Figure GDA0003553468120000107
DTs表示所有状态转换集合Rs所对应的时延集;
如果水分配***运行过程中,有状态转移关系:v0→v1,vi→vj,vj→vj+1,vj+1→vj+2,的连续转移,则v0→v1→vi→vj→vj+1→vj+2为水分配***中的状态转移序列,记为状态转换序列SS;
状态时延转换图构建的具体步骤包括:
A、遍历二元状态集合中的每一行状态数据,如果上一状态数据为空,则将上一状态数据设置为当前读取的状态数据内容,并将上一状态数据的延续时间设置为0;否则,判断上一状态数据与当前读取的状态数据内容是否相同,如果上一状态数据与当前读取的状态数据内容相同,则将上一状态数据的延续时间加1;如果上一状态数据与当前读取的状态数据内容不同,则执行以下步骤①至步骤③:
①保存上一状态数据及其对应的延续时间;
②判断当前状态数据是否存在于状态集即顶点集合中,如果不存在,则将当前状态数据添加到状态集中;否则,进行步骤③;
③判断上一状态数据到当前状态数据的转移是否在边集合即状态转移集合中,如果不在边集合中,则将上一状态数据到当前状态数据的转移添加到边集合中,并将上一状态数据对应的延续时间加入到边对应的时延列表即时延集合中;如果存在于边集合中,则将上一状态数据对应的延续时间加入到边对应的时延列表中;
④更新上一状态数据为当前状态数据,并将上一状态数据的延续时间设置为1,返回步骤A。
图4(a)、图4(b)、图4(c)为本发明得到的状态时延转换图示例。
实施例4
根据实施例1所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其区别在于:
采用状态转换边和环的标注流程,对状态执行序列进行初级标注,如图2所示,包括步骤如下:
B、采用深度优先搜索算法获取状态转换时延图中存在的环,所有环组成的集合即环集合记为CYC;
C、根据环的长度,对环集合CYC中的环,按照环的长度从长到短进行次序排序,次序排序后的环集合记为sortedCYC;
D、遍历sortedCYC中的每个元素cv,如果cv在状态转换序列SS中,则为cv分配一个符号
Figure GDA0003553468120000111
将符号
Figure GDA0003553468120000112
及其对应的环cv添加到符号集合SIG中,并使用这个符号
Figure GDA0003553468120000113
替代cv在SS中的位置,获得新的标识符号序列new_SS;符号集合SIG是指存放符号和与之对应的环或边的集合,初始情况下,该符号集合SIG为空;
E、遍历Rs中的每条边edge_v,如果边edge_v在new_SS中存在,则为边edge_v分配一个新的符号
Figure GDA0003553468120000114
将符号
Figure GDA0003553468120000115
及对应的边edge_v添加到符号集合SIG中,并使用这个符号
Figure GDA0003553468120000116
替代边edge_v在new_SS中的位置,进一步更新标识符号序列new_SS1。
实施例5
根据实施例1所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其区别在于:
基于时延特征聚类的二次标注,
行为模型表示为BMSLS={Vs,Rs,Ws,SIG,MED,ASD,CEN,MAX,MIN},
Ws是连续变量对应的权重集合;
SIG是已标记的符号及其对应的状态转移;
MED是已标记的符号集合中所对应的边的时延的均值;
ASD是已标记的符号集合中所对应的边的时延的方差;
CEN是已标记的符号集合中所对应的边的时延的中心点;
MAX是已标记的符号集合中所对应的边的时延的最大值;
MIN是已标记的符号集合中所对应的边的时延的最小值。
如图3所示,包括步骤如下:
F、遍历符号集合SIG中的符号signi,及其对应的环或边cei
G、根据状态时延转换图中的边集合、状态执行序列集合即状态转换序列SS及边集合中存储的时延信息DTs,解析出cei对应的时延矩阵,时延矩阵中的列向量对应环中具体某条边的所有时延;
H、根据环或边所对应的总时延数目即矩阵中的行数Numm,利用KMeans++算法对步骤G得到的时延矩阵进行聚类,具体是指:当Numm>α,则聚类个数为α;Numm≤α时,聚类个数为Numm;α取值为5;
I、设聚类类别包括{c1,c2,…,cn},则依据聚类类别对符号集合SIG中的符号signi进行二次标注为{signic1,signic2,…,signicn};
J、上述聚类结束后,每个簇对应的中心点分别为CENsn={cen1,cen2,…,cenn},则行为模型中环或边对应的中心点为CEN={cen1,cen2,…,cenn},计算该环中每条边对应的时延的均值、方差、最大值和最小值。
cei对应的时延矩阵解析过程包括:
先遍历cei中的边e1,e2,…,em,从时延集DTs中读取边el相应的属于环cei的时延序列
Figure GDA0003553468120000121
该时延序列长度为n;再以
Figure GDA0003553468120000122
为列向量,得到cei对应的m列n行的时延矩阵。
边el对应的时延的均值
Figure GDA0003553468120000123
边el对应的时延的方差
Figure GDA0003553468120000124
边el对应的时延的最大值取值为
Figure GDA0003553468120000125
中的最大值;
边el对应的时延的最小值取值为
Figure GDA0003553468120000126
中的最小值。
实施例6
一种实现实施例1-5任一基于状态时延转换图二次标注的工控***设备行为建模方法的装置,包括依次连接的数据预处理模块、状态时延转换图构建模块、基于环发现的初级标注模块、基于时延特征聚类的二次标注模块;所述数据预处理模块用于执行步骤(1);所述状态时延转换图构建模块用于执行步骤(2);所述基于环发现的初级标注模块用于执行步骤(3);所述基于时延特征聚类的二次标注模块用于执行步骤(4)。

Claims (5)

1.一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其特征在于,包括步骤如下:
(1)状态数据预处理;
状态数据是指在水分配***处于正常行为下获取的状态数据集合,包括水箱的水位值、阀门的开关状态、水管的开关状态;对状态数据执行离散变量二元化和连续变量二元化操作,生成多组二元状态集合,二元状态集合的数目与原状态节点集合中连续变量的个数相同;
(2)状态时延转换图构建;
对步骤(1)得到的多组二元状态集合中的每个二元状态集合,构建与之相对应的状态时延转换图;
(3)基于环发现的初级标注;
针对步骤(2)构建的每个状态时延转换图,采用状态转换边和环的标注流程,对状态执行序列进行初级标注;
(4)基于时延特征聚类的二次标注;
输出为行为模型中的各参数,包括状态转换边集合、标注完成的状态转换时延序列、标注时产生的符号集、以及标注符号对应的均值、方差、中心点、最大值和最小值,标注时产生的符号集包括符号名称及其对应的边或环;
(5)将实时水分配***中过程设备实时产生的状态数据输入构建的行为模型中,发现过程设备当前状态是否符合行为模型中描述的数据关系及转换关系,进一步实现异常检测;
离散变量二元化和连续变量二元化操作的具体步骤为:设连续变量CV的取值范围为[c0,c1],采用Kmeans聚类算法,将连续变量CV划分nc个簇,簇编号分别对应为
Figure FDA0003759345620000011
连续变量CV对应的离散变量集合为
Figure FDA0003759345620000012
簇dc0的取值范围为
Figure FDA0003759345620000013
簇dc1的取值范围为
Figure FDA0003759345620000014
Figure FDA00037593456200000110
的取值范围为
Figure FDA0003759345620000015
Figure FDA0003759345620000016
权重集合
Figure FDA0003759345620000017
二元状态集合包括连续变量CV对应的离散变量集合和权重集合Ws
设定状态转换时延图为:SEG=(Vs,Ds);
Figure FDA0003759345620000018
为状态转换时延图中顶点集合,
Figure FDA0003759345620000019
分别指的是状态数据执行离散变量二元化和连续变量二元化操作之后的所有设备状态的状态,nv是所有状态的个数;
Figure FDA0003759345620000021
表示从顶点vi到vj的状态转换关系;
Figure FDA0003759345620000022
Rs表示状态转换集合;
Figure FDA0003759345620000023
Figure FDA0003759345620000024
表示
Figure FDA0003759345620000025
所对应的一组时延序列;
Figure FDA0003759345620000026
是指从状态vi到状态vj的所有转移所对应的时延所组成的集合;nt是获得的所有从状态vi到状态vj的持续时间的数目;
Figure FDA0003759345620000027
DTs表示所有状态转换集合Rs所对应的时延集;
如果水分配***运行过程中,有状态转移关系:v0→v1,vi→vj,vj→vj+1,vj+1→vj+2,的连续转移,则v0→v1→vi→vj→vj+1→vj+2为水分配***中的状态转移序列,记为状态转换序列SS;
状态时延转换图构建的具体步骤包括:
A、遍历二元状态集合中的每一行状态数据,如果上一状态数据为空,则将上一状态数据设置为当前读取的状态数据内容,并将上一状态数据的延续时间设置为0;否则,判断上一状态数据与当前读取的状态数据内容是否相同,如果上一状态数据与当前读取的状态数据内容相同,则将上一状态数据的延续时间加1;如果上一状态数据与当前读取的状态数据内容不同,则执行以下步骤①至步骤③:
①保存上一状态数据及其对应的延续时间;
②判断当前状态数据是否存在于状态集即顶点集合中,如果不存在,则将当前状态数据添加到状态集中;否则,进行步骤③;
③判断上一状态数据到当前状态数据的转移是否在边集合即状态转移集合中,如果不在边集合中,则将上一状态数据到当前状态数据的转移添加到边集合中,并将上一状态数据对应的延续时间加入到边对应的时延列表即时延集合中;如果存在于边集合中,则将上一状态数据对应的延续时间加入到边对应的时延列表中;
④更新上一状态数据为当前状态数据,并将上一状态数据的延续时间设置为1,返回步骤A。
2.根据权利要求1所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其特征在于,采用状态转换边和环的标注流程,对状态执行序列进行初级标注,包括步骤如下:
B、采用深度优先搜索算法获取状态转换时延图中存在的环,所有环组成的集合即环集合记为CYC;
C、根据环的长度,对环集合CYC中的环,按照环的长度从长到短进行次序排序,次序排序后的环集合记为sortedCYC;
D、遍历sortedCYC中的每个元素cv,如果cv在状态转换序列SS中,则为cv分配一个符号
Figure FDA0003759345620000031
将符号
Figure FDA0003759345620000032
及其对应的环cv添加到符号集合SIG中,并使用这个符号
Figure FDA0003759345620000033
替代cv在SS中的位置,获得新的标识符号序列new_SS;符号集合SIG是指存放符号和与之对应的环或边的集合,初始情况下,该符号集合SIG为空;
E、遍历Rs中的每条边edge_v,如果边edge_v在new_SS中存在,则为边edge_v分配一个新的符号
Figure FDA0003759345620000034
将符号
Figure FDA0003759345620000035
及对应的边edge_v添加到符号集合SIG中,并使用这个符号
Figure FDA0003759345620000036
替代边edge_v在new_SS中的位置,进一步更新标识符号序列new_SS1。
3.根据权利要求2所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其特征在于,基于时延特征聚类的二次标注,
行为模型表示为BMSLS={Vs,Rs,Ws,SIG,MED,ASD,CEN,MAX,MIN},
Ws是连续变量对应的权重集合;
SIG是已标记的符号及其对应的状态转移;
MED是已标记的符号集合中所对应的边的时延的均值;
ASD是已标记的符号集合中所对应的边的时延的方差;
CEN是已标记的符号集合中所对应的边的时延的中心点;
MAX是已标记的符号集合中所对应的边的时延的最大值;
MIN是已标记的符号集合中所对应的边的时延的最小值;
包括步骤如下:
F、遍历符号集合SIG中的符号signi,及其对应的环或边cei
G、根据状态时延转换图中的边集合、状态执行序列集合即状态转换序列SS及边集合中存储的时延信息DTs,解析出cei对应的时延矩阵,时延矩阵中的列向量对应环中具体某条边的所有时延;
H、根据环或边所对应的总时延数目即矩阵中的行数Numm,利用KMeans++算法对步骤G得到的时延矩阵进行聚类,具体是指:当Numm>α,则聚类个数为α;Numm≤a时,聚类个数为Numm;a取值为5;
I、设聚类类别包括{c1,c2,…,cn},则依据聚类类别对符号集合SIG中的符号signi进行二次标注为{signic1,signic2,…,signicn};
J、上述聚类结束后,每个簇对应的中心点分别为CENsn={cen1,cen2,…,cenn},则行为模型中环或边对应的中心点为CEN={cen1,cen2,…,cenn},计算该环中每条边对应的时延的均值、方差、最大值和最小值。
4.根据权利要求3所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其特征在于,cei对应的时延矩阵解析过程包括:
先遍历cei中的边e1,e2,…,em,从时延集DTs中读取边el相应的属于环cei的时延序列
Figure FDA0003759345620000041
该时延序列长度为n;再以
Figure FDA0003759345620000042
为列向量,得到cei对应的m列n行的时延矩阵。
5.根据权利要求3所述的一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法,其特征在于,
边el对应的时延的均值
Figure FDA0003759345620000043
边el对应的时延的方差
Figure FDA0003759345620000044
边el对应的时延的最大值取值为
Figure FDA0003759345620000045
中的最大值;
边el对应的时延的最小值取值为
Figure FDA0003759345620000046
中的最小值。
CN202110201190.3A 2021-02-23 2021-02-23 一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法 Active CN112861364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110201190.3A CN112861364B (zh) 2021-02-23 2021-02-23 一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110201190.3A CN112861364B (zh) 2021-02-23 2021-02-23 一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法

Publications (2)

Publication Number Publication Date
CN112861364A CN112861364A (zh) 2021-05-28
CN112861364B true CN112861364B (zh) 2022-08-26

Family

ID=75990341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110201190.3A Active CN112861364B (zh) 2021-02-23 2021-02-23 一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法

Country Status (1)

Country Link
CN (1) CN112861364B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486352B (zh) * 2021-06-23 2022-02-11 山东省计算中心(国家超级计算济南中心) 一种面向工控网络的多模式攻击方式对工控***状态影响的定量评估方法及***
CN114595448B (zh) * 2022-03-14 2022-09-27 山东省计算中心(国家超级计算济南中心) 一种基于相关性分析和三维卷积的工控异常检测方法、***、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199942A (ja) * 1989-01-27 1990-08-08 Matsushita Electric Ind Co Ltd 光通信装置
CN105572664A (zh) * 2015-12-31 2016-05-11 上海广电通信技术有限公司 基于数据融合的组网导航雷达目标跟踪***
CN106384128A (zh) * 2016-09-09 2017-02-08 西安交通大学 一种挖掘时序数据状态关联的方法
CN111401573A (zh) * 2018-12-17 2020-07-10 中国科学院沈阳自动化研究所 一种工况状态建模与修正模型方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199942A (ja) * 1989-01-27 1990-08-08 Matsushita Electric Ind Co Ltd 光通信装置
CN105572664A (zh) * 2015-12-31 2016-05-11 上海广电通信技术有限公司 基于数据融合的组网导航雷达目标跟踪***
CN106384128A (zh) * 2016-09-09 2017-02-08 西安交通大学 一种挖掘时序数据状态关联的方法
CN111401573A (zh) * 2018-12-17 2020-07-10 中国科学院沈阳自动化研究所 一种工况状态建模与修正模型方法

Also Published As

Publication number Publication date
CN112861364A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
Murphy et al. Modelling gene expression data using dynamic Bayesian networks
CN112861364B (zh) 一种基于状态时延转换图二次标注的工控***设备行为建模实现异常检测的方法
CN109214599B (zh) 一种对复杂网络进行链路预测的方法
CN110909125B (zh) 推文级社会媒体谣言检测方法
WO2020215694A1 (zh) 一种基于深度学习的中文分词方法、装置、存储介质及计算机设备
JP6172317B2 (ja) 混合モデル選択の方法及び装置
CN107111609A (zh) 用于神经语言行为识别***的词法分析器
CN113779988A (zh) 一种通信领域过程类知识事件抽取方法
CN112215412A (zh) 溶解氧预测方法及装置
CN113539386A (zh) 基于clmvo-elm的溶解氧浓度预测方法、装置、设备及存储介质
CN116861694A (zh) 一种基于人工智能的电缆温度预测方法
CN116127376A (zh) 模型训练方法、数据分类分级方法、装置、设备及介质
CN115114484A (zh) 异常事件检测方法、装置、计算机设备和存储介质
CN114627980A (zh) 一种化学逆合成分析方法及***
CN113743453A (zh) 一种基于随机森林的人口数量预测方法
CN111901330A (zh) 集成学习模型构建方法、识别方法及装置、服务器和介质
CN116993043A (zh) 一种电力设备故障溯源方法及装置
JP6993250B2 (ja) コンテンツ特徴量抽出装置、方法、及びプログラム
JP2016194912A (ja) 混合モデルの選択方法及び装置
Bull et al. A Learning Classifier System Approach to the Identification of Cellular Automata.
CN109711638A (zh) 一种基于时变有向图的工业机械臂搬运路径规划方法
CN117784615B (zh) 一种基于impa-rf的火控***故障预测方法
JP7439923B2 (ja) 学習方法、学習装置及びプログラム
CN117041073B (zh) 网络行为预测方法、***、设备及存储介质
KR102590793B1 (ko) 기계 학습을 위한 온라인 데이터셋의 자가 균형화 방법 및 장치

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
GR01 Patent grant
GR01 Patent grant