一种工控协议识别方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37545892 阅读:9 留言:0更新日期:2023-05-12 16:18
本申请实施例提供一种工控协议识别方法、装置、电子设备及存储介质,涉及工控技术领域。该方法包括通过监听设备获得待识别流量;对所述待识别流量进行可视化处理;将处理结果输入预先训练过的CNN

【技术实现步骤摘要】
一种工控协议识别方法、装置、电子设备及存储介质


[0001]本申请涉及工控
,具体而言,涉及一种工控协议识别方法、装置、电子设备及存储介质。

技术介绍

[0002]传统的工控协议识别方法主要是基于TCP/UDP端口的识别技术。该技术以互联网数字分配机构(Internet Assigned Number Authority,IANA)提供的一些传统协议的注册端口号为对照表,若匹配到某应用协议的端口号,则将该数据流标记为相应的协议。利用默认端口进行识别的算法随着工控网络环境日益复杂化,动态端口和伪装端口技术日益普及,越来越多的工控协议在使用注册端口传输的同时,还使用可变的端口号。但该技术的识别准确性越来越低,已无法满足现目前的工控协议识别需求。
[0003]现有的工控协议识别方法与应用层协议的识别方法类似,主要分为基于报文负载特征的识别技术和基于行为特征的识别技术,但目前工业控制领域中的工控协议大多都是未公开协议规约的私有协议,导致现有方法存在特征提取困难、识别准确率低的问题。

技术实现思路

[0004]本申请实施例的目的在于提供一种工控协议识别方法、装置、电子设备及存储介质,将流量进行可视化处理,采用CNN

SVM模型实现对工控协议的自动识别,解决了现有方法特征提取困难、识别准确率低的问题。
[0005]本申请实施例提供了一种工控协议识别方法,所述方法包括:
[0006]通过监听设备获得待识别流量;
[0007]对所述待识别流量进行可视化处理;<br/>[0008]将处理结果输入预先训练过的CNN

SVM模型,获得工控协议类型的识别结果。
[0009]在上述实现过程中,将工控协议的原始流量进行可视化处理,利用卷积神经网络自动提取工控协议的流量特征,采用非线性SVM代替传统CNN模型的Softmax函数进行分类,以进一步提高工控协议的识别精度,从而解决了现有方法特征提取困难、识别准确率低的问题。
[0010]进一步地,所述可视化处理包括流量重组与切分,所述对所述待识别流量进行可视化处理,包括:
[0011]若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条数据流;
[0012]若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得数据流。
[0013]在上述实现过程中,对采集到的不同类型的工控流量进行重新整合和拼接,从而获得完整、有序的数据流。
[0014]进一步地,所述可视化处理包括归一化处理,所述对所述待识别流量进行可视化
处理,包括:
[0015]截取所述数据流中的T个字节作为待处理流量;
[0016]将所述待处理流量中的每个字节转化为十进制数,再除以255并规约到0

1之间;
[0017]将处理后的字节按M个为一组,得到一个M*M的像素矩阵,M为T的算术平方根。
[0018]在上述实现过程中,对数据流进行截取,且保留完整包含协议头的流量内容,并对截取的流量进行归一化处理,转化成像素矩阵,从而可利用卷积神经网络的图像识别功能,对像素矩阵进行特征提取,解决了现有方法存在特征提取困难的问题。
[0019]进一步地,在所述将处理结果输入预先训练过的CNN

SVM模型的步骤之前,所述方法还包括对所述CNN

SVM模型进行训练:
[0020]对采集到的训练用流量进行流量重组与切分、归一化处理和标注协议标签;
[0021]将处理后的训练用流量分为训练集和验证集;
[0022]构建分类模型;
[0023]利用所述训练集对所述分类模型进行训练,获得模型参数;
[0024]利用验证集对所述模型参数进行验证,以获得最优参数。
[0025]在上述实现过程中,利用验证集验证获得最优模型参数,以便提高模型检测结果的准确率。
[0026]进一步地,所述构建分类模型,包括:
[0027]构建CNN

SVM模型,所述CNN

SVM模型依次包括第一卷积层、第一池化层、第二卷积层、第二池化层和全连接层;
[0028]其中,所述全连接层将所述第二池化层输出的特征矩阵映射为特征向量,并将所述特征向量输入至SVM分类器,所述SVM分类器的分类决策函数为:
[0029][0030]其中,sgn表示符号函数,表示拉格朗日乘子,σ表示宽度参数,g
*
表示最优阈值,X表示待检测特征向量,X
r
表示第r个样本的特征向量,L表示样本数量。
[0031]在上述实现过程中,利用非线性SVM代替传统CNN模型的Softmax函数进行分类,提高了工控协议的识别精度。
[0032]进一步地,所述将处理结果输入预先训练过的CNN

SVM模型,获得工控协议类型的识别结果,包括:
[0033]将所述像素矩阵输入所述CNN

SVM模型,所述CNN

SVM模型包括m/(m

1)/2个子分类器,其中,m表示工控协议类型数,每两类工控协议的训练样本可训练得到一个子分类器;
[0034]利用所述子分类器对所述像素矩阵的工控协议类型进行识别,得到每个子分类器对应的评分;
[0035]将评分结果最高的工控协议类型作为所述待识别流量的识别结果。
[0036]在上述实现过程中,将多个子分类器中评分最高的类别作为工控协议识别的结果,实现了对未知工控流量的种类识别的功能。
[0037]本申请实施例还提供一种工控协议识别装置,所述装置包括:
[0038]待识别流量获取模块,用于通过监听设备获得待识别流量;
[0039]流量处理模块,用于对所述待识别流量进行可视化处理;
[0040]识别模块,用于将处理结果输入预先训练过的CNN

SVM模型,获得工控协议类型的识别结果。
[0041]在上述实现过程中,将工控协议的原始流量进行可视化处理,利用卷积神经网络自动提取工控协议的流量特征,采用非线性SVM代替传统CNN模型的Softmax函数进行分类,以进一步提高工控协议的识别精度,从而解决了现有方法特征提取困难、识别准确率低的问题。
[0042]进一步地,所述流量处理模块包括重组切分模块,所述重组切分模块用于:
[0043]若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条TCP数据流;
[0044]若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得一次UDP交互流量。
[0045]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种工控协议识别方法,其特征在于,所述方法包括:通过监听设备获得待识别流量;对所述待识别流量进行可视化处理;将处理结果输入预先训练过的CNN

SVM模型,获得工控协议类型的识别结果。2.根据权利要求1所述的工控协议识别方法,其特征在于,所述可视化处理包括流量重组与切分,所述对所述待识别流量进行可视化处理,包括:若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条数据流;若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得数据流。3.根据权利要求2所述的工控协议识别方法,其特征在于,所述可视化处理包括归一化处理,所述对所述待识别流量进行可视化处理,包括:截取所述数据流中的T个字节作为待处理流量;将所述待处理流量中的每个字节转化为十进制数,再除以255并规约到0

1之间;将处理后的字节按M个为一组,得到一个M*M的像素矩阵,M为T的算术平方根。4.根据权利要求1所述的工控协议识别方法,其特征在于,在所述将处理结果输入预先训练过的CNN

SVM模型的步骤之前,所述方法还包括对所述CNN

SVM模型进行训练:对采集到的训练用流量进行流量重组与切分、归一化处理和标注协议标签;将处理后的训练用流量分为训练集和验证集;构建分类模型;利用所述训练集对所述分类模型进行训练,获得模型参数;利用验证集对所述模型参数进行验证,以获得最优参数。5.根据权利要求4所述的工控协议识别方法,其特征在于,所述构建分类模型,包括:构建CNN

SVM模型,所述CNN

SVM模型依次包括第一卷积层、第一池化层、第二卷积层、第二池化层和全连接层;其中,所述全连接层将所述第二池化层输出的特征矩阵映射为特征向量,并将所述特征向量输入至SVM分类器,所述SVM分类器的分类决策函数为:其中,s...

【专利技术属性】
技术研发人员:何先先杨锐喻威黄宁张天宇姜健康
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1