CN113938537A - 一种基于协议树识别与深度解析工控网络中扩展协议的方法 - Google Patents
一种基于协议树识别与深度解析工控网络中扩展协议的方法 Download PDFInfo
- Publication number
- CN113938537A CN113938537A CN202111177344.6A CN202111177344A CN113938537A CN 113938537 A CN113938537 A CN 113938537A CN 202111177344 A CN202111177344 A CN 202111177344A CN 113938537 A CN113938537 A CN 113938537A
- Authority
- CN
- China
- Prior art keywords
- protocol
- tree
- identifying
- industrial control
- branch
- 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.)
- Pending
Links
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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明涉及工控网络解析技术领域,且公开了一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:未知协议识别,对采集的未知协议进行识别,采用解析器,生产出规则库,对每个协议进行存储,协议格式识别,通过数据切分特征库,对协议格式进行识别。该基于协议树识别与深度解析工控网络中扩展协议的方法,通过让用户根据私有协议规约,按照本发明指定格式编写Protocol Tree,然后深度解析程序通过读取Protocol Tree,对私有协议进行识别与深度解析,解决私有协议不能深度解析的技术问题,用户通过Protocol Tree,用户能够一眼看出协议结构,便于方面检查,同时也避免了无比繁琐的协议识别配置,能够解析私有协议。
Description
技术领域
本发明涉及工控网络解析技术领域,具体为一种基于协议树识别与深度解析工控网络中扩展协议的方法。
背景技术
工业控制系统网络是由工业自动化生产设备组成的网络,不同于传统IT网络,工控网络有着专用的通信协议和通信机制,工业控制系统网络上使用的网络防护类设备需要对这些专用的通信协议进行深度解析,从而对工业自动化生产设备起到保护的作用,常见的通用的工业控制系统网络通信协议包括OPCDA、Modbus和IEC104等。
在部分对于安全非常敏感的行业,例如核电、军工和电厂等,它们的工业控制系统网络中运行的协议是保密的,不能公开的,即使是安全技术服务商,也不可以获得这些工业控制协议的任何细节,这样得到这些工控协议的细节,再以代码的方式支持这些协议深度解析的传统的方法就行不通了,现有技术只能对公开的标准的工控协议进行深度解析与防护,无法对私有协议进行深度解析,因此需要一种基于协议树识别与深度解析工控网络中扩展协议的方法。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于协议树识别与深度解析工控网络中扩展协议的方法,具备能够对私有协议进行深度解析的优点,解决了对私有协议不能深度解析的问题。
(二)技术方案
为实现上述能够对私有协议进行深度解析的目的,本发明提供如下技术方案:一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:
1)未知协议识别,
①对采集的未知协议进行识别;
②采用解析器,生产出规则库;
③对每个协议进行存储;
2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
3)协议树编写,
①制定协议树的编写格式,协议树采用json格式进行编写;
②Protocol Tree为树的主干,Protocol Tree能够基于端口+应用层payload相结合,避免了协议误识别;
③Children为树干的树枝,也叫子结点,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,Children的主要作用是为协议的深度解析,提供具体的解析参数;
4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续DPI对私有协议进行深度解析做准备,
①基于json格式获取主干信息;
②根据length偏移,去解析分支1信息,判断分支1是否有子节点;
③如果有继续解析子节点,没有则结束;
④分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
5)协议深度解析。
优选的,所述Protocol Tree包括协议名、目的端口、传输协议类型、特征码、特征码起始偏移和特征码匹配深度。
优选的,所述Children包括功能说明、协议字段名、字段长度和字段值。
优选的,所述协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
(三)有益效果
与现有技术相比,本发明提供了一种基于协议树识别与深度解析工控网络中扩展协议的方法,具备以下有益效果:
该基于协议树识别与深度解析工控网络中扩展协议的方法,通过让用户根据私有协议规约,按照本发明指定格式编写Protocol Tree,然后深度解析程序通过读取ProtocolTree,对私有协议进行识别与深度解析,解决私有协议不能深度解析的技术问题,用户通过Protocol Tree,用户能够一眼看出协议结构,便于方面检查,同时也避免了无比繁琐的协议识别配置,能够解析私有协议,结合目的端口与内容进行协议识别,避免误识别,支持私有协议细粒度解析,便于达到审计与防护目的,通过Protocol Tree采用json固定格式进行编写,避免使用了复杂多变的私有协议配置,利于用户进行操作。
具体实施方式
下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:
1)未知协议识别,
①对采集的未知协议进行识别;
②采用解析器,生产出规则库;
③对每个协议进行存储;
2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
3)协议树编写,
①制定协议树的编写格式,协议树采用json格式进行编写;
②Protocol Tree为树的主干,Protocol Tree包括协议名、目的端口、传输协议类型、特征码、特征码起始偏移和特征码匹配深度,Protocol Tree能够基于端口+应用层payload相结合,避免了协议误识别;
③Children为树干的树枝,也叫子结点,Children包括功能说明、协议字段名、字段长度和字段值,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,Children的主要作用是为协议的深度解析,提供具体的解析参数;
4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续DPI对私有协议进行深度解析做准备,
①基于json格式获取主干信息;
②根据length偏移,去解析分支1信息,判断分支1是否有子节点;
③如果有继续解析子节点,没有则结束;
④分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
5)协议深度解析,协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
实施例二:一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:
1)未知协议识别,
①对采集的未知协议进行识别;
②采用解析器,生产出规则库;
③对每个协议进行存储;
2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
3)协议树编写,
①制定协议树的编写格式,协议树采用json格式进行编写;
②Protocol Tree为树的主干,Protocol Tree包括协议名、目的端口、传输协议类型、特征码、特征码起始偏移和特征码匹配深度,Protocol Tree能够基于端口+应用层payload相结合,避免了协议误识别;
③Children为树干的树枝,也叫子结点,Children包括功能说明、协议字段名、字段长度和字段值,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,Children的主要作用是为协议的深度解析,提供具体的解析参数;
其中,在Protocol Tree的children_alternative中1表示children中兄弟类互斥,仅需匹配其中任一个,0表示children中都需匹配,在Children的isfixed中1表示固定头部,0表示非固定头部,无头部则无header字段,children_alternative中1表示children中兄弟类互斥,仅需匹配其中任一个,0表示children中都需匹配,display中1表示需要深度解析,0不需要深度解析。
4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续DPI对私有协议进行深度解析做准备,
①基于json格式获取主干信息;
②根据length偏移,去解析分支1信息,判断分支1是否有子节点;
③如果有继续解析子节点,没有则结束;
④分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
需要说明的是,在解析分支节点1的信息时,只存储display的字段信息,Id与上面协议一样,字节偏移等于,"事务元标识符"(2)+"协议标识符"(2)+"长度"(1)=6,字段长度为1,字段名为,"单元标识符",字段值没有为,“NULL”。
5)协议深度解析,协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
判断标准:采用的数据包深度解析技术,首先进行数据包抓包,通过读取selfProtoInfo表数据,首先依据protoType判断是TCP/UDP,以及port进行网络层的协议识别,其次依据signature、startOffset和deepth在应用层通过对内容进行匹配,进一步进行协议识别,避免误识别,如:modbus协议,端口为502,tcp类型,其内容匹配需要从应用层数据偏移startOffset,然后在deepth范围内,匹配signature,如果匹配到则协议识别为modbus,如果不匹配则不能判定为modbus协议,协议识别后,会进入到应用层的解析流程,通过读取argumentProto数据,根据offset计算要解析数据的偏移量,根据长度获取name的value值,达到深度解析的目的,依次类推,直到所有的数据解析完成。
本发明的有益效果是:该基于协议树识别与深度解析工控网络中扩展协议的方法,通过让用户根据私有协议规约,按照本发明指定格式编写ProtocolTree,然后深度解析程序通过读取Protocol Tree,对私有协议进行识别与深度解析,用户通过Protocol Tree,用户能够一眼看出协议结构,便于方面检查,同时也避免了无比繁琐的协议识别配置,能够解析私有协议,结合目的端口与内容进行协议识别,避免误识别,支持私有协议细粒度解析,便于达到审计与防护目的,通过Protocol Tree采用json固定格式进行编写,避免使用了复杂多变的私有协议配置,利于用户进行操作。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种基于协议树识别与深度解析工控网络中扩展协议的方法,其特征在于,包括以下步骤:
1)未知协议识别,
①对采集的未知协议进行识别;
②采用解析器,生产出规则库;
③对每个协议进行存储;
2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
3)协议树编写,
①制定协议树的编写格式,协议树采用json格式进行编写;
②Protocol Tree为树的主干,Protocol Tree能够基于端口+应用层payload相结合,避免了协议误识别;
③Children为树干的树枝,也叫子结点,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,Children的主要作用是为协议的深度解析,提供具体的解析参数;
4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续DPI对私有协议进行深度解析做准备,
①基于json格式获取主干信息;
②根据length偏移,去解析分支1信息,判断分支1是否有子节点;
③如果有继续解析子节点,没有则结束;
④分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
5)协议深度解析。
2.根据权利要求1所述的一种基于协议树识别与深度解析工控网络中扩展协议的方法,其特征在于,所述Protocol Tree包括协议名、目的端口、传输协议类型、特征码、特征码起始偏移和特征码匹配深度。
3.根据权利要求1所述的一种基于协议树识别与深度解析工控网络中扩展协议的方法,其特征在于,所述Children包括功能说明、协议字段名、字段长度和字段值。
4.根据权利要求1所述的一种基于协议树识别与深度解析工控网络中扩展协议的方法,其特征在于,所述协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111177344.6A CN113938537A (zh) | 2021-10-09 | 2021-10-09 | 一种基于协议树识别与深度解析工控网络中扩展协议的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111177344.6A CN113938537A (zh) | 2021-10-09 | 2021-10-09 | 一种基于协议树识别与深度解析工控网络中扩展协议的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113938537A true CN113938537A (zh) | 2022-01-14 |
Family
ID=79278012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111177344.6A Pending CN113938537A (zh) | 2021-10-09 | 2021-10-09 | 一种基于协议树识别与深度解析工控网络中扩展协议的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113938537A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190190A (zh) * | 2022-08-03 | 2022-10-14 | 国网湖南省电力有限公司 | 电力物联网协议的预解析方法及其预解析系统 |
CN115801928A (zh) * | 2022-11-22 | 2023-03-14 | 国网山东省电力公司电力科学研究院 | 一种基于工业控制系统网络通信的工控协议解析方法 |
CN117176830A (zh) * | 2023-11-03 | 2023-12-05 | 三未信安科技股份有限公司 | 一种可扩展的多格式协议密码应用数据的适配转换方法 |
-
2021
- 2021-10-09 CN CN202111177344.6A patent/CN113938537A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190190A (zh) * | 2022-08-03 | 2022-10-14 | 国网湖南省电力有限公司 | 电力物联网协议的预解析方法及其预解析系统 |
CN115190190B (zh) * | 2022-08-03 | 2023-09-26 | 国网湖南省电力有限公司 | 电力物联网协议的预解析方法及其预解析系统 |
CN115801928A (zh) * | 2022-11-22 | 2023-03-14 | 国网山东省电力公司电力科学研究院 | 一种基于工业控制系统网络通信的工控协议解析方法 |
CN117176830A (zh) * | 2023-11-03 | 2023-12-05 | 三未信安科技股份有限公司 | 一种可扩展的多格式协议密码应用数据的适配转换方法 |
CN117176830B (zh) * | 2023-11-03 | 2024-01-26 | 三未信安科技股份有限公司 | 一种可扩展的多格式协议密码应用数据的适配转换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113938537A (zh) | 一种基于协议树识别与深度解析工控网络中扩展协议的方法 | |
CN111506599A (zh) | 基于规则匹配和深度学习的工控设备识别方法及系统 | |
CN111930592A (zh) | 一种实时检测日志序列异常的方法和系统 | |
CN109490838A (zh) | 一种面向数据库残缺的雷达辐射源识别方法 | |
CN106209431A (zh) | 一种告警关联方法及网管系统 | |
CN105282123A (zh) | 一种网络协议识别方法和装置 | |
CN111865960A (zh) | 一种网络入侵场景分析处理方法、系统、终端及存储介质 | |
CN113452672A (zh) | 基于协议逆向分析的电力物联网终端流量异常分析方法 | |
CN113923003A (zh) | 一种攻击者画像生成方法、系统、设备以及介质 | |
CN117201646A (zh) | 一种电力物联终端报文的深度解析方法 | |
CN116915450A (zh) | 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法 | |
CN115733686A (zh) | 基于决策树的漏洞智能挖掘方法、装置及存储介质 | |
Abdelnur et al. | Advanced network fingerprinting | |
CN111049839B (zh) | 一种异常检测方法、装置、存储介质及电子设备 | |
CN112527862A (zh) | 一种时间序列数据的处理方法及装置 | |
CN106209420B (zh) | 一种定位数据转发业务故障的方法及电子设备 | |
CN113382003B (zh) | 一种基于两级过滤器的rtsp混合入侵检测方法 | |
CN114615052A (zh) | 一种基于知识编译的入侵检测方法及系统 | |
CN110581823B (zh) | 一种非公开数据库协议请求数据包的解析方法 | |
CN115392238A (zh) | 一种设备识别方法、装置、设备及可读存储介质 | |
CN114244727A (zh) | 一种电力物联网通信全景图即时生成方法及系统 | |
CN112583832A (zh) | 一种基于dpi的应用层协议识别方法及系统 | |
CN113657627A (zh) | 电力通信网中缺陷单生成方法和系统 | |
CN106157061A (zh) | 一种牛的原产地溯源方法 | |
CN110298398A (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 |