一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于协议树识别与深度解析工控网络中扩展协议的方法与流程

2022-02-20 14:38:30 来源:中国专利 TAG:

1.本发明涉及工控网络解析技术领域,具体为一种基于协议树识别与深度解析工控网络中扩展协议的方法。


背景技术:

2.工业控制系统网络是由工业自动化生产设备组成的网络,不同于传统it网络,工控网络有着专用的通信协议和通信机制,工业控制系统网络上使用的网络防护类设备需要对这些专用的通信协议进行深度解析,从而对工业自动化生产设备起到保护的作用,常见的通用的工业控制系统网络通信协议包括opcda、modbus和iec104等。
3.在部分对于安全非常敏感的行业,例如核电、军工和电厂等,它们的工业控制系统网络中运行的协议是保密的,不能公开的,即使是安全技术服务商,也不可以获得这些工业控制协议的任何细节,这样得到这些工控协议的细节,再以代码的方式支持这些协议深度解析的传统的方法就行不通了,现有技术只能对公开的标准的工控协议进行深度解析与防护,无法对私有协议进行深度解析,因此需要一种基于协议树识别与深度解析工控网络中扩展协议的方法。


技术实现要素:

4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种基于协议树识别与深度解析工控网络中扩展协议的方法,具备能够对私有协议进行深度解析的优点,解决了对私有协议不能深度解析的问题。
6.(二)技术方案
7.为实现上述能够对私有协议进行深度解析的目的,本发明提供如下技术方案:一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:
8.1)未知协议识别,
9.①
对采集的未知协议进行识别;
10.②
采用解析器,生产出规则库;
11.③
对每个协议进行存储;
12.2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
13.3)协议树编写,
14.①
制定协议树的编写格式,协议树采用json格式进行编写;
15.②
protocol tree为树的主干,protocol tree能够基于端口 应用层payload相结合,避免了协议误识别;
16.③
children为树干的树枝,也叫子结点,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,children的主要作用是为协议的深度解析,提供具体的解析参数;
17.4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续dpi对私有协议进行深度解析做准备,
18.①
基于json格式获取主干信息;
19.②
根据length偏移,去解析分支1信息,判断分支1是否有子节点;
20.③
如果有继续解析子节点,没有则结束;
21.④
分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
22.5)协议深度解析。
23.优选的,所述protocol tree包括协议名、目的端口、传输协议类型、特征码、特征码起始偏移和特征码匹配深度。
24.优选的,所述children包括功能说明、协议字段名、字段长度和字段值。
25.优选的,所述协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
26.(三)有益效果
27.与现有技术相比,本发明提供了一种基于协议树识别与深度解析工控网络中扩展协议的方法,具备以下有益效果:
28.该基于协议树识别与深度解析工控网络中扩展协议的方法,通过让用户根据私有协议规约,按照本发明指定格式编写protocol tree,然后深度解析程序通过读取protocol tree,对私有协议进行识别与深度解析,解决私有协议不能深度解析的技术问题,用户通过protocol tree,用户能够一眼看出协议结构,便于方面检查,同时也避免了无比繁琐的协议识别配置,能够解析私有协议,结合目的端口与内容进行协议识别,避免误识别,支持私有协议细粒度解析,便于达到审计与防护目的,通过protocol tree采用json固定格式进行编写,避免使用了复杂多变的私有协议配置,利于用户进行操作。
具体实施方式
29.下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.实施例一:一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:
31.1)未知协议识别,
32.①
对采集的未知协议进行识别;
33.②
采用解析器,生产出规则库;
34.③
对每个协议进行存储;
35.2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
36.3)协议树编写,
37.①
制定协议树的编写格式,协议树采用json格式进行编写;
38.②
protocol tree为树的主干,protocol tree包括协议名、目的端口、传输协议类
型、特征码、特征码起始偏移和特征码匹配深度,protocol tree能够基于端口 应用层payload相结合,避免了协议误识别;
39.③
children为树干的树枝,也叫子结点,children包括功能说明、协议字段名、字段长度和字段值,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,children的主要作用是为协议的深度解析,提供具体的解析参数;
40.4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续dpi对私有协议进行深度解析做准备,
41.①
基于json格式获取主干信息;
42.②
根据length偏移,去解析分支1信息,判断分支1是否有子节点;
43.③
如果有继续解析子节点,没有则结束;
44.④
分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
45.5)协议深度解析,协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
46.实施例二:一种基于协议树识别与深度解析工控网络中扩展协议的方法,包括以下步骤:
47.1)未知协议识别,
48.①
对采集的未知协议进行识别;
49.②
采用解析器,生产出规则库;
50.③
对每个协议进行存储;
51.2)协议格式识别,通过数据切分特征库,对协议格式进行识别;
52.3)协议树编写,
53.①
制定协议树的编写格式,协议树采用json格式进行编写;
54.②
protocol tree为树的主干,protocol tree包括协议名、目的端口、传输协议类型、特征码、特征码起始偏移和特征码匹配深度,protocol tree能够基于端口 应用层payload相结合,避免了协议误识别;
55.③
children为树干的树枝,也叫子结点,children包括功能说明、协议字段名、字段长度和字段值,子节点可以有自己的节点,依次往下进行分支,直到满足协议规约的要求,children的主要作用是为协议的深度解析,提供具体的解析参数;
56.其中,在protocol tree的children_alternative中1表示children中兄弟类互斥,仅需匹配其中任一个,0表示children中都需匹配,在children的isfixed中1表示固定头部,0表示非固定头部,无头部则无header字段,children_alternative中1表示children中兄弟类互斥,仅需匹配其中任一个,0表示children中都需匹配,display中1表示需要深度解析,0不需要深度解析。
57.4)协议信息分析与存储,进行协议树的解析,并存入数据库,为后续dpi对私有协议进行深度解析做准备,
58.①
基于json格式获取主干信息;
59.②
根据length偏移,去解析分支1信息,判断分支1是否有子节点;
60.③
如果有继续解析子节点,没有则结束;
61.④
分支1解析完后,解析分支2,然后判断分支2是否有子节点,依次类推,直到所有的分支节点都解析完成;
62.需要说明的是,在解析分支节点1的信息时,只存储display的字段信息,id与上面协议一样,字节偏移等于,"事务元标识符"(2) "协议标识符"(2) "长度"(1)=6,字段长度为1,字段名为,"单元标识符",字段值没有为,“null”。
63.5)协议深度解析,协议深度解析能够细粒度的解析私有协议,达到审计或者防护的目的。
64.判断标准:采用的数据包深度解析技术,首先进行数据包抓包,通过读取selfprotoinfo表数据,首先依据prototype判断是tcp/udp,以及port进行网络层的协议识别,其次依据signature、startoffset和deepth在应用层通过对内容进行匹配,进一步进行协议识别,避免误识别,如:modbus协议,端口为502,tcp类型,其内容匹配需要从应用层数据偏移startoffset,然后在deepth范围内,匹配signature,如果匹配到则协议识别为modbus,如果不匹配则不能判定为modbus协议,协议识别后,会进入到应用层的解析流程,通过读取argumentproto数据,根据offset计算要解析数据的偏移量,根据长度获取name的value值,达到深度解析的目的,依次类推,直到所有的数据解析完成。
65.本发明的有益效果是:该基于协议树识别与深度解析工控网络中扩展协议的方法,通过让用户根据私有协议规约,按照本发明指定格式编写protocoltree,然后深度解析程序通过读取protocol tree,对私有协议进行识别与深度解析,用户通过protocol tree,用户能够一眼看出协议结构,便于方面检查,同时也避免了无比繁琐的协议识别配置,能够解析私有协议,结合目的端口与内容进行协议识别,避免误识别,支持私有协议细粒度解析,便于达到审计与防护目的,通过protocol tree采用json固定格式进行编写,避免使用了复杂多变的私有协议配置,利于用户进行操作。
66.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献