一种基于负载的工业互联网协议识别方法技术

技术编号:39501523 阅读:6 留言:0更新日期:2023-11-24 11:32
本发明专利技术涉及一种基于负载的工业互联网协议识别方法,包括分析待识别应用协议报文负载内容,并总结出其通信过程中不同于其他任何应用协议的内容作为该应用协议的特征,并针对不同协议的负载特征设计识别算法

【技术实现步骤摘要】
一种基于负载的工业互联网协议识别方法


[0001]本专利技术涉及工业互联网协议识别
,更确切地说,它涉及一种基于负载的工业互联网协议识别方法


技术介绍

[0002]工业互联网通信需要多个设备之间的信息共享和数据交换,而异构工业协议难以兼容,且缺乏相关用于协议转换或数据互联互通的硬件设备,使得异构网络之间的操作和信息交换难以进行

因此希望实现一种在工业设备上的协议识别及转换算法,用软件代替硬件功能

[0003]目前工业协议的识别方案包括
:
基于端口的协议识别技术和基于行为特征的协议识别技术

基于端口的识别技术仅使用
TCP/UDP
端口进行识别协议


Internet
编号分配管理机构
IANA(Internet Assigned Number Authority)
中有各个协议的详细注册端口号

例如,常用的工业互联网协议
Modbus
的端口号是
502

IEC104
的端口号是
2404。
基于
TCP/UDP
的端口识别算法简单,所需相关信息少,时间和空间复杂度最低

但随着工业物联网系统的发展,许多新的应用协议产生,这些协议使用的端口号并不属于
IANA
机构所分配的端口号,或者使用知名端口传输其他的用户数据,同时应用程序还可以使用可变的端口号,这使得该算法所能识别的应用协议在总应用协议中所占的比重逐渐减少,其识别准确性已低于
50


基于行为特征的识别技术利用统计学原理,根据应用协议数据流的统计学特征即不同协议体现在会话连接状态或者数据流上的状态各有不同

例如,基于
P2P
下载应用的流量的统计学特征为长流大报文,平均包长都在
450byte
以上,下载时间长,连接速率高,一般会优先采用
TCP
等传输协议

基于行为特征的识别技术通过分析数据连接流的包长

连接速率

传输字节量以及包与包之间的时间间隔等信息来与已知标准的特征流量模型对比,从而确定该应用协议类型

由于基于行为特征的识别技术不需要逐包读取报文内容,其识别速度也较快

但在工业网络环境中,存在一些特征相近的应用协议,该识别技术可能会出现误报,网络安全设备误识别流量的代价十分大,误识别可能会造成网络的意外中断等现场事故,因此,基于行为特征的识别技术不适用于工控网络


技术实现思路

[0004]本专利技术的目的是针对现有技术的不足,提出了一种基于负载的工业互联网协议识别方法

[0005]第一方面,提供了基于负载的工业互联网协议识别方法,包括:
[0006]步骤
1、
分别对以太网协议
Modbus/TCP、EtherCAT
和总线协议
CAN
进行报文结构分析,并进行负载指纹特征提取;
[0007]步骤
2、
分别对提取到的
Modbus/TCP、EtherCAT
和总线协议
CAN
的负载指纹特征设计协议识别算法;包括:
[0008]步骤
2.1、
基于负载报文指纹特征的识别算法进行
Modbus/TCP
协议识别;
[0009]步骤
2.2、
基于负载报文指纹特征的识别算法进行
EtherCAT
协议识别;
[0010]步骤
2.3、
基于负载报文指纹特征的识别算法进行
CAN
总线协议识别;
[0011]步骤
3、
使用网络封包分析软件抓取网络中的
Modbus/TCP、EtherCAT

CAN
数据包,构建算法测试数据集;
[0012]步骤
4、
通过协议识别算法对测试数据集进行识别,并将识别结果进行上报

[0013]作为优选,步骤1中,
Modbus/TCP
对应的负载指纹特征包括:
MBAP
部分的
3、4
字节为
00 00

MBAP
部分的
5、6
字节为后续报文长度;功能码范围分别为
01、02、03、04、05、06、0F、10
;功能码对应的数据长度分为请求和响应两种

[0014]作为优选,步骤1中,
EtherCAT
对应的负载指纹特征包括:以太网帧头帧类型为
0x88A4

EtherCAT
头数据长度;
EtherCAT
头类型包括
0x01、04、05
;每个子报文索引是连续的;每个子报文长度应与子报文长度字段相等

[0015]作为优选,步骤1中,总线协议
CAN
对应的负载指纹特征包括:帧起始
0、
帧结束
111111

DLC
数据长度,
BCD
编码,范围0‑8,
DLC*8
为数据帧数据段长度;
IDE
标准帧
0、
扩展帧1;
r0、r1
始终为1;
CRC
界定符为1;
ACK
界定符为1;
SRR

RTR
数据帧
0、
远程帧
1。
[0016]作为优选,步骤
2.1
包括:
[0017]步骤
2.1.1、
验证
MBAP
部分,包括:验证报文
3、4
字节是否为0,以及
5、6
字节的数值是否对应后续报文长度;
[0018]步骤
2.1.2、
验证
PDU
部分,包括:验证功能码范围是否正确,以及根据检验到的功能码依照对应的数据格式和长度进行验证;
[0019]步骤
2.1.3、
如果
MBAP
部分和
PDU
部分均识别成功,则证明该条报文为
Modbus/TCP
协议报文

[0020]作为优选,步骤
2.2
包括:
[0021]步骤
2.2.1、
检验报文数据的以太网帧头帧类型是否为
0x88A4

[0022]步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于负载的工业互联网协议识别方法,其特征在于,包括:步骤
1、
分别对以太网协议
Modbus/TCP、EtherCAT
和总线协议
CAN
进行报文结构分析,并进行负载指纹特征提取;步骤
2、
分别对提取到的
Modbus/TCP、EtherCAT
和总线协议
CAN
的负载指纹特征设计协议识别算法;包括:步骤
2.1、
基于负载报文指纹特征的识别算法进行
Modbus/TCP
协议识别;步骤
2.2、
基于负载报文指纹特征的识别算法进行
EtherCAT
协议识别;步骤
2.3、
基于负载报文指纹特征的识别算法进行
CAN
总线协议识别;步骤
3、
使用网络封包分析软件抓取网络中的
Modbus/TCP、EtherCAT

CAN
数据包,构建算法测试数据集;步骤
4、
通过协议识别算法对测试数据集进行识别,并将识别结果进行上报
。2.
根据权利要求1所述的基于负载的工业互联网协议识别方法,其特征在于,步骤1中,
Modbus/TCP
对应的负载指纹特征包括:
MBAP
部分的
3、4
字节为
00 00

MBAP
部分的
5、6
字节为后续报文长度;功能码范围分别为
01、02、03、04、05、06、0F、10
;功能码对应的数据长度分为请求和响应两种
。3.
根据权利要求2所述的基于负载的工业互联网协议识别方法,其特征在于,步骤1中,
EtherCAT
对应的负载指纹特征包括:以太网帧头帧类型为
0x88A4

EtherCAT
头数据长度;
EtherCAT
头类型包括
0x01、04、05
;每个子报文索引是连续的;每个子报文长度应与子报文长度字段相等
。4.
根据权利要求3所述的基于负载的工业互联网协议识别方法,其特征在于,步骤1中,总线协议
CAN
对应的负载指纹特征包括:帧起始
0、
帧结束
111111

DLC
数据长度,
BCD
编码,范围0‑8,
DLC*8
为数据帧数据段长度;
IDE
标准帧
0、
扩展帧1;
r0、r1
始终为1;
CRC
界定符为1;
ACK
界定符为1;
SRR

RTR
数据帧
0、
远程帧
1。5.
根据权利要求4所述的基于负载的工业互联网协议识别方法,其特征在于,步骤
2.1
包括:步骤
2.1.1、
验证
MBAP
部分,包括:验证报文
3、4
字节是否为0,以及
5、6
字节的数值是否对应后续报文长度;步骤
2.1.2、
验证
PDU
部分,包括:验证功能码范围是否正确,以及根据检验到的功能码依照对...

【专利技术属性】
技术研发人员:金建新潘泉洪沙万里赵朝阳俞荣栋王战钟耀毅许云良骆洲
申请(专利权)人:浙江浙能数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1