欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 工业控制网络异常网络行为的检测防护方法和系统独创技术22082字

工业控制网络异常网络行为的检测防护方法和系统

2021-02-28 08:22:51

工业控制网络异常网络行为的检测防护方法和系统

  技术领域

  本发明涉及工业控制安全领域技术领域,特别涉及一种工业控制系统异常行为防护方法和系统。

  背景技术

  由于工业控制系统设计之初是一个与外界物理隔离的系统,因此传统的工业控制协议没有考虑信息安全和网络安全的问题。随着标准网络和互联网技术在工业控制系统的广泛应用,工业控制系统面临的安全威胁正日益加剧,比如:为了造成工业控制系统的损坏,病毒可以伪装成可编程逻辑控制器发送流量;通过识别重要基础设施通信的对人机界面(HMI)实施代码注入;利用MODBUS、DNP3等工业控制系统协议;源自外部的主机的恶意活动;利用运营环境中使用的通用的通信协议,比如HTTP(Hyper Text Transfer Protocol)、FTP(File Transfer Protocol)、SMB(Server Message Block)等;运营网络中的授权用户进行授权范围之外的非授权操作。为了解决这些问题,需要有具有针对性的检测和防护方法来缓解工业控制系统面临的风险。

  发明内容

  本发明提供了一种工业控制系统异常网络行为检测防护方法和系统,用于发现和解决在控制系统中的控制器在外界干扰或自身出现问题时出现不符合正常网络行为基准的网络事件,潜在的工业控制系统信息安全隐患。

  一种工业控制网络异常网络行为的检测防护方法,该检测防护方法包括:

  从工业控制网络多个工业控制设备传输数据包中获取特定字段;基于数据包的特定字段获取特定协议矢量;

  基于一个网络行为状态的特定协议矢量指示产生一个数值;

  维护网络行为状态机,包括网络行为状态列表和转移计数器,其中,所述的转移计数器基于所述网络行为状态矢量产生的数值进行计数,根据转移计数器确定转移概率,所述转移概率是指在正常的网络运行中从第一个网络状态到随后第二个网络状态的估计概率;

  为网络行为基准建立估计概率门限,确定从特定的网络数据包流获得的一系列的网络行为状态发生的转移概率;

  当一系列的网络行为状态发生的转移概率低于该估计概率门限时表示异常情况;

  如果确定的一系列的网络行为状态发生的转移概率低于估计概率门限,则执行保护措施。

  优选的,数据包中特定字段是从被监控的工业控制网络中获得。

  优选的,从特定的网络数据包流中得到的一系列网络行为状态包括“n”个连续网络行为状态,n大于2。

  优选的,所述保护措施包括产生告警、阻断数据包和/或禁用网络节点装置。

  优选的,所述保护措施中的告警包括取证数据。

  优选的,所述数据包特定字段代表了表示特定网络通信的协议。

  一种工业控制网络异常网络行为的检测防护的计算机系统,其特征在于:包括处理器;

  存储器;存储有一个或多个计算机程序模块,其中,所述一个或多个计算机程序模块被存储在存储器中、并配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行实现上述任一一项所述的检测防护方法的指令。一种存储介质,其特征在于,所述存储介质存储有工业控制网络异常网络行为的检测防护程序,所述程序被一个或多个处理器执行时实现上述任一一项所述的检测防护方法。

  下面对本申请做进一步说明:

  为实现本发明的目的,本发明针对工业控制系统的特点,大量存在的是有限的设备之间通信,相比通常的IT系统,工业控制网络的通信能够被更清晰的定义,在这个前提下,本发明采用的技术方案如下:

  1.在控制网络中从不同的控制器,例如可编程逻辑控制器(PLC)的流量中学习建立其正常的行为模式,用于检测试图偏离正常行为模式的企图。

  2.在控制网络中从不同的HMI流量中学习建立其正常的行为模式,用于检测偏离所述正常行为模式的企图,这其中包括实行代码注入的尝试。

  3.检查和验证当前在网络上传输的数据包是否符合已知规范。

  4.以状态机方式对网络行为进行自动精准建模,将网元的运行映射为网络行为状态,用有限的状态集合为网络行为建模,然后利用每个网元已构建的合法的网络行为模型,追踪每个网元的网络行为。

  本发明的第一方面,提供一种检测工业控制网络中异常网络行为及防护的方法,所述方法包括:建立一个符合现场要求的网络行为基准,包括网络状态列表和转移概率,其中转移概率是在正常的网络运行过程中从一个网络状态到下一个网络状态转移的估计概率;建立一个概率门限,当一系列网络状态发生的概率低于该门限时表示异常情况;根据符合现场要求的网络行为基准,确定从特定的网络数据包流获得的一系列网络状态发生的概率;如果确定的一系列网络状态发生的概率低于估计概率门限,则执行防护措施。

  可选地,建立包括网络状态列表和转移概率的正常网络行为基准需要:分析一系列表示正常网络行为的数据包,确定当时网络状态的序列;在已经确定的网络状态序列中,根据从第一个网络状态到第二个网络状态的次数,计算第一个网络状态到随后的第二个网络状态的概率。

  可选地,特定数据包流来自被监控的工业控制网络(该工业控制网络可以是控制网络130,也可以是现场网络110)。可选地,从特定数据包流得到的一系列网络状态包括“n”个连续网络状态,这里“n”大于2。

  可选地,采取的保护措施包括产生告警;可选地,采取的保护措施包括阻断数据包。可选地,采取的保护措施包括禁用网络节点装置。可选地,告警包括取证数据。

  本申请中的转移概率是根据正常情况下,系统从一个状态(比如A状态)转移到另一个状态(比如B状态)的计数,与A状态转移到所有可能状态(有限数目,比如共有5中可能的状态,A-A,A-B,A-C,A-D,A-E,)计数之和的比值,此时n=2。若n>2,所以转移概率是两个或两个以上的转移概率的乘积。

  本发明的第二方面,提供一种检测工业控制网络中异常网络行为并提供防护措施的计算机系统,该计算机系统包括用于存储计算机组件的存储介质;至少一个执行计算机组件的处理器;第一计算机组件用于建立一个符合现场要求的网络行为基准,网络行为基准包括网络状态列表和转移概率,其中转移概率是在正常的网络运行过程中从一个网络状态到下一个网络状态转移的估计概率;第二计算机组件用于根据符合现场要求的网络行为基准,确定从特定的网络数据包流获得的一系列网络状态发生的概率;第三计算机组件用于建立一个估计概率门限,当一系列网络状态发生的概率低于估计概率门限时表示异常情况;第四计算机组件确定一系列网络状态发生的概率低于估计概率门限后,执行防护措施。

  本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被一个或多个处理器执行时实现本发明的第一方面中任意一种实施方式所述的方法。

  本发明的优点在于:

  1)本发明能够自动准确地建立工业控制系统的正常网络行为模型,在此基础上及时检测任何偏离正常行为的尝试,并根据被监控网络的实际情况发送防护指令,因此本发明能够迅速适应不同类型的工业控制系统信息安全检测的要求,适用范围宽泛;

  2)在建立正常网络行为模型后,系统进入防护阶段可以迅速发现违背正常网络行为模型的网络行为,避免信息安全事态进一步恶化,缓解网络安全风险快速有效。

  附图说明

  图1是本发明在工业控制系统中一个具体实施例的系统环境示意图;;

  图2是利用本发明实现网络行为学习和异常检测功能框架实施例;

  图3是数据采集模块一个逻辑实现实施例的处理流程;

  图4是告警模块的一个逻辑实现实施例的处理流程;

  图5是状态机模块在学习阶段一个逻辑实现实施例的处理流程;

  图6是状态机模块在保护阶段一个逻辑实现实施例的处理流程。

  附图标记:

  110-现场网络;112–现场网络工业交换机;114-控制器;116-现场设备;130-控制网络;132–控制网络交换机;134–人机界面;136–控制服务器;138–检测防护服务器;142–防火墙;150–企业管理网络;152–交换机;154–PC;156–服务器;158–网络安全管理控制台;162–防火墙;170–互联网;210–网络接口模块;220–数据采集模块;225–网络拓扑数据库;230–告警模块;235–异常场景数据库;240–状态机模块;245–网络行为状态机;250–管理模块。

  具体实施方式

  本发明提供了许多可应用的创造性概念,该创造性概念可大量的体现在具体的上下文中。在下述本发明的实施方式中描述的具体实施例仅作为本发明的具体实施方式的示例性说明,不构成对本发明范围的限制。

  下面结合附图和具体的实施方式对本发明做进一步的描述。

  图1是本发明部署在工业控制系统中时一个系统环境具体实施例的示意图,该系统环境包括现场网络110,控制网络130,企业管理网络150和互联网170。其中,现场网络110中包括工业交换机112、若干台控制器114、以及在控制器控制下的若干现场设备116;控制网络130包括与防火墙142相连的交换机132、人机界面134、控制服务器136和本发明部署在控制网络130的检测保护服务器138,检测防护服务器138用于检测控制网络上的异常网络行为,提供所需的防护并根据实际需要和企业管理网络150中的网络安全管理控制台158进行通信;控制网络130和企业管理网络150之间有防火墙142隔离企业管理网络150和控制网络130之间的非法访问;企业管理网络150包括交换机152、管理人员使用的若干PC机154,提供各种应用的若干服务器156、以及可选的网络安全管理控制台158;在企业管理网络150和互联网170之间有防火墙162负责隔离互联网170和企业管理网络150之间的非法访问。

  图2是本发明的检测防护服务器138在一个具体实施例的功能架构,包括网络通信接口模块210、数据采集模块220、网络拓扑数据库225、告警模块230、异常场景数据库235、状态机模块240和网络行为状态机245、以及管理模块250。

  其中网络通信接口模块210,负责与检测防护服务器138内部和外部的计算机和设备通信,例如物理连接、虚拟或逻辑数据链路等;

  数据采集模块220执行深度包解析的功能,例如从网络通信接口模块210读取数据包、提取数据包中的特定字段,为告警模块230和状态机模块240提供数据包数据和元数据;

  网络拓扑数据库225拥有已经检测到的工业控制网络的主设备和从属设备的信息,例如,在检测防护服务器138的学习阶段,网络拓扑数据库225为数据采集模块220所用,在检测防护服务器138的防护阶段,为告警模块230或状态机模块240所用;

  告警模块230是基于异常场景告警,所述场景是一系列网络行为匹配条件的集合,包括数据包匹配数据、和/或元数据匹配数据、和/或用于匹配数据包或一系列数据包的状态信息,以及当场景满足特定的条件时有关行动的一个指令。例如,一个和MODBUS相关的场景数据结构可能包括MODBUS子站地址、MODBUS功能代码和数据包元数据。告警模块230将接收到的每个数据包与异常场景数据库235的场景匹配,检查接收到的数据包是否符合所使用的工业控制协议,是否包含已知威胁,是否符合当前的控制流程的要求,是否符合当前控制系统的配置等等,一旦告警模块230检测到与异常场景数据库中任何一个场景匹配,则产生告警;

  异常场景数据库235包括描述网络行为的条件列表,可以通过管理模块250预先加载;

  状态机模块240可以从数据采集模块220接收数据,例如数据包数据和元数据,状态机模块240根据所处的阶段进行不同的操作,在学习阶段,状态机模块240通过分析从数据采集模块220接收到数据包数据/元数据生成网络行为状态机245,在防护阶段,状态机模块240结合网络行为状态机245分析每个接收到的数据包,识别异常的网络行为,并且在异常网络事件发生时产生防护指令,包括告警、阻断数据包或禁用相关的网元,状态机模块240在学习阶段的工作流程实施例参见图5,状态机模块240在防护阶段的实施例参见图6;

  管理模块250负责与检测防护服务器138的内部模块之间的协调管理以及与外部设备之间的交互,例如,检测防护服务器138与部署在企业管理网络的网络安全管理控制台158之间交换管理请求和告警信息,又例如,检测防护服务器138与人机界面134的交互可能包括检测防护服务器138从学习阶段向防护阶段的迁移。

  图3是数据采集模块220的一个逻辑实现实施例的处理流程,如步骤S302,数据采集模块220接收控制网络的数据包,例如同通过网络通信接口模块210获得,或从一个存储在硬盘上的文件中的捕获数据包;如步骤S304,数据采集模块220对接收到的数据包执行深度包解析;如步骤306,数据采集模块220在步骤S304的基础上确定数据包使用的协议类型,例如,在传输协议封装在以太网协议(MODBUS/TCP),数据采集模块220可检查以太网协议字段,ether type或VLAN(Virtual Local Area Network)标识,结合上层字段像Modbus功能代码和单元标识等来确定协议类型,协议类型可能是MODBUS、OPC、IEC61850等等;如步骤S308,数据采集模块220从接收到的数据包选择特定字段,例如工业控制协议中通信双方的标识、指令和查询,以及数据包的元数据,例如数据包到达时间和输入端口号等,所有这些数据形成了一个集合;如步骤S310,数据采集模块220可以根据当前接收到的数据包中主从设备通信地址更新网络拓扑数据库225,数据采集模块220还可以从网络拓扑数据库225中删除长期没有使用的地址,在典型的实施例中,数据采集模块220只在检测防护服务器138处于学习阶段时对网络拓扑数据库225进行更新;如步骤S312,数据采集模块220可能存储与当前数据包有关的取证数据用于可能产生的告警;如步骤S314,数据采集模块220基于步骤S310中得到的数据集合准备一个数据矢量;如步骤S316,数据采集模块220转发数据矢量,例如转发至状态机模块240。

  图4是基于场景报警模块的一个逻辑实现实施例的处理流程,告警模块230从异常场景数据库235选择异常场景与当前数据包进行匹配,如步骤S402,告警模块230从异常场景数据库235提取数据包匹配场景,告警模块230进行数据包匹配,包括偏移量和数据模式的匹配,例如匹配要求可能是指定的IP地址范围要求,超出范围是非法的IP地址,数据包匹配的结果可能是当前数据包和数据包异常场景“匹配”或“不匹配”;

  如步骤S404,如果S402的匹配结果是匹配,执行步骤S410,反之,执行步骤S406;

  如步骤S406,告警模块230从异常场景数据库235提取元数据包匹配场景,告警模块230进行元数据匹配,例如元数据的匹配规则可能是规定了需要监督的端口,或者是数据包到达间隔时间值或范围,元数据匹配的结果可能是当前数据包和元数据异常场景“匹配”或“不匹配”;

  如步骤S408,如果S406的匹配结果是匹配,执行步骤S410,反之,执行步骤S412;

  如步骤S410,告警模块230发出防护信号,例如发送至管理模块250报告检测到网络行为,然后返回步骤S402;

  如步骤S412,告警模块230从异常场景数据库235提取状态特性匹配场景,告警模块230进行状态特性场景匹配,例如场景规定为检测到一个设备的消失,如果数据包构成的是未响应的请求(在达到未应答请求特定的门限之后),则构成匹配。状态特性场景匹配的结果可能是当前数据包和状态特性场景“匹配”或“不匹配”;

  如步骤S414,如果S412的匹配结果是匹配,执行步骤S410,反之,结束当前数据包的基于场景告警处理,返回执行步骤S416进行下一个数据包的处理。

  图5是状态机模块240在学习阶段一个逻辑实现实施例的处理流程,如步骤S502,状态机模块240处理启动;

  如步骤S504,状态机模块240从数据采集模块220接收到一个代表一个数据包的特定字段和元数据的输入特定协议矢量(该特定协议矢量是从控制网络中实时解析的数据包数据计算得到的);

  如步骤S506,状态机模块240对接收到的特定协议矢量应用聚类算法得到一个数值表示“现态”,状态机模块240在网络行为状态机245中选择与现态数值相关的记录;

  如步骤S508,状态机模块240检查是否接收到结束学习的指令,若是,执行步骤S510,反之,执行步骤S512;如步骤S510,状态机模块240结束学习阶段进入防护阶段;

  如步骤S512,状态机模块240检查是否接收到新的数据特定协议数据矢量,若是,执行步骤S514,反之等待;

  如步骤S514,状态机模块240对新接收到的特定协议矢量应用聚类算法得到一个数值表示“次态”,状态机模块240在网络行为状态机245中选择与次态数值相关的记录;

  如步骤S516,状态机模块240增加网络行为状态机245列表记录中从现态到次态的转移计数器的数值;

  如步骤S518,状态机模块240将次态的数值赋值给新的现态,并从网络行为状态机245列表中选择新的现态对应的记录,然后返回步骤S508。

  图6是状态机模块240在保护阶段一个逻辑实现实施例的处理流程,如步骤S602,处于保护阶段的状态机模块240接收到一个特定协议矢量;

  如步骤S604,状态机模块240对从数据采集模块220接收到的特定协议矢量应用聚类算法得到一个数值表示“次态”

  如步骤S606,状态机模块240利用网络行为状态机245中转移计数器中的信息确定从现态到次态的转移概率(这里的现态是从网络行为状态机中存储的协议矢量计算得到的);

  如步骤S608,状态机模块240将步骤S606得到的计算结果结合之前最后“n”个状态的计算概率,计算出发生连续“n”个状态的转移概率,在一个具体的实施例中,n大于2;

  如步骤S610,状态机模块240比较步骤S608得到的转移概率和门限概率大小,若小于门限概率(所述的门限概率是经验值,根据实际情况调整,来保证不会造成漏报(假阴,错的当成对的)和错报(假阳,对的当成错的),执行步骤S612,反之,返回步骤S602准备接收下一个特定协议矢量;

  如步骤S612,状态机模块240采取防护措施,例如产生一个告警报告给管理模块250,之后返回步骤S602准备接收下一个特定协议矢量。

  其中,步骤608是计算连续的n个状态的概率的计算,举例来说,有一个控制过程是状态A1→状态A2→状态A3→状态A4→状态A5如果我们要计算连续4个状态的概率,当前的次态是状态A5,那么,连续4个状态的概率=P(A2→A3)*P(A3→A4)*P(A4→A5),P(现态,次态)表示从现态到次态的概率,当然,现态和次态是针对某一时刻来说的,此时的“次态”就是下次的“现态”,参见步骤518。

  以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

  应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

《工业控制网络异常网络行为的检测防护方法和系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)