CN116389614A - 一种基于融合bert和cnn网络的工控协议识别方法 - Google Patents

一种基于融合bert和cnn网络的工控协议识别方法 Download PDF

Info

Publication number
CN116389614A
CN116389614A CN202310354195.9A CN202310354195A CN116389614A CN 116389614 A CN116389614 A CN 116389614A CN 202310354195 A CN202310354195 A CN 202310354195A CN 116389614 A CN116389614 A CN 116389614A
Authority
CN
China
Prior art keywords
model
industrial control
bytes
protocol
message
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
Application number
CN202310354195.9A
Other languages
English (en)
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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202310354195.9A priority Critical patent/CN116389614A/zh
Publication of CN116389614A publication Critical patent/CN116389614A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明属于工业物联网领域,公开了一种基于融合BERT和CNN网络的工控协议识别方法,用于识别工控环境下复杂的协议报文,本发明的协议识别方法首先将从工控网络中获取到的工控协议报文截取n2个字节,同时将截取到n2个字节的数据通过值映射转成n×n的灰度图像,然后字节数据和灰度图像作为双通道分别输入到分类模型1和分类模型2中,进行训练后将两个训练结果进行融合,得到训练好的模型;通过实时捕获工业环境下的数据包,利用上述模型进行推理,得到准确的识别效果。本发明能够自动对输入的协议报文进行识别,在保留报文中更完整的信息的前提下,实现高精度的识别结果,相较于人为选取报文字段特征,更能减少信息的损失。

Description

一种基于融合BERT和CNN网络的工控协议识别方法
技术领域:
本发明涉及一种工控协议识别方法,具体涉及一种基于融合BERT和CNN网络的工控协议识别方法。
背景技术:
工控网络协议在工业网络数据传输中扮演着至关重要的角色,面对众多工控协议共存的网络环境,若想要多种协议互通互联,就得先对协议进行识别,对工控协议的识别是具有重大意义的。
传统的网络协议识别主要包括:1、传统的应用协议识别算法仅使用TCP/UDP端口进行识别协议;基于TCP/UDP端口的识别算法的时间复杂度和空间复杂度是所有协议识别算法中最低的。2、利用网络数据报文的负载部分对应用层协议进行识别;该方法需要检查大量报文的应用层负载内容以判断是否命中上述特征,使用该方法需要持续的跟踪待识别协议的发展,当应用层通信过程发生变化或者新的应用协议出现时,网络设备必须重新加载记录特征数据的文件以应对上述问题,对于协议特征比较弱的协议,该方法存在较高的误报率。3、使用关联分析的识别技术对数据流进行识别;该方法具有特殊的适用性,因此一般需要和基于TCP/UDP端口的识别技术等其他技术配合使用。4、基于行为特征的识别技术利用统计学原理,根据应用协议数据流的统计学特征;但该方法要进行多元判断分析。上述的传统方法都存在明显的局限性,本发明提出一种基于融合BERT和CNN网络的工控协议识别方法。
发明内容:
本发明的目的在于克服现在技术的不足,提供一种基于融合BERT和CNN网络的工控协议识别方法,所述的协议识别算法可实现自动对输入的协议报文进行识别,能够保留报文中更完整的信息,实现高精度的识别结果。
本发明解决上述技术问题的技术方案:
1、一种基于融合BERT和CNN网络的工控协议识别方法,可选地,包括模型训练部分S1和模型推理部分S2:
模型训练部分S1包括以下步骤:
(S1-1)、捕获工控网络环境的己知协议数据包,或者历史收集积累的数据包,对数据包中的捕获时间进行删除;
(S1-2)将获取到的报文的数据截取n2个字节,若是超出n2个字节的工控协议报文则截取前n2个字节,若是少于n2个字节的工控协议报文则在报文尾部进行补零操作,直到报文字节数达到n2个字节;并在报文数据尾部加上对应协议的标签,同时将截取到n2个字节的数据通过值映射转成n×n的灰度图像,并将同一协议的灰度图像归类添加协议标签;
(S1-3)、将n2个字节的报文数据作为序列输入到分类网络模型1中,同时将n×n的灰度图像放入分类网络模型2中,得到两个分类网络的结果;
(S1-4)、将工控协议分类网络模型1和模型2的融合,即将模型1的损失函数LOSS1与模型2的损失函数LOSS2进行按权重相乘,得到融合模型的损失函数LOSS1,2,最终整个分类网络模型的损失函数LOSS包括模型1的损失函数LOSS1、模型2的损失函数LOSS2和融合的损失函数LOSS1,2,得到更精准的识别结果;
模型推理部分S2包括以下步骤:
(S2-1)、实时捕获工控网络环境的数据包,对数据包中的捕获时间进行删除;
(S2-2)将获取到的报文的数据截取n2个字节,若是超出n2个字节的工控协议报文则截取前n2个字节,若是少于n2个字节的工控协议报文则在报文尾部进行补零操作,直到报文字节数达到n2个字节;同时将截取到n2个字节的数据通过值映射转成n×n的灰度图像;
(S2-3)、将n2个字节的报文数据和n×n的灰度图像作为双通道输入到训练好的分类模型中进行推理,得到模型推理的分类结果。
可选地,在步骤(S1-1)中,所述获取工控环境中的协议报文数据,捕获工控网络环境的协议数据包,或者历史收集积累的流量数据包,并对数据包中的数据包捕获时间进行删除。
可选地,在步骤(S1-1)中,所述识别协议包括:CIP、Modbus-TCP、BACnet、S7、Profinet、Modbus-RTU、EtherCAT以及其他工控协议。
可选地,在步骤(S1-2)中,所述按前n2个字节对协议报文进行截取,包括:针对协议数据包中每一条报文数据截取n2个字节的数据,若是超出n2个字节的工控协议报文则截取前n2个字节,若是少于n2个字节的工控协议报文则在报文尾部进行补零操作,直到报文字节数达到n2个字节;同时在报文尾部添加一个制表符和对应的协议标签;通过报文数据的每个字节的数值作为该字节的像素值,将数据的16进制转成10进制,通过值映射将n2个字节的10进制数据转成n×n的灰度图像,并将同一协议的灰度图像归类添加协议标签。
可选地,在步骤(S1-3)中,所述的工控协议分类模型1的输入为协议报文序列,输出为协议分类结果;基于BERT网络预先训练并构建协议分类模型,以Sigmoid为激活函数,以Softmax作为输出函数,包括BERT网络模型、Dense全连接层和BatchNormalization归一化层。
可选地,在步骤(S1-3)中,所述的工控协议分类模型2的输入为协议灰度图像,输出为协议分类结果;基于二维CNN卷积神经网络预先训练并构建协议分类模型2,以Sigmoid为激活函数,以Softmax作为输出函数,包括CNN-2D层、Dense全连接层和BatchNormalization归一化层。
可选地,在步骤(S1-4)中,面对多协议分类问题,所述工控协议分类模型的损失函数均为交叉熵损失函数,工控协议分类网络模型1和模型2的融合,即将模型1的损失函数LOSS1与模型2的损失函数LOSS2进行按权重相乘,得到融合模型的损失函数LOSS1,2,最终整个分类网络模型的损失函数LOSS包括模型1的损失函数LOSS1、模型2的损失函数LOSS2和融合的损失函数LOSS1,2
Figure BSA0000296797710000021
Figure BSA0000296797710000031
LOSS1,2=LOSS1*LOSS2 (3)
其中ylabel,i代表的是训练样本i的标签,y1,i和y2,i分别代表模型1和模型2的样本i的预测值;最后整个分类网络模型损失函数为:
LOSS=α1LOSS12LOSS21α2LOSS1,2 (4)
其中α1,α2为常数,分别代表模型1和模型2所占的权重大小。
可选地,在步骤(S2-1)中,实时捕获工控网络环境的协议数据包,并对数据包中的捕获时间进行删除。
可选地,在步骤(S2-2)中,所述按前n2个字节对协议报文进行截取,包括:针对数据包中每条报文数据截取n2个字节的数据,若是超出n2个字节的工控协议报文则截取每条报文数据的前n2个字节,若是少于n2个字节的工控协议报文则在每条报文尾部进行补零操作,直到报文字节数达到n2个字节;并通过报文数据的每个字节的数值作为该字节的像素值,将数据的16进制转成10进制,通过值映射将n2个字节的10进制数据转成n×n的灰度图像。
本发明与现有技术相比具有以下的有益效果:
1、本发明的基于融合BERT和CNN网络的工控协议识别方法将工控协议报文的数据转成灰度图像数据,将两种类型不同的数据放入预先构建的工控协议分类模型进行协议识别,融合报文序列和灰度图像两种不同数据的特征,实现更高精度的识别效果。
2、本发明的基于融合BERT和CNN网络的工控协议识别方法通过融合BERT分类模型和CNN分类模型的损失函数来预先构建所述工控协议分类模型,充分结合两种不同类型的网络优势,相较于传统CNN,RNN,LSTM能够提取到工控协议中的特征信息,得到识别效果更准确。
3、本发明的基于融合BERT和CNN网络的工控协议识别方法在能够在保证工控协议报文中更完整的信息前提下,对工控协议进行高精度识别以及所识别工控协议种类极其广泛。
附图说明:
图1为本发明的基于融合BERT和CNN网络的工控协议识别方法流程图。
图2为本发明的基于融合BERT和CNN网络的工控协议识别方法模型训练图。
图3为本发明的基于融合BERT和CNN网络的工控协议识别方法模型推理图。
图4为本发明示例性实施例的各类别工控协议对应的10*10灰度图像。
图5为本发明的基于融合BERT和CNN网络的工控协议识别方法分类网络模型图。
具体实施方式:
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1,本发明的基于融合BERT和CNN网络的工控协议识别方法将获取到的工控协议报文截取n2个字节,同时将截取到n2个字节的数据转成n×n的灰度图像,将两种数据都添加上对应的标签;然后n2个字节的数据作为分类网络模型1的输入,n×n的灰度图像作为分类网络模型2的输入,两个分类网络同时进行训练,再将两个训练的结果进行融合,得到训练好的分类模型;通过提取实时捕获的协议数据包中n2个字节的数据和对应的n×n的灰度图像作为2个通道输入到训练好的分类模型中进行推理,得到推理的协议分类结果。
具体的,参见图2,本发明的基于融合BERT和CNN网络的工控协议识别方法中模型训练部分S1:
(S1-1)、通过Wireshark软件获取工控网络环境中的协议报文数据包,并对数据包中的数据包捕获时间进行删除;
(S1-2)将获取到的报文的数据截取100个字节,同时将截取到100个字节的数据通过值映射转成10×10的灰度图像,将两种数据添加上对应的标签;
(S1-3)、将100个字节的报文数据作为序列输入到分类网络模型1中,同时将10×10的灰度图像放入分类网络模型2中,得到两个分类网络的结果以及损失函数;
(S1-4)、将工控协议分类网络模型1和模型2的融合,即将模型1的损失函数LOSS1与模型2的损失函数LOSS2进行按权重相乘,得到融合模型的损失函数LOSS1,2,最终整个分类网络模型的损失函数LOSS包括模型1的损失函数LOSS1、模型2的损失函数LOSS2和融合的损失函数LOSS1,2
参见图3,本发明的基于融合BERT和CNN网络的工控协议识别方法中模型推理部分S2:
(S2-1)、实时捕获工控网络环境的数据包,对数据包中的捕获时间进行删除;
(S2-2)将获取到的报文的数据截取100个字节,同时将截取到100个字节的数据通过值映射转成10×10的灰度图像;
(S2-3)、将100个字节的报文数据和10×10的灰度图像作为2个通道输入到训练好的分类模型中进行推理,得到模型推理的分类结果。
参见图4,本发明所构建的工控协议识别分类模型用于对工业物联网环境中的工控协议数据进行识别,其中,实施例中识别协议包括:CIP、Modbus-TCP、BACnet、S7、Profinet、Modbus-RTU、EtherCAT以及其他工控协议。
参见图5,本实施例的构建分类网络模型1包括BERT网络块、Dense块,构建分类网络模型2包括VGG16模块、Dense块。分类网络模型1和模型2的融合,即将模型1的损失函数LOSS1与模型2的损失函数LOSS2进行按权重相乘,得到融合模型的损失函数LOSS1,2,最终整个分类网络模型的损失函数LOSS包括模型1的损失函数LOSS1、模型2的损失函数LOSS2和融合的损失函数LOSS1,2
Figure BSA0000296797710000041
Figure BSA0000296797710000042
LOSS1,2=LOSS1*LOSS2 (3)
其中ylabel,i代表的是训练样本i的标签,y1,i和y2,i分别代表模型1和模型2的样本i的预测值;最后整个分类网络模型损失函数为:
LOSS=α1LOSS12LOSS21α2LOSS1,2 (4)
其中α1,α2为0.5,0.5,分别代表模型1和模型2所占的权重大小。
上述为本发明较佳的实施方式,但本发明的实施方式并不受上述内容的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (8)

1.一种基于融合BERT和CNN网络的工控协议识别方法,其特征在于,包括模型训练部分S1和模型推理部分S2:
模型训练部分S1包括以下步骤:
(S1-1)、捕获工控网络环境的已知协议数据包,或者历史收集积累的数据包,对数据包中的冗余信息进行删除;
(S1-2)将获取到的报文的数据截取n2个字节,若是超出n2个字节的工控协议报文则截取前n2个字节,若是少于n2个字节的工控协议报文则在报文尾部进行补零操作,直到报文字节数达到n2个字节;并在报文数据尾部加上对应协议的标签,同时将截取到n2个字节的数据通过值映射转成n×n的灰度图像,并将同一协议的灰度图像归类添加协议标签;
(S1-3)、将n2个字节的报文数据作为序列输入到分类网络模型1中,同时将n×n的灰度图像放入分类网络模型2中,得到两个分类网络的结果;
(S1-4)、将工控协议分类网络模型1和模型2的融合,即将模型1的损失函数LOSS1与模型2的损失函数LOSS2进行按权重相乘,得到融合模型的损失函数LOSS1,2,最终整个分类网络模型的损失函数LOSS包括模型1的损失函数LOSS1、模型2的损失函数LOSS2和融合的损失函数LOSS1,2,得到更精准的识别模型;
模型推理部分S2包括以下步骤:
(S2-1)、实时捕获工控网络环境的数据包,对数据包中的冗余信息进行删除;
(S2-2)将获取到的报文的数据截取n2个字节,若是超出n2个字节的工控协议报文则截取前n2个字节,若是少于n2个字节的工控协议报文则在报文尾部进行补零操作,直到报文字节数达到n2个字节;同时将截取到n2个字节的数据通过值映射转成n×n的灰度图像;
(S2-3)、将n2个字节的报文数据和n×n的灰度图像作为双通道输入到训练好的分类模型中进行推理,得到模型推理的分类结果。
2.根据权利要求1所述的一种基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S1-1)中,所述获取工控环境中的协议报文数据,捕获工控网络环境的协议数据包或者历史收集累积的协议数据包,并对数据包中的捕获时间进行删除。
3.根据权利要求1所述的一种基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S1-2)中,所述按前n2个字节对协议报文进行截取,包括:针对数据包中每条报文数据截取n2个字节的数据,若是超出n2个字节的工控协议报文则截取每条报文数据的前n2个字节,若是少于n2个字节的工控协议报文则在每条报文尾部进行补零操作,直到报文字节数达到n2个字节;同时在报文尾部添加一个制表符和对应的协议标签;通过报文数据的每个字节的数值作为该字节的像素值,将数据的16进制转成10进制,通过值映射将n2个字节的10进制数据转成n×n的灰度图像,并将同一协议的灰度图像归类添加协议标签。
4.根据权利要求1所述的一种基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S1-3)中,所述的工控协议分类模型1的输入为协议报文序列,输出为协议分类结果;基于BERT网络预先训练并构建协议分类模型,以Softmax作为输出函数,包括BERT网络模型、Dense全连接层和BatchNormalization归一化层。
5.根据权利要求1所述的基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S1-3)中,所述的工控协议分类模型2的输入为协议灰度图像,输出为协议分类结果;基于二维CNN卷积神经网络预先训练并构建协议分类模型2,以Sigmoid为激活函数,以Softmax作为输出函数,包括CNN-2D层、Dense全连接层和BatchNormalization归一化层。
6.根据权利要求1所述的基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S1-4)中,面对多协议分类问题,所述工控协议分类模型的损失函数均为交叉熵损失函数,工控协议分类网络模型1和模型2的融合,即将模型1的损失函数LOSS1与模型2的损失函数LOSS2进行按权重相乘,得到融合模型的损失函数LOSS1,2,最终整个分类网络模型的损失函数LOSS包括模型1的损失函数LOSS1、模型2的损失函数LOSS2和融合的损失函数LOSS1,2
Figure FSA0000296797700000021
Figure FSA0000296797700000022
LOSS1,2=LOSS1*LOSS2 (3)
其中ylabel.i代表的是训练样本i的标签,y1.i和y2.i分别代表模型1和模型2的样本i的预测值;最后整个分类网络模型损失函数为:
LOSS=α1LOSS12LOSS21α2LOSS1,2 (4)
其中α1,α2为常数,分别代表模型1和模型2所占的权重大小。
7.根据权利要求1所述的基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S2-1)中,实时捕获工控网络环境的协议数据包,并对数据包中的捕获时间进行删除。
8.根据权利要求1所述的基于融合BERT和CNN网络的工控协议识别方法,其特征在于,在步骤(S2-2)中,所述按前n2个字节对协议报文进行截取,包括:针对数据包中每条报文数据截取n2个字节的数据,若是超出n2个字节的工控协议报文则截取每条报文数据的前n2个字节,若是少于n2个字节的工控协议报文则在每条报文尾部进行补零操作,直到报文字节数达到n2个字节;并通过报文数据的每个字节的数值作为该字节的像素值,将数据的16进制转成10进制,通过值映射将n2个字节的10进制数据转成n×n的灰度图像。
CN202310354195.9A 2023-04-04 2023-04-04 一种基于融合bert和cnn网络的工控协议识别方法 Pending CN116389614A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310354195.9A CN116389614A (zh) 2023-04-04 2023-04-04 一种基于融合bert和cnn网络的工控协议识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310354195.9A CN116389614A (zh) 2023-04-04 2023-04-04 一种基于融合bert和cnn网络的工控协议识别方法

Publications (1)

Publication Number Publication Date
CN116389614A true CN116389614A (zh) 2023-07-04

Family

ID=86972727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310354195.9A Pending CN116389614A (zh) 2023-04-04 2023-04-04 一种基于融合bert和cnn网络的工控协议识别方法

Country Status (1)

Country Link
CN (1) CN116389614A (zh)

Similar Documents

Publication Publication Date Title
CN112163594B (zh) 一种网络加密流量识别方法及装置
CN110808945B (zh) 一种基于元学习的小样本场景下网络入侵检测方法
CN112804253B (zh) 一种网络流量分类检测方法、系统及存储介质
CN111147396A (zh) 一种基于序列特征的加密流量分类方法
CN110113227B (zh) 一种变分自编码的模糊测试测试用例生成方法
CN113989583A (zh) 一种互联网恶意流量检测方法及系统
CN114915575B (zh) 一种基于人工智能的网络流量检测装置
CN110034966B (zh) 一种基于机器学习的数据流分类方法及系统
CN115277258B (zh) 一种基于时空特征融合的网络攻击检测方法和系统
CN113364787A (zh) 一种基于并联神经网络的僵尸网络流量检测方法
CN113627502A (zh) 一种网络加密流量分类方法
CN112686287A (zh) 一种基于非因果时间卷积神经网络的加密流量分类方法
CN112887291A (zh) 基于深度学习的i2p流量识别方法及系统
CN112491894A (zh) 一种基于时空特征学习的物联网网络攻击流量监测系统
CN110365659B (zh) 一种小样本场景下的网络入侵检测数据集的构造方法
CN114531273A (zh) 一种防御工业网络系统分布式拒绝服务攻击的方法
CN114124447B (zh) 一种基于Modbus数据包重组的入侵检测方法及装置
CN114650229A (zh) 基于三层模型sftf-l的网络加密流量分类方法与系统
Zhou et al. Encrypted network traffic identification based on 2d-cnn model
CN115473850B (zh) 一种基于ai的实时数据过滤方法、系统及存储介质
CN116389614A (zh) 一种基于融合bert和cnn网络的工控协议识别方法
CN116094971A (zh) 一种工控协议识别方法、装置、电子设备及存储介质
CN116032515A (zh) 一种在SDN上基于Transformer的DDoS攻击检测方法
CN114979017A (zh) 基于工控系统原始流量的深度学习协议识别方法及系统
CN111586052B (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