CN107332859B - 一种工业控制系统风险识别方法及装置 - Google Patents
一种工业控制系统风险识别方法及装置 Download PDFInfo
- Publication number
- CN107332859B CN107332859B CN201710667626.1A CN201710667626A CN107332859B CN 107332859 B CN107332859 B CN 107332859B CN 201710667626 A CN201710667626 A CN 201710667626A CN 107332859 B CN107332859 B CN 107332859B
- Authority
- CN
- China
- Prior art keywords
- protocol
- message
- type
- server
- communication
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Massaging Devices (AREA)
Abstract
本发明实施例公开了一种工业控制系统风险识别方法及装置,包括:捕获被监控工业控制系统网络通信过程中所发送的协议报文;提取协议报文的特征值;将协议报文的特征值与协议报文特征库中的特征进行比对,确定协议报文的报文类型;确定协议报文的报文通信序列;将报文通信序列与协议报文通信序列库中的报文通信序列进行比对,确定协议报文对应的协议版本;依据协议报文的报文类型,确定协议报文对应的主机类型;依据主机类型及协议版本,确定工业控制系统的风险。本发明中可依据协议报文,确定该协议报文对应的主机类型以及协议版本,进而依据主机类型以及协议版本,确定工业控制系统的风险,实现了对工业控制系统进行有效的风险识别的目的。
Description
技术领域
本发明涉及工业控制系统信息安全技术领域,具体涉及一种工业控制系统风险识别方法及装置。
背景技术
工业控制系统广泛应用于我国各领域重要基础设施,是国民生产的重要组成部分。工业控制系统经过几代革新,充分利用了传统信息系统的先进技术,同时,工业控制系统信息安全问题在工业信息化、网络化的发展过程中已经逐渐暴露出来,并且已经出现了针对专门工业控制系统的恶意代码和攻击程序。
目前,工业控制系统在安全监控与防护技术方面已经具有了初步的探索,但对于工业控制系统实施相应的安全措施具有一定的局限性。首先,工业控制系统是物理安全关键系统,因此无法直接应用传统信息安全的防护方法,同时由于工业通信协议与数据交互实时性要求,不宜对系统直接进行阻断式的防护方法,因此更多采用安全监控与应急响应的安全应用方式;其次,对于工业控制系统生命周期长的特点,很多控制系统的资料由于部署时间久远而无法获得。
因此,如何对工业控制系统进行有效的风险识别,成为目前亟待解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种工业控制系统风险识别方法及装置,能够对工业控制系统中的风险进行有效识别。
为实现上述目的,本发明实施例提供如下技术方案:
一种工业控制系统风险识别方法,包括:
捕获被监控工业控制系统网络通信过程中所发送的协议报文;
提取所述协议报文的特征值;
将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;
依据所述特征值比对结果,确定所述协议报文的报文类型;
确定所述协议报文的报文通信序列;
将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;
依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;
依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;
依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。
优选的,在捕获被监控工业控制系统网络通信过程中所发送的协议报文之后,还包括:
依据源、目的IP地址以及目的端口信息,将所述协议报文发送至不同的会话处理流程中。
优选的,所述将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果的过程包括:
依据所述协议报文的特征值在协议报文中对应的排列顺序,将相应排列位置上的特征值与预先设置的协议报文特征库中的特征值进行比对,得到特征值比对结果,其中,所述协议报文的特征值至少包括:字段类型、字段偏移、字段长度以及字段取值。
优选的,所述依据所述协议报文的报文类型,确定所述协议报文对应的主机类型的过程包括:
依据所述协议报文的报文类型,确定所述协议报文对应的会话通信双方的客户端类型以及服务器类型,得到所述协议报文对应的组件类型;
依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型。
优选的,所述依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型的过程包括:
如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件客户端与组态通信协议、Web服务器与HTTP协议、RPC客户端与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为工程师站;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站客户端;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件服务器与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:控制器监控服务器与监控协议、控制器组态服务器与组态通信协议,则判定所述主机类型为嵌入式控制器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:历史数据库服务器与历史数据库通信协议,则判定所述主机类型为历史数据库服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:实时数据库服务器与实时数据库通信协议,则判定所述主机类型为实时数据库服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议,则判定所述主机类型为人机接口设备;
如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件服务器与组态通信协议、OPC服务与OPC协议,则判定所述主机类型为OPC服务器。
一种工业控制系统风险识别装置,包括:
协议报文捕获模块,用于捕获被监控工业控制系统网络通信过程中所发送的协议报文;
特征值提取模块,用于提取所述协议报文的特征值;
特征比对模块,用于将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;
报文类型确定模块,用于依据所述特征值比对结果,确定所述协议报文的报文类型;
报文通信序列确定模块,用于确定所述协议报文的报文通信序列;
报文通信序列比对模块,用于将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;
协议版本确定模块,用于依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;
主机类型确定模块,用于依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;
风险确定模块,用于依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。
优选的,还包括:
发送模块,用于依据源、目的IP地址以及目的端口信息,将所述协议报文发送至不同的会话处理流程中。
优选的,所述特征比对模块包括:
特征比对子模块,用于依据所述协议报文的特征值在协议报文中对应的排列顺序,将相应排列位置上的特征值与预先设置的协议报文特征库中的特征值进行比对,得到特征值比对结果,其中,所述协议报文的特征值至少包括:字段类型、字段偏移、字段长度以及字段取值。
优选的,所述主机类型确定模块包括:
组件类型确定模块,用于依据所述协议报文的报文类型,确定所述协议报文对应的会话通信双方的客户端类型以及服务器类型,得到所述协议报文对应的组件类型;
主机类型确定子模块,用于依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型。
优选的,所述主机类型确定子模块包括:
工程师站确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件客户端与组态通信协议、Web服务器与HTTP协议、RPC客户端与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为工程师站;
操作员站客户端确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站客户端;
操作员站服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件服务器与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站服务器;
嵌入式控制器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:控制器监控服务器与监控协议、控制器组态服务器与组态通信协议,则判定所述主机类型为嵌入式控制器;
历史数据库服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:历史数据库服务器与历史数据库通信协议,则判定所述主机类型为历史数据库服务器;
实时数据库服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:实时数据库服务器与实时数据库通信协议,则判定所述主机类型为实时数据库服务器;
人机接口设备确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议,则判定所述主机类型为人机接口设备;
OPC服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件服务器与组态通信协议、OPC服务与OPC协议,则判定所述主机类型为OPC服务器。
基于上述技术方案,本发明实施例公开了一种工业控制系统风险识别方法及装置,包括:捕获被监控工业控制系统网络通信过程中所发送的协议报文;提取所述协议报文的特征值;将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;依据所述特征值比对结果,确定所述协议报文的报文类型;确定所述协议报文的报文通信序列;将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。由于本发明实施例中可以依据被监控工业控制系统网络通信过程中所发送的协议报文,确定该协议报文对应的主机类型以及所述协议报文对应的协议版本,进而依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险,实现了对工业控制系统进行有效的风险识别的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种工业控制系统风险识别方法的流程图;
图2为本发明实施例提供的一种协议报文序列数据结构示意图;
图3为本发明实施例提供的一种协议扩展状态机中对报文通信序列进行扩展的示意图;
图4为本发明实施例提供的一种报文通信序列与各协议版本对应关系示意图;
图5为本发明实施例提供的一种工业控制系统风险识别装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了一种工业控制系统风险识别方法的流程图,所述工业控制系统风险识别方法应用于对工业控制系统进行有效的风险识别,参照图1,所述方法可以包括:
步骤S100、捕获被监控工业控制系统网络通信过程中所发送的协议报文;
需要说明的是,本发明实施例中通过流量镜像方式,实时捕获被监控工业控制系统网络通信过程中的数据流,获取被监控工业控制系统网络通信过程中所发送的协议报文。
可选的,本发明实施例中在捕获被监控工业控制系统网络通信过程中所发送的协议报文之后,还包括:对所述协议报文进行分类处理的步骤,主要是:依据源、目的IP地址以及目的端口信息,将所述协议报文发送至不同的会话处理流程中。即根据源、目的IP地址以及目的端口信息分别建立通信会话,后续符合该会话特征的报文,直接进入该会话流程处理,进行以下处理。
步骤S110、提取所述协议报文的特征值;
可选的,所述协议报文的特征值至少包括:字段类型、字段偏移、字段长度以及字段取值,本发明实施例不做具体限定。具体请参照图2所示的协议报文序列数据结构示意图,p1、p2…pk为一报文序列,p1、p2…pk分别为报文序列中的报文,在不同报文之后的为报文中不同的特征值。
步骤S120、将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;
可选的,协议报文特征库中预先设置有多种特征,所述协议报文特征库的设置过程包括:
根据协议报文样本中协议报文的特征,提取关键字段特征值,包括字段类型、字段偏移、字段长度、字段取值,能够通过这些特征值确定唯一一关键字段;
依据字段偏移对所有关键字段的特征值进行排序,建立协议报文特征库。
所述将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果的过程包括:
依据所述协议报文的特征值在协议报文中对应的排列顺序,将相应排列位置上的特征值与预先设置的协议报文特征库中的特征值进行比对,得到特征值比对结果,其中的一种具体实现方式为:
如果一个特征值匹配成功,则继续下一个特征值的匹配;
如果一个特征值匹配失败,则立即终止匹配过程;
如果一个报文与协议报文特征库中的一个报文类型的所有特征值均匹配成功,则获取该特征值对应的报文类型。
步骤S130、依据所述特征值比对结果,确定所述协议报文的报文类型;
本发明实施例中协议报文特征库中存储有报文类型与特征值的对应关系,可以依据报文类型与特征值的对应关系,确定所述协议报文的报文类型。
步骤S140、确定所述协议报文的报文通信序列;
其中,所述协议报文的通信序列为所述协议报文在通信过程中所应用的组件状态序列,即组件的变化状态。
步骤S150、将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;
可选的,协议报文通信序列库中预先设置有多种报文通信序列,所述协议报文通信序列库的设置过程包括:
建立协议报文基础版本状态机,用于获取各种类型的协议报文的基础版本;
建立协议状态迁移的初始状态机,用于获取各种协议报文的初始报文通信序列;
建立协议扩展状态机,用于根据协议各版本更新内容,对协议报文的初始报文通信序列进行更新;
建立协议版本与协议扩展状态机中的报文通信序列之间的映射关系;
由协议版本状态机更新所增加的报文通信序列,对协议扩展状态机中报文通信序列进行状态增加扩展,并增加通信序列迁移路线,建立该协议版本与本次扩展状态机中新的报文通信序列之间的映射关系,结合图3所示的协议扩展状态机中对报文通信序列进行扩展的示意图所示,初始报文通信序列为s1、s2、s3、s4、s5,更新后的报文通信序列为s1、s2、s3、s4、s5、s6。
如果报文通信序列版本更新造成通信序列迁移路线变更,对协议版本状态机进行状态增加扩展,并增加协议迁移路线(如图3所示,从s3到s6,以及从s1到s6之间的协议迁移路线),建立该协议版本与本次协议版本状态机中新的通信序列迁移路线之间的映射关系。
步骤S160、依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;
需要说明的是,结合图4所示的报文通信序列与各协议版本对应关系示意图所示,对于每一个确定的工业控制系统通信协议版本,存在唯一一个基于协议扩展状态机的报文通信序列与之映射,即通过会话匹配的协议扩展状态机报文通信序列,能够确定会话中的协议报文所对应的协议版本。
如果一个通信会话中的全部或部分报文所触发的报文通信序,能够匹配预先设置的协议报文通信序列库中的报文通信序列,则判定该会话中的协议报文符合所匹配的报文通信序列所映射的协议版本。
如果一个通信会话中的报文在状态迁移过程中无法与预先设置的协议报文通信序列库中的报文通信序列相匹配,则立即终止该会话的状态迁移触发报文匹配过程,并清除该会话的相关记录信息。
步骤S170、依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;
所述依据所述协议报文的报文类型,确定所述协议报文对应的主机类型的过程包括:
依据所述协议报文的报文类型,确定所述协议报文对应的会话通信双方的客户端类型以及服务器类型,得到所述协议报文对应的组件类型;
依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型。
所述依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型的过程包括:
如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件客户端与组态通信协议、Web(World Wide Web,全球广域网)服务器与HTTP(Hyper Text TransferProtocol,超文本传输协议)协议、RPC(Remote Procedure Call Protocol,远程过程调用协议)客户端与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为工程师站;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站客户端;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件服务器与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:控制器监控服务器与监控协议、控制器组态服务器与组态通信协议,则判定所述主机类型为嵌入式控制器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:历史数据库服务器与历史数据库通信协议,则判定所述主机类型为历史数据库服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:实时数据库服务器与实时数据库通信协议,则判定所述主机类型为实时数据库服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议,则判定所述主机类型为人机接口设备;
如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件服务器与组态通信协议、OPC(Object Linking and Embedding for Process Control,用于过程控制的对象连接与嵌入)服务与OPC协议,则判定所述主机类型为OPC服务器。
步骤S180、依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。
由于不同主机类型以及不同协议版本都对应了不同的工业控制系统漏洞,因此,本发明实施例中可以依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。
下面对本发明实施例提供的工业控制系统风险识别装置进行介绍,下文描述的工业控制系统风险识别装置,可与上文描述的工业控制系统风险识别方法相互对应参照。下文描述的工业控制系统风险识别装置,可以认为是为实现本发明实施例提供的工业控制系统风险识别方法,所需设置的功能模块架构。
图5为本发明实施例提供的工业控制系统风险识别装置的结构框图,该装置应用于对工业控制系统风险进行识别,参照图5,该装置可以包括:
协议报文捕获模块100,用于捕获被监控工业控制系统网络通信过程中所发送的协议报文;
特征值提取模块110,用于提取所述协议报文的特征值;
特征比对模块120,用于将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;
报文类型确定模块130,用于依据所述特征值比对结果,确定所述协议报文的报文类型;
报文通信序列确定模块140,用于确定所述协议报文的报文通信序列;
报文通信序列比对模块150,用于将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;
协议版本确定模块160,用于依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;
主机类型确定模块170,用于依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;
风险确定模块180,用于依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。
还包括:
发送模块,用于依据源、目的IP地址以及目的端口信息,将所述协议报文发送至不同的会话处理流程中。
所述特征比对模块包括:
特征比对子模块,用于依据所述协议报文的特征值在协议报文中对应的排列顺序,将相应排列位置上的特征值与预先设置的协议报文特征库中的特征值进行比对,得到特征值比对结果,其中,所述协议报文的特征值至少包括:字段类型、字段偏移、字段长度以及字段取值。
所述主机类型确定模块包括:
组件类型确定模块,用于依据所述协议报文的报文类型,确定所述协议报文对应的会话通信双方的客户端类型以及服务器类型,得到所述协议报文对应的组件类型;
主机类型确定子模块,用于依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型。
所述主机类型确定子模块包括:
工程师站确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件客户端与组态通信协议、Web服务器与HTTP协议、RPC客户端与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为工程师站;
操作员站客户端确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站客户端;
操作员站服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件服务器与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站服务器;
嵌入式控制器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:控制器监控服务器与监控协议、控制器组态服务器与组态通信协议,则判定所述主机类型为嵌入式控制器;
历史数据库服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:历史数据库服务器与历史数据库通信协议,则判定所述主机类型为历史数据库服务器;
实时数据库服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:实时数据库服务器与实时数据库通信协议,则判定所述主机类型为实时数据库服务器;
人机接口设备确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议,则判定所述主机类型为人机接口设备;
OPC服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件服务器与组态通信协议、OPC服务与OPC协议,则判定所述主机类型为OPC服务器。
综上所述:
本发明实施例公开了一种工业控制系统风险识别方法及装置,包括:捕获被监控工业控制系统网络通信过程中所发送的协议报文;提取所述协议报文的特征值;将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;依据所述特征值比对结果,确定所述协议报文的报文类型;确定所述协议报文的报文通信序列;将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险。由于本发明实施例中可以依据被监控工业控制系统网络通信过程中所发送的协议报文,确定该协议报文对应的主机类型以及所述协议报文对应的协议版本,进而依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险,实现了对工业控制系统进行有效的风险识别的目的。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种工业控制系统风险识别方法,其特征在于,包括:
捕获被监控工业控制系统网络通信过程中所发送的协议报文;
提取所述协议报文的特征值;
将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;
依据所述特征值比对结果,确定所述协议报文的报文类型;
确定所述协议报文的报文通信序列;
将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;
依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;
依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;
依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险;
所述依据所述协议报文的报文类型,确定所述协议报文对应的主机类型的过程包括:
依据所述协议报文的报文类型,确定所述协议报文对应的会话通信双方的客户端类型以及服务器类型,得到所述协议报文对应的组件类型;
依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型。
2.根据权利要求1所述的方法,其特征在于,在捕获被监控工业控制系统网络通信过程中所发送的协议报文之后,还包括:
依据源、目的IP地址以及目的端口信息,将所述协议报文发送至不同的会话处理流程中。
3.根据权利要求1所述的方法,其特征在于,所述将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果的过程包括:
依据所述协议报文的特征值在协议报文中对应的排列顺序,将相应排列位置上的特征值与预先设置的协议报文特征库中的特征值进行比对,得到特征值比对结果,其中,所述协议报文的特征值至少包括:字段类型、字段偏移、字段长度以及字段取值。
4.根据权利要求1所述的方法,其特征在于,所述依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型的过程包括:
如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件客户端与组态通信协议、全球广域网Web服务器与超文本传输协议HTTP协议、远程过程调用RPC客户端与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为工程师站;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站客户端;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件服务器与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:控制器监控服务器与监控协议、控制器组态服务器与组态通信协议,则判定所述主机类型为嵌入式控制器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:历史数据库服务器与历史数据库通信协议,则判定所述主机类型为历史数据库服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:实时数据库服务器与实时数据库通信协议,则判定所述主机类型为实时数据库服务器;
如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议,则判定所述主机类型为人机接口设备;
如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件服务器与组态通信协议、用于过程控制的对象连接与嵌入OPC服务与OPC协议,则判定所述主机类型为OPC服务器。
5.一种工业控制系统风险识别装置,其特征在于,包括:
协议报文捕获模块,用于捕获被监控工业控制系统网络通信过程中所发送的协议报文;
特征值提取模块,用于提取所述协议报文的特征值;
特征比对模块,用于将所述协议报文的特征值与预先设置的协议报文特征库中的特征进行比对,得到特征值比对结果;
报文类型确定模块,用于依据所述特征值比对结果,确定所述协议报文的报文类型;
报文通信序列确定模块,用于确定所述协议报文的报文通信序列;
报文通信序列比对模块,用于将所述报文通信序列与预先设置的协议报文通信序列库中的报文通信序列进行比对,得到报文通信序列比对结果;
协议版本确定模块,用于依据所述报文通信序列比对结果,确定所述协议报文对应的协议版本;
主机类型确定模块,用于依据所述协议报文的报文类型,确定所述协议报文对应的主机类型;
风险确定模块,用于依据所述主机类型以及所述协议报文对应的协议版本,确定所述工业控制系统的风险;
所述主机类型确定模块包括:
组件类型确定模块,用于依据所述协议报文的报文类型,确定所述协议报文对应的会话通信双方的客户端类型以及服务器类型,得到所述协议报文对应的组件类型;
主机类型确定子模块,用于依据所述组件类型以及所述协议报文的报文类型的对应关系,确定所述协议报文对应的主机类型。
6.根据权利要求5所述的装置,其特征在于,还包括:
发送模块,用于依据源、目的IP地址以及目的端口信息,将所述协议报文发送至不同的会话处理流程中。
7.根据权利要求5所述的装置,其特征在于,所述特征比对模块包括:
特征比对子模块,用于依据所述协议报文的特征值在协议报文中对应的排列顺序,将相应排列位置上的特征值与预先设置的协议报文特征库中的特征值进行比对,得到特征值比对结果,其中,所述协议报文的特征值至少包括:字段类型、字段偏移、字段长度以及字段取值。
8.根据权利要求5所述的装置,其特征在于,所述主机类型确定子模块包括:
工程师站确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件客户端与组态通信协议、Web服务器与HTTP协议、RPC客户端与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为工程师站;
操作员站客户端确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站客户端;
操作员站服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件服务器与监控协议、组态软件服务器与组态通信协议、RPC服务器与RPC协议、数据库客户端与数据库通信协议、License许可证客户端与许可证通信协议,则判定所述主机类型为操作员站服务器;
嵌入式控制器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:控制器监控服务器与监控协议、控制器组态服务器与组态通信协议,则判定所述主机类型为嵌入式控制器;
历史数据库服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:历史数据库服务器与历史数据库通信协议,则判定所述主机类型为历史数据库服务器;
实时数据库服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:实时数据库服务器与实时数据库通信协议,则判定所述主机类型为实时数据库服务器;
人机接口设备确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:监控软件客户端与监控协议,则判定所述主机类型为人机接口设备;
OPC服务器确定模块,用于如果所应用的组件类型和协议报文的报文类型对应关系包括:组态软件服务器与组态通信协议、OPC服务与OPC协议,则判定所述主机类型为OPC服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710667626.1A CN107332859B (zh) | 2017-08-07 | 2017-08-07 | 一种工业控制系统风险识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710667626.1A CN107332859B (zh) | 2017-08-07 | 2017-08-07 | 一种工业控制系统风险识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107332859A CN107332859A (zh) | 2017-11-07 |
CN107332859B true CN107332859B (zh) | 2020-07-24 |
Family
ID=60225600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710667626.1A Active CN107332859B (zh) | 2017-08-07 | 2017-08-07 | 一种工业控制系统风险识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107332859B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848067B (zh) * | 2018-05-28 | 2021-05-25 | 北京威努特技术有限公司 | 智能学习并预置只读白名单规则的opc协议安全防护方法 |
CN109684879B (zh) * | 2018-12-21 | 2023-08-18 | 北京计算机技术及应用研究所 | 一种国产化软硬件设备的通用监控方法及系统 |
CN109783080B (zh) * | 2018-12-25 | 2022-07-01 | 国电南瑞科技股份有限公司 | 一种前置接口通信协议开发方法及系统 |
CN110011973B (zh) * | 2019-03-06 | 2021-08-03 | 浙江国利网安科技有限公司 | 工业控制网络访问规则构建方法及训练系统 |
CN110430187B (zh) * | 2019-08-01 | 2021-07-06 | 英赛克科技(北京)有限公司 | 工控系统中的通信报文安全审计方法、设备和存储介质 |
CN114866258A (zh) * | 2022-05-16 | 2022-08-05 | 卡奥斯工业智能研究院(青岛)有限公司 | 一种访问关系的建立方法、装置、电子设备及存储介质 |
CN115361308A (zh) * | 2022-08-19 | 2022-11-18 | 一汽解放汽车有限公司 | 一种工控网络数据风险确定方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976074A (zh) * | 2010-11-03 | 2011-02-16 | 浙江工业大学 | 基于现场总线和控制网络的工业控制系统 |
CN103944915A (zh) * | 2014-04-29 | 2014-07-23 | 浙江大学 | 一种工业控制系统威胁检测防御装置、系统及方法 |
CN105207829A (zh) * | 2014-06-04 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 一种入侵检测数据处理方法、装置,及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097578B2 (en) * | 2013-07-23 | 2018-10-09 | Oasis Technology, Inc. | Anti-cyber hacking defense system |
-
2017
- 2017-08-07 CN CN201710667626.1A patent/CN107332859B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976074A (zh) * | 2010-11-03 | 2011-02-16 | 浙江工业大学 | 基于现场总线和控制网络的工业控制系统 |
CN103944915A (zh) * | 2014-04-29 | 2014-07-23 | 浙江大学 | 一种工业控制系统威胁检测防御装置、系统及方法 |
CN105207829A (zh) * | 2014-06-04 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 一种入侵检测数据处理方法、装置,及系统 |
Non-Patent Citations (3)
Title |
---|
Identification of ICS Security Risks toward the Analysis of Packet Interaction Characteristics Using State Sequence Matching Based on SF-FSM;Jianxin Xu,Dongqin Feng;《Hindawi Security and Communication Networks 》;20170413;全文 * |
基于攻击图的工控系统脆弱性量化方法;黄家辉,冯冬芹;《自动化学报》;20160531;全文 * |
基于模糊层次分析法的工控系统安全评估;贾驰千,冯冬芹;《浙江大学学报》;20160430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107332859A (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332859B (zh) | 一种工业控制系统风险识别方法及装置 | |
CN109829297B (zh) | 监控装置、方法及其电脑存储介质 | |
CN112019575B (zh) | 数据包处理方法、装置、计算机设备以及存储介质 | |
CN105939326B (zh) | 处理报文的方法及装置 | |
CN107302527B (zh) | 一种设备异常检测方法及装置 | |
KR20120068612A (ko) | Dns 쿼리 트래픽 감시 및 처리 방법과 그 장치 | |
CN109818970B (zh) | 一种数据处理方法及装置 | |
CN107404487B (zh) | 一种工业控制系统安全检测方法及装置 | |
US11546295B2 (en) | Industrial control system firewall module | |
CN112134893A (zh) | 物联网安全防护方法、装置、电子设备及存储介质 | |
CN111726359B (zh) | 一种账户信息的检测方法和装置 | |
CN111756716A (zh) | 流量检测方法、装置及计算机可读存储介质 | |
CN108712369B (zh) | 一种工业控制网多属性约束访问控制决策系统和方法 | |
CN107046516B (zh) | 一种识别移动终端身份的风控控制方法及装置 | |
CN113825129A (zh) | 一种5g网络环境下工业互联网资产测绘方法 | |
KR101210622B1 (ko) | Ip 공유기를 검출하는 방법 및 이를 수행하는 시스템 | |
CN113159750A (zh) | 基于区块链的设备确定方法 | |
CN113726818B (zh) | 一种失陷主机检测方法及装置 | |
CN113132316A (zh) | 一种Web攻击检测方法、装置、电子设备及存储介质 | |
CN110750788A (zh) | 一种基于高交互蜜罐技术的病毒文件检测方法 | |
CN114139133A (zh) | 一种工控安全防护方法及装置 | |
CN105827627A (zh) | 一种信息获取方法和装置 | |
CN110048905B (zh) | 物联网设备通信模式识别方法及装置 | |
CN113965418B (zh) | 一种攻击成功判定方法及装置 | |
CN104935556B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191206 Address after: 315000 No. 150 Yipu Road, Jishigang Town, Haishu District, Ningbo City, Zhejiang Province (Room 1-1-179) Applicant after: Zhejiang Guoli NetAn Technology Co., Ltd. Address before: 310053 10 layers, 1 buildings, No. six and 307 Road, Binjiang District, Zhejiang, Hangzhou Applicant before: Zhejiang Guoli Xin'an Technology Co. Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |