CN116094971A - 一种工控协议识别方法、装置、电子设备及存储介质 - Google Patents
一种工控协议识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116094971A CN116094971A CN202211538258.8A CN202211538258A CN116094971A CN 116094971 A CN116094971 A CN 116094971A CN 202211538258 A CN202211538258 A CN 202211538258A CN 116094971 A CN116094971 A CN 116094971A
- Authority
- CN
- China
- Prior art keywords
- industrial control
- control protocol
- flow
- traffic
- identified
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本申请实施例提供一种工控协议识别方法、装置、电子设备及存储介质,涉及工控技术领域。该方法包括通过监听设备获得待识别流量;对所述待识别流量进行可视化处理;将处理结果输入预先训练过的CNN‑SVM模型,获得工控协议类型的识别结果;该方法将流量进行可视化处理,采用CNN‑SVM模型实现对工控协议的自动识别,解决了现有方法特征提取困难、识别准确率低的问题。
Description
技术领域
本申请涉及工控技术领域,具体而言,涉及一种工控协议识别方法、装置、电子设备及存储介质。
背景技术
传统的工控协议识别方法主要是基于TCP/UDP端口的识别技术。该技术以互联网数字分配机构(Internet Assigned Number Authority,IANA)提供的一些传统协议的注册端口号为对照表,若匹配到某应用协议的端口号,则将该数据流标记为相应的协议。利用默认端口进行识别的算法随着工控网络环境日益复杂化,动态端口和伪装端口技术日益普及,越来越多的工控协议在使用注册端口传输的同时,还使用可变的端口号。但该技术的识别准确性越来越低,已无法满足现目前的工控协议识别需求。
现有的工控协议识别方法与应用层协议的识别方法类似,主要分为基于报文负载特征的识别技术和基于行为特征的识别技术,但目前工业控制领域中的工控协议大多都是未公开协议规约的私有协议,导致现有方法存在特征提取困难、识别准确率低的问题。
发明内容
本申请实施例的目的在于提供一种工控协议识别方法、装置、电子设备及存储介质,将流量进行可视化处理,采用CNN-SVM模型实现对工控协议的自动识别,解决了现有方法特征提取困难、识别准确率低的问题。
本申请实施例提供了一种工控协议识别方法,所述方法包括:
通过监听设备获得待识别流量;
对所述待识别流量进行可视化处理;
将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果。
在上述实现过程中,将工控协议的原始流量进行可视化处理,利用卷积神经网络自动提取工控协议的流量特征,采用非线性SVM代替传统CNN模型的Softmax函数进行分类,以进一步提高工控协议的识别精度,从而解决了现有方法特征提取困难、识别准确率低的问题。
进一步地,所述可视化处理包括流量重组与切分,所述对所述待识别流量进行可视化处理,包括:
若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条数据流;
若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得数据流。
在上述实现过程中,对采集到的不同类型的工控流量进行重新整合和拼接,从而获得完整、有序的数据流。
进一步地,所述可视化处理包括归一化处理,所述对所述待识别流量进行可视化处理,包括:
截取所述数据流中的T个字节作为待处理流量;
将所述待处理流量中的每个字节转化为十进制数,再除以255并规约到0-1之间;
将处理后的字节按M个为一组,得到一个M*M的像素矩阵,M为T的算术平方根。
在上述实现过程中,对数据流进行截取,且保留完整包含协议头的流量内容,并对截取的流量进行归一化处理,转化成像素矩阵,从而可利用卷积神经网络的图像识别功能,对像素矩阵进行特征提取,解决了现有方法存在特征提取困难的问题。
进一步地,在所述将处理结果输入预先训练过的CNN-SVM模型的步骤之前,所述方法还包括对所述CNN-SVM模型进行训练:
对采集到的训练用流量进行流量重组与切分、归一化处理和标注协议标签;
将处理后的训练用流量分为训练集和验证集;
构建分类模型;
利用所述训练集对所述分类模型进行训练,获得模型参数;
利用验证集对所述模型参数进行验证,以获得最优参数。
在上述实现过程中,利用验证集验证获得最优模型参数,以便提高模型检测结果的准确率。
进一步地,所述构建分类模型,包括:
构建CNN-SVM模型,所述CNN-SVM模型依次包括第一卷积层、第一池化层、第二卷积层、第二池化层和全连接层;
其中,所述全连接层将所述第二池化层输出的特征矩阵映射为特征向量,并将所述特征向量输入至SVM分类器,所述SVM分类器的分类决策函数为:
在上述实现过程中,利用非线性SVM代替传统CNN模型的Softmax函数进行分类,提高了工控协议的识别精度。
进一步地,所述将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果,包括:
将所述像素矩阵输入所述CNN-SVM模型,所述CNN-SVM模型包括m/(m-1)/2个子分类器,其中,m表示工控协议类型数,每两类工控协议的训练样本可训练得到一个子分类器;
利用所述子分类器对所述像素矩阵的工控协议类型进行识别,得到每个子分类器对应的评分;
将评分结果最高的工控协议类型作为所述待识别流量的识别结果。
在上述实现过程中,将多个子分类器中评分最高的类别作为工控协议识别的结果,实现了对未知工控流量的种类识别的功能。
本申请实施例还提供一种工控协议识别装置,所述装置包括:
待识别流量获取模块,用于通过监听设备获得待识别流量;
流量处理模块,用于对所述待识别流量进行可视化处理;
识别模块,用于将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果。
在上述实现过程中,将工控协议的原始流量进行可视化处理,利用卷积神经网络自动提取工控协议的流量特征,采用非线性SVM代替传统CNN模型的Softmax函数进行分类,以进一步提高工控协议的识别精度,从而解决了现有方法特征提取困难、识别准确率低的问题。
进一步地,所述流量处理模块包括重组切分模块,所述重组切分模块用于:
若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条TCP数据流;
若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得一次UDP交互流量。
在上述实现过程中,对采集到的不同类型的工控流量进行重新整合和拼接,从而获得完整、有序的数据流。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的工控协议识别方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的工控协议识别方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种工控协议识别方法的流程图;
图2为本申请实施例提供的工控协议类型的具体识别过程示意图;
图3为本申请实施例提供的可视化处理流程图;
图4为本申请实施例提供的一条iec61850_mms连接流的转换结果示意图;
图5为本申请实施例提供的CNN-SVM模型的训练流程图;
图6为本申请实施例提供的CNN-SVM模型的网格结构示意图;
图7为本申请实施例提供的CNN-SVM模型的具体识别流程图;
图8为本申请实施例提供的界面展示示意图;
图9为本申请实施例提供的工控协议识别装置的结构框图;
图10为本申请实施例提供的另一种工控协议识别装置的结构框图。
图标:
100-待识别流量获取模块;200-流量处理模块;201-重组切分模块;202-归一化处理模块;300-识别模块;310-模型训练模块;301-输入模块;302-评分获取模块;303-识别结果获取模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供的一种工控协议识别方法的流程图,该方法用于识别工控协议的类型。
目前工业控制领域中的工控协议大多都是未公开协议规约的私有协议,现有技术对私有协议存在特征提取困难、识别准确率低等问题。本申请基于卷积神经网络对图形识别、文本识别、人脸识别等领域具有较好识别结果,将工控协议原始流量数据进行可视化处理,利用卷积神经网络自动提取工控协议的流量特征,从而解决了现有技术的特征提取困难的问题。
同时,针对传统CNN模型全连接层的神经元个数在函数非线性程度较高时将指数级增加,会引入过多训练参数且易减弱模型的泛化能力的问题,利用非线性支持向量机(Support Vector Machine,SVM)在分类上的优势,将非线性SVM代替传统CNN模型的Softmax函数进行分类,从而进一步提高了工控协议的识别精度。
该方法具体包括以下步骤:
步骤S100:通过监听设备获得待识别流量;
如图2所示,为工控协议类型的具体识别过程示意图。流量采集,示例地,可以利用工控安全监测与审计系统、工控入侵检测与审计系统监听获得待识别流量,该待识别流量中包括modbus、opcua等公开工控协议流量和S7、S7commonPlus等私有协议流量。
步骤S200:对所述待识别流量进行可视化处理;
步骤S300:将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果。
其中,步骤S200中,可视化处理包括流量重组与切分、归一化处理两个处理过程,如图3所示,为可视化处理流程图,具体包括以下步骤:
步骤S201:若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条数据流;
步骤S202:若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得数据流。
可视化处理的目的是将待识别流量处理成卷积神经网络需要的数据格式。
首先,进行流量重组与切分。由于在流量采集过程中,会捕获到大量不同类型的工控流量,所以需要借助抓包工具对捕获到的工控流量进行流追踪,将混杂的流量数据重组为一次完整的TCP连接或者UDP交互的pcap文件。
对于TCP流,可以根据TCP“三次握手”和“四次挥手”、“心跳包”标识将待识别流量重新整合为一条完整、有序的TCP流。
而对于无需建立连接的UDP流,需要设置一个时间窗口来界定UDP流的开始和结束,如果在规定时间窗口内未捕获到下一个数据包则界定该UDP流结束,再根据时间戳的先后顺序进行拼接,得到一条数据流。
步骤S203:截取所述数据流中的T个字节作为待处理流量;
步骤S204:将所述待处理流量中的每个字节转化为十进制数,再除以255并规约到0-1之间;
步骤S205:将处理后的字节按M个为一组,得到一个M*M的像素矩阵,其中,M为T的算术平方根。
其次,进行归一化处理。其中,对于T值的确定:
由于载荷数据中最为关键的部分一般集中在载荷前面的部分,而且工控协议比一般的应用层协议的报文长度更短,本申请选取固定长度T个字节的流量数据作为需要进行归一化处理的待处理流量,超过T个字节的部分截断,未满T个字节的部分补0。T的取值要尽可能确保完整包含协议头的内容,又能尽可能包含协议负载中的内容,对于具体的数值,在此不做任何限定。
对于待处理流量的具体归一化过程,为了消除待处理流量中每个字节数值的差异化大的问题,需要对待处理流量进行归一化处理,以避免梯度弥散。由于网络数据流采用的是大端字节序,每个字节是由两个十六进制数来表示的,对应的十进制的范围为0~255,与图像中像素点的取值范围一致。因此归一化处理的具体过程是将待处理流量的每个字节转化为对应的十进制数,再除以255后规约到0到1之间,然后按每个字节为一组,最终拆分成一个M*M的像素矩阵,即将每条数据流转化为灰度图像格式。示例地,T取值为784,如图4所示,为一条iec61850_mms连接流的转换结果示意图。
在所述将处理结果输入预先训练过的CNN-SVM模型的步骤之前,所述方法还包括对所述CNN-SVM模型进行训练,如图5所示,为CNN-SVM模型的训练流程图,具体包括以下步骤:
步骤S310:对采集到的训练用流量进行流量重组与切分、归一化处理和标注协议标签;
作为训练用流量的流量数据集主要源于监听到的真实工控网络的镜像流量和工控协议模拟器模拟通信过程的流量,并借助wireshark等抓包工具捕获原始流量。
对于训练用流量进行流量重组与切分、归一化处理过程与上述待识别流量的流量重组与切分、归一化处理过程相同,在此不再赘述。
标注协议标签:对训练用流量中的每个样本都打上one-hot标签,以此来标记出这条样本属于哪个分类,如:向量[0,0,0,1.....0]T表示属于第四种工控协议。
步骤S320:将处理后的训练用流量分为训练集和验证集;
例如,随机选取70%的数据集作为训练集,30%的数据集作为验证集。
步骤S330:构建分类模型;
步骤S340:利用所述训练集对所述分类模型进行训练,获得模型参数;
步骤S350:利用验证集对所述模型参数进行验证,以获得最优参数。
将训练集输入到分类模型进行训练,训练过程中采取梯度下降法,通过反向传播不断迭代自主训练模型得到最优参数,再用验证集验证准确率和损失值。若准确率和损失值不满足要求则对模型初始参数进行调整,若满足要求则保存最优参数和权重,此时所得到的分类模型的网络结构就是满足训练条件要求的网络结构。
步骤S330具体可以包括:
构建CNN-SVM模型,所述CNN-SVM模型依次包括第一卷积层、第一池化层、第二卷积层、第二池化层和全连接层;
本申请采用由两层卷积层、两层池化层和一层全连接层组成的CNN-SVM分类模型,其中,C1层、C2层为卷积层,P1层、P2层为池化层,F1层为全连接层。每个卷积层和池化层两两组合交替进行,如图6所示,为CNN-SVM模型的网格结构示意图。
其中,第C1层为卷积层,对输入的工控协议流量进行特征提取。以T取值为784为例,对输入为26*26的图像进行填充处理,使用16个3*3的卷积核,步长设置为1,填充方式为same padding,卷积公式表示为:
其中,表示第k层输出的第i个特征图(上述的像素矩阵),为第k层第i个卷积的权重值,表示卷积运算符,表示第k-1层输出的第j个特征图,Nk-1为第k-1层输出特征图集合,是第k层第i个卷积的偏置项,f为激活函数。
常见的激活函数有Relu、Sigmoid、Tanh,这里选择易于求导、计算量小的Relu函数,以提高模型的表达能力,Relu激活函数的计算公式表示为:
第P1层为池化层,对特征进行压缩。池化层也称作下采样层,主要有均值池化、最大池化、随机池化三种池化方式。这里采用的是最大池化,提取主要特征。输入为28*28*16的特征矩阵,池化窗口大小为2*2,池化步长为2,输出为14*14*16的特征矩阵。
第C2层为卷积层,输入为28*28*16的特征矩阵,采用的是32个5*5的卷积核,激活函数为Relu,卷积的计算公式与C1层相同,经过卷积后输出14*14*32的特征矩阵。
第P2层为池化层,池化窗口大小选择为2*2,池化步长为2,填充策略采用same方式,即对于不够一个池化大小的数据采用填充处理,经过池化后输出7*7*32的特征矩阵。
全连接层将所述第二池化层输出的特征矩阵映射为特征向量,并将所述特征向量输入至SVM分类器,所述SVM分类器的分类决策函数为:
第F1层为全连接层,连接所有的特征向量并送至分类器。全连接层是CNN的最后一层,将第P2层输出的7*7*32的特征矩阵映射成一个大小为1*128的特征向量,并将该特征向量传送到分类器。
原本的CNN全连接层使用softmax函数作为分类器,将特征向量归一化为基于每种分类的占比概率分布向量,该种方式将会导致模型容易过拟合、泛化能力不足的问题。
本申请采用SVM分类器将全连接层输出的1*128的特征向量作为输入进行训练,动态调整每一个分类的占比,一旦训练合格后就会对流量进行分类,输出识别结果,从而增强模型的泛化能力和模型的鲁棒性。
在利用SVM进行分类时,由于工控协议样本数据线性不可分,采用高斯径向基核函数将样本数据从低维空间映射到高维空间,上述给出了得到其在高维空间的分类决策函数公式。
针对现有技术中工控协议特征提取方面的不足,借助CNN在自动化提取特征上的优势,规避了对工控协议的因其私有性而导致的协议特征难以提取的难题,实现了对私有的工控协议的自动识别。
该方法融合支持向量机在分类上的优势,采用非线性SVM代替传统CNN模型的Softmax函数进行分类,从而进一步提高了工控协议识别模型的泛化能力和识别精度。
如图7所示,为CNN-SVM模型的具体识别流程图,步骤S300具体包括以下步骤:
步骤S301:将所述像素矩阵输入所述CNN-SVM模型,所述CNN-SVM模型包括m/(m-1)/2个子分类器,其中,m表示工控协议类型数,每两类工控协议的训练样本可训练得到一个子分类器;
步骤S302:利用所述子分类器对所述像素矩阵的工控协议类型进行识别,得到每个子分类器对应的评分;
步骤S303:将评分结果最高的工控协议类型作为所述待识别流量的识别结果。
由于工控协议类型较多,进行SVM分类时采取一对一的方式,每两类样本可训练得到一个子分类器,m类样本可构建m/(m-1)/2个子分类器。在进行工控协议的识别分类时,每个子分类器对其进行评分,选择评分最高的类别作为工控协议识别的最终结果。
作为其中一种实施方式,该方法可以应用于工控安全监测与审计系统、工控入侵检测与审计系统中,具体应用过程包括以下步骤:
步骤S11:登录工控审计系统,将交换机设置为旁路镜像,通过监听口实时获取工控网络镜像流量信息;
步骤S12:进入界面的行为审计模块,开启行为审计模块。未知流量经过流量重组与切分、数据归一化处理后,进入训练好的CNN-SVM模型,输出识别结果;
步骤S13:通过可视化界面展示识别结果。每来一个会话,会识别对应的协议类型,形成一条行为日志,如图8所示,为界面展示示意图,通过此界面可获知待识别流量的工控协议类型。
针对工控领域中存在的大量的、尚未公开协议规约的私有工控协议,导致协议难以解析、特征提取困难、识别准确率低的问题,本申请将工控协议原始流量数据进行可视化处理,将每条连接流映射为图片,将网络字节映射为像素点,由卷积核大小不同的两层卷积层,自动化提取更为丰富的特征;再将提取到的特征输入给SVM分类器,在训练过程中不断调整模型参数,提高模型的鲁棒性,得到最终的CNN-SVM的工控协议识别模型可对未知的工控流量进行准确识别和标记,从而解决了现有方法特征提取困难、识别准确率低的问题。
实施例2
本申请实施例提供一种工控协议识别装置,如图9所示,为工控协议识别装置的结构框图,所述装置包括但不限于:
待识别流量获取模块100,用于通过监听设备获得待识别流量;
流量处理模块200,用于对所述待识别流量进行可视化处理;
识别模块300,用于将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果。
如图10所示,为另一种工控协议识别装置的结构框图,其中,在图9的基础上,所述流量处理模块200包括重组切分模块201和归一化处理模块202,所述重组切分模块201用于:
若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条数据流;
若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得数据流。
归一化处理模块202用于:
截取所述数据流中的T个字节作为待处理流量;
将所述待处理流量中的每个字节转化为十进制数,再除以255并规约到0-1之间;
将处理后的字节按M个为一组,得到一个M*M的像素矩阵,M为T的算术平方根。
该装置还包括模型训练模块310,对于具体的训练过程在实施例1中已经具体说明,在此不再赘述。
识别模块300包括但不限于:
输入模块301,用于将所述像素矩阵输入所述CNN-SVM模型,所述CNN-SVM模型包括m/(m-1)/2个子分类器,其中,m表示工控协议类型数,每两类工控协议的训练样本可训练得到一个子分类器;
评分获取模块302,用于利用所述子分类器对所述像素矩阵的工控协议类型进行识别,得到每个子分类器对应的评分;
识别结果获取模块303,用于将评分结果最高的工控协议类型作为所述待识别流量的识别结果。
该装置将工控协议的原始流量进行可视化处理,利用卷积神经网络自动提取工控协议的流量特征,采用非线性SVM代替传统CNN模型的Softmax函数进行分类,以进一步提高工控协议的识别精度,从而解决了现有方法特征提取困难、识别准确率低的问题。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行实施例1所述的工控协议识别方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行实施例1所述的工控协议识别方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
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模型进行训练:
对采集到的训练用流量进行流量重组与切分、归一化处理和标注协议标签;
将处理后的训练用流量分为训练集和验证集;
构建分类模型;
利用所述训练集对所述分类模型进行训练,获得模型参数;
利用验证集对所述模型参数进行验证,以获得最优参数。
6.根据权利要求3所述的工控协议识别方法,其特征在于,所述将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果,包括:
将所述像素矩阵输入所述CNN-SVM模型,所述CNN-SVM模型包括m/(m-1)/2个子分类器,其中,m表示工控协议类型数,每两类工控协议的训练样本可训练得到一个子分类器;
利用所述子分类器对所述像素矩阵的工控协议类型进行识别,得到每个子分类器对应的评分;
将评分结果最高的工控协议类型作为所述待识别流量的识别结果。
7.一种工控协议识别装置,其特征在于,所述装置包括:
待识别流量获取模块,用于通过监听设备获得待识别流量;
流量处理模块,用于对所述待识别流量进行可视化处理;
识别模块,用于将处理结果输入预先训练过的CNN-SVM模型,获得工控协议类型的识别结果。
8.根据权利要求7所述的工控协议识别装置,其特征在于,所述流量处理模块包括重组切分模块,所述重组切分模块用于:
若所述待识别流量中包括TCP流量,则根据所述TCP流量中的三次握手、四次握手和心跳包标识将所述TCP流量整合成一条数据流;
若所述待识别流量中包括UDP流量,则利用预设的时间窗口来获取UDP流量段,将所述UDP流量段根据时间戳进行拼接,获得数据流。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行根据权利要求1至6中任一项所述的工控协议识别方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至6任一项所述的工控协议识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538258.8A CN116094971A (zh) | 2022-12-01 | 2022-12-01 | 一种工控协议识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538258.8A CN116094971A (zh) | 2022-12-01 | 2022-12-01 | 一种工控协议识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116094971A true CN116094971A (zh) | 2023-05-09 |
Family
ID=86185815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211538258.8A Pending CN116094971A (zh) | 2022-12-01 | 2022-12-01 | 一种工控协议识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116094971A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041362A (zh) * | 2023-08-17 | 2023-11-10 | 浙江大学 | 一种针对工控协议语义逆向结果的校验方法及系统 |
-
2022
- 2022-12-01 CN CN202211538258.8A patent/CN116094971A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041362A (zh) * | 2023-08-17 | 2023-11-10 | 浙江大学 | 一种针对工控协议语义逆向结果的校验方法及系统 |
CN117041362B (zh) * | 2023-08-17 | 2024-04-23 | 浙江大学 | 一种针对工控协议语义逆向结果的校验方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
CN111881707B (zh) | 图像翻拍检测方法、身份验证方法、模型训练方法及装置 | |
CN111131314B (zh) | 网络行为的检测方法、装置、计算机设备和存储介质 | |
CN111107107B (zh) | 网络行为的检测方法、装置、计算机设备和存储介质 | |
CN112258254B (zh) | 基于大数据架构的互联网广告风险监测方法及系统 | |
CN112036518B (zh) | 基于数据包字节分布的应用程序流量分类方法和存储介质 | |
CN112580108B (zh) | 签名和印章完整性验证方法及计算机设备 | |
CN111177469A (zh) | 人脸检索方法及人脸检索装置 | |
CN110929806A (zh) | 基于人工智能的图片处理方法、装置及电子设备 | |
CN112019500B (zh) | 一种基于深度学习的加密流量识别方法及电子装置 | |
CN116094971A (zh) | 一种工控协议识别方法、装置、电子设备及存储介质 | |
CN114650229A (zh) | 基于三层模型sftf-l的网络加密流量分类方法与系统 | |
CN116232696A (zh) | 基于深度神经网络的加密流量分类方法 | |
Zhang et al. | An interpretable intrusion detection method based on few-shot learning in cloud-ground interconnection | |
CN110619315B (zh) | 人脸识别模型的训练方法、装置及电子设备 | |
CN114124565A (zh) | 一种基于图嵌入的网络入侵检测方法 | |
CN108287817B (zh) | 一种信息处理方法及设备 | |
CN112559832A (zh) | 对加密通道中传输的二次加密流量进行分类的方法 | |
CN112101192A (zh) | 基于人工智能的伪装检测方法、装置、设备及介质 | |
CN111131322A (zh) | 网络行为的检测方法、装置、计算机设备和存储介质 | |
CN114884704B (zh) | 一种基于对合和投票的网络流量异常行为检测方法和系统 | |
CN111882054A (zh) | 对双方加密关系网络数据交叉训练的方法及相关设备 | |
CN115622810B (zh) | 一种基于机器学习算法的业务应用识别系统及方法 | |
CN115150165B (zh) | 一种流量识别方法及装置 | |
CN115996133B (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 |