CN111007796B - 一种plc安全实时监控方法和系统 - Google Patents
一种plc安全实时监控方法和系统 Download PDFInfo
- Publication number
- CN111007796B CN111007796B CN201911421269.6A CN201911421269A CN111007796B CN 111007796 B CN111007796 B CN 111007796B CN 201911421269 A CN201911421269 A CN 201911421269A CN 111007796 B CN111007796 B CN 111007796B
- Authority
- CN
- China
- Prior art keywords
- plc
- output
- input
- real
- time monitoring
- 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
Links
Images
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/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供一种PLC安全实时监控方法和系统。本发明技术方案通过分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系,设定安全检测规则,并存储在实时监控模块中;在PLC运行时,使用实时监控模块,根据安全检测规则对PLC的各项输入和输出进行监测,在出现异常时及时报警,以保证PLC系统的安全运行。本发明技术方案能够防止由于引脚配置异常改变引起的PLC安全问题,还可以检测PLC执行程序过程发生的异常情况,与现有安全PLC相比,可以进一步加强PLC的安全防护,使PLC系统具有更高的安全性。
Description
技术领域:
本发明涉及工业控制和安全领域,具体涉及一种PLC安全实时监控方法和系统。
背景技术:
工业控制系统或者叫工控系统,是国家工业体系和关键基础设施的重要组成部分,工控系统的安全关系到国家的战略安全、社会稳定。
自伊朗核电站遭受“震网”病毒攻击事件以来,工控系统逐渐成为攻击者的重要攻击目标。可编程逻辑控制器(PLC)是工业控制系统中重要的基础性控制设备, 其面临的安全问题也受到了越来越多的重视。
2016年11月,研究者阿巴斯和哈舍米发现一种利用漏洞攻击的方法,甚至不用对PLC固件或逻辑做任何更改,只需要操作一下设备的输入输出(I/O),就能使攻击者不触发任何警报地控制PLC。他们发现了两种引脚控制攻击方法。其一,是修改引脚配置,允许PLC上恶意软件将引脚状态从输入变成输出或者相反。其二,引脚复用,与第一种方法类似,只不过修改的是同一根引脚的功用。受到这样的攻击后,PLC应用系统不会产生任何报错,却有可能引发灾难性的后果。
对于这类攻击,目前尚无有效的防护方法。现有技术中的安全PLC通常是具有两个或者多个CPU,每个CPU分别执行相同的应用程序,然后把执行结果进行比较,如果执行结果一致,就输出这个执行结果,否则可以使系统停机或切换到安全状态。这种方式并不能检查出输入输出配置的异常。现有技术中对输入输出的防护主要考虑的是对I/O引脚的外在保护,对于由内部的引脚配置改变引起的异常也起不到防护作用。
发明内容:
本发明的目的是针对利用PLC应用系统漏洞对PLC进行的引脚控制攻击,提供一种PLC安全实时监控方法和系统,通过对PLC的输入输出进行实时监控以及基于规则的检测,防止由于引脚配置异常改变引起的PLC安全问题,加强PLC的安全防护。
为了实现上述目的,本发明技术方案提供一种PLC安全实时监控方法,其中,PLC应用系统中包括实时监控模块,所述方法包括以下步骤:
准备阶段:
S1、分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系,设定安全检测规则,并将所述安全检测规则存储在所述实时监控模块中;
运行阶段:
S2、当PLC启动时,所述实时监控模块开始运行;
S3、当PLC在输入采样阶段时,所述实时监控模块从PLC的输入模块读取输入数据,并判断所述输入数据是否符合所述安全检测规则;如果符合则执行S4,如果不符合则执行S6;
S4、当PLC进入输出刷新阶段,且在PLC向受其控制的设备输出之前,所述实时监控模块从PLC的输出模块读取输出数据,并判断所述输出数据是否符合所述安全检测规则;如果符合则执行S5,如果不符合则执行S6;
S5、PLC正常输出,然后进入下一个扫描周期,执行S3;
S6、所述实时监控模块向PLC报警,PLC进行应急响应。
基于上述,步骤S1具体包括:
S101、分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
S102、正常运行PLC,并使所述各项输入的值在所述第一安全规则集允许的范围内改变;所述实时监控模块在PLC每个扫描周期的输入刷新阶段从PLC的输入模块读取输入数据,在所述扫描周期的输出刷新阶段从PLC的输出模块读取输出数据,并将所述输入数据和所述输出数据对应地进行记录;
S103、当所述实时监控模块记录的数据足以遍历PLC输入的各种情况时,使用机器学习领域的归纳学习方法,对所述实时监控模块记录的所述输入数据和所述输出数据进行归纳学习,提取规则并组成第二安全规则集;
S104、将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块中。
基于上述,如果所述实时监控模块记录的所述输入数据和/或所述输出数据中包括模拟量,则在对所述输入数据和所述输出数据进行归纳学习前对所述模拟量进行量化处理,在进行归纳学习后,对提取出的所述规则中涉及量化后数据的,进行反量化处理。
基于上述,步骤S103中所述的机器学习领域的归纳学习方法,包括决策树归纳法。
基于上述,步骤S1具体包括:
S101、分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
S102、根据PLC的应用程序或者功能设计目标,分析所述各项输入和输出之间的关联逻辑关系,提取出每项输出对应的取值规则,组成第二安全规则集;
S103、将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块。
基于上述,步骤S102包括:根据PLC的应用程序或者功能设计目标,确定状态变量,分析所述各项输入与所述状态变量之间的关联逻辑关系,列出状态方程;分析所述各项输出与所述状态变量之间的关联逻辑关系,列出输出方程;根据所述状态方程和输出方程,推导所述各项输入和输出之间的关联逻辑关系,提取所述各项输出对应的规则,组成第二安全规则集。
本发明技术方案还提供一种PLC安全实时监控系统,包括实时监控模块,所述实时监控模块分别与PLC的CPU模块、输入模块和输出模块连接;
所述实时监控模块中内置安全检测规则;其中所述安全检测规则是通过分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系设定的;
所述实时监控模块,在PLC运行时,判断一个PLC扫描周期内,在输入采样阶段从输入模块读取的输入数据以及进入输出刷新阶段从输出模块读取的输出数据是否符合所述安全检测规则,若均符合则PLC正常运行,否则向PLC报警,PLC进行应急响应。
基于上述,该系统还包括用于设定所述安全检测规则的安全检测规则设定模块,所述安全检测规则设定模块与所述实时监控模块连接。
基于上述,所述安全检测规则设定模块设定所述安全检测规则的步骤包括:
分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
正常运行PLC,并使所述各项输入的值在所述第一安全规则集允许的范围内改变;所述实时监控模块在PLC每个扫描周期的输入刷新阶段从PLC的输入模块读取输入数据,在所述扫描周期的输出刷新阶段从PLC的输出模块读取输出数据,并将所述输入数据和所述输出数据对应地进行记录;
当所述实时监控模块记录的数据足以遍历PLC输入的各种情况时,使用机器学习领域的归纳学习方法,对所述实时监控模块记录的所述输入数据和所述输出数据进行归纳学习,提取规则并组成第二安全规则集;
将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,存储在所述实时监控模块中。
基于上述,所述安全检测规则设定模块设定所述安全检测规则的步骤包括:
分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
根据PLC的应用程序或者功能设计目标,分析所述各项输入和输出之间的关联逻辑关系,提取出每项输出对应的取值规则,组成第二安全规则集;
将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块。
本发明的技术方案通过分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系,设定安全检测规则,并存储在实时监控模块中;在PLC运行时,使用实时监控模块,根据安全检测规则对PLC的各项输入和输出进行监测,在出现异常时及时进行应急响应,以保证PLC应用系统的安全运行。与现有技术中的方案相比,本发明的技术方案能够及时发现PLC输入输出的异常,对PLC应用程序的异常也可以起到检测作用,使PLC应用系统具有更高的安全性。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体地说:
1.本发明技术方案先设定安全检测规则,在PLC运行时根据安全检测规则对PLC的各项输入和输出进行监测,能够防止由于引脚配置异常改变引起的PLC安全问题,与现有安全PLC相比,可以进一步加强PLC的安全防护,使PLC应用系统具有更高的安全性。
2.本发明技术方案不仅能够防止由于引脚配置异常改变引起的PLC安全问题,当PLC执行应用程序的过程发生异常,从而引起PLC输出异常时,本发明技术方案也可以检测出异常情况,保护PLC应用系统安全。
3.本发明技术方案中提出的使用机器学习领域的归纳学习方法,对输入和输出数据进行学习,提取规则的方法,使本发明技术方案在PLC应用程序未知或者较为复杂的情况下仍然可以使用,适用范围广泛,通用性强。
附图说明:
图1是根据本发明一个实施例的一种PLC安全实时监控方法的示意图;
图2是根据本发明另一个实施例的一种PLC安全实时监控系统的结构示意图;
图3是根据本发明另一个实施例的一种PLC安全实时监控系统的结构示意图。
具体实施方式:
实施例1
本实施例提供了一种PLC安全实时监控方法,在PLC应用系统中包括实时监控模块,如图1所示,所述方法包括以下步骤:
准备阶段:
S1、分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系,设定安全检测规则,并将所述安全检测规则存储在所述实时监控模块中;
运行阶段:
S2、当PLC启动时,所述实时监控模块开始运行;
S3、当PLC在输入采样阶段时,所述实时监控模块从PLC的输入模块读取输入数据,并判断所述输入数据是否符合所述安全检测规则;如果符合则执行S4,如果不符合则执行S6;
S4、当PLC进入输出刷新阶段,且在PLC向受其控制的设备输出之前,所述实时监控模块从PLC的输出模块读取输出数据,并判断所述输出数据是否符合所述安全检测规则;如果符合则执行S5,如果不符合则执行S6;
S5、PLC正常输出,然后进入下一个扫描周期,执行S3;
S6、所述实时监控模块向PLC报警,PLC进行应急响应。
安全检测规则可以具有多种形式,包括“if—then—else”形式,用“∈”、“>”、“<”、“=”、“≠”、“≤”、“≥”等符号表示的取值范围的形式,定义值列表的形式等等,也可以是两种或多种形式的组合。
实时监控模块可以是附加在PLC应用系统上的一个单独的硬件模块,也可以是PLC应用系统中的一个软件模块。软件模块也可以运行在PLC的CPU模块中。
PLC的一个扫描周期经过输入采样、程序执行和输出刷新三个阶段。
PLC在输入采样阶段,首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读取,并将其写入各对应的输入状态寄存器中,即刷新输入。随即关闭输入端口,进入程序执行阶段。步骤S3中所述实时监控模块从PLC的输入模块读取输入数据,可以从输入模块的输入端子、或者输入锁存器、或者状态寄存器读取数据。
PLC在程序执行阶段,按应用程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中。当所有指令执行完毕,进入输出刷新阶段,输出状态寄存器的通断状态或者数据被送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶闸管)输出,驱动相应输出设备工作。步骤S4中当PLC进入输出刷新阶段,且在PLC向受其控制的设备输出之前,所述实时监控模块从PLC的输出模块读取输出数据,是从输出状态寄存器或者输出锁存器中读取输出数据。
步骤S6是经实时监控模块判断,输入数据或者输出数据不符合所述安全检测规则时要执行的。一般来讲,所述实时监控模块将判断结果发送给PLC的CPU模块;中止PLC运行,或者进入安全运行模式,禁止PLC向受其控制的设备输出错误数据,防止异常的输入或输出给工业系统造成损害。此外,还要根据所述实时监控模块发送的所述判断结果,检查所述输入模块和/或所述输出模块的安全问题,这个工作可以由人工完成,也可以使用专门的分析软件或者硬件模块完成。
本实施例步骤S1具体包括:
S101、分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
S102、正常运行PLC,并使所述各项输入的值在所述第一安全规则集允许的范围内改变;所述实时监控模块在PLC每个扫描周期的输入刷新阶段从PLC的输入模块读取输入数据,在所述扫描周期的输出刷新阶段从PLC的输出模块读取输出数据,并将所述输入数据和所述输出数据对应地进行记录;
S103、当所述实时监控模块记录的数据足以遍历PLC输入的各种情况时,使用机器学习领域的归纳学习方法,对所述实时监控模块记录的所述输入数据和所述输出数据进行归纳学习,提取规则并组成第二安全规则集;
S104、根据所述第一安全规则集和所述第二安全规则集,设定安全检测规则,存储在所述实时监控模块中。
在步骤S102中,运行PLC并使所述各项输入的值在所述第一安全规则集允许的范围内改变,是为了获得足以遍历PLC输入以及输出的各种情况的数据,以用作归纳学习的训练数据。如果有多项输入取值具有多种可能,可以采用固定其中一项或多项输入为一种可能情况,变化其他输入使其他输入遍历各种可能情况,然后固定其中一项或多项输入为另一种可能情况,依次循环,以求最终获得足以遍历PLC输入以及输出的各种情况的数据。
本实施例中,如果所述实时监控模块记录的所述输入数据和/或所述输出数据中包括模拟量,则在对所述输入数据和所述输出数据进行归纳学习前对所述模拟量进行量化处理,在进行归纳学习后,对提取出的所述规则中涉及量化后数据的,进行反量化处理。
对所述模拟量进行量化处理,使其成为数字量,可以更容易地获得足以遍历PLC输入以及输出的各种情况的数据,另外对于有些归纳学习方法,数字量更容易处理。量化时既可以采用均匀量化,也可以采用非均匀量化。量化的尺度根据需要确定。对于数字量,也可以选择合适的尺度进一步量化,方便后续的处理。反量化处理则使提取出的规则与输入数据和/或输出数据中包括的模拟量对应起来。
归纳学习旨在从大量的经验数据中归纳抽取出一般的判定规则和模式,是从特殊情况推 导出一般规则的学习方法。在机器学习领域,一般将归纳学习问題描述为使用训练实例以引导一般规则的搜索问题。全体可能实例构成实例空间,全体可能的一般规则构成规则空间。学习的过程就是完成实例空间和规则空间之间搜索,最终找到要求的规则。在归纳学习中,常用的推理技术包括泛化、特化、转换以及知识表示的修正和提炼等。
归纳学习方法可以划分为单概念学习和多概念学习两类。对于单概念学习,学习的目的是从概念空间即规则空间)中寻找某个与实例空间一致的概念;对于多概念学习任务,是从概念空间中找出若干概念描述,对于每一个概念描述,实例空间中均有相应的空间与之对应。典型的单概念学习系统包括米切尔(Mitchell T)的基于数据驱动的变型空间法、昆兰 (Quinlan JR)的ID3方法、狄特利希(Dietterich T G)和米哈尔斯基Michalski RS)提出的基于模型驱动的Induce算法。典型的多概念学习方法和系统有米哈尔新基的AQ11、DEN-DRAL和AM程序等。多概念学习任务可以划分成多个单概念学习任务来完成,例如,AQ11 对每一概念的学习均采用Induce算法来实现。
本实施例中,步骤S103中所述的机器学习领域的归纳学习方法,包括决策树归纳法。
决策树归纳法根据数据的值,把数据分层组织成树型结构,即用树形结构来表示决策集合,这些决策集合通过对数据集的分类产生规则。在决策树中每一个分支代表一个子类,树的每一层代表一个概念。决策树归纳法是一组规则集合,使用递归的方式将训练样本集划分成更小的子集合,直到每一个子集合拥有独有的所属类别标签。
使用决策树归纳法的基本步骤是先把所有记录看作一个节点,可以根据输入或者输出项的属性,依据信息增益将这些记录迭代地划分成不同的子集合。根据样本集中的属性值,逐一地计算出每个属性值对样本集进行划分的信息增益,从中选择出具有最高信息增益的属性,作为最佳属性来划分子集合,递归整个过程直到所有集合都被正确归类。类别的划分可以采用部分输出项的取值。使用决策树归纳法的过程中可以设定递归的停止条件,也可以进行剪枝处理。
实施例2
本实施例与实施例1的区别在于,本实施例提供了另一种步骤S1具体实现方式,包括:
S101、分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
S102、根据PLC的应用程序或者功能设计目标,分析所述各项输入和输出之间的关联逻辑关系,提取出每项输出对应的取值规则,组成第二安全规则集;
S103、根据所述第一安全规则集和所述第二安全规则集,设定安全检测规则,并存储在所述实时监控模块。
本实施例中,步骤S102包括:根据PLC的应用程序或者功能设计目标,确定状态变量,分析所述各项输入与所述状态变量之间的关联逻辑关系,列出状态方程;分析所述各项输出与所述状态变量之间的关联逻辑关系,列出输出方程;根据所述状态方程和输出方程,推导所述各项输入和输出之间的关联逻辑关系,提取所述各项输出对应的规则,组成第二安全规则集。
实施例3
基于与上述方法同样的发明构思,本实施例还提供了一种PLC安全实时监控系统,如图2所示,一种PLC安全实时监控系统,包括实时监控模块,所述实时监控模块分别与PLC的CPU模块、输入模块和输出模块连接;
所述实时监控模块中内置安全检测规则;其中所述安全检测规则是通过分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系设定的;
所述实时监控模块,在PLC运行时,判断一个PLC扫描周期内,在输入采样阶段从输入模块读取的输入数据以及进入输出刷新阶段从输出模块读取的输出数据是否符合所述安全检测规则,若均符合则PLC正常运行,否则向PLC报警,PLC进行应急响应。
PLC进行应急响应包括中止PLC运行,禁止PLC向受其控制的设备输出,或者PLC进入安全运行模式等等。实时监控模块还可返回安全检测结果,即数据具体不符合安全检测规则中的哪一项或者哪些项,以便判断问题来源。
实施例4
本实施例与实施例3的区别在于:如图3所示,该PLC安全实时监控系统还包括用于设定所述安全检测规则的安全检测规则设定模块,所述安全检测规则设定模块与所述实时监控模块连接。
具体的,所述安全检测规则设定模块设定所述安全检测规则的步骤包括:
分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
正常运行PLC,并使所述各项输入的值在所述第一安全规则集允许的范围内改变;所述实时监控模块在PLC每个扫描周期的输入刷新阶段从PLC的输入模块读取输入数据,在所述扫描周期的输出刷新阶段从PLC的输出模块读取输出数据,并将所述输入数据和所述输出数据对应地进行记录;
当所述实时监控模块记录的数据足以遍历PLC输入的各种情况时,使用机器学习领域的归纳学习方法,对所述实时监控模块记录的所述输入数据和所述输出数据进行归纳学习,提取规则并组成第二安全规则集;
将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,存储在所述实时监控模块中。
实施例5
本实施例与实施例4的区别在于,提供了另一种所述安全检测规则设定模块设定所述安全检测规则的步骤,包括:分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
根据PLC的应用程序或者功能设计目标,分析所述各项输入和输出之间的关联逻辑关系,提取出每项输出对应的取值规则,组成第二安全规则集;
将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块。
上述步骤标号并不代表先后顺序,本领域技术人员能够对上述顺序进行变换而并不离开本发明的保护范围。以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (6)
1.一种PLC安全实时监控方法,其特征在于:PLC应用系统中包括实时监控模块,所述方法包括以下步骤:
准备阶段:
S1、分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系,设定安全检测规则,并将所述安全检测规则存储在所述实时监控模块中;
S101、分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
S102、正常运行PLC,并使所述各项输入的值在所述第一安全规则集允许的范围内改变;所述实时监控模块在PLC每个扫描周期的输入刷新阶段从PLC的输入模块读取输入数据,在所述扫描周期的输出刷新阶段从PLC的输出模块读取输出数据,并将所述输入数据和所述输出数据对应地进行记录;
S103、当所述实时监控模块记录的数据足以遍历PLC输入的各种情况时,使用机器学习领域的归纳学习方法,对所述实时监控模块记录的所述输入数据和所述输出数据进行归纳学习,提取规则并组成第二安全规则集;
S104、将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块中;
运行阶段:
S2、当PLC启动时,所述实时监控模块开始运行;
S3、当PLC在输入采样阶段时,所述实时监控模块从PLC的输入模块读取输入数据,并判断所述输入数据是否符合所述安全检测规则;如果符合则执行S4,如果不符合则执行S6;
S4、当PLC进入输出刷新阶段,且在PLC向受其控制的设备输出之前,所述实时监控模块从PLC的输出模块读取输出数据,并判断所述输出数据是否符合所述安全检测规则;如果符合则执行S5,如果不符合则执行S6;
S5、PLC正常输出,然后进入下一个扫描周期,执行S3;
S6、所述实时监控模块向PLC报警,PLC进行应急响应。
2.根据权利要求1所述的PLC安全实时监控方法,其特征在于,如果所述实时监控模块记录的所述输入数据和/或所述输出数据中包括模拟量,则在对所述输入数据和所述输出数据进行归纳学习前对所述模拟量进行量化处理,在进行归纳学习后,对提取出的所述规则中涉及量化后数据的,进行反量化处理。
3.根据权利要求1或2所述的PLC安全实时监控方法,其特征在于,步骤S103中所述的机器学习领域的归纳学习方法,包括决策树归纳法。
4.一种PLC安全实时监控方法,其特征在于:PLC应用系统中包括实时监控模块,所述方法包括以下步骤:
准备阶段:
S1、分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系,设定安全检测规则,并将所述安全检测规则存储在所述实时监控模块中;
步骤S1具体包括:
S101、分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
S102、根据PLC的应用程序或者功能设计目标,分析所述各项输入和输出之间的关联逻辑关系,提取出每项输出对应的取值规则,组成第二安全规则集;
步骤S102包括:根据PLC的应用程序或者功能设计目标,确定状态变量,分析所述各项输入与所述状态变量之间的关联逻辑关系,列出状态方程;分析所述各项输出与所述状态变量之间的关联逻辑关系,列出输出方程;根据所述状态方程和输出方程,推导所述各项输入和输出之间的关联逻辑关系,提取所述各项输出对应的规则,组成第二安全规则集;
S103、将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块;
运行阶段:
S2、当PLC启动时,所述实时监控模块开始运行;
S3、当PLC在输入采样阶段时,所述实时监控模块从PLC的输入模块读取输入数据,并判断所述输入数据是否符合所述安全检测规则;如果符合则执行S4,如果不符合则执行S6;
S4、当PLC进入输出刷新阶段,且在PLC向受其控制的设备输出之前,所述实时监控模块从PLC的输出模块读取输出数据,并判断所述输出数据是否符合所述安全检测规则;如果符合则执行S5,如果不符合则执行S6;
S5、PLC正常输出,然后进入下一个扫描周期,执行S3;
S6、所述实时监控模块向PLC报警,PLC进行应急响应。
5.一种PLC安全实时监控系统,其特征在于:包括实时监控模块,所述实时监控模块分别与PLC的CPU模块、输入模块和输出模块连接;
所述实时监控模块中内置安全检测规则;其中所述安全检测规则是通过分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系设定的;
所述实时监控模块,在PLC运行时,判断一个PLC扫描周期内,在输入采样阶段从输入模块读取的输入数据以及进入输出刷新阶段从输出模块读取的输出数据是否符合所述安全检测规则,若均符合则PLC正常运行,否则向PLC报警,PLC进行应急响应;
还包括用于设定所述安全检测规则的安全检测规则设定模块,所述安全检测规则设定模块与所述实时监控模块连接;
所述安全检测规则设定模块设定所述安全检测规则的步骤包括:
分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
正常运行PLC,并使所述各项输入的值在所述第一安全规则集允许的范围内改变;所述实时监控模块在PLC每个扫描周期的输入刷新阶段从PLC的输入模块读取输入数据,在所述扫描周期的输出刷新阶段从PLC的输出模块读取输出数据,并将所述输入数据和所述输出数据对应地进行记录;
当所述实时监控模块记录的数据足以遍历PLC输入的各种情况时,使用机器学习领域的归纳学习方法,对所述实时监控模块记录的所述输入数据和所述输出数据进行归纳学习,提取规则并组成第二安全规则集;
将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,存储在所述实时监控模块中。
6.一种PLC安全实时监控系统,其特征在于:包括实时监控模块,所述实时监控模块分别与PLC的CPU模块、输入模块和输出模块连接;
所述实时监控模块中内置安全检测规则;其中所述安全检测规则是通过分析PLC的各项输入和输出,根据所述各项输入和输出的取值范围和关联逻辑关系设定的;
所述实时监控模块,在PLC运行时,判断一个PLC扫描周期内,在输入采样阶段从输入模块读取的输入数据以及进入输出刷新阶段从输出模块读取的输出数据是否符合所述安全检测规则,若均符合则PLC正常运行,否则向PLC报警,PLC进行应急响应;
还包括用于设定所述安全检测规则的安全检测规则设定模块,所述安全检测规则设定模块与所述实时监控模块连接;
所述安全检测规则设定模块设定所述安全检测规则的步骤包括:
分析PLC的各项输入和输出,根据所述各项输入和输出的物理性质以及所述PLC应用系统的要求,确定所述各项输入和输出的取值范围,组成第一安全规则集;
根据PLC的应用程序或者功能设计目标,分析所述各项输入和输出之间的关联逻辑关系,提取出每项输出对应的取值规则,组成第二安全规则集;
将所述第一安全规则集和所述第二安全规则集设定为安全检测规则,并存储在所述实时监控模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421269.6A CN111007796B (zh) | 2019-12-31 | 2019-12-31 | 一种plc安全实时监控方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421269.6A CN111007796B (zh) | 2019-12-31 | 2019-12-31 | 一种plc安全实时监控方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111007796A CN111007796A (zh) | 2020-04-14 |
CN111007796B true CN111007796B (zh) | 2021-02-12 |
Family
ID=70120222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911421269.6A Active CN111007796B (zh) | 2019-12-31 | 2019-12-31 | 一种plc安全实时监控方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111007796B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021230814A1 (en) * | 2020-05-11 | 2021-11-18 | Singapore University Of Technology And Design | Anomaly detection system for a cyber-physical system |
CN112462731B (zh) * | 2020-10-16 | 2022-06-24 | 北京西南交大盛阳科技股份有限公司 | 安全监督控制方法、安全监督控制装置、计算机设备及安全监督系统 |
CN112947393B (zh) * | 2021-04-12 | 2023-05-05 | 杭州秋瑞自动化科技有限公司 | 一种plc系统的诊断方法 |
CN113568903A (zh) * | 2021-06-25 | 2021-10-29 | 邯郸钢铁集团有限责任公司 | 一种实时plc变量抽取应用方法 |
CN116257019B (zh) * | 2023-05-15 | 2023-08-04 | 深圳华龙讯达信息技术股份有限公司 | 一种基于云端的plc管理方法及管理系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302055A (zh) * | 2015-11-09 | 2016-02-03 | 北京工业大学 | 一种工业控制系统中可编程逻辑控制器的安全监控系统及方法 |
CN105652781A (zh) * | 2016-03-12 | 2016-06-08 | 浙江大学 | 一种基于旁路信息的plc安全监控方法 |
CN105807631A (zh) * | 2016-03-08 | 2016-07-27 | 北京工业大学 | 基于plc仿真的工控入侵检测方法和入侵检测系统 |
-
2019
- 2019-12-31 CN CN201911421269.6A patent/CN111007796B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302055A (zh) * | 2015-11-09 | 2016-02-03 | 北京工业大学 | 一种工业控制系统中可编程逻辑控制器的安全监控系统及方法 |
CN105807631A (zh) * | 2016-03-08 | 2016-07-27 | 北京工业大学 | 基于plc仿真的工控入侵检测方法和入侵检测系统 |
CN105652781A (zh) * | 2016-03-12 | 2016-06-08 | 浙江大学 | 一种基于旁路信息的plc安全监控方法 |
Non-Patent Citations (2)
Title |
---|
基于PLC控制系统的入侵检测和防御;肖敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190915(第09期);第27页第1段到第31页倒数第1段 * |
肖敏.基于PLC控制系统的入侵检测和防御.《中国优秀硕士学位论文全文数据库 信息科技辑》.2019,(第09期),第27页第1段到第31页倒数第1段. * |
Also Published As
Publication number | Publication date |
---|---|
CN111007796A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111007796B (zh) | 一种plc安全实时监控方法和系统 | |
Raman et al. | Deep autoencoders as anomaly detectors: Method and case study in a distributed water treatment plant | |
CN105807631B (zh) | 基于plc仿真的工控入侵检测方法和入侵检测系统 | |
Batt et al. | Temporal logic analysis of gene networks under parameter uncertainty | |
TW201737661A (zh) | 偵測對包括耦接到用以控制實體程序的至少一感測器及/或致動器的至少一運算裝置之網路實體系統的網路攻擊之方法 | |
Hafidi et al. | On methodology for the verification of reconfigurable timed net condition/event systems | |
Pal et al. | Effectiveness of association rules mining for invariants generation in cyber-physical systems | |
Wang et al. | Supervisory control of discrete-event systems under external attacks | |
Geibel et al. | Learning relational concepts with decision trees | |
Zhao et al. | Fine-scale modeling and monitoring of wide-range nonstationary batch processes with dynamic analytics | |
Chen et al. | Modelling and verification of an automatic controller for a water treatment mixing tank | |
Sokolov et al. | Applying Methods of Machine Learning in the Task of Intrusion Detection Based on the Analysis of Industrial Process State and ICS Networking. | |
Boateng | Anomaly detection for industrial control systems based on neural networks with one-class objective function | |
Chang et al. | Detecting PLC program malicious behaviors based on state verification | |
Otero et al. | Automated problem decomposition for the boolean domain with genetic programming | |
Semyonov et al. | Information processing on the computer system state using probabilistic automata | |
Geibel et al. | Relational learning with decision trees | |
Chen et al. | Event‐triggered adaptive stabilization control of stochastic nonlinear systems with unmodeled dynamics | |
CN112818356B (zh) | 一种基于强化学习的控制流完整性保护方法 | |
Brunello et al. | Pairing Monitoring with Machine Learning for Smart System Verification and Predictive Maintenance. | |
Ramasubramanian et al. | Safety-critical online control with adversarial disturbances | |
Alfaro et al. | A comparison of different classification techniques to determine the change causes in Hotelling's T2 control chart | |
Monier et al. | Inferring Moore Machine for adaptive online Hybrid Automaton Identification | |
Milis et al. | A cognitive fault-detection design architecture | |
Shen et al. | Smart Contract Reentrancy Vulnerability Detection Method Based on Deep Learning Hybrid Model |
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 |