CN110442837A - 复杂周期模型的生成方法、装置及其检测方法、装置 - Google Patents
复杂周期模型的生成方法、装置及其检测方法、装置 Download PDFInfo
- Publication number
- CN110442837A CN110442837A CN201910693677.0A CN201910693677A CN110442837A CN 110442837 A CN110442837 A CN 110442837A CN 201910693677 A CN201910693677 A CN 201910693677A CN 110442837 A CN110442837 A CN 110442837A
- Authority
- CN
- China
- Prior art keywords
- industry control
- period
- sequence
- control instruction
- data
- 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.)
- Granted
Links
- 230000000737 periodic effect Effects 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000001514 detection method Methods 0.000 title claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 21
- 238000013480 data collection Methods 0.000 claims description 15
- 241001269238 Data Species 0.000 claims description 10
- 230000005856 abnormality Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 abstract description 14
- 238000012550 audit Methods 0.000 abstract description 6
- 125000004122 cyclic group Chemical group 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- QBPPRVHXOZRESW-UHFFFAOYSA-N 1,4,7,10-tetraazacyclododecane Chemical compound C1CNCCNCCNCCN1 QBPPRVHXOZRESW-UHFFFAOYSA-N 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010248 power generation Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009385 viral infection Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明公开了一种复杂周期模型的生成方法、装置及其检测方法、装置,通过对同一类的工控指令到达时间进行深度分析,发现同一类工控指令隐藏的周期模式,建立了同一类工控指令的复杂周期模型,复杂周期模型的生成方法形成的复杂周期模型完全基于工控指令进行建模和分析,易于部署实施,可以从工业防火墙的日志进行建模分析,也可以通过工业流量审计设备对工控流量进行建模分析,支持周期嵌套,兼容简单周期模型,适用范围广,不同类工控指令对应的复杂周期模型可用于对工控指令序列进行检测,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。
Description
技术领域
本发明涉及工控网络安全技术领域,具体涉及一种复杂周期模型的生成方法、装置及其检测方法、装置。
背景技术
工控系统(industrial control system,ICS)指的是工业自动化控制系统,主要是通过使用计算机技术、微电子技术、电气手段,使工厂的生产和制造过程更加自动化、效率化、精确化,并具有可控性及可视性。ICS广泛应用社会的各行各业中,包括发电、电厂调度、轨道交通、智能制造、石油石化、水处理等各种工业企业。
工业系统是一个分布式计算系统。上层是上位机(一般就是安装了工控软件的计算机),工程师在上位机进行业务操作,到达工控指令给下位机;中层是下位机(一般是PLC、DCS等),接收上位机的工控指令,翻译成设备元器件能执行的指令下发给设备;下层是元器件设备(即工厂的设备)。工控系统的主要威胁来自于上位机和下位机的通信,因为上位机就是普通的计算机,由人操作,很容易感染病毒、木马入侵或人为恶意破坏,形成恶劣影响。
目前,检测、防止工控攻击的方法主要是通过主机安装防病毒软件,或者上位机下位机之间部署工业防火墙。这些方法可以识别错误的报文,过滤非法协议的流量,但对于工控系统内员工的人为恶意攻击或误操作却无法防范,因为实施这些操作的源和目的设备都是正确的合法设备,且下发的工控指令是报文格式、功能码和参数均正确的工控指令,这些操作一旦生效,可能带来极其可怕的后果。
发明内容
有鉴于此,本发明实施例提供了一种复杂周期模型的生成方法、装置及其检测方法、装置,以解决现有的工业防火墙、防病毒软件对于工控系统内员工的人为恶意攻击或误操作无法防范的问题。
根据第一方面,本发明实施例提供了一种复杂周期模型的生成方法,包括:
获取工控指令数据集,工控指令数据集包括多个同一类工控指令及各工控指令到达的时间;根据各工控指令及到达的时间得到工控指令的第一周期序列;根据工控指令的第一周期序列形成工控指令的第一周期统计数据,第一周期统计数据包括至少一个周期数据;统计第一周期统计数据中每个周期数据及其出现的第一次数;判断是否存在大于或等于第一预设次数阈值的第一次数;如果存在大于或等于第一预设次数阈值的第一次数,根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数;判断是否存在大于或等于第一预设次数阈值的第二次数;如果存在大于或等于第一预设次数阈值的第二次数,根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于第一预设次数阈值的第二次数的步骤,直至周期数据序列长度等于第一预设长度阈值;根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。
可选地,根据工控指令的第一周期序列形成工控指令的第一周期统计数据,第一周期统计数据包括至少一个周期数据,包括:判断第一周期序列中相邻的两个周期的误差范围是否满足预设阈值;如果满足预设阈值,根据误差范围满足预设阈值的相邻两个周期及其出现的次数得到第一周期数据;根据第一周期数据形成工控指令的第一周期统计数据。
可选地,如果不满足预设阈值,根据误差范围不满足预设阈值的相邻两个周期及其出现的次数得到第二周期数据;以不满足预设阈值的相邻两个周期中的第二个周期为起始,判断相邻的两个周期的误差范围是否满足预设阈值;如果满足预设阈值,根据误差范围满足预设阈值的相邻两个周期及其出现的次数得到第三周期数据;根据第二周期数据和第三周期数据得到工控指令的第一周期统计数据。
可选地,如果第一次数或第二次数不存在大于或等于第一预设次数阈值的次数,则根据第一周期统计数据形成复杂周期模型。
可选地,周期数据序列长度等于第二预设阈值第一预设长度阈值的周期数据序列包括第一周期数据序列和第二周期数据序列;根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型,包括:判断第一周期数据序列和第二周期数据序列的周期数据是否相同;如果第一周期数据序列和第二周期数据序列的周期数据相同,判断第一周期数据序列的第二次数是否大于或等于第二周期数据序列的第二次数;如果第一周期数据序列的第二次数大于或等于第二周期数据序列的第二次数,根据第一周期数据序列形成复杂周期模型。
可选地,根据第一周期数据序列形成复杂周期模型,包括:判断第一周期数据序列中是否连续存在相同的周期数据/周期数据序列;如果连续存在,将连续存在的周期数据/周期数据序列进行合并简化;根据简化后的第一周期数据序列形成复杂周期模型。
可选地,如果第一周期数据序列和第二周期数据序列的周期数据不相同,根据第一周期数据序列和第二周期数据序列形成复杂周期模型。
根据第二方面,本发明实施例提供了一种工控指令序列异常检测方法,包括:获取待测工控指令序列,待测工控指令序列包括多个待测工控指令数据,待测工控指令数据包括待测工控指令和待测工控指令到达的时间;根据第一方面或第一方面任意实施方式中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测;根据检测结果判断工控指令序列是否异常。
可选地,根据第一方面或第一方面任意实施方式中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测,包括:根据各待测工控指令及待测工控指令到达的时间分别建立同一类待测工控指令到达的时间序列;根据各类工控指令到达的时间序列分别得到各类待测工控指令的第二周期序列;根据各类待测工控指令的第二周期序列分别形成各类待测工控指令的第二周期统计数据;判断各类待测工控指令的第二周期统计数据是否与复杂周期模型相匹配;如果各类待测工控指令的第二周期统计数据与复杂周期模型相匹配,则判定待测工控指令序列正常。
可选地,如果各类待测工控指令的第二周期统计数据不与复杂周期模型相匹配,则发出报警提示工控指令序列异常。
根据第三方面,本发明实施例提供了一种复杂周期模型的生成装置,包括:第一获取模块,用于获取工控指令数据集,工控指令数据集包括多个同一类工控指令及各工控指令到达的时间;得到模块,用于根据各工控指令及到达的时间得到工控指令的第一周期序列;第一形成模块,用于根据工控指令的第一周期序列形成工控指令的第一周期统计数据,第一周期统计数据包括至少一个周期数据;第一统计模块,用于统计第一周期统计数据中每个周期数据及其出现的第一次数;第一判断模块,用于判断是否存在大于或等于第一预设次数阈值的第一次数;第二统计模块,用于如果存在大于或等于第一预设次数阈值的第一次数,根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数;第二判断模块,用于判断是否存在大于或等于第一预设次数阈值的第二次数;第三统计模块,用于如果存在大于或等于第一预设次数阈值的第二次数,根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于第一预设次数阈值的第二次数的步骤,直至周期数据序列长度等于第一预设长度阈值;第二形成模块,用于根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。
根据第四方面,本发明实施例提供了一种工控指令异常检测装置,包括:第二获取模块,用于获取待测工控指令序列,待测工控指令序列包括多个待测工控指令数据,待测工控指令数据包括待测工控指令和待测工控指令到达的时间;检测模块,用于根据第一方面或第一方面任意实施方式中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测;判断模块,用于根据检测结果判断工控指令序列是否异常。
根据第五方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行如第一方面或第一方面任意实施方式中的复杂周期模型的生成方法或如第二方面或第二方面任意实施方式中的工控指令异常检测方法。
根据第六方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如第一方面或第一方面任意实施方式中的复杂周期模型的生成方法或如第二方面或第二方面任意实施方式中的工控指令异常检测方法。
本发明实施例具有如下有益效果:
1.本发明实施例提供的复杂周期模型的生成方法及装置,通过根据同一类各工控指令及到达的时间得到工控指令的第一周期序列,根据第一周期序列形成工控指令的第一周期统计数据,统计第一周期统计数据中每个周期数据及其出现的第一次数,判断是否存在大于或等于第一预设次数阈值的第一次数,如果存在大于或等于第一预设次数阈值的第一次数,可以确定第一周期统计数据是否具备复杂周期,然后根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数,判断是否存在大于或等于第一预设次数阈值的第二次数,如果存在大于或等于第一预设次数阈值的第二次数,根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于第一预设次数阈值的第二次数的步骤,直至周期数据序列长度等于第一预设长度阈值,可以减少每个计算步骤计算的次数,节省计算资源,最后根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。该方法形成的复杂周期模型完全基于工控指令进行建模和分析,易于部署实施,可以从工业防火墙的日志进行建模分析,也可以通过工业流量审计设备对工控流量进行建模分析,支持周期嵌套,兼容简单周期模型,适用范围广,在使用不同类工控指令对应的复杂周期模型对工控指令序列进行异常检查时,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。
2.本发明实施例提供的工控指令序列异常检测方法及装置,通过根据上述实施例中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测,根据检测结果判断工控指令序列是否异常。通过该方法可以对工控指令序列中的各类工控指令的时间周期进行检测,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例中复杂周期模型的生成方法的流程图;
图2示出了本发明实施例的形成工控指令的第一周期统计数据的流程图;
图3示出了本发明实施例的工控指令异常检测方法的流程图;
图4示出了本发明实施例复杂周期模型的生成装置的结构示意图;
图5示出了本发明实施例的工控指令异常检测装置的结构示意图;
图6示出了本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现在的工业防火墙、审计类产品,已经可以识别非法协议、非法报文,具有过滤作用,可以阻止这些非法的报文进入工控网络,到达控制层。但是对于工控系统内员工的误操作、恶意报复,或者因为网络设备故障引起的报文延迟等问题现在还无法检测和防范,这些操作一旦生效,可能引起工控业务错乱,并可能带来极其可怕的后果。这类错误从网络协议层面无法识别,因为报文和工控指令的格式、参数都正确。发明人发现,工控系统的绝大部分工控指令都是按周期进行调度下发的,比如:地铁的运行控制、电厂的发电生产、电网的电力调度、智能工厂的流水线都有其自身的规律和周期。而且,大部分周期都是复杂周期,即周期之间嵌套周期,比如很多智能工程的工控业务都以天为周期,这个周期内又会层层嵌套小周期。因此可以通过对工控指令到达时间进行分析,找到工控指令的周期规律,建立时间周期模型,用于对工控系统的工控指令序列进行检测。
为此,本发明实施例提供了一种复杂周期模型的生成方法,通过对同一类工控指令到达时间进行深度分析,发现同一类工控指令隐藏的周期模式,建立同一类的工控指令的复杂周期模型,根据不同类的工控指令对应的复杂周期模型可对工控指令序列进行检测,把网络的工控指令和复杂周期模型做匹配,如果时间误差超出阈值,就认为是异常操作,如图1所示,该方法包括:
S101.获取工控指令数据集,工控指令数据集包括多个同一类工控指令及各工控指令到达的时间;具体的,可以通过审计设备/工业防火墙对网络中的流量进行旁路镜像,采集分析,识别其中的工控指令数据,保存在数据库中。不同的工控系统使用不同的工控指令和协议,因此,不同的工控系统对工控指令数据结构的定义不一样。比如:OPC协议使用接口名和方法名来确定工控指令,Modbus使用功能码和起止地址来确定工控指令,S7则使用功能码、寄存器区、DB区等参数来确定指令。在本发明实施例中,为了简化描述,可以使用指令ID作为工控指令的唯一标识,这个指令ID可以在具体使用时映射为工控指令的多个参数。如表1所示,保存在数据中的工控指令数据主要包括工控指令到达时间、源lP、目的IP、指令ID和指令类型。根据指令ID可以将所有的工控指令数据进行分类,相同的指令ID的指令为同一类工控指令,多个相同指令ID的工控指令数据的集合为工控指令数据集。有些零散的的工控指令,既不构成稳定的指令序列,也没有典型的时间特征,不属于本发明实施例的指令数据的范围,这种工控指令是否异常,可以由工业防火墙使用传统的工控协议深度解析技术来识别。
表1
标记工控指令类型是读还是写,主要是为后续的构建复杂周期模型做准备。因为工控网络中,大部分的工控指令是读类型,即采集设备状态信息,而这类信息一般不是攻击信息,也不会对设备造成恶性影响。在很多场景下可以仅对写类型的工控指令进行构建复杂周期模型就可以达到工控指令序列较好的异常检测效果。当然,如果服务器的资源足够、性能足够,也可以针对全部工控指令构建复杂周期模型。
需要说明的是,本发明实施例主要针对固定的源和目的之间的工控指令进行建模分析,所以在后续的说明中,不再关注该表中的源IP和目的IP。在实际应用中,可以针对所有的源IP和目的IP进行建模应用,也可以针对典型的源IP和目的IP的通信行为建模,然后应用到其他源IP和目的IP的通信行为分析中。
S102.根据各工控指令及到达的时间得到工控指令的第一周期序列;具体的,工控指令数据集包括各工控指令到达的时间,根据各工控指令到达的时间,可以计算各工控指令之间的时间间隔,也即周期,将所有的周期顺序排列则得到了工控指令的第一周期序列。例如,把工控指令事件标记为:
Action=<Command,Time>,Command∈CommandSet
其中Command代表具体的工控指令,具有唯一标识工控指令ID;CommandSet代表全体工控指令的集合;Time代表该指令到达的时间。
所有工控指令事件的原始数据集标记为:
ActionData={Action1,Action2,...Actionn}
整个工控指令事件按时间先后顺序排列,其中的工控指令可能相同,但是时间不同。首先把该数据集针对同一类工控指令进行拆分,即形成同一类工控指令数据集:
CommandTimeData={Time1,Time2,...Timen}
因为这是针对同一类工控指令的数据集,所以只需要关注时间Time,定义Cycle为周期,Cyclei=Timei+1-Timei,(1≤i<n),即各工控指令之间的时间间隔,则所有周期的集合记为CommandCycleData,也即第一周期序列为:
CommandCycleData={Cycle1,Cycle2...Cyclen}
需要说明的是,很多场景下,多个工控指令按照固定的次序依次出现,比如Command1、Command2、Command3按照固定次序一起出现,这多个工控指令可以称为一个工控指令序列,工控指令序列也存在周期现象,所以本发明实施例对单一工控指令和工控指令序列都适用,本发明实施例仅以单一工控指令为例进行说明。
S103.根据工控指令的第一周期序列形成工控指令的第一周期统计数据,第一周期统计数据包括至少一个周期数据;具体的,各工控指令之间的第一周期序列内可能连续出现相同的周期,统计该周期及其连续出现的次数得到一个周期数据,按照各工控指令之间的步长的顺序,可以依次得到各个周期数据,从而可以形成第一周期统计数据。例如:CycleCountData={<Cycle1,Number1>,<Cycle2,Number2>...<Cyclen,Numbern>}。
S104.统计第一周期统计数据中每个周期数据及其出现的第一次数;具体的,第一周期统计数据中可能包含相同的周期数据,通过在第一周期统计数据中查找所有的该周期数据,可以统计该周期数据及其出现的第一次数,依照统计该周期数据的方法,可以统计其他周期数据及其出现的第一次数。例如,遍历第一统计数据CycleCountData,把每个周期数据<Cycle,Number>作为一个元素,统计其出现的次数Frequency。
S105.判断是否存在大于或等于第一预设次数阈值的第一次数;具体的,每个周期数据出现的第一次数可能不相同,通过判断是否存在大于或等于第一预设次数阈值的第一次数,可以判断第一周期统计数据是否具备复杂周期。因为工控指令一般都是周期性出现的,如果不存在大于或等于第一预设次数阈值的第一次数,说明步骤S101获取的工控指令数据不完整或者该类工控指令没有完整的周期模型,无法继续分析复杂周期。如果存在大于或等于第一预设次数阈值的第一次数,进入步骤S106。如果不存在大于或等于第一预设次数阈值的第一次数,进入步骤S111。例如,对于第一预设次数阈值K,如果存在Frequency>=K,说明该第一周期统计数据具备复杂周期的基本条件。将Frequency>=K的周期数据记录到集合CycleSet={(<Cycle,Number>,Frequency)},对于Frequency<K的周期数据删除,后续不再统计以该周期数据开头的其他序列。
S106.根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数;具体的,对于第一次数大于或等于第一预设次数阈值的周期数据,根据第一周期统计数据统计该周期数据为首,长度加一的周期数据序列及其出现的第二次数,对于第一次数小于第一预设次数阈值的周期数据,则后续不再统计以该周期数据为首的其他周期数。例如,如果存在Frequency>=K,将Frequency>=K的周期数据记录到集合CycleSet={<MCycle,Number>,Frequency)},对于Frequency<K的周期数据删除,后续不再统计以该周期数据开头的其他序列。对于CycleSet中每一个周期<Cyclei,Numberi>,在第一周期统计数据CycleData中,找出以<Cyclei,Numberi>为首的长度为L=2的周期序列,即<<Cyclei,Numberi>,<Cyclei+1,Numberi+1>>,并统计其出现的频率Frequency。
S107.判断是否存在大于或等于第一预设次数阈值的第二次数。具体的,判断步骤S106计算的Frequency是否存在Frequency>=K。如果存在大于或等于第一预设次数阈值的第二次数,进入步骤S108。如果不存在大于或等于第一预设次数阈值的第二次数,进入步骤S111。
S108.根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数。具体的,对于第二次数大于或等于第一预设次数阈值的周期数据序列,根据第一周期统计数据统计该周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,对于第二次数小于第一预设次数阈值的周期数据序列,则后续不再统计以该周期数据序列为首的其他周期数据序列。通过这样,可以减少每个计算步骤计算的次数,节省计算资源。例如,在步骤S107中,如果存在Frequency>=K,记录到集合CycleSet2={(<<Cyclei,Numberi>,<Cyclei+1,Numberi+1>>,Frequency)},对于Frequency<K的周期数据序列删除,后续不再统计以该周期数据序列开头的其他序列,对于CycleSet2中每一个周期序列<Cyclei,Numberi>,<Cyclei+1,Numberi+1>>,在第一周期统计数据CycleData中,找出以<Cyclei,Numberi>,<Cyclei+1,Numberi+1>,<Cyclei+2,Numberi+2>为首的长度为L=3的周期序列,并统计其出现的频率Frequency。
S109.判断周期数据序列长度是否等于第一预设长度阈值;具体的,如果周期数据序列长度等于第一预设长度阈值,进入步骤S110。如果周期数据序列长度不等于第一预设长度阈值,进入步骤S107,直至周期数据序列长度等于第一预设长度阈值。
S110.根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。具体的,根据所有走起数据序列长度等于第一预设长度阈值的周期数据系列简化、合并后,形成复杂周期模型。
S111.根据第一周期统计数据形成复杂周期模型。具体的,如果第一次数或第二次数不存在大于或等于第一预设次数阈值的次数,说明工控指令数据不完整或者该工控指令没有完整的周期模型,无法继续分析复杂周期,则根据第一周期统计数据形成复杂周期模型。
本发明实施例提供的复杂周期模型的生成方法,通过根据同一类各工控指令及到达的时间得到工控指令的第一周期序列,根据第一周期序列形成工控指令的第一周期统计数据,统计第一周期统计数据中每个周期数据及其出现的第一次数,判断是否存在大于或等于第一预设次数阈值的第一次数,如果存在大于或等于第一预设次数阈值的第一次数,可以确定第一周期统计数据是否具备复杂周期,然后根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数,判断是否存在大于或等于第一预设次数阈值的第二次数,如果存在大于或等于第一预设次数阈值的第二次数,根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于第一预设次数阈值的第二次数的步骤,直至周期数据序列长度等于第一预设长度阈值,可以减少每个计算步骤计算的次数,节省计算资源,最后根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。该方法形成的复杂周期模型完全基于工控指令进行建模和分析,易于部署实施,可以从工业防火墙的日志进行建模分析,也可以通过工业流量审计设备对工控流量进行建模分析,支持周期嵌套,兼容简单周期模型,适用范围广,在使用不同类工控指令对应的复杂周期模型对工控指令序列进行异常检查时,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。
在可选的实施例中,步骤S103,根据工控指令的第一周期序列形成工控指令的第一周期统计数据,第一周期统计数据包括至少一个周期数据,如图2所示,具体包括:
S1031.判断第一周期序列中相邻的两个周期的误差范围是否满足预设阈值;如果满足预设阈值,进入步骤S1032,如果不满足预设阈值,进入步骤S1034。
S1032.根据误差范围满足预设阈值的相邻两个周期及其出现的次数得到第一周期数据。
S1033.根据第一周期数据形成工控指令的第一周期统计数据。
S1034.根据误差范围不满足预设阈值的相邻两个周期及其出现的次数得到第二周期数据。
S1035.以不满足预设阈值的相邻两个周期中的第二个周期为起始,判断相邻的两个周期的误差范围是否满足预设阈值,如果满足预设阈值,进入步骤S1036。如果不满足预设阈值,返回步骤S1034。
S1036.根据误差范围满足预设阈值的相邻两个周期及其出现的次数得到第三周期数据。
S1037.根据第二周期数据和第三周期数据得到工控指令的第一周期统计数据。
例如,第一周期序列为CommandCycleData={Cycle1,Cycle2...Cyclen},因为采集工控指令的时间会有误差,所以需要通过误差范围来控制算法的鲁棒性。以T代表周期的误差范围,如果相邻的两个周期的误差范围小于或等于预设阈值,说明符合误差范围,则这两个周期相同,记录Cyclei为周期,记录Cyclei和Cyclei+1出现的次数和为周期Cyclei出现的次数,标记为<Cyclei,Number>,得到第一周期数据,根据第一周期数据形成工控指令的第一周期统计数据;如果相邻的两个周期的误差范围大于预设阈值,记录Cyclei及其出现的次数,标记为<Cyclei,Numberi>,得到第二周期数据,再以Cyclei+1为起始,判断相邻的两个周期Cyclei+1、Cyclei+2的误差范围是否满足预设阈值,如果满足预设阈值,记录Cyclei+1为周期,记录Cyclei+2和Cyclei+1出现的次数和为周期Cyclei+1出现的次数,标记为<Cyclei+1,Numberi+1>得到第三周期数据,如果不满足预设阈值,则记录Cyclei+1及其出现的次数,得到另一个第二周期数据,再以Cyclei+2为起始,重复判断相邻的两个周期数据Cyclei+2和Cyclei+3的误差范围是否满足预设阈值,直到第一周期序列的最后一个周期,将第二周期数据和第三周期数据合并,得到第一周期统计数据。
在可选的实施例中,周期数据序列长度等于第一预设长度阈值的周期数据序列包括第一周期数据序列和第二周期数据序列;因为统计周期数据不一定是从哪个周期开始,所以可能出现同一个周期数据序列被多次统计的情况,区别在于周期数据系列的起始周期不同,比如<CC1,CC2>和<CC2,CC1>,就属于同一个周期序列,这类序列需要合并,删除出现次数少的,留下出现次数多的。因此,步骤S110,根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型,包括:判断第一周期数据序列和第二周期数据序列的周期数据是否相同;如果第一周期数据序列和第二周期数据序列的周期数据不相同,根据第一周期数据序列和第二周期数据序列形成复杂周期模型;如果第一周期数据序列和第二周期数据序列的周期数据相同,判断第一周期数据序列的第二次数是否大于或等于第二周期数据序列的第二次数;如果第一周期数据序列的第二次数大于或等于第二周期数据序列的第二次数,根据第一周期数据序列形成复杂周期模型。
在可选的实施例中,长周期数据序列中可能存在重复出现的短周期数据序列,为了进一步简化表达复杂周期模型,可以将短周期数据序列合并简化表达。因此,根据第一周期数据序列形成复杂周期模型,具体包括:判断第一周期数据序列中是否连续存在相同的周期数据/周期数据序列;如果连续存在,将连续存在的周期数据/周期数据序列进行合并简化;根据简化后的第一周期数据序列形成复杂周期模型。例如,长周期数据序列的长度为L,可以取L/2所得整数为初始检查的周期长度,检查其对应的CycleSet中的每个周期数据序列,是否在长周期序列中重复出现。然后逐步递减,继续折半查找,直到长度为1跳出,合并重复出现的序列。
为了进一步说明形成本发明实施例中的复杂周期模型的过程,以下以一具体的实施例为例进行说明。
通过传统工控网络安全设备,深度解析工控报文,得到同一类工控指令的时间序列CommandTimeData。遍历工控指令的时间序列CommandTimeData进行计算,得到各工控指令间的时间间隔,也即第一周期序列CommandCycleData。遍历第一周期序列CommandCycleData,统计计算每个周期出现的次数,得到第一周期统计数据CycleCountData,如下:
<1,5>,<2,3>,<1,5>,<2,3>,<10,1>,<1,5>,<2,3>,<1,5>,<2,3>,<10,1>,<1,5>,<2,3>,<1,5>,<2,3>,<10,1>,<1,5>,<2,3>
设定循环次数的阈值K=3,最长周期嵌套的深度D=5,那么循环计算的结果如表2所示:
表2
本发明实施例还提供了一种工控指令序列异常检测方法,如图3所示,包括:
S301.获取待测工控指令序列,待测工控指令序列包括多个待测工控指令数据,待测工控指令数据包括待测工控指令和待测工控指令到达的时间;
S302.根据上述任意实施方式中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测;具体的,收到待测工控指令序列后,将同一类的工控指令找出,计算每一类工控指令中的各工控指令的时间间隔Cycle,根据每一类工控指令,在该类指令对应的复杂周期模型中进行匹配Cycle,匹配时需要考虑周期的误差范围T,在误差范围T内,可认为是匹配的。
S303.根据检测结果判断工控指令序列是否异常。具体的,匹配失败,都判断为异常指令,上报告警;匹配成功,记录当前状态,为新来的工控指令序列做准备。
本发明实施例提供的工控指令异常检测方法,通过根据上述实施例中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测,根据检测结果判断工控指令序列是否异常。通过该方法可以对工控指令序列中的各类工控指令的时间周期进行检测,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。在可选的实施例中,步骤S302,根据上述任意实施方式中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测,包括:根据各待测工控指令及待测工控指令到达的时间分别建立同一类待测工控指令到达的时间序列;根据各类工控指令到达的时间序列分别得到各类待测工控指令的第二周期序列;根据各类待测工控指令的第二周期序列分别形成各类待测工控指令的第二周期统计数据;判断各类待测工控指令的第二周期统计数据是否与复杂周期模型相匹配;如果各类待测工控指令的第二周期统计数据与复杂周期模型相匹配,则判定待测工控指令序列正常。如果各类待测工控指令的第二周期统计数据不与复杂周期模型相匹配,则发出报警提示工控指令序列异常。
本发明实施例还提供了一种复杂周期模型的生成装置,如图4所示,包括:第一获取模块41,用于获取工控指令数据集,工控指令数据集包括多个同一类工控指令及各工控指令到达的时间,详细内容参见上述方法实施例的步骤S101的相关描述;得到模块42,用于根据各工控指令及到达的时间得到工控指令的第一周期序列,详细内容参见上述方法实施例的步骤S102的相关描述;第一形成模块43,用于根据工控指令的第一周期序列形成工控指令的第一周期统计数据,第一周期统计数据包括至少一个周期数据,详细内容参见上述方法实施例的步骤S103的相关描述;第一统计模块44,用于统计第一周期统计数据中每个周期数据及其出现的第一次数,详细内容参见上述方法实施例的步骤S104的相关描述;第一判断模块45,用于判断是否存在大于或等于第一预设次数阈值的第一次数,详细内容参见上述方法实施例的步骤S105的相关描述;第二统计模块46,用于如果存在大于或等于第一预设次数阈值的第一次数,根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数,详细内容参见上述方法实施例的步骤S106的相关描述;第二判断模块47,用于判断是否存在大于或等于第一预设次数阈值的第二次数,详细内容参见上述方法实施例的步骤S107的相关描述;第三统计模块48,用于如果存在大于或等于第一预设次数阈值的第二次数,根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于第一预设次数阈值的第二次数的步骤,直至周期数据序列长度等于第一预设长度阈值,详细内容参见上述方法实施例的步骤S108及S109的相关描述;第二形成模块49,用于根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型,详细内容参见上述方法实施例的步骤S110的相关描述。
本发明实施例提供的复杂周期模型的生成装置,通过根据同一类各工控指令及到达的时间得到工控指令的第一周期序列,根据第一周期序列形成工控指令的第一周期统计数据,统计第一周期统计数据中每个周期数据及其出现的第一次数,判断是否存在大于或等于第一预设次数阈值的第一次数,如果存在大于或等于第一预设次数阈值的第一次数,可以确定第一周期统计数据是否具备复杂周期,然后根据第一周期统计数据统计以第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数,判断是否存在大于或等于第一预设次数阈值的第二次数,如果存在大于或等于第一预设次数阈值的第二次数,根据第一周期统计数据统计以第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于第一预设次数阈值的第二次数的步骤,直至周期数据序列长度等于第一预设长度阈值,可以减少每个计算步骤计算的次数,节省计算资源,最后根据周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。该方法形成的复杂周期模型完全基于工控指令进行建模和分析,易于部署实施,可以从工业防火墙的日志进行建模分析,也可以通过工业流量审计设备对工控流量进行建模分析,支持周期嵌套,兼容简单周期模型,适用范围广,在使用不同类工控指令对应的复杂周期模型对工控指令序列进行异常检查时,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。
本发明实施例还提供了一种工控指令异常检测装置,如图5所示,包括:第二获取模块51,用于获取待测工控指令序列,待测工控指令序列包括多个待测工控指令数据,待测工控指令数据包括待测工控指令和待测工控指令到达的时间,详细内容参见上述方法实施例的步骤S301的相关描述;检测模块52,用于根据第上述任意实施方式中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测,详细内容参见上述方法实施例的步骤S302的相关描述;判断模块53,用于根据检测结果判断工控指令序列是否异常,详细内容参见上述方法实施例的步骤S303的相关描述。
本发明实施例提供的工控指令异常检测装置,通过根据上述实施例中的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各待测工控指令及各待测工控指令到达的时间对待测工控指令序列进行检测,根据检测结果判断工控指令序列是否异常。通过该方法可以对工控指令序列中的各类工控指令的时间周期进行检测,能更准确更及时地识别出因为工控指令时间错误引起的异常,从而能有效识别误操作或恶意操作,适用于工控安全场景。
本发明实施例还提供了一种电子设备,如图6所示,该电子设备可以包括处理器61和存储器62,其中处理器61和存储器62可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器61可以为中央处理器(Central Processing Unit,CPU)。处理器61还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmab le Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器62作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的复杂周期模型的生成方法或工控指令序列异常检测方法对应的程序指令/模块。处理器61通过运行存储在存储器62中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的复杂周期模型的生成方法或工控指令序列异常检测方法。
存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器61所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至处理器61。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器62中,当被所述处理器61执行时,执行如图1所示实施例中的复杂周期模型的生成方法或如图3所示实施例中的工控指令序列异常检测方法。
上述电子设备具体细节可以对应参阅图1至图3所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (14)
1.一种复杂周期模型的生成方法,其特征在于,包括:
获取工控指令数据集,所述工控指令数据集包括多个同一类工控指令及各所述工控指令到达的时间;
根据各所述工控指令及到达的时间得到所述工控指令的第一周期序列;
根据所述工控指令的第一周期序列形成所述工控指令的第一周期统计数据,所述第一周期统计数据包括至少一个周期数据;
统计所述第一周期统计数据中每个周期数据及其出现的第一次数;
判断是否存在大于或等于第一预设次数阈值的第一次数;
如果存在大于或等于所述第一预设次数阈值的第一次数,根据所述第一周期统计数据统计以所述第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数;
判断是否存在大于或等于所述第一预设次数阈值的第二次数;
如果存在大于或等于所述第一预设次数阈值的第二次数,根据所述第一周期统计数据统计以所述第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于所述第一预设次数阈值的第二次数的步骤,直至所述周期数据序列长度等于第一预设长度阈值;
根据所述周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。
2.根据权利要求1所述的复杂周期模型的生成方法,其特征在于,所述根据所述工控指令的第一周期序列形成所述工控指令的第一周期统计数据,所述第一周期统计数据包括至少一个周期数据,包括:
判断所述第一周期序列中相邻的两个周期的误差范围是否满足预设阈值;
如果满足预设阈值,根据误差范围满足预设阈值的相邻两个周期及其出现的次数得到第一周期数据;
根据所述第一周期数据形成所述工控指令的第一周期统计数据。
3.根据权利要求2所述的复杂周期模型的生成方法,其特征在于,
如果不满足预设阈值,根据误差范围不满足预设阈值的相邻两个周期及其出现的次数得到第二周期数据;
以不满足预设阈值的相邻两个周期中的第二个周期为起始,判断相邻的两个周期的误差范围是否满足预设阈值;
如果满足预设阈值,根据误差范围满足预设阈值的相邻两个周期及其出现的次数得到第三周期数据;
根据所述第二周期数据和所述第三周期数据得到所述工控指令的第一周期统计数据。
4.根据权利要求1所述的复杂周期模型的生成方法,其特征在于,
如果不存在大于或等于所述第一预设次数阈值的第一次数或第二次数,则根据所述第一周期统计数据形成复杂周期模型。
5.根据权利要求1所述的复杂周期模型的生成方法,其特征在于,所述周期数据序列长度等于第二预设阈值第一预设长度阈值的周期数据序列包括第一周期数据序列和第二周期数据序列;
所述根据所述周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型,包括:
判断所述第一周期数据序列和所述第二周期数据序列的周期数据是否相同;
如果所述第一周期数据序列和所述第二周期数据序列的周期数据相同,判断所述第一周期数据序列的第二次数是否大于或等于所述第二周期数据序列的第二次数;
如果所述第一周期数据序列的第二次数大于或等于所述第二周期数据序列的第二次数,根据所述第一周期数据序列形成复杂周期模型。
6.根据权利要求5所述的复杂周期模型的生成方法,其特征在于,所述根据所述第一周期数据序列形成复杂周期模型,包括:
判断所述第一周期数据序列中是否连续存在相同的周期数据/周期数据序列;
如果连续存在,将连续存在的所述周期数据/周期数据序列进行合并简化;
根据简化后的所述第一周期数据序列形成复杂周期模型。
7.根据权利要求5所述的复杂周期模型的生成方法,其特征在于,
如果所述第一周期数据序列和所述第二周期数据序列的周期数据不相同,根据所述第一周期数据序列和所述第二周期数据序列形成复杂周期模型。
8.一种工控指令序列异常检测方法,其特征在于,包括:
获取待测工控指令序列,所述待测工控指令序列包括多个待测工控指令数据,所述待测工控指令数据包括待测工控指令和所述待测工控指令到达的时间;
根据权利要求1-7任意一项所述的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各所述待测工控指令及各所述待测工控指令到达的时间对所述待测工控指令序列进行检测;
根据检测结果判断所述工控指令序列是否异常。
9.根据权利要求8所述的工控指令序列异常检测方法,其特征在于,所述根据权利要求1-7任意一项所述的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各所述待测工控指令及各所述待测工控指令到达的时间对所述待测工控指令序列进行检测,包括:
根据各所述待测工控指令及所述待测工控指令到达的时间分别建立同一类所述待测工控指令到达的时间序列;
根据各类所述工控指令到达的时间序列分别得到各类所述待测工控指令的第二周期序列;
根据各类所述待测工控指令的第二周期序列分别形成各类所述待测工控指令的第二周期统计数据;
判断各类所述待测工控指令的第二周期统计数据是否与所述复杂周期模型相匹配;
如果各类所述待测工控指令的第二周期统计数据与所述复杂周期模型相匹配,则判定所述待测工控指令序列正常。
10.根据权利要求9所述的工控指令序列异常检测方法,其特征在于,
如果各类所述待测工控指令的第二周期统计数据不与所述复杂周期模型相匹配,则发出报警提示所述工控指令序列异常。
11.一种复杂周期模型的生成装置,其特征在于,包括:
第一获取模块,用于获取多个工控指令数据集,所述工控指令数据集包括多个同一类工控指令及各所述工控指令到达的时间;
得到模块,用于根据各所述工控指令及各所述工控指令到达的时间序列得到各所述工控指令的第一周期序列;
第一形成模块,用于根据各所述工控指令的第一周期序列形成所述工控指令的第一周期统计数据,所述第一周期统计数据包括至少一个周期数据;
第一统计模块,用于统计所述第一周期统计数据中每个周期数据及其出现的第一次数;
第一判断模块,用于判断是否存在大于或等于第一预设次数阈值的第一次数;
第二统计模块,用于如果存在大于或等于所述第一预设次数阈值的第一次数,根据所述第一周期统计数据统计以所述第一次数大于或等于第一预设次数阈值的周期数据为首,长度加一的周期数据序列及其出现的第二次数;
第二判断模块,用于判断是否存在大于或等于所述第一预设次数阈值的第二次数;
第三统计模块,用于如果存在大于或等于所述第一预设次数阈值的第二次数,根据所述第一周期统计数据统计以所述第二次数大于或等于第一预设次数阈值的周期数据序列为首,长度加一的周期数据序列及其出现的第二次数,并返回执行判断是否存在大于或等于所述第一预设次数阈值的第二次数的步骤,直至所述周期数据序列长度等于第一预设长度阈值;
第二形成模块,用于根据所述周期数据序列长度等于第一预设长度阈值的周期数据序列形成复杂周期模型。
12.一种工控指令序列异常检测装置,其特征在于,包括:
第二获取模块,用于获取待测工控指令序列,所述待测工控指令序列包括多个待测工控指令数据,所述待测工控指令数据包括待测工控指令和所述待测工控指令到达的时间;
检测模块,用于根据权利要求1-7任意一项所述的复杂周期模型的生成方法生成的不同类工控指令对应的复杂周期模型、各所述待测工控指令及各所述待测工控指令到达的时间对所述待测工控指令序列进行检测;
判断模块,用于根据检测结果判断所述工控指令序列是否异常。
13.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7任意一项所述的复杂周期模型的生成方法或如权利要求8-10任意一项所述的工控指令序列异常检测方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-7任意一项所述的复杂周期模型的生成方法或如权利要求8-10任意一项所述的工控指令序列异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693677.0A CN110442837B (zh) | 2019-07-29 | 2019-07-29 | 复杂周期模型的生成方法、装置及其检测方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693677.0A CN110442837B (zh) | 2019-07-29 | 2019-07-29 | 复杂周期模型的生成方法、装置及其检测方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442837A true CN110442837A (zh) | 2019-11-12 |
CN110442837B CN110442837B (zh) | 2023-04-07 |
Family
ID=68432177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910693677.0A Active CN110442837B (zh) | 2019-07-29 | 2019-07-29 | 复杂周期模型的生成方法、装置及其检测方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442837B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377842A (zh) * | 2021-06-21 | 2021-09-10 | 山东八五信息技术有限公司 | 基于工业互联网大数据的应急管理方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209843A (zh) * | 2016-07-12 | 2016-12-07 | 工业和信息化部电子工业标准化研究院 | 一种面向Modbus协议的数据流异常分析方法 |
CN106502234A (zh) * | 2016-10-17 | 2017-03-15 | 重庆邮电大学 | 基于双轮廓模型的工业控制系统异常检测方法 |
CN107065838A (zh) * | 2017-06-05 | 2017-08-18 | 广东顺德西安交通大学研究院 | 基于指令感知和模型响应分析的工控系统攻击检测方法 |
CN108062041A (zh) * | 2017-11-28 | 2018-05-22 | 国网河南省电力公司电力科学研究院 | 一种针对电力无线业务的RaptorQ编码参量动态调整方法及装置 |
WO2018193571A1 (ja) * | 2017-04-20 | 2018-10-25 | 日本電気株式会社 | 機器管理システム、モデル学習方法およびモデル学習プログラム |
CN109344610A (zh) * | 2018-08-31 | 2019-02-15 | 中国科学院信息工程研究所 | 序列攻击的检测方法及装置 |
CN109743187A (zh) * | 2018-11-23 | 2019-05-10 | 北京奇安信科技有限公司 | 工控网络异常检测方法及装置 |
CN109768952A (zh) * | 2018-10-29 | 2019-05-17 | 四川大学 | 一种基于可信模型的工控网络异常行为检测方法 |
CN109962881A (zh) * | 2017-12-22 | 2019-07-02 | 北京安天网络安全技术有限公司 | 基于工业控制系统的入侵检测方法、装置以及系统 |
-
2019
- 2019-07-29 CN CN201910693677.0A patent/CN110442837B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209843A (zh) * | 2016-07-12 | 2016-12-07 | 工业和信息化部电子工业标准化研究院 | 一种面向Modbus协议的数据流异常分析方法 |
CN106502234A (zh) * | 2016-10-17 | 2017-03-15 | 重庆邮电大学 | 基于双轮廓模型的工业控制系统异常检测方法 |
WO2018193571A1 (ja) * | 2017-04-20 | 2018-10-25 | 日本電気株式会社 | 機器管理システム、モデル学習方法およびモデル学習プログラム |
CN107065838A (zh) * | 2017-06-05 | 2017-08-18 | 广东顺德西安交通大学研究院 | 基于指令感知和模型响应分析的工控系统攻击检测方法 |
CN108062041A (zh) * | 2017-11-28 | 2018-05-22 | 国网河南省电力公司电力科学研究院 | 一种针对电力无线业务的RaptorQ编码参量动态调整方法及装置 |
CN109962881A (zh) * | 2017-12-22 | 2019-07-02 | 北京安天网络安全技术有限公司 | 基于工业控制系统的入侵检测方法、装置以及系统 |
CN109344610A (zh) * | 2018-08-31 | 2019-02-15 | 中国科学院信息工程研究所 | 序列攻击的检测方法及装置 |
CN109768952A (zh) * | 2018-10-29 | 2019-05-17 | 四川大学 | 一种基于可信模型的工控网络异常行为检测方法 |
CN109743187A (zh) * | 2018-11-23 | 2019-05-10 | 北京奇安信科技有限公司 | 工控网络异常检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
ZHIYOU OUYANG ETC.: "Multi-View Stacking Ensemble for Power Consumption Anomaly Detection in the Context of Industrial Internet of Things", 《IEEE ACCESS》 * |
许辅昊: "ICS异常数据检测技术研究", 《中国优秀硕士论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377842A (zh) * | 2021-06-21 | 2021-09-10 | 山东八五信息技术有限公司 | 基于工业互联网大数据的应急管理方法及系统 |
CN113377842B (zh) * | 2021-06-21 | 2022-07-08 | 山东八五信息技术有限公司 | 基于工业互联网大数据的应急管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110442837B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321371B (zh) | 日志数据异常检测方法、装置、终端及介质 | |
US10679135B2 (en) | Periodicity analysis on heterogeneous logs | |
CN107302450B (zh) | 一种数据采集任务变更方法及装置 | |
CN110278211A (zh) | 一种基于区块链的数据检验方法及装置 | |
CN111262722A (zh) | 一种用于工业控制系统网络的安全监测方法 | |
CN108628929A (zh) | 用于智能存档和分析的方法和装置 | |
WO2017165018A1 (en) | Automated event id field analysis on heterogeneous logs | |
CN106383916B (zh) | 基于工业设备预测性维护的数据处理方法 | |
US9210057B2 (en) | Cross-cutting event correlation | |
CN106936812B (zh) | 一种云环境下基于Petri网的文件隐私泄露检测方法 | |
CN109587125A (zh) | 一种网络安全大数据分析方法、系统及相关装置 | |
US20140040279A1 (en) | Automated data exploration | |
CN109639756A (zh) | 一种终端网络关联关系展示和设备接入实时监测系统 | |
CN110456765B (zh) | 工控指令的时序模型生成方法、装置及其检测方法、装置 | |
CN109660407A (zh) | 分布式系统监控系统及方法 | |
CN109063885A (zh) | 一种变电站异常量测数据预测方法 | |
Matoušek et al. | Efficient modelling of ICS communication for anomaly detection using probabilistic automata | |
Madhawa et al. | Roll forward validation based decision tree classification for detecting data integrity attacks in industrial internet of things | |
CN110442837A (zh) | 复杂周期模型的生成方法、装置及其检测方法、装置 | |
CN109729073B (zh) | 一种电网信息物理系统中的网络异常识别方法及系统 | |
RU180789U1 (ru) | Устройство аудита информационной безопасности в автоматизированных системах | |
WO2022115419A1 (en) | Method of detecting an anomaly in a system | |
CN110415136B (zh) | 一种电力调度自动化系统服务能力评估系统与方法 | |
CN107145599A (zh) | 一种大数据资产管理系统 | |
CN113887799A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |