CN112187583A - 动作信息在私有工控协议中识别的方法、装置及存储介质 - Google Patents

动作信息在私有工控协议中识别的方法、装置及存储介质 Download PDF

Info

Publication number
CN112187583A
CN112187583A CN202011059751.2A CN202011059751A CN112187583A CN 112187583 A CN112187583 A CN 112187583A CN 202011059751 A CN202011059751 A CN 202011059751A CN 112187583 A CN112187583 A CN 112187583A
Authority
CN
China
Prior art keywords
industrial control
protocol
information
private
related information
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
Application number
CN202011059751.2A
Other languages
English (en)
Other versions
CN112187583B (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.)
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
Original Assignee
Nsfocus Technologies Inc
Nsfocus Technologies Group Co Ltd
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 Nsfocus Technologies Inc, Nsfocus Technologies Group Co Ltd filed Critical Nsfocus Technologies Inc
Priority to CN202011059751.2A priority Critical patent/CN112187583B/zh
Publication of CN112187583A publication Critical patent/CN112187583A/zh
Application granted granted Critical
Publication of CN112187583B publication Critical patent/CN112187583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了动作信息在私有工控协议中识别的方法、装置及存储介质,用以解决现有技术中存在的无法对工控产品中使用的私有协议进行识别,更无法识别执行的控制动作的技术问题,该方法包括:从接收的数据包中获取第一协议标识;将第一协议标识与预配置文件中的私有协议标识进行匹配;其中,预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;若匹配成功,则从预配置文件中确定第一协议标识对应的第一私有协议,并利用第一私有协议对数据包进行解析,获得第一工控相关信息;将第一工控相关信息与第一关系中工控相关信息进行匹配,确定第一工控相关信息对应的第一描述信息,并生成对应的执行动作信息。

Description

动作信息在私有工控协议中识别的方法、装置及存储介质
技术领域
本发明涉及工控安全领域,尤其是涉及动作信息在私有工控协议中识别的方法、装置及存储介质。
背景技术
随着工业化与信息化进程的不断交叉与融合,越来越多的信息技术应用到了工控领域。并且,由于工控***越来越多的集成到企业管理***,导致工控***越来越开放,并且与企业内网,甚至与互联网产生了数据交换。
在传统工业控制行业里,由于工控***的封闭性和稳定性,很多工控产品如可编程逻辑控制器(Programmable Logic Controller,PLC)、分散控制***(DistributedControl System,DCS)、数据采集与监视控制***(Supervisory Control And DataAcquisition,SCADA)之间的通信采用的是私有协议。
通常,各大工控厂商为了安全考虑,一般不对外公布工控产品中使用的协议细节。而在很多工控***网络安全场景下,又需要监测工控网络中的流量,并实时分析出各种工控资产间所使用的通信协议、执行的控制动作等。由于无法获取工控产品中所用协议规约的详细信息,使得无法对工控产品中使用的私有协议进行识别,更无法识别执行的控制动作。
鉴于此,如何对工控网络中的私有协议中传输的控制动作进行识别,成为一个亟待解决的技术问题。
发明内容
本发明提供一种动作信息在私有工控协议中识别的方法、装置及存储介质,用以解决现有技术中存在的无法对工控产品中使用的私有协议进行识别,更无法识别执行的控制动作的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种动作信息在私有工控协议中识别的方法,该方法的技术方案如下:
从接收的数据包中获取第一协议标识;
将所述第一协议标识与预配置文件中的私有协议标识进行匹配;其中,所述预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;
若匹配成功,则从所述预配置文件中确定所述第一协议标识对应的第一私有协议,并利用所述第一私有协议对所述数据包进行解析,获得第一工控相关信息;
将所述第一工控相关信息与所述第一关系中工控相关信息进行匹配,确定所述第一工控相关信息对应的第一描述信息,并根据所述第一描述信息生成对应的执行动作信息。
一种可能的实施方式,所述工控相关信息包括工控指令、工控对象地址、工控参数。
一种可能的实施方式,从接收的数据包中获取第一协议标识之前,还包括:
对所述私有协议的协议入口信息进行配置;
根据用户输入的信息,对所述工控相关信息进行配置;
将配置好的所述协议入口信息和所述工控相关信息写入指定的配置文件中,获得所述预配置文件。
一种可能的实施方式,对所述私有协议的协议入口信息进行配置,包括:
基于所述用户输入的协议标识信息,确定所述私有协议的协议类型;其中,所述协议类型包括MAC层协议和应用层协议;
若所述私有协议为应用层协议,则基于所述用户输入的传输层类型信息和传输层端口号信息,对所述私有协议的入口进行配置;其中,所述传输层类型包括TCP和UDP;
若所述私有协议为MAC层协议,根据所述协议标识信息对所述私有协议进行入口配置。
一种可能的实施方式,根据用户输入的信息,对所述工控相关信息进行配置,包括:
根据所述用户输入的所述工控指令的第一数据长度、第一数据值、第二描述信息,以及相对报文头的第一偏移量,对所述工控相关信息中的工控指令进行配置;其中,所述第二描述信息用于描述所述工控指令的功能;若所述私有协议为应用层协议,所述报文头为应用层报文头,若所述私有协议为MAC层协议,所述报文头为MAC层报文头;
根据所述用户输入的所述工控对象地址的第二数据长度、第二数据值、第三描述信息,以及相对所述报文头的第二偏移量,对所述工控相关信息中的工控对象地址进行配置;其中,所述第三描述信息用于描述所述工控对象地址对应的控制对象,所述控制对象根据所述工控指令执行动作;
根据所述用户输入的所述工控参数的第三数据长度、第三数据值、第四描述信息,以及相对所述报文头的第三偏移量,对所述工控相关信息中的工控参数进行配置;其中,所述第四描述信息用于描述用所述工控指令执行所述工控参数后所实现的功能。
一种可能的实施方式,所述方法还包括:
对每个所述执行动作信息对应的执行动作进行识别;
当识别出所述执行动作不属于预设执行动作集中的动作时,将所述执行动作确定为危险操作,并向用户发送提示信息;其中,所述预设执行动作集中的动作是在设定时间段内从工控网络中获取的。
一种可能的实施方式,所述方法还包括:
对所述执行动作对应的施控对象及被控对象进行识别;
若所述施控对象不在预设的白名单中,则确定所述施控对象为非法资产;
若所述被控对象不在预设的白名单中,则确定被所述控对象为所述非法资产;
将所述非法资产上报给所述用户。
第二方面,本发明实施例提供了一种动作信息在私有工控协议中识别的装置,包括:
接收单元,用于从接收的数据包中获取第一协议标识;
匹配单元,用于将所述第一协议标识与预配置文件中的私有协议标识进行匹配;其中,所述预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;
解析单元,用于若匹配成功,则从所述预配置文件中确定所述第一协议标识对应的第一私有协议,并利用所述第一私有协议对所述数据包进行解析,获得第一工控相关信息;
处理单元,用于将所述第一工控相关信息与所述第一关系中工控相关信息进行匹配,确定所述第一工控相关信息对应的第一描述信息,并根据所述第一描述信息生成对应的执行动作信息。
一种可能的实施方式,所述工控相关信息包括工控指令、工控对象地址、工控参数。
一种可能的实施方式,所述装置还包括预配置单元,所述预配置单元用于:
对所述私有协议的协议入口信息进行配置;
根据用户输入的信息,对所述工控相关信息进行配置;
将配置好的所述协议入口信息和所述工控相关信息写入指定的配置文件中,获得所述预配置文件。
一种可能的实施方式,所述预配置单元还用于:
基于所述用户输入的协议标识信息,确定所述私有协议的协议类型;其中,所述协议类型包括MAC层协议和应用层协议;
若所述私有协议为应用层协议,则基于所述用户输入的传输层类型信息和传输层端口号信息,对所述私有协议的入口进行配置;其中,所述传输层类型包括TCP和UDP;
若所述私有协议为MAC层协议,根据所述协议标识信息对所述私有协议进行入口配置。
一种可能的实施方式,所述预配置单元还用于:
根据所述用户输入的所述工控指令的第一数据长度、第一数据值、第二描述信息,以及相对报文头的第一偏移量,对所述工控相关信息中的工控指令进行配置;其中,所述第二描述信息用于描述所述工控指令的功能;若所述私有协议为应用层协议,所述报文头为应用层报文头,若所述私有协议为MAC层协议,所述报文头为MAC层报文头;
根据所述用户输入的所述工控对象地址的第二数据长度、第二数据值、第三描述信息,以及相对所述报文头的第二偏移量,对所述工控相关信息中的工控对象地址进行配置;其中,所述第三描述信息用于描述所述工控对象地址对应的控制对象,所述控制对象根据所述工控指令执行动作;
根据所述用户输入的所述工控参数的第三数据长度、第三数据值、第四描述信息,以及相对所述报文头的第三偏移量,对所述工控相关信息中的工控参数进行配置;其中,所述第四描述信息用于描述用所述工控指令执行所述工控参数后所实现的功能。
一种可能的实施方式,所述处理单元还用于:
对每个所述执行动作信息对应的执行动作进行识别;
当识别出所述执行动作不属于预设执行动作集中的动作时,将所述执行动作确定为危险操作,并向用户发送提示信息;其中,所述预设执行动作集中的动作是在设定时间段内从工控网络中获取的。
一种可能的实施方式,所述处理单元还用于:
对所述执行动作对应的施控对象及被控对象进行识别;
若所述施控对象不在预设的白名单中,则确定所述施控对象为非法资产;
若所述被控对象不在预设的白名单中,则确定被所述控对象为所述非法资产;
将所述非法资产上报给所述用户。
第三方面,本发明实施例还提供一种动作信息在私有工控协议中识别的装置,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面所述的方法。
第四方面,本发明实施例还提供一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本发明提供的实施例中,通过从接收的数据包中获取第一协议标识;并将第一协议标识与预配置文件中的私有协议标识进行匹配;在匹配成功后,从预配置文件中确定第一协议标识对应的第一私有协议,并利用第一私有协议对数据包进行解析,获得第一工控相关信息;将第一工控相关信息与第一关系中工控相关信息进行匹配,确定第一工控相关信息对应的第一描述信息,并根据第一描述信息生成对应的执行动作信息;其中,预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系。从而能够实现对公开产品中的私有协议进行识别,并实时分析出各种工控产品间的通信协议、执行动作信息。
附图说明
图1为本发明实施例提供的一种动作信息在私有工控协议中识别的方法的流程图;
图2为本发明实施例提供的工控产品连接示意图;
图3为本发明实施例提供的一种动作信息在私有工控协议中识别的装置的结构示意图。
具体实施方式
本发明实施列提供一种动作信息在私有工控协议中识别的方法、装置及存储介质,以解决现有技术中存在的无法对工控产品中使用的私有协议进行识别,更无法识别执行的控制动作的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
提供一种动作信息在私有工控协议中识别的方法,包括:从接收的数据包中获取第一协议标识;将第一协议标识与预配置文件中的私有协议标识进行匹配;其中,预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;若匹配成功,则从预配置文件中确定第一协议标识对应的第一私有协议,并利用第一私有协议对数据包进行解析,获得第一工控相关信息;将第一工控相关信息与第一关系中工控相关信息进行匹配,确定第一工控相关信息对应的第一描述信息,并根据第一描述信息生成对应的执行动作信息。
由于在上述方案中,通过从接收的数据包中获取第一协议标识;并将第一协议标识与预配置文件中的私有协议标识进行匹配;在匹配成功后,从预配置文件中确定第一协议标识对应的第一私有协议,并利用第一私有协议对数据包进行解析,获得第一工控相关信息;将第一工控相关信息与第一关系中工控相关信息进行匹配,确定第一工控相关信息对应的第一描述信息,并根据第一描述信息生成对应的执行动作信息;其中,预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系。从而能够实现对公开产品中的私有协议进行识别,并实时分析出各种工控产品间的通信协议、执行动作信息。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参考图1,本发明实施例提供一种动作信息在私有工控协议中识别的方法,该方法的处理过程如下。
步骤101:从接收的数据包中获取第一协议标识。
在网络中传输的数据包中通常都携带有生成该数据包所使用的协议的标识,或者能够唯一标识所使用协议的特定端口信息,该协议标识或协议的特定端口信息即为本申请中的第一协议标识。
从接收的数据包中获取第一协议标识之后便可执行步骤102。
步骤102:将第一协议标识与预配置文件中的私有协议标识进行匹配;其中,预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系。
该实例中工控相关信息包括工控指令、工控对象地址、工控参数。
步骤103:若匹配成功,则从预配置文件中确定第一协议标识对应的第一私有协议,并利用第一私有协议对数据包进行解析,获得第一工控相关信息。
步骤104:将第一工控相关信息与第一关系中工控相关信息进行匹配,确定第一工控相关信息对应的第一描述信息,并根据第一描述信息生成对应的执行动作信息。
在工控产品内部,控制设备执行期望的动作,通常是由至少一条指令来实现的,该条指令的内容包括控制对象地址、指令本身及相应的控制参数,为了能从私有协议中深度识别出施控方要求被控方执行的动作,将一条指令内容拆分为工控指令、工控参数、工控对象地址,并事先对它们进行配置,而这些内容在网络传输中使用了不同的协议进行传输,相应的就需要使用对应的传输协议进行解包,再进一步用上述工控相关参数对解包出的参数进行解析,这样才能正确识别数据包中要求执行的执行动作。从接收的数据包中获取第一协议标识之前,还需要生成预配置文件,可以采用以下步骤A1和A2生成:
A1,对私有协议的协议入口信息进行配置;根据用户输入的信息,对工控相关信息进行配置;
A2,将配置好的协议入口信息和工控相关信息写入指定的配置文件中,获得预配置文件。
进一步,基于上述预配置文件需要配置的参数,具体对各参数实现配置的时候实现细节可以是:
1、对私有协议的协议入口信息进行配置,包括:
可以基于用户输入的协议标识信息,确定私有协议的协议类型;其中,协议类型包括MAC层协议和应用层协议;若私有协议为应用层协议,则基于用户输入的传输层类型信息和传输层端口号信息,对私有协议的入口进行配置;其中,传输层类型包括TCP和UDP;若私有协议为MAC层协议,根据协议标识信息对私有协议进行入口配置。
例如,用户输入的标识信息ether_type字段的值可以确定私有协议是属于MAC层还是应用层,若确定为MAC层协议,则ether_type字段的值对私有协议进行入口配置,若确定为应用层协议,则要求用户输入传输层是TCP还是UDP,并输入对应的端口号,进而完成对应用层协议的协议入口配置,将这些配置信息写入预设的配置文件里,该配置文件可以是XML类型的配置文件,其主要属性包括传输层协议类型、端口号、ether_type值、协议名称等。
2、根据用户输入的信息,对工控相关信息进行配置,包括:
在该实施例中,因为工控相关信息包括工控指令、工控对象地址、工控参数几个部分,所以在实现工控相关信息配置时可以是针对各个部分分别进行配置,具体实现可以是:
(1)对工控指令进行配置:根据用户输入的工控指令的第一数据长度、第一数据值、第二描述信息,以及相对报文头的第一偏移量,对工控相关信息中的工控指令进行配置;其中,第二描述信息用于描述工控指令的功能;若私有协议为应用层协议,报文头为应用层报文头,若私有协议为MAC层协议,报文头为MAC层报文头。
例如,若私有协议为应用层协议,可以要求用户输入私有协议中需要使用到的工控指令相对应用层报文头的第一偏移量和该工控指令的第一数据长度,该工控指令16进制不同取值对应的不同第二描述信息,用这些信息完成对工控指令的配置。
若私有协议是MAC层协议,可以要求用户输入私有协议的工控指令相对MAC层报文头的第一偏移量和该工控指令的第一数据长度,该控制指令的16进制不同取值对应的不同第二描述信息,用这些信息完成对工控指令的配置。
对需要配置的参数配置完成后,则可以把配置加载到后台控制指令的xml配置文件里,其主要属性包括公开指令关联协议id->工控指令的第一偏移量->第一数据长度->16进制取值->第二描述信息等。
(2)对工控对象地址进行配置:根据用户输入的工控对象地址的第二数据长度、第二数据值、第三描述信息,以及相对报文头的第二偏移量,对工控相关信息中的工控对象地址进行配置;其中,第三描述信息用于描述工控对象地址对应的控制对象,控制对象根据工控指令执行动作。
例如,若私有协议为应用层协议,可以让用户输入私有协议的工控对象地址相对应用层报文头的第二偏移量和该工控对象地址的第二数据长度,以及该工控对象地址的16进制不同取值对应的不同第三描述,根据这些信息完成对工控对象地址的配置。
若私有协议为MAC层协议,可以让用户输入私有协议的工控对象地址相对MAC层报文头的第二偏移量和该工控对象地址的第二数据长度,以及该工控对象地址的16进制不同取值对应的不同第三描述信息,根据这些信息完成对工控对象地址的配置。
配置完成后,把上述配置信息加载到后台控制地址的xml配置文件里,主要属性包括工控对象地址关联协议id->关联工控指令id->工控对象地址的第二偏移量->第二数据长度->16进制取值->第三描写信息等。
(3)对工控参数进行配置:根据用户输入的工控参数的第三数据长度、第三数据值、第四描述信息,以及相对报文头的第三偏移量,对工控相关信息中的工控参数进行配置;其中,第四描述信息用于描述用工控指令执行工控参数后所实现的功能。
例如,若私有协议为应用层协议,可以让用户输入私有工控协议的工控参数相对应用层报文头的第三偏移量和该工控参数的第三数据长度,该控制参数的16进制不同取值对应的不同第四描述信息,用这些信息完成对工控参数的配置。
若私有协议为MAC层协议,可以让用户输入私有工控协议的工控参数相对MAC层报文头的第三偏移量和该工控参数的第三数据长度,该控制参数的16进制不同取值对应的不同第四描述信息,用这些信息完成对工控参数的配置。
配置完成后,把上述配置信息加载到后台控制值的xml配置文件里,主要属性包括工控参数关联协议id->关联工控指令id->关联工控对象地址id->第三偏移量->第三数据长度->公开参数的16进制取值->第四描述信息等。
将上述配置信息写入到预设的配置文件中,便可得到预配置文件。
在对接收到的数据包进行解析之前,需要加载上述预配置文件,并将从数据包中获取到的第一协议标识与预配置文件中的私有协议标识进行匹配,在匹配出第一协议标识对应的是第一私有协议后,用第一私有协议对该数据包进行解析,得到第一工控相关信息(包括工控指令、工控参数、工控对象地址的值及对应的描述),并将第一工控相关信息与第一关系中工控相关信息进行匹配,确定第一工控相关信息对应的第一描述信息,进而根据第一描述信息生成对应的执行动作信息。
请参见图2为本发明实施例提供的工控产品连接示意图,在图2所示的某公司的工控网络中,SCADA***安装在控制室中,PLC以及由PLC直接控制的设备A~设备D安装在现场,SCADA***与PLC通过以太网连接,使用的私有协议1属于应用层协议,在该SCADA的显示界面上,用户通过操作该显示界面上的虚拟按钮A可以控制现场的设备A启动或停止。
假设控制虚拟按钮启动或停止的工控指令为LD,LD在SCADA传输给PLC的数据包中与应用层的报文头相距8字节,LD的十六进制值可以为0或1,为0是表示停止,为1时表示启动,LD指令占用的数据长度为1字节,则用户输入工控指令LD的第一数据长度为1字节,第一数据值为0或1,第二描述信息为0对应停止、1对应关闭,第一偏移量为8字节,用这些信息完成对公开指令LD的配置。
在图2中可以看出PLC有4个设备需要控制,假设在程序中设备A以SA标识、设备B以SB标识、设备C以SC标识、设备D以SD标识。
假设工控指令LD的工控参数为X,X的取值包括SA~SD,X的数据长度为2字节,与报文头相隔10个字节,则用户输入该工控参数的第三数据长度为2字节、第三数据值包括SA~SD,第四描述信息与SA~SD对应,依次为设备A~设备D,第三偏移量为10字节,用这些信息完成对工控参数X的配置。
假设设备A的控制端与PLC的输出端1连接,使得设备A由PLC的输出端1输出的信号控制,而PLC的输出端1的地址为0X123F(十六进制值),该地址占用2个字节,且与应用层报文头相隔12个字节,则用户针对工控对象SA地址,输入第二数据长度为2字节、第二数据值为0X123F,第三描述信息为设备A,第二偏移量为12字节,用这些信息完成对工控对象SA地址的配置。其它工控对象地址的配置与此类似,不一一赘述。
通过上述方式,便可完成对工控指令LD,以及其对应的工控参数、工控对象地址的配置,将这些配置信息写入指定的配置文件,得到预配置文件,并加载该预配置文件。
当用户在SCADA***上按下虚拟按钮A来启动设备A时,通过抓取公开网络中的数据包(假设正好抓取到的是含有该控制动作的数据包),从该数据包中获取的第一协议标识与配置文件中的私有协议1匹配成功,用该私有协议1对抓取的数据包进行解析,得到第一工控相关信息。该第一工控相关信息中包含工控指令LD(取值为1),工控参数X(取值为SA),工控对象地址为0X123F。由于对LD为1对应的第二描述信息为启动,工控参数为SA对应的描述信息为SA,工控对象地址为0X123F,第一描述信息即为对设备A进行启动的信息,该第一描述信息对应的执行动作信息即为启动设备A。
需要说明的是,上述工控指令、工控对象地址、工控参数并不仅仅理解为实际应用中的工控指令、工控对象地址、工控参数。
通过上面的方式,可以深度识别出接收到的数据包中要求执行的执行动作,在此基础之上还可以进一步识别该执行动作是否为危险操作,以便进一步的采取相关应对举措,维护网络安全。
进一步,一种可能的实施方式,还可以对每个执行动作信息对应的执行动作进行识别;当识别出执行动作不属于预设执行动作集中的动作时,将执行动作确定为危险操作,并向用户发送提示信息;其中,预设执行动作集中的动作是在设定时间段内从工控网络中获取的。
例如,在用一周的时间,对工控网络中传输的执行动信息进行收集形成预设执行动作集,如收集到每天早上6点启动设备A,晚上7点关闭设备A,在之后的某一天识别到在晚上11点出现了执行动作信息为启动设备A,这显然不属于预设执行操作集中的执行动作,因此将此次执行动作确定为危险操作,并将其形成提示信息发送给用户。
深度识别出接收到的数据包中要求执行的执行动作后,还可以通过该执行动作对应的施控对象和被控对象进行识别,确定他们是否为非法资产,它们之间的通信是否属于异常通信,进而实现对网络中的工控资产、通信进行实时监控,提高网络的安全性。
进一步的,一种可能的实施方式,对执行动作对应的施控对象及被控对象进行识别;若施控对象不在预设的白名单中,则确定施控对象为非法资产;若被控对象不在预设的白名单中,则确定被控对象为非法资产;将非法资产上报给用户。
例如,将某公司的工控网络中已存在的工控产品形成一个白名单,当纵数据包中解析出某个执行动作信息对应的执行动作是由该白名单之外的其它设备发出的,则确定该其它设备为非法资产,将才非法资产上报给用户。
基于同一发明构思,本发明一实施例中提供一种动作信息在私有工控协议中识别的装置,该装置的实现细节可参见方法实施例部分的描述,重复之处不再赘述,请参见图3,该装置包括:
接收单元301,用于从接收的数据包中获取第一协议标识;
匹配单元302,用于将所述第一协议标识与预配置文件中的私有协议标识进行匹配;其中,所述预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;
解析单元303,用于若匹配成功,则从所述预配置文件中确定所述第一协议标识对应的第一私有协议,并利用所述第一私有协议对所述数据包进行解析,获得第一工控相关信息;
处理单元304,用于将所述第一工控相关信息与所述第一关系中工控相关信息进行匹配,确定所述第一工控相关信息对应的第一描述信息,并根据所述第一描述信息生成对应的执行动作信息。
一种可能的实施方式,所述工控相关信息包括工控指令、工控对象地址、工控参数。
一种可能的实施方式,所述装置还包括预配置单元305,所述预配置单元305用于:
对所述私有协议的协议入口信息进行配置;
根据用户输入的信息,对所述工控相关信息进行配置;
将配置好的所述协议入口信息和所述工控相关信息写入指定的配置文件中,获得所述预配置文件。
一种可能的实施方式,所述预配置单元305还用于:
基于所述用户输入的协议标识信息,确定所述私有协议的协议类型;其中,所述协议类型包括MAC层协议和应用层协议;
若所述私有协议为应用层协议,则基于所述用户输入的传输层类型信息和传输层端口号信息,对所述私有协议的入口进行配置;其中,所述传输层类型包括TCP和UDP;
若所述私有协议为MAC层协议,根据所述协议标识信息对所述私有协议进行入口配置。
一种可能的实施方式,所述预配置单元305还用于:
根据所述用户输入的所述工控指令的第一数据长度、第一数据值、第二描述信息,以及相对报文头的第一偏移量,对所述工控相关信息中的工控指令进行配置;其中,所述第二描述信息用于描述所述工控指令的功能;若所述私有协议为应用层协议,所述报文头为应用层报文头,若所述私有协议为MAC层协议,所述报文头为MAC层报文头;
根据所述用户输入的所述工控对象地址的第二数据长度、第二数据值、第三描述信息,以及相对所述报文头的第二偏移量,对所述工控相关信息中的工控对象地址进行配置;其中,所述第三描述信息用于描述所述工控对象地址对应的控制对象,所述控制对象根据所述工控指令执行动作;
根据所述用户输入的所述工控参数的第三数据长度、第三数据值、第四描述信息,以及相对所述报文头的第三偏移量,对所述工控相关信息中的工控参数进行配置;其中,所述第四描述信息用于描述用所述工控指令执行所述工控参数后所实现的功能。
一种可能的实施方式,所述处理单元304还用于:
对每个所述执行动作信息对应的执行动作进行识别;
当识别出所述执行动作不属于预设执行动作集中的动作时,将所述执行动作确定为危险操作,并向用户发送提示信息;其中,所述预设执行动作集中的动作是在设定时间段内从工控网络中获取的。
一种可能的实施方式,所述处理单元304还用于:
对所述执行动作对应的施控对象及被控对象进行识别;
若所述施控对象不在预设的白名单中,则确定所述施控对象为非法资产;
若所述被控对象不在预设的白名单中,则确定被所述控对象为所述非法资产;
将所述非法资产上报给所述用户。
基于同一发明构思,本发明实施例中提供了一种动作信息在私有工控协议中识别的装置,包括:至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的动作信息在私有工控协议中识别的方法。
基于同一发明构思,本发明实施例还提一种可读存储介质,包括:
存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的动作信息在私有工控协议中识别的方法。
本领域内的技术人员应明白,本发明实施例可提供为方法、***、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种动作信息在私有工控协议中识别的方法,其特征在于,包括:
从接收的数据包中获取第一协议标识;
将所述第一协议标识与预配置文件中的私有协议标识进行匹配;其中,所述预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;
若匹配成功,则从所述预配置文件中确定所述第一协议标识对应的第一私有协议,并利用所述第一私有协议对所述数据包进行解析,获得第一工控相关信息;
将所述第一工控相关信息与所述第一关系中工控相关信息进行匹配,确定所述第一工控相关信息对应的第一描述信息,并根据所述第一描述信息生成对应的执行动作信息。
2.如权利要求1所述的方法,其特征在于,所述工控相关信息包括工控指令、工控对象地址、工控参数。
3.如权利要求2所述的方法,其特征在于,从接收的数据包中获取第一协议标识之前,还包括:
对所述私有协议的协议入口信息进行配置;
根据用户输入的信息,对所述工控相关信息进行配置;
将配置好的所述协议入口信息和所述工控相关信息写入指定的配置文件中,获得所述预配置文件。
4.如权利要求3所述的方法,其特征在于,对所述私有协议的协议入口信息进行配置,包括:
基于所述用户输入的协议标识信息,确定所述私有协议的协议类型;其中,所述协议类型包括MAC层协议和应用层协议;
若所述私有协议为应用层协议,则基于所述用户输入的传输层类型信息和传输层端口号信息,对所述私有协议的入口进行配置;其中,所述传输层类型包括TCP和UDP;
若所述私有协议为MAC层协议,根据所述协议标识信息对所述私有协议进行入口配置。
5.如权利要求3所述的方法,其特征在于,根据用户输入的信息,对所述工控相关信息进行配置,包括:
根据所述用户输入的所述工控指令的第一数据长度、第一数据值、第二描述信息,以及相对报文头的第一偏移量,对所述工控相关信息中的工控指令进行配置;其中,所述第二描述信息用于描述所述工控指令的功能;若所述私有协议为应用层协议,所述报文头为应用层报文头,若所述私有协议为MAC层协议,所述报文头为MAC层报文头;
根据所述用户输入的所述工控对象地址的第二数据长度、第二数据值、第三描述信息,以及相对所述报文头的第二偏移量,对所述工控相关信息中的工控对象地址进行配置;其中,所述第三描述信息用于描述所述工控对象地址对应的控制对象,所述控制对象根据所述工控指令执行动作;
根据所述用户输入的所述工控参数的第三数据长度、第三数据值、第四描述信息,以及相对所述报文头的第三偏移量,对所述工控相关信息中的工控参数进行配置;其中,所述第四描述信息用于描述用所述工控指令执行所述工控参数后所实现的功能。
6.如权利要求1-5任一项所述的方法,其特征在于,还包括:
对每个所述执行动作信息对应的执行动作进行识别;
当识别出所述执行动作不属于预设执行动作集中的动作时,将所述执行动作确定为危险操作,并向用户发送提示信息;其中,所述预设执行动作集中的动作是在设定时间段内从工控网络中获取的。
7.如权利要求6所述的方法,其特征在于,还包括:
对所述执行动作对应的施控对象及被控对象进行识别;
若所述施控对象不在预设的白名单中,则确定所述施控对象为非法资产;
若所述被控对象不在预设的白名单中,则确定被所述控对象为所述非法资产;
将所述非法资产上报给所述用户。
8.一种动作信息在私有工控协议中识别的装置,其特征在于,包括:
接收单元,用于从接收的数据包中获取第一协议标识;
匹配单元,用于将所述第一协议标识与预配置文件中的私有协议标识进行匹配;其中,所述预配置文件包括已有工控产品所使用的私有协议标识、工控相关信息与描述信息的第一对应关系;
解析单元,用于若匹配成功,则从所述预配置文件中确定所述第一协议标识对应的第一私有协议,并利用所述第一私有协议对所述数据包进行解析,获得第一工控相关信息;
处理单元,用于将所述第一工控相关信息与所述第一关系中工控相关信息进行匹配,确定所述第一工控相关信息对应的第一描述信息,并根据所述第一描述信息生成对应的执行动作信息。
9.一种动作信息在私有工控协议中识别的装置,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如权利要求1-7任一项所述的方法。
10.一种可读存储介质,其特征在于,包括存储器,
所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如权利要求1~7中任一项所述的方法。
CN202011059751.2A 2020-09-30 2020-09-30 动作信息在私有工控协议中识别的方法、装置及存储介质 Active CN112187583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011059751.2A CN112187583B (zh) 2020-09-30 2020-09-30 动作信息在私有工控协议中识别的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011059751.2A CN112187583B (zh) 2020-09-30 2020-09-30 动作信息在私有工控协议中识别的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112187583A true CN112187583A (zh) 2021-01-05
CN112187583B CN112187583B (zh) 2022-03-25

Family

ID=73947135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011059751.2A Active CN112187583B (zh) 2020-09-30 2020-09-30 动作信息在私有工控协议中识别的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112187583B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507449A (zh) * 2021-06-17 2021-10-15 北京惠而特科技有限公司 一种ge私有协议深度识别方法及装置
CN113645065A (zh) * 2021-07-21 2021-11-12 武汉虹旭信息技术有限责任公司 基于工业互联网的工控安全审计***及其方法
CN115334178A (zh) * 2022-07-08 2022-11-11 北京天融信网络安全技术有限公司 基于应用层数据分析方法及装置、电子设备、存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050199716A1 (en) * 2004-03-10 2005-09-15 Microsoft Corporation Method and system for communicating with identification tags
GB0921211D0 (en) * 2009-12-03 2010-01-20 Inst Information Industry Monitor method and monitor apparatus for monitoring data of hardware
CN104506484A (zh) * 2014-11-11 2015-04-08 中国电子科技集团公司第三十研究所 一种私有协议分析与识别方法
US20160028601A1 (en) * 2014-07-24 2016-01-28 General Electric Company Internet connectivity probe
CN106027511A (zh) * 2016-05-13 2016-10-12 北京工业大学 一种基于Modbus/TCP深度解析的协议隔离方法
WO2017097026A1 (zh) * 2015-12-10 2017-06-15 深圳市中兴微电子技术有限公司 数据报文的识别处理方法及装置、存储介质
CN108632525A (zh) * 2017-09-20 2018-10-09 北京视联动力国际信息技术有限公司 一种业务处理的方法和***
CN110417783A (zh) * 2019-07-30 2019-11-05 北京国信华源科技有限公司 一种基于物联网的数据传输方法、装置、储存介质及终端
CN111371651A (zh) * 2020-03-12 2020-07-03 杭州木链物联网科技有限公司 一种工业通讯协议逆向分析方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050199716A1 (en) * 2004-03-10 2005-09-15 Microsoft Corporation Method and system for communicating with identification tags
GB0921211D0 (en) * 2009-12-03 2010-01-20 Inst Information Industry Monitor method and monitor apparatus for monitoring data of hardware
US20160028601A1 (en) * 2014-07-24 2016-01-28 General Electric Company Internet connectivity probe
CN104506484A (zh) * 2014-11-11 2015-04-08 中国电子科技集团公司第三十研究所 一种私有协议分析与识别方法
WO2017097026A1 (zh) * 2015-12-10 2017-06-15 深圳市中兴微电子技术有限公司 数据报文的识别处理方法及装置、存储介质
CN106027511A (zh) * 2016-05-13 2016-10-12 北京工业大学 一种基于Modbus/TCP深度解析的协议隔离方法
CN108632525A (zh) * 2017-09-20 2018-10-09 北京视联动力国际信息技术有限公司 一种业务处理的方法和***
CN110417783A (zh) * 2019-07-30 2019-11-05 北京国信华源科技有限公司 一种基于物联网的数据传输方法、装置、储存介质及终端
CN111371651A (zh) * 2020-03-12 2020-07-03 杭州木链物联网科技有限公司 一种工业通讯协议逆向分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张玫,曾彬,朱成威: "工控***安全监测及溯源***的设计与实现", 《ITNS主题专栏:网络安全监测技术》 *
马强等: "联网工业控制***主动感知预警技术研究", 《信息技术与网络安全》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507449A (zh) * 2021-06-17 2021-10-15 北京惠而特科技有限公司 一种ge私有协议深度识别方法及装置
CN113645065A (zh) * 2021-07-21 2021-11-12 武汉虹旭信息技术有限责任公司 基于工业互联网的工控安全审计***及其方法
CN113645065B (zh) * 2021-07-21 2024-03-15 武汉虹旭信息技术有限责任公司 基于工业互联网的工控安全审计***及其方法
CN115334178A (zh) * 2022-07-08 2022-11-11 北京天融信网络安全技术有限公司 基于应用层数据分析方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN112187583B (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN112187583B (zh) 动作信息在私有工控协议中识别的方法、装置及存储介质
CN110011973B (zh) 工业控制网络访问规则构建方法及训练***
WO2016172514A1 (en) Improving control system resilience by highly coupling security functions with control
US10901392B2 (en) Method and system for monitoring a plant of process automation
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
EP3979557A1 (en) Systems and method for detecting anomalies in network communication
CN111371651A (zh) 一种工业通讯协议逆向分析方法
CN110187986B (zh) 一种命令管理方法、***、装置及计算机可读存储介质
CN109450928B (zh) 一种基于UDP和Modbus TCP的跨云端数据透传方法及***
CN108429820A (zh) 一种物联网应用层的通信方法、***及终端设备
US20180270082A1 (en) Method and device for monitoring control systems
WO2020207105A1 (zh) 目的报文的确定方法及装置、存储介质、电子装置
EP3667526A1 (en) Rapid file authentication on automation devices
CN113872951B (zh) 混合云安全策略下发方法、装置、电子设备和存储介质
US11418521B2 (en) Industrial control system monitoring method, device and system, and computer-readable medium
CN117336035A (zh) 一种基于物联网网关的边端设备的管理协同方法
US20210255607A1 (en) Automation Component Configuration
CN115208058A (zh) 一种分散式配电终端即插即用方法及***
KR101892385B1 (ko) 프로피버스 dp 네트워크 자동 구성 시스템
CN109743282B (zh) 一种基于工控协议的高危安全风险识别方法及装置
CN115913786B (zh) 一种工业互联网设备的漏洞验证方法及***
CN111404827A (zh) 一种数据包处理方法、装置及电子设备和存储介质
CN112261056B (zh) 电力***的通讯控制方法、装置、控制设备和存储介质
CN115442284B (zh) 一种测试设备的***及方法
CN114125056B (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