CN114553749A - 私有协议分析方法、装置、计算机设备及可读存储介质 - Google Patents
私有协议分析方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN114553749A CN114553749A CN202210149738.9A CN202210149738A CN114553749A CN 114553749 A CN114553749 A CN 114553749A CN 202210149738 A CN202210149738 A CN 202210149738A CN 114553749 A CN114553749 A CN 114553749A
- Authority
- CN
- China
- Prior art keywords
- sample data
- data packet
- protocol
- private
- data packets
- 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
- 238000004458 analytical method Methods 0.000 title claims abstract description 40
- 230000002452 interceptive effect Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 29
- 238000000034 method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 6
- 238000004886 process control Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种私有协议分析方法、装置、计算机设备及可读存储介质,涉及私有协议分析方法,通过从工控网络中获取多个样本数据包;若样本数据包无法被预设工控协议识别,将多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合;提取每一样本数据包集合对应的私有协议的协议特征,以根据所有样本数据包集合对应的私有协议的协议特征对工控网络的数据包进行识别,其中,不同样本数据包集合对应的私有协议不同,从而避免了工控网络自身特点对私有协议分析结果的影响,提高了分析结果的准确性和效率。
Description
技术领域
本发明涉及私有协议分析领域,具体而言,涉及一种私有协议分析方法、装置、计算机设备及可读存储介质。
背景技术
工控网络包括现场控制网络和过程控制网络,现场控制网络中部署有各种现场设备,过程控制网络中部署有对实时数据进行采集、监控的控制组件,现场控制网络与过程控制网络之间的通信、现场控制网络各现场设备之间的通信、过程控制网络各控制组件之间的通信往往采用特有的通信协议,这些通讯协议统称为工控协议。
工控协议除了包括标准协议(国际标准或公认的标准协议,例如,Modbus、DNP3),还包括大多数的私有协议,例如,私有公开协议(只有厂商自己设备支持并提供官方协议文档)和私有不公开协议(只有厂商自己设备支持且官方不提供协议文档)。由于工控协议是对工控网络的安全进行监管的基础,如模糊测试,漏洞挖掘,入侵检测,协议重用,流量审计等关键技术都依赖于工控协议的详细描述信息,需要对许多私有协议进行分析,但现有的私有协议分析方法主要应用于传统信息网络,不适用于工控网络,表现为分析效率低且结果准确率低。
发明内容
本发明实施例提供了一种私有协议分析方法、装置、计算机设备及可读存储介质,以克服现有技术的不足,本发明的具体技术方案如下:
第一方面,本发明实施例提供了一种私有协议分析方法,所述方法包括:
从工控网络中获取多个样本数据包;
若所述样本数据包无法被预设工控协议识别,将所述多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合;
提取每一所述样本数据包集合对应的私有协议的协议特征,以根据所有所述样本数据包集合对应的私有协议的协议特征对所述工控网络的数据包进行识别,其中,不同所述样本数据包集合对应的私有协议不同。
在一种可能的实现方式中,所述业务属性包括源属性、会话属性以及通信模式,所述源属性用于表征所述样本数据包的来源,所述将所述多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合的步骤包括:
将所述多个样本数据包按照所述源属性、会话属性以及通信模式进行分类,得到至少一个样本数据包集合,其中,每一所述样本数据包集合中的样本数据包具有相同的源属性、会话属性及通信模式。
在一种可能的实现方式中,所述提取每一所述样本数据包集合对应的私有协议的协议特征的步骤包括:
针对任一目标样本数据包集合,从所述目标样本数据包集合中的每一样本数据包的报文中定位出预设协议特征字段;
根据所述预设协议特征字段,确定所述目标样本数据包集合对应的私有协议的协议特征。
在一种可能的实现方式中,所述业务属性包括会话属性,所述方法还包括:
从所述工控网络中获取待识别数据包;
若所述待识别数据包不能被预设工控协议识别,则提取所述待识别数据包的协议特征;
根据所述待识别数据包的协议特征和会话属性,从所有所述样本数据包集合对应的私有协议中确定目标私有协议。
在一种可能的实现方式中,所述待识别数据包的协议特征包括头部特征和交互内容特征,每一所述样本数据包集合中的所有样本数据包具有相同的会话属性,每一所述样本数据包集合对应的私有协议的协议特征包括头部特征和交互内容特征,所述根据所述待识别数据包的协议特征,从所有所述样本数据包集合对应的私有协议中确定目标私有协议的步骤包括:
根据所述待识别数据包的会话属性,从所有所述样本数据包集合对应的私有协议中确定待定私有协议,其中,所述待定私有协议对应的样本数据包集合中的样本数据包的会话属性与所述待识别数据包的会话属性相同;
根据所述待识别数据包的头部特征和交互内容特征,从所述待定私有协议中确定所述目标私有协议,其中,所述目标私有协议的头部特征和交互内容特征分别与所述待识别数据包的头部特征和交互内容特征相同。
第二方面,本发明实施例提供了一种私有协议分析装置,所述装置包括:
获取模块,用于从工控网络中获取多个样本数据包;
分类模块,用于若所述样本数据包无法被预设工控协议识别,将所述多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合;
提取模块,用于提取每一所述样本数据包集合对应的私有协议的协议特征,以根据所有所述样本数据包集合对应的私有协议的协议特征对所述工控网络的数据包进行识别,其中,不同所述样本数据包集合对应的私有协议不同。
在一种可能的实现方式中,所述业务属性包括源属性、会话属性以及通信模式,所述源属性用于表征所述样本数据包的来源,所述分类模块具体用于:
将所述多个样本数据包按照所述源属性、会话属性以及通信模式进行分类,得到至少一个样本数据包集合,其中,每一所述样本数据包集合中的样本数据包具有相同的源属性、会话属性及通信模式。
在一种可能的实现方式中,所述提取模块具体用于:
针对任一目标样本数据包集合,从所述目标样本数据包集合中的每一样本数据包的报文中定位出预设协议特征字段;
根据所述预设协议特征字段,确定所述目标样本数据包集合对应的私有协议的协议特征。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
相较于现有技术,本发明实施例提供的一种私有协议分析方法、装置、计算机设备及可读存储介质,通过从工控网络中获取多个样本数据包;若样本数据包无法被预设工控协议识别,将多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合;提取每一样本数据包集合对应的私有协议的协议特征,以根据所有样本数据包集合对应的私有协议的协议特征对工控网络的数据包进行识别,其中,不同样本数据包集合对应的私有协议不同。由于本发明实施例是将不能被预设工控协议识别的多个样本数据包按照业务属性进行分类,并对分类得到的每一样本数据包集合对应的私有协议的协议特征进行提取,来实现对工控网络的数据包进行识别,从而避免了工控网络的自身特点对私有协议分析结果的影响,提高了分析结果的准确性和效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种工控网络结构示意框图;
图2为本发明实施例提供的第一种私有协议分析方法的流程示意图;
图3为本发明实施例提供的第二种私有协议分析方法的流程示意图;
图4为本发明实施例提供的第三种私有协议分析方法的流程示意图;
图5为本发明实施例提供的第一种识别工控网络的数据包的方法的流程示意图;
图6为本发明实施例提供的第二种识别工控网络的数据包的方法的流程示意图;
图7为本发明实施例提供的一种私有协议分析装置的方框示意图;
图8为本发明实施例提供的一种计算机设备的结构示意框图。
图标:100-私有协议分析装置;101-获取模块;102-分类模块;103-提取模块;104-识别模块;200-计算机设备;201-存储器;202-处理器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
“工控”即“工业控制”,相较于利用计算机、互联网技术实现数据处理与共享的传统信息网络,工控网络旨在利用计算机、互联网、微电子以及电气等技术,使工厂的生产和制造过程更加的自动化、效率化、精确化,并具有可控性及可视性,更强调对工业自动化过程及相关设备的智能控制、监测与管理。如图1所示,工业网络可简单划分为过程控制网络和现场控制网络两部分,过程控制网络中部署多种关键控制组件,例如历史数据服务器、实时数据服务器、数据采集服务器、组态服务器、OPC(OLE(Object Linking and Embedding)for Process Control)服务器、工作师站以及操作员站等,过程控制网络与现场控制网络相连接,现场控制网络中的控制和采集设备,例如可编程逻辑控制器(Programmable LogicController,PLC)、远程终端单元(Remote Terminal Unit,RTU)、代理自动配置(ProxyAuto Config,PAC)服务器、智能电子设备(Intelligent Electronic Device,IED)等,一方面将现场设备(执行器、现场仪表以及传感器等)状态传送到过程控制网络,另一方面还可以自行处理一些简单的逻辑程序,完成现场控制网络的大部分控制逻辑功能,如控制数据包和温度、读取传感器数据等。
工控协议是工控网络中现场控制网络与过程控制网络之间的通信、现场控制网络各现场设备之间的通信、过程控制网络各控制组件之间的通信的必要条件,也是对工控网络的安全进行监管的基础,出于保密性和安全性方面的要求,部分工控协议是未被公开的,即无法获知具体的协议文档,一般将这类工控协议称为“私有协议”,分析工控网络中的各设备的业务及其安全性的关键在于判定工控网络中私有协议。
现有的私有协议分析技术主要适用于传统信息网络,而工控网络有许多不同于传统信息网络的特点,比如体系架构、操作系统、实时性等,即较传统信息网络,工控网络具有较强的业务特性,使得现有技术应用于工控网络时,分析效率低且结果准确率低。
有鉴于此,本发明实施例提供了一种私有协议分析方法,通过结合工控网络自身的业务特性对私有协议进行判定分析,以提高分析结果的准确性和效率,下面将对其进行详细描述。
请参照图2,图2为本发明实施例提供的第一种私有协议分析方法的流程示意图,该方法包括步骤S101、步骤S102以及步骤S103。
步骤S101,从工控网络中获取多个样本数据包。
在本发明实施例中,样本数据包可以是基于任意一种工控协议产生的数据包,样本数据包可以来源于工控网络中任意位置处的未知流量,所以可以有针对性的采集样本数据包,例如,工控网络中的控制器(PLC)会对执行器、现场仪表以及传感器等现场设备的状态进行实时采集和传输,可以从控制器处直接获取样本数据包,也可以在控制器处安装数据包采集设备来获取样本数据包。
步骤S102,若样本数据包无法被预设工控协议识别,将多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合。
在本发明实施例中,预设工控协议可以是TCP/IP协议栈等通用协议,也可以是已知详细描述信息的私有协议,可以理解地,当一个样本数据包对应的工控协议不是预设工控协议,意味着该样本数据包是基于未知详细描述信息的私有协议产生的,从多个样本数据包中过滤出所有不能被预设工控协议识别的样本数据包,再将过滤后的样本数据包中具有相同业务属性的样本数据包划分至同一个样本数据包集合中。
步骤S103,提取每一样本数据包集合对应的私有协议的协议特征,以根据所有样本数据包集合对应的私有协议的协议特征对工控网络的数据包进行识别,其中,不同样本数据包集合对应的私有协议不同。
在本发明实施例中,每一样本数据包集合中的若干个样本数据包对应相同的未知详细描述信息的私有协议,不同样本数据包集合中的样本数据包对应不同的未知详细描述信息的私有协议,基于每一样本数据包集合中的若干个样本数据包的报文,对该样本数据包集合对应的私有协议的协议特征,例如长度字段、类型字段或标识符字段的值,以及在报文中的具体五位置,进行归纳总结,并应用于后续对工控网络的数据包进行识别的过程。
本发明实施例提供的上述方法,其有益效果在于,通过将不能被预设工控协议识别的多个样本数据包按照业务属性进行分类,并对分类得到的每一样本数据包集合对应的私有协议的协议特征进行提取,来实现对工控网络的数据包进行识别,从而避免了工控网络的自身特点对私有协议分析结果的影响,提高了分析结果的准确性和效率。
基于图2,本发明实施例提供了一种将多个样本数据包按照业务属性进行分类的具体实现方式,请参照图3,图3为本发明实施例提供的第二种私有协议分析方法的流程示意图,步骤S102包括子步骤S102-1。
子步骤S102-1,将多个样本数据包按照源属性、会话属性以及通信模式进行分类,得到至少一个样本数据包集合,其中,每一样本数据包集合中的样本数据包具有相同的源属性、会话属性及通信模式。
在本发明实施例中,样本数据包的业务属性包括源属性,会话属性以及通信模式,将具有相同的源属性、会话属性及通信模式的样本数据包划分至同一个样本数据包集合中,其中,源属性表征的是样本数据包的来源,即工控网络汇中获取该样本数据包的位置,例如,电厂的工控网络中的现场控制网络包括Ⅰ区、Ⅱ区、Ⅲ区以及Ⅳ区,其中,Ⅰ区一般为发电机组和控制器所在区域,所以,样本数据包可以是在Ⅰ区中的控制器处获取的;会话属性是指样本数据包对应的会话的端口、负载、偏移以及收发比等,一般情况下,工控网络中的数据包是通过TCP会话、UDP会话以及二层以太网上的数据流来体现的;通信模式是指样本数据包的数据交互方式(请求/响应模式、对等模式和单向推送模式)和样本数据包对应的会话中各节点的IP地址的规律,例如,样本数据包是从风力发电厂的工控网络中的监控服务器处获取的,监控服务器实时向一个或多个PLC请求现场数据,即监控服务器与一个或多个PLC建立会话,此时,上述一个或多个PLC可以看作会话中的节点,对于多个PLC的情况,多个PLC的IP地址可能是连续的,也可能是位于同一子网中的。
可以理解地,对于任一样本数据包集合中的若干个样本数据包,它们是在工控网络中的同一位置获取的,并且它们对应的会话的端口相同,负载中同一偏移位处的内容相同,以及收发比一致或相接近,同时,它们的数据交互方式相同,它们对应的会话中的各节点的IP地址具有相同的规律。
基于图3,本发明实施例提供了一种提取每一样本数据包集合对应的私有协议的协议特征的具体实现方式,请参照图4,图4为本发明实施例提供的第三种私有协议分析方法的流程示意图,步骤S103包括子步骤S103-1和子步骤S103-2。
子步骤S103-1,针对任一目标样本数据包集合,从目标样本数据包集合中的每一样本数据包的报文中定位出预设协议特征字段。
在本发明实施例中,样本数据包的报文通常可以被划分为头部和交互内容部分,一般情况下,报文的头部的长度是固定的,而交互内容部分的长度不固定,报文的头部包括长度字段、类型字段、版本字段、标识符字段等,可以将它们中的一个或多个作为预设协议特征字段,由于预设协议特征字段是位于报文的头部的,可以理解地,根据各预设协议特征字段的具体位置可以大致确定头部和交互内容部分分别在报文中占据的字节的范围,例如,预设协议特征字段为两个,报文的总字节数为548字节,第一个预设协议特征字段的位置在第75至第79字节,第二个预设协议特征字段的位置在第92至第96字节,并且第96字节后的报文内容无明显的规律与特征,则可以将报文的前96个字节视作报文的头部,第97至第548字节视作报文的交互内容部分,即将最后一个预设协议特征字段占据的最后一个字节作为报文头部和交互内容部分的分界线。
子步骤S103-2,根据预设协议特征字段,确定目标样本数据包集合对应的私有协议的协议特征。
在本发明实施例中,每一样本数据包集合对应的私有协议的协议特征包括头部特征和交互内容特征,其中,头部特征表征的是该样本数据包集合中的每一样本数据包的报文的头部中,预设协议特征字段的具体位置以及取值,交互内容特征表征的是该样本数据包集合中的每一样本数据包的报文的交互内容部分所占据的字节的范围,例如,将“长度字段”作为预设协议特征字段,样本数据包集合1中每一样本数据包的报文的总字节数为1096字节,其十六进制为04 48H,在每一样本数据包的报文中查找是否存在0448H,若存在,且在每一样本数据包的报文中的位置均为第9和第10字节,若“长度字段”为最后一个预设协议特征字段,则将“长度字段”占据的最后一个字节,即第10个字节作为报文头部和交互内容部分的分界,则该样本数据包集合中每一样本数据包的报文中“长度字段”位于第9和第10字节,值为04 48H,第11至第1096字节为交互内容部分。
上述方法得到的所有样本数据包集合对应的私有协议的协议特征将用于对工控网络中的数据包进行识别,为此,本发明实施例还提供了一种识别工控网络的数据包的具体实现方式,请参照图5,图5为本发明实施例提供的第一种识别工控网络的数据包的方法的流程示意图,该方法包括步骤S301、步骤S302以及步骤S303。
步骤S301,从工控网络中获取待识别数据包。
在本发明实施例中,待识别数据包可以是基于任意一种工控协议产生的数据包,并将工控网络中获取待识别数据包的位置作为待识别数据包的源属性。
步骤S302,若待识别数据包不能被预设工控协议识别,则提取待识别数据包的协议特征。
在本发明实施例中,若待识别数据包能被预设工控协议识别,则可以直接利用预设工控协议对待识别数据包进行解析,若待识别数据包不能被预设工控协议识别,则对待识别数据包的协议特征(例如待识别数据包的报文的头部中预设协议特征字段的具体位置和值以及交互内容部分的所占据的字节范围)进行提取。
步骤S303,根据待识别数据包的协议特征和会话属性,从所有样本数据包集合对应的私有协议中确定目标私有协议。
在本发明实施例中,将待识别数据包的会话属性与每一样本数据包集合中的样本数据包的会话属性进行对比,将待识别数据包的协议特征与每一样本数据包集合对应的私有协议的协议特征进行对比,从所有样本数据包集合对应的私有协议中确定目标私有协议。
基于图5,本发明实施例提供了一种确定目标私有协议的具体实现方式,请参照图6,图6为本发明实施例提供的第二种识别工控网络的数据包的方法的流程示意图,步骤S303包括子步骤S303-1和子步骤S303-2。
子步骤S303-1,根据待识别数据包的会话属性,从所有样本数据包集合对应的私有协议中确定待定私有协议,其中,待定私有协议对应的样本数据包集合中的样本数据包的会话属性与待识别数据包的会话属性相同。
在本发明实施例中,可能存在一个或多个样本数据包集合中的样本数据包的会话属性与待识别数据包的会话属性相同,例如,待识别数据包的会话属性为端口3、服务器B、数据流的第9和第10字节的值为04 48H,而样本数据包集合1和样本数据包集合4中样本数据包的会话属性与待识别数据包相同,则将样本数据包集合1和样本数据包集合4对应的私有协议作为待定私有协议。
子步骤S303-2,根据待识别数据包的头部特征和交互内容特征,从待定私有协议中确定目标私有协议,其中,目标私有协议的头部特征和交互内容特征分别与待识别数据包的头部特征和交互内容特征相同。
在本发明实施例中,将与待识别数据包的头部特征和交互内容特征均相同的待定私有协议作为目标私有协议,例如,待识别数据包的报文的头部中,协议特征字段的值为02FF,位置为第75至第79字节,第80至第548字节为交互内容部分,而样本数据包集合1中的每一样本数据包的报文中的协议特征字段的值为02FF,位置为第45至第49字节,第50至第822字节为交互内容部分,样本数据包集合4中的每一样本数据包的报文中的协议特征字段的值为02FF,位置为第75至第79字节,第80至第548字节为交互内容部分,则样本数据包集合4对应的私有协议作为目标私有协议。
需要说明的是,上述目标私有协议的详细描述信息(例如目标私有协议中各字段的含义、目标私有协议的作用、应用场景、相关业务指令)还需要根据待识别数据包和对应其的样本数据包集合中的每一样本数据包,结合获取每一数据包处的相关系统或设备的参数作进一步的分析来的得到。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种私有协议分析装置100的实现方式。请参照图7,图7示出了本发明实施例提供的私有协议分析装置100的方框示意图。需要说明的是,本发明实施例提供的私有协议分析装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本发明实施例部分未提及指出。
私有协议分析装置100包括获取模块101,分类模块102、提取模块103以及识别模块。
获取模块101,用于从工控网络中获取多个样本数据包。
分类模块102,用于若样本数据包无法被预设工控协议识别,将多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合。
提取模块103,用于提取每一样本数据包集合对应的私有协议的协议特征,以根据所有样本数据包集合对应的私有协议的协议特征对工控网络的数据包进行识别,其中,不同样本数据包集合对应的私有协议不同。
作为一种具体的实现方式,业务属性包括源属性、会话属性以及通信模式,数据包源用于表征样本数据包的来源,分类模块102在用于将多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合时,还具体用于将多个样本数据包按照源属性、会话属性以及通信模式进行分类,得到至少一个样本数据包集合,其中,每一样本数据包集合中的样本数据包具有相同的源属性、会话属性及通信模式。
作为一种具体的实现方式,提取模块103在用于提取每一样本数据包集合对应的私有协议的协议特征时,还具体用于针对任一目标样本数据包集合,从目标样本数据包集合中的每一样本数据包的报文中定位出的预设协议特征字段;根据预设协议特征字段,确定目标样本数据包集合对应的私有协议的协议特征。
获取模块101,还用于从工控网络中获取待识别数据包。
提取模块103,还用于若待识别数据包不能被预设工控协议识别,则提取待识别数据包协议特征。
识别模块104,用于根据待识别数据包的协议特征和会话属性,从所有样本数据包集合对应的私有协议中确定目标私有协议。
作为一种具体的实现方式,待识别数据包的协议特征包括头部特征和交互内容特征,每一样本数据包集合中的所有样本数据包具有相同的会话属性,每一样本数据包集合对应的私有协议的协议特征包括头部特征和交互内容特征,识别模块104在用于根据待识别数据包的协议特征和会话属性,从所有样本数据包集合对应的私有协议中确定目标私有协议时,还具体用于根据待识别数据包的会话属性,从所有样本数据包集合对应的私有协议中确定待定私有协议,其中,待定私有协议对应的样本数据包集合中的样本数据包的会话属性与待识别数据包的会话属性相同;根据待识别数据包的头部特征和交互内容特征,从待定私有协议中确定目标私有协议,其中,目标私有协议的头部特征和交互内容特征分别与待识别数据包的头部特征和交互内容特征相同。
进一步地,请参照图8,图8为本发明实施例提供的一种计算机设备200的结构示意框图,该计算机设备200可以包括存储器201和处理器202。
其中,处理器202可以是一个通用的中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制上述方法实施例提供的私有协议分析方法的程序执行的集成电路。
存储器201可以是ROM或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmabler-Only MEMory,EEPROM)、只读光盘(CompactdiscRead-Only MEMory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器201可以是独立存在,通过通信总线与处理器202相连接。存储器201也可以和处理器202集成在一起。其中,存储器201用于存储执行本申请方案的机器可执行指令。处理器202用于执行存储器201中存储的机器可执行指令,以实现前述的方法实施例。
由于本发明实施例提供的计算机设备200是前述的方法实施例提供的私有协议分析方法的另一种实现形式,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
本发明实施例还提供一种包含计算机可执行指令的可读存储介质,计算机可执行指令在被执行时可以用于执行前述的方法实施例提供的私有协议分析方法中的相关操作。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种私有协议分析方法,其特征在于,所述方法包括:
从工控网络中获取多个样本数据包;
若所述样本数据包无法被预设工控协议识别,将所述多个样本数据包括按照业务属性进行分类,得到至少一个样本数据包集合;
提取每一所述样本数据包集合对应的私有协议的协议特征,以根据所有所述样本数据包集合对应的私有协议的协议特征对所述工控网络中的数据包进行识别,其中,不同所述样本数据包集合对应的私有协议不同。
2.如权利要求1所述的方法,其特征在于,所述业务属性包括源属性、会话属性以及通信模式,所述源属性用于表征所述样本数据包的来源,所述将所述多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合的步骤包括:
将所述多个样本数据包按照所述源属性、会话属性以及通信模式进行分类,得到至少一个样本数据包集合,其中,每一所述样本数据包集合中的所有样本数据包具有相同的源属性、会话属性及通信模式。
3.如权利要求1所述的方法,其特征在于,所述提取每一所述样本数据包集合对应的私有协议的协议特征的步骤包括:
针对任一目标样本数据包集合,从所述目标样本数据包集合中的每一样本数据包的报文中定位出预设协议特征字段;
根据所述预设协议特征字段,确定所述目标样本数据包集合对应的私有协议的协议特征。
4.如权利要求1所述的方法,其特征在于,所述业务属性包括会话属性,所述方法还包括:
从所述工控网络中获取待识别数据包;
若所述待识别数据包不能被预设工控协议识别,则提取所述待识别数据包的协议特征;
根据所述待识别数据包的协议特征和会话属性,从所有所述样本数据包集合对应的私有协议中确定目标私有协议。
5.如权利要求4所述的方法,其特征在于,所述待识别数据包的协议特征包括头部特征和交互内容特征,每一所述样本数据包集合中的所有样本数据包具有相同的会话属性,每一所述样本数据包集合对应的私有协议的协议特征包括头部特征和交互内容特征,所述根据所述待识别数据包的协议特征和会话属性,从所有所述样本数据包集合对应的私有协议中确定目标私有协议的步骤包括:
根据所述待识别数据包的会话属性,从所有所述样本数据包集合对应的私有协议中确定待定私有协议,其中,所述待定私有协议对应的样本数据包集合中的样本数据包的会话属性与所述待识别数据包的会话属性相同;
根据所述待识别数据包的头部特征和交互内容特征,从所述待定私有协议中确定所述目标私有协议,其中,所述目标私有协议的头部特征和交互内容特征分别与所述待识别数据包的头部特征和交互内容特征相同。
6.一种私有协议分析装置,其特征在于,所述装置包括:
获取模块,用于从工控网络中获取多个样本数据包;
分类模块,用于若所述样本数据包无法被预设工控协议识别,将所述多个样本数据包按照业务属性进行分类,得到至少一个样本数据包集合;
提取模块,用于提取每一所述样本数据包集合对应的私有协议的协议特征,以根据所有所述样本数据包集合对应的私有协议的协议特征对所述工控网络的数据包进行识别,其中,不同所述样本数据包集合对应的私有协议不同。
7.如权利要求6所述的装置,其特征在于,所述业务属性包括源属性、会话属性以及通信模式,所述源属性用于表征所述样本数据包的来源,所述分类模块具体用于:
将所述多个样本数据包按照所述源属性、会话属性以及通信模式进行分类,得到至少一个样本数据包集合,其中,每一所述样本数据包集合中的样本数据包具有相同的源属性、会话属性及通信模式。
8.如权利要求6所述的装置,其特征在于,所述提取模块具体用于:
针对任一目标样本数据包集合,从所述目标样本数据包集合中的每一样本数据包的报文中定位出预设协议特征字段;
根据所述预设协议特征字段,确定所述目标样本数据包集合对应的私有协议的协议特征。
9.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1~5任一项所述的私有协议分析方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的私有协议分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210149738.9A CN114553749B (zh) | 2022-02-18 | 2022-02-18 | 私有协议分析方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210149738.9A CN114553749B (zh) | 2022-02-18 | 2022-02-18 | 私有协议分析方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553749A true CN114553749A (zh) | 2022-05-27 |
CN114553749B CN114553749B (zh) | 2024-08-02 |
Family
ID=81675585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210149738.9A Active CN114553749B (zh) | 2022-02-18 | 2022-02-18 | 私有协议分析方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553749B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834738A (zh) * | 2023-01-09 | 2023-03-21 | 科来网络技术股份有限公司 | 一种工控业务行为识别方法、装置、电子设备及可读介质 |
CN117579525A (zh) * | 2023-11-20 | 2024-02-20 | 北京思存通信技术有限公司 | 一种网络协议特征识别系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506484A (zh) * | 2014-11-11 | 2015-04-08 | 中国电子科技集团公司第三十研究所 | 一种私有协议分析与识别方法 |
CN108960307A (zh) * | 2018-06-22 | 2018-12-07 | 中国人民解放军战略支援部队信息工程大学 | 一种私有协议字段格式提取方法、装置及服务器 |
KR102139138B1 (ko) * | 2020-04-27 | 2020-07-30 | (주) 앤앤에스피 | 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ics 프로토콜의 프로파일링 시스템 |
CN112306019A (zh) * | 2020-10-28 | 2021-02-02 | 北京珞安科技有限责任公司 | 一种基于协议深度分析的工控安全审计系统及其应用 |
CN113645065A (zh) * | 2021-07-21 | 2021-11-12 | 武汉虹旭信息技术有限责任公司 | 基于工业互联网的工控安全审计系统及其方法 |
-
2022
- 2022-02-18 CN CN202210149738.9A patent/CN114553749B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506484A (zh) * | 2014-11-11 | 2015-04-08 | 中国电子科技集团公司第三十研究所 | 一种私有协议分析与识别方法 |
CN108960307A (zh) * | 2018-06-22 | 2018-12-07 | 中国人民解放军战略支援部队信息工程大学 | 一种私有协议字段格式提取方法、装置及服务器 |
KR102139138B1 (ko) * | 2020-04-27 | 2020-07-30 | (주) 앤앤에스피 | 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ics 프로토콜의 프로파일링 시스템 |
CN112306019A (zh) * | 2020-10-28 | 2021-02-02 | 北京珞安科技有限责任公司 | 一种基于协议深度分析的工控安全审计系统及其应用 |
CN113645065A (zh) * | 2021-07-21 | 2021-11-12 | 武汉虹旭信息技术有限责任公司 | 基于工业互联网的工控安全审计系统及其方法 |
Non-Patent Citations (1)
Title |
---|
闫小勇: "二进制私有协议逆向关键技术研究与实现", 中国优秀硕士学位论文全文数据库, 31 December 2018 (2018-12-31) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115834738A (zh) * | 2023-01-09 | 2023-03-21 | 科来网络技术股份有限公司 | 一种工控业务行为识别方法、装置、电子设备及可读介质 |
CN117579525A (zh) * | 2023-11-20 | 2024-02-20 | 北京思存通信技术有限公司 | 一种网络协议特征识别系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114553749B (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380989B (zh) | 网络流量指纹特征二阶段多分类的物联网设备识别方法 | |
CN112468488B (zh) | 工业异常监测方法、装置、计算机设备及可读存储介质 | |
CN109167796B (zh) | 一种基于工业scada系统的深度包检测平台 | |
CN114553749A (zh) | 私有协议分析方法、装置、计算机设备及可读存储介质 | |
CN111130883B (zh) | 工控设备拓扑图的确定方法、装置及电子设备 | |
US8789182B2 (en) | Security event logging in process control | |
CN109861988A (zh) | 一种基于集成学习的工业控制系统入侵检测方法 | |
CN109768952B (zh) | 一种基于可信模型的工控网络异常行为检测方法 | |
Yang et al. | iFinger: Intrusion detection in industrial control systems via register-based fingerprinting | |
EP3499837A1 (en) | Ot system monitoring method, apparatus, system, and storage medium | |
CN114710416B (zh) | 一种基于工艺流程的网络流量实时数据采集方法 | |
CN117411703A (zh) | 一种面向Modbus协议的工业控制网络异常流量检测方法 | |
CN113285916B (zh) | 智能制造系统异常流量检测方法及检测装置 | |
CN112333211B (zh) | 一种基于机器学习的工控行为检测方法和系统 | |
CN113328985A (zh) | 一种被动物联网设备识别方法、系统、介质及设备 | |
CN113973059A (zh) | 基于网络协议指纹的被动式工业互联网资产识别方法及装置 | |
Al Ghazo et al. | ICS/SCADA device recognition: A hybrid communication-patterns and passive-fingerprinting approach | |
CN113905107A (zh) | 工业设备点表数据的获取方法、装置及网关 | |
CN114205340B (zh) | 一种基于智能电力设备的模糊测试方法及装置 | |
Shim et al. | Clustering method in protocol reverse engineering for industrial protocols | |
CN114189348A (zh) | 一种适用于工控网络环境的资产识别方法 | |
CN116232777B (zh) | SDN-IIOT中基于统计度量的DDoS攻击检测与防御方法及相关设备 | |
Chromik et al. | A parser for deep packet inspection of IEC-104: A practical solution for industrial applications | |
CN115150207B (zh) | 工业网络设备识别方法、装置、终端设备及存储介质 | |
CN114553546B (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 |