CN117557843A - 一种基于半监督学习的流量识别方法及*** - Google Patents
一种基于半监督学习的流量识别方法及*** Download PDFInfo
- Publication number
- CN117557843A CN117557843A CN202311505783.4A CN202311505783A CN117557843A CN 117557843 A CN117557843 A CN 117557843A CN 202311505783 A CN202311505783 A CN 202311505783A CN 117557843 A CN117557843 A CN 117557843A
- Authority
- CN
- China
- Prior art keywords
- data
- traffic
- model
- image
- semi
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000002245 particle Substances 0.000 claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 238000013145 classification model Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 7
- 230000015556 catabolic process Effects 0.000 abstract description 5
- 238000013527 convolutional neural network Methods 0.000 abstract description 5
- 238000006731 degradation reaction Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 4
- 239000000284 extract Substances 0.000 abstract 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于半监督学***衡图像数据集;构建基于残差网络的流量识别模型,使用粒子群优化算法寻找全局最优解;使用剩余带有标记的数据对所述流量识别模型进行再训练;将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别,最终实现流量的分类。本发明通过引入自注意力机制来提高模型在处理复杂任务时的性能和效果,通过使用残差网络代替卷积神经网络来提取流量原始特征及统计特征以便解决模型训练过程中出现的退化现象,从而提取到更细节的特征。
Description
技术领域
本发明涉及电数字数据处理技术领域,尤其涉及一种基于半监督学习的流量识别方法及***。
背景技术
随着信息技术的不断发展和普及,信息产业在现代社会中扮演着日益重要的角色。流量识别是信息产业中网络安全领域的一个重要组成部分。现如今,基于原始流量的方法是目前流量识别的主要方法,主要通过卷积神经网络提取并学习特征,但此种方法存在一些弊端,首先是需要大量已标记的数据进行模型训练,通过监督的方式来实现流量识别,但是,数据的标记需要大量的人力资源,且已标记的公开数据集有限,从而导致训练出来的模型容易出现过拟合现象,另外深度神经网络需要固定尺寸的输入,因此原始流量数据必须转换成相同大小的图像。然而,这可能会导致部分流量信息丢失,并且裁剪和填充操作也会损失流量的结构信息。
发明内容
为了解决上述问题,本发明提出一种基于半监督学习的流量识别方法及***,通过引入自注意力机制来提高模型在处理复杂任务时的性能和效果;通过使用残差网络(ResNet)代替卷积神经网络来提取流量原始特征及统计特征以便解决模型训练过程中出现的退化现象,从而提取到更细节的特征。
为了实现上述目的,本发明通过如下的技术方案来实现:
一种基于半监督学习的流量识别方法,所述方法包括:
分别采集正常数据流量和恶意数据流量,并进行数据预处理;
将预处理后的数据进行图像转换,生成灰度图像,转换后生成的图像数据集分为两组,一组为不带标记的数据,另一组为带有标记的数据;
采用欠采样方法平衡图像数据集;
构建基于残差网络的流量识别模型,按照不带标记的数据:带有标记的数据=50:1的比例组成模型数据集放入残差网络中对所述流量识别模型进行预训练,使用粒子群优化算法寻找全局最优解;
使用剩余带有标记的数据对所述流量识别模型进行再训练;
将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别,最终实现流量的分类。
作为本发明的一种优选方案,所述正常数据流量和恶意数据流量通过IMTH2019数据集和CIC-IDS2017数据集进行采集,所述CIC-IDS2017数据集中的恶意数据流量类型包括FTP攻击、SSH攻击和Dos攻击等。
作为本发明的一种优选方案,所述IMTH2019数据集和CIC-IDS2017数据集中的数据以pcap文件的形式保存,所述pcap文件中的每一条代表一个数据包;
所述数据预处理具体包括:
根据五元组信息将pcap文件中的所有数据包划分成数据流,将具有相同五元组信息的数据包归为同一数据流;若一个数据流中的数据包数量n>4,则将该数据流再划分成n/4个数据流;每个数据流只保留前4个数据包;
提取每个数据包前125位的数据,分别保存到对应excel文件内;
对excel文件内的数据进行数据清洗,去除冗余数据;
进行转换进制操作,以确保与灰度图像中像素点的值完全匹配,具体为:将数据包中的十六进制数据和剩余数据帧中的十六进制数据均转化为十进制数据,确保每一个字节都转化为0到255之间的数值;将数据包中的8位二进制数据中的一个字节转化为0到255之间的数值。
作为本发明的一种优选方案,所述将数据预处理后的数据进行图像转换,生成灰度图像,具体包括:目标图像表示为A*B,像素点用P来表示,关系为:
其中f1:b表示一段b长度字节的数据长度,OB-b表示B-b个空字符的连接,完整的图像定义为列运算Q,表示为:
其中e1:a表示一段a长度字节的数据长度,O(A-a)×B表示(A-a)×B个空字符的连接;通过线性映射或对数映射方法将数据包转换为像素值,具体为:将一维序列数据按照字节单位数据包中的顺序排列,将所述一维序列数据转化为一个大小为36m×36m的二维数组M=m2,最后将所述二维数组保存为灰度图像文件。
作为本发明的一种优选方案,所述构建基于残差网络的流量识别模型,具体包括:将所述模型数据集按照5:1的比例划分为训练集和测试集,并放入残差网络中进行预训练,
残差网络中每个残差块通过残差传递机制直接学习到输入和输出之间的映射关系,所述残差块yl的表示方式为:
yl=h(xl)+F(xl,Wl);
xl+1=f(yl);
式中,xl和xl+1分别代表第l层的输入和输出,F表示残差函数,Wl代表第l层的1*1卷积操作,h(·)、f(·)分别是恒等映射函数和激活函数;
使用大小为1*1的卷积核对输入的数据进行卷积操作,获得对应的特征图,通过局部注意特征图计算调整特征图的尺寸,通过softmax归一化得到Attention Map,再与h(x)的像素点进行相乘操作,得到自注意力特征图,公式如下:
式中,βj,i表示合成第j个区域时残差网络关注第i个区域的程度,sij代表通过softmax函数归一化得到的Attention Map;
在局部信息的基础上增加全局信息得到:
式中,输出注意力层是o=(o1,o2,o3,...,oj,...,oN)∈Rc×N;
注意力层的最终输出为:
式中,前一个隐藏层的图像特征向量x∈Rc×N,转化为3个特征空间f(x),g(x),h(x),βj,i表示合成第j个区域时模型关注第i个区域的程度,然后输出注意力层是o=(o1,o2,o3,...,oj,...,oN)∈Rc×N,再乘以一个初始化为0的可学习平衡因子γ,并且添加特征向量x,通过反向不断更新。
作为本发明的一种优选方案,所述使用粒子群优化算法寻找全局最优解,具体包括:通过粒子的位置信息计算适应度值,然后更新每个粒子的最佳位置和整个群体的全局最佳位置,公式为:
vi=ω×vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi);
xi=xi+vi;
其中,ω表示惯性因子,vi代表粒子的速度,xi代表粒子的位置,rand()是(0,1)内的随机数,c1,c2代表学习因子,pbesti,gbesti代表当前个体极值和全局极值,损失函数采用交叉熵损失函数来作为衡量加密流量分类模型性能的指标,公式如下:
其中M代表类别数量,Pi代表每个类别的概率。
作为本发明的一种优选方案,所述使用剩余带有标记的数据集对所述流量识别模型进行再训练,具体包括:
通过剩余带有标记的数据,采用激活函数ReLU和softmax分类函数进行特征分类,并按照准确率Accuracy、精度Precision、召回率Recall和F1分数四个指标对所述流量识别模型进行评价,公式如下:
其中TP代表正类别样本预测为正类别的数量,FN代表正类别样本预测为负类别的数量,FP代表负类别样本预测为正类别的数量,TN代表负类别样本预测为负类别的数量。
一种基于半监督学习的流量识别方法的***,所述***包括:
数据采集模块,用于采集正常数据流量和恶意数据流量;
数据预处理模块,用于对采集的正常数据流量和恶意数据流量进行数据预处理;
图像转换模块,用于将预处理后的数据进行图像转换,生成灰度图像,并将转换后生成的图像数据集分为两组,一组为不带标记的数据,另一组为带有标记的数据;
图像数据集模块,用于采用欠采样方法平衡图像数据集;
模型构建模块,用于构建基于残差网络的流量识别模型,按照不带标记的数据:带有标记的数据=50:1的比例组成模型数据集放入残差网络中对所述流量识别模型进行预训练,使用粒子群优化算法寻找全局最优解;并使用剩余带有标记的数据对所述流量识别模型进行再训练;流量识别模块,将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别;信息存储模块,用于将流量识别模块得到的识别结果分组分类进行存储,存入数据库中。一个或多个处理器;存储器,用于存储一个或多个程序;当一个或多个所述程序被处理器执行时实现如上所述的一种基于半监督学习的流量识别方法。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上所述的一种基于半监督学习的流量识别方法。
与现有技术相比,本发明的有益效果是:
1.本发明选用残差网络代替卷积神经网络提取流量的原始特征有利于解决梯度消失和梯度***问题,残差网络通过跨层连接,使得梯度可以更快速地传播,从而减轻了这些问题;残差网络可以保持有效的梯度传播,允许构建非常深的网络;网络层之间可以学习到一个恒等映射,这意味着网络可以选择性地学习对输入进行微调,从而简化了训练的难度;残差网络可以更好地拟合训练数据,从而提高了网络对未见过数据的泛化能力。
2.本发明采用半监督式学习进行模型的训练,半监督学习可以在标记数据有限或者成本高昂的情况下,充分利用未标记数据,从而提高模型的性能和泛化能力,使其在实际应用中更具有实用性。
3.本发明引入自注意力机制可以使网络安全流量识别模型更具有灵活性、精确性和可解释性,从而提高了模型对于网络安全威胁的应对能力。自注意力机制可以通过学习自适应的权重分配,使得模型更加关注与目标相关的特征,同时抑制与目标无关的特征,从而提高模型的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本发明实施例中方法流程图;
图2为本发明实施例中网络模型结构流程图;
图3为本发明实施例中残差网络模型结构图;
图4为本发明实施例中自注意力模型结构图;
图5为本发明实施例中的模块化结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明的一个实施例,该实施例提供了一种基于半监督学习的流量识别方法,包括以下步骤:
S1:分别采集正常数据流量和恶意数据流量,并进行数据预处理;
在其中一个实施例中,正常数据流量和恶意数据流量通过IMTH2019数据集和CIC-IDS2017数据集进行采集。
IMTH2019数据集源自国内常用的应用程序,其中包括微信、QQ等等,共计120万条数据;CIC-IDS2017数据集包含了恶意流量类型,其中包括FTP攻击、SSH攻击、Dos攻击等等,共计6万条数据。
IMTH2019数据集和CIC-IDS2017数据集中的数据以pcap文件的形式保存,里面的每一条都代表一个数据包,通过工具打开pcap文件后,可以清晰的看到里面的内容包括了每个数据包的时间、源IP、目的IP、协议等等信息。
数据预处理的操作具体为:根据五元组信息将pcap文件中的所有数据包划分成数据流,对数据流中的数据包提取前125位的数据,每个数据流只保留4个数据包,如果数据流的数据包>4,则将该数据流划分成n/4个新的数据流(n为数据包的数量)。每种种类的流量的所有数据流分别保存到对应excel文件内。首先进行网络流量数据清洗,数据清洗的目的是除去原始流量数据中的一些冗余数据;接下来进行转换进制操作,首先需要将数据包中的十六进制数据转化为十进制数据,确保每一个字节都转化为0到255之间的某个数值。比如,0x00会被映射成全黑,0xFF则对应全白。接着,对剩余的数据帧进行同样的处理,将十六进制数据(e8,e7,32,3c,65...)转化为十进制表示(232,231,50,60,101...)。最后,将数据包中的8位二进制数据中的一个字节转化为0到255之间的数值,以确保它与灰度图像中相应像素点的值完全匹配。
S2:将预处理后的数据进行图像转换,生成灰度图像,转换后生成的图像数据集分为两组,一组为不带标记的数据,另一组为带有标记的数据;
在其中一个实施例中,步骤S2具体包括:
在S2中,通过S1操作后获取到的数据进行图像转换,由于图像的输入需要固定大小,因此需要进行填充或删除操作,生成的图像分为两组,一组是大量不带标记的数据,另一组是少量的带有标记的数据。以下是目标图像和像素点之间的关系,目标图像为A*B,像素点用P来表示,关系为:
其中f1:b表示一段b长度字节的数据长度,OB-b表示B-b个空字符的连接,完整的图像定义为列运算Q,表示为:
其中e1:a表示一段a长度字节的数据长度,O(A-a)×B表示(A-a)×B个空字符的连接;
通过线性映射或对数映射等方法将数据包转换为像素值,首先需要将一维序列数据按照字节单位按照数据包中的顺序排列。接着,将这一维序列数据转化为一个大小为36×36的二维数组M=m2。最后,将这个二维数组保存为灰度图像文件。
S3:采用欠采样方法平衡图像数据集;
利用欠采样方式删除掉训练集中一些大样本类别的数据,从而实现数据集的平衡,平衡数据集有利于提高分类器的性能。
S4:构建基于残差网络的流量识别模型,按照不带标记的数据:带有标记的数据=50:1的比例组成模型数据集放入残差网络中对所述流量识别模型进行预训练,使用粒子群优化算法寻找全局最优解;
在其中一个实施例中,构建基于残差网络的流量识别模型,具体包括:将所述模型数据集按照5:1的比例划分为训练集和测试集,并放入残差网络中进行预训练;
通过使用残差网络提取流量原始特征及统计特征,在传统的神经网络中,通过堆叠多个层来增加网络的深度,从而使模型的性能得到提高。但是,当网络层数较多时,由于网络的信息传递是通过每一层的非线性变换所实现的,而这种变换会导致梯度消失或梯度***,从而影响网络的收敛速度和性能。引入残差网络可以解决这个问题。残差网络中,每个层不再直接拟合出输出值,而是拟合出相对于输入的残差。这个残差可以直接加到输出上,从而构成了残差块。这种设计可以使得信息的直接传递变得更加容易,而且即使网络变得很深,也同样可以保证梯度的有效传播,从而提高模型的性能。此外,残差网络也可以加深网络的层数。在传统的网络中,增加网络的深度会导致性能的下降,但是在残差网络中,增加网络深度并不会导致性能的下降,反而可以进一步提高模型的性能。这是因为残差网络中,每个块都可以通过残差传递机制直接学习到输入和输出之间的映射关系,从而更加容易拟合复杂的非线性函数。残差块yl的表示方式为:
yl=h(xl)+F(xl,Wl);
xl+1=f(yl);
式中,xl和xl+1代表第l层的输入和输出。F函数是残差函数,Wl代表第l层的1*1卷积操作,h(·)、f(·)分别是恒等映射函数和激活函数。
各层参数如表1所示:
表1ResNet-18模型结构
基于半监督学习的流量识别方法网络模型结构如图2所示,残差网络模型如图3所示。
通过使用自注意力机制进行加权实现对加密流量的分类,自注意力机制是一种用于加强神经网络模型对于某些输入部分的关注程度的技术。它可以将模型的注意力集中在输入数据的某些部分,在神经网络模型中引入自注意力机制的意义在于可以使模型更加关注与目标相关的信息,提高模型的准确性和泛化能力。传统的神经网络模型对于输入的所有特征都赋予相同的权重,而这些特征对于目标的贡献往往是不均衡的。自注意力机制可以通过学习自适应的权重分配,使得模型更加关注与目标相关的特征,同时抑制与目标无关的特征,从而提高模型的性能。使用大小为1*1的卷积核对输入的数据进行卷积操作,获得到对应的特征图,通过局部注意特征图计算,重新调整特征图的尺寸,通过softmax归一化得到Attention Map。再与h(x)的像素点进行相乘操作,最后得到自注意力特征图。网络模型如图4所示,公式如下:
在局部信息的基础上增加全局信息得到:
注意力层的最终输出为:
前一个隐藏层的图像特征向量x∈Rc×N,转化为3个特征空间f(x),g(x),h(x),βj,i表示合成第j个区域时模型关注第i个区域的程度,然后输出注意力层是o=(o1,o2,o3,...,oj,...,oN)∈Rc×N,再乘以一个初始化为0的可学习平衡因子γ,并且添加特征向量x,通过反向不断更新。由于神经网络模型的效果受参数影响较大,因此本发明采用粒子群优化算法(PSO)寻找模型最佳的学习率等参数,以便最大化分类效果。粒子群算法图图所示,通过利用粒子的位置信息计算适应度值,然后更新每个粒子的最佳位置和整个群体的全局最佳位置。
vi=ω×vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi);
xi=xi+vi;
其中,ω表示惯性因子,vi代表粒子的速度,xi代表粒子的位置,rand()是(0,1)内的随机数,c1,c2代表学习因子,pbesti,gbesti代表当前个体极值和全局极值。迭代过程中,根据一定的迭代次数或者达到特定适应度阈值时结束,然后将得到的最优位置作为网络流量识别模型的参数输出。本次实施例采用的硬件***为Windows10,处理器为GeForceNVIDIA 2080Ti GPU,软件操作环境为Pycharm,编程语言python3.6,采用Pytorch框架。优化器采用Adam优化器,Epochs设置为200次,学习率设置为0.0001。损失函数采用交叉熵损失函数来作为衡量加密流量分类模型性能的指标,公式如下:
其中M代表类别数量,Pi代表每个类别的概率。
S5:使用剩余带有标记的数据对所述流量识别模型进行再训练;
步骤S5采用的模型是步骤4中经过大量无标记数据集预训练后得到的模型。过程仍然采用激活函数ReLU和softmax分类函数进行特征分类。此外,模型的评价标准采用以下4个指标,准确率、精度、召回率和F1-Score,准确率是指模型正确分类的样本数量与总样本数量之间的比例;精度是指模型在所有预测为正类别的样本中,真正是正类别的样本所占的比例;召回率是指模型在所有实际为正类别的样本中,成功预测为正类别的样本所占的比例;F1-Score是精度和召回率的调和平均数,它提供了一个综合评价模型性能的指标。F1-Score的值在0和1之间,值越高表示模型的性能越好。
其中TP代表模型正确地将正类别样本预测为正类别的数量;FN代表模型错误地将正类别样本预测为负类别的数量;FP代表模型错误地将负类别样本预测为正类别的数量;TN代表模型正确地将负类别样本预测为负类别的数量。
S6:将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别,最终实现流量的分类。
如图5所示,为本发明的另一实施例,该实施例提供了一种基于半监督学习的流量识别方法的***,用于实现如上所述的一种基于半监督学习的流量识别方法,包括:
数据采集模块,用于采集正常数据流量和恶意数据流量;
数据预处理模块,用于对采集的正常数据流量和恶意数据流量进行数据预处理;
图像转换模块,用于将预处理后的数据进行图像转换,生成灰度图像,并将转换后生成的图像数据集分为两组,一组为不带标记的数据,另一组为带有标记的数据;
图像数据集模块,用于采用欠采样方法平衡图像数据集;
模型构建模块,用于构建基于残差网络的流量识别模型,按照不带标记的数据:带有标记的数据=50:1的比例组成模型数据集放入残差网络中对所述流量识别模型进行预训练,使用粒子群优化算法寻找全局最优解;并使用剩余带有标记的数据对所述流量识别模型进行再训练;
流量识别模块,将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别;信息存储模块,用于将流量识别模块得到的识别结果分组分类进行存储,存入数据库中。
本实施例还提供一种基于半监督学习的流量识别设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行时实现如上所述的一种基于半监督学习的流量识别方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。该存储介质可以是只读存储器,磁盘或光盘等。
综上所述,根据本发明实施例提出的一种基于半监督学习的流量识别方法,另外再通过引入自注意力机制来提高模型在处理复杂任务时的性能和效果;通过使用残差网络(ResNet)代替卷积神经网络来提取流量原始特征及统计特征以便解决模型训练过程中出现的退化现象,从而提取到更细节的特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进变化、修改、替换和变型。
Claims (10)
1.一种基于半监督学习的流量识别方法,其特征在于,所述方法包括:
分别采集正常数据流量和恶意数据流量,并进行数据预处理;
将预处理后的数据进行图像转换,生成灰度图像,转换后生成的图像数据集分为两组,一组为不带标记的数据,另一组为带有标记的数据;
采用欠采样方法平衡图像数据集;
构建基于残差网络的流量识别模型,按照不带标记的数据:带有标记的数据=50:1的比例组成模型数据集放入残差网络中对所述流量识别模型进行预训练,使用粒子群优化算法寻找全局最优解;
使用剩余带有标记的数据对所述流量识别模型进行再训练;
将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别,最终实现流量的分类。
2.根据权利要求1所述的一种基于半监督学习的流量识别方法,其特征在于,所述正常数据流量和恶意数据流量通过IMTH2019数据集和CIC-IDS2017数据集进行采集,所述CIC-IDS2017数据集中的恶意数据流量类型包括FTP攻击、SSH攻击和Dos攻击等。
3.根据权利要求2所述的一种基于半监督学习的流量识别方法,其特征在于,所述IMTH2019数据集和CIC-IDS2017数据集中的数据以pcap文件的形式保存,所述pcap文件中的每一条代表一个数据包;
所述数据预处理具体包括:
根据五元组信息将pcap文件中的所有数据包划分成数据流,将具有相同五元组信息的数据包归为同一数据流;若一个数据流中的数据包数量n>4,则将该数据流再划分成n/4个数据流;每个数据流只保留前4个数据包;
提取每个数据包前125位的数据,分别保存到对应excel文件内;
对excel文件内的数据进行数据清洗,去除冗余数据;
进行转换进制操作,以确保与灰度图像中像素点的值完全匹配,具体为:将数据包中的十六进制数据和剩余数据帧中的十六进制数据均转化为十进制数据,确保每一个字节都转化为0到255之间的数值;将数据包中的8位二进制数据中的一个字节转化为0到255之间的数值。
4.根据权利要求1所述的一种基于半监督学习的流量识别方法,其特征在于,将数据预处理后的数据进行图像转换,生成灰度图像,具体包括:目标图像表示为A*B,像素点用P来表示,关系为:
其中f1:b表示一段b长度字节的数据长度,OB-b表示B-b个空字符的连接,完整的图像定义为列运算Q,表示为:
其中e1:a表示一段a长度字节的数据长度,O(A-a)×B表示(A-a)×B个空字符的连接;
通过线性映射或对数映射方法将数据包转换为像素值,具体为:将一维序列数据按照字节单位数据包中的顺序排列,将所述一维序列数据转化为一个大小为36m×36m的二维数组M=m2,最后将所述二维数组保存为灰度图像文件。
5.根据权利要求1所述的一种基于半监督学习的流量识别方法,其特征在于,所述构建基于残差网络的流量识别模型,具体包括:将所述模型数据集按照5:1的比例划分为训练集和测试集,并放入残差网络中进行预训练,残差网络中每个残差块通过残差传递机制直接学习到输入和输出之间的映射关系,所述残差块yl的表示方式为:
yl=h(xl)+F(xl,Wl);
xl+1=f(yl);
式中,xl和xl+1分别代表第l层的输入和输出,F表示残差函数,Wl代表第l层的1*1卷积操作,h(·)、f(·)分别是恒等映射函数和激活函数;
使用大小为1*1的卷积核对输入的数据进行卷积操作,获得对应的特征图,通过局部注意特征图计算调整特征图的尺寸,通过softmax归一化得到Attention Map,再与h(x)的像素点进行相乘操作,得到自注意力特征图,公式如下:
sij=f(xi)Tg(xj);
式中,βj,i表示合成第j个区域时残差网络关注第i个区域的程度,sij代表通过softmax函数归一化得到的Attention Map;
在局部信息的基础上增加全局信息得到:
式中,输出注意力层是o=(o1,o2,o3,...,oj,...,oN)∈Rc×N;
注意力层的最终输出为:
式中,前一个隐藏层的图像特征向量x∈Rc×N,转化为3个特征空间f(x),g(x),h(x),βj,i表示合成第j个区域时模型关注第i个区域的程度,然后输出注意力层是o=(o1,o2,o3,...,oj,...,oN)∈Rc×N,再乘以一个初始化为0的可学习平衡因子γ,并且添加特征向量x,通过反向不断更新。
6.根据权利要求1所述的一种基于半监督学习的流量识别方法,其特征在于,所述使用粒子群优化算法寻找全局最优解,具体包括:通过粒子的位置信息计算适应度值,然后更新每个粒子的最佳位置和整个群体的全局最佳位置,公式为:
vi=ω×vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi);
xi=xi+vi;
其中,ω表示惯性因子,vi代表粒子的速度,xi代表粒子的位置,rand()是(0,1)内的随机数,c1,c2代表学习因子,pbesti,gbesti代表当前个体极值和全局极值,损失函数采用交叉熵损失函数来作为衡量加密流量分类模型性能的指标,公式如下:
其中M代表类别数量,Pi代表每个类别的概率。
7.根据权利要求1所述的一种基于半监督学习的流量识别方法,其特征在于,所述使用剩余带有标记的数据集对所述流量识别模型进行再训练,具体包括:
通过剩余带有标记的数据,采用激活函数ReLU和softmax分类函数进行特征分类,并按照准确率Accuracy、精度Precision、召回率Recall和F1分数四个指标对所述流量识别模型进行评价,公式如下:
其中TP代表正类别样本预测为正类别的数量,FN代表正类别样本预测为负类别的数量,FP代表负类别样本预测为正类别的数量,TN代表负类别样本预测为负类别的数量。
8.基于权利要求1-7任一项所述的一种基于半监督学习的流量识别方法的***,其特征在于,所述***包括:
数据采集模块,用于采集正常数据流量和恶意数据流量;
数据预处理模块,用于对采集的正常数据流量和恶意数据流量进行数据预处理;
图像转换模块,用于将预处理后的数据进行图像转换;生成灰度图像,并将转换后生成的图像数据集分为两组,一组为不带标记的数据,另一组为带有标记的数据;
图像数据集模块,用于采用欠采样方法平衡图像数据集;
模型构建模块,用于构建基于残差网络的流量识别模型,按照不带标记的数据:带有标记的数据=50:1的比例组成模型数据集放入残差网络中对所述流量识别模型进行预训练,使用粒子群优化算法寻找全局最优解;并使用剩余带有标记的数据对所述流量识别模型进行再训练;流量识别模块,将捕获到的真实数据流量输送到训练好的流量识别模型中进行流量识别;
信息存储模块,用于将流量识别模块得到的识别结果分组分类进行存储,存入数据库中。
9.一种基于半监督学习的流量识别设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个所述程序被处理器执行时实现如权利要求1-7中任一项所述的一种基于半监督学习的流量识别方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种基于半监督学习的流量识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311505783.4A CN117557843B (zh) | 2023-11-13 | 2023-11-13 | 一种基于半监督学习的流量识别方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311505783.4A CN117557843B (zh) | 2023-11-13 | 2023-11-13 | 一种基于半监督学习的流量识别方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117557843A true CN117557843A (zh) | 2024-02-13 |
CN117557843B CN117557843B (zh) | 2024-07-05 |
Family
ID=89821350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311505783.4A Active CN117557843B (zh) | 2023-11-13 | 2023-11-13 | 一种基于半监督学习的流量识别方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117557843B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834311A (zh) * | 2024-03-06 | 2024-04-05 | 成都工业职业技术学院 | 一种用于网络安全的恶意行为识别*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906019A (zh) * | 2021-02-04 | 2021-06-04 | 南京邮电大学 | 基于改进dcgan模型的流量数据生成方法、装置及*** |
CN113408652A (zh) * | 2021-07-12 | 2021-09-17 | 匀熵科技(无锡)有限公司 | 基于群表示特征的半监督学习图像分类方法 |
CN113591915A (zh) * | 2021-06-29 | 2021-11-02 | 中国电子科技集团公司第三十研究所 | 基于半监督学习和单分类支持向量机的异常流量识别方法 |
US20210390686A1 (en) * | 2020-06-15 | 2021-12-16 | Dalian University Of Technology | Unsupervised content-preserved domain adaptation method for multiple ct lung texture recognition |
CN114745175A (zh) * | 2022-04-11 | 2022-07-12 | 中国科学院信息工程研究所 | 一种基于注意力机制的网络恶意流量识别方法及*** |
CN114972836A (zh) * | 2022-06-14 | 2022-08-30 | 南京信息工程大学 | 一种基于多模块融合的加密流量分类方法 |
US20220368703A1 (en) * | 2019-10-28 | 2022-11-17 | University Of Science And Technology Of China | Method and device for detecting security based on machine learning in combination with rule matching |
CN115410026A (zh) * | 2022-07-14 | 2022-11-29 | 扬州大学 | 基于标签传播对比半监督学习的图像分类方法与*** |
CN116232696A (zh) * | 2023-01-18 | 2023-06-06 | 南京烽火星空通信发展有限公司 | 基于深度神经网络的加密流量分类方法 |
CN116527399A (zh) * | 2023-06-25 | 2023-08-01 | 北京金睛云华科技有限公司 | 基于不可靠伪标签半监督学习的恶意流量分类方法和设备 |
CN116545651A (zh) * | 2023-04-04 | 2023-08-04 | 江苏科技大学 | 一种基于机器学习的网络入侵检测方法 |
CN116824239A (zh) * | 2023-06-19 | 2023-09-29 | 淮阴工学院 | 一种基于迁移学习及ResNet50神经网络的图像识别方法及*** |
-
2023
- 2023-11-13 CN CN202311505783.4A patent/CN117557843B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220368703A1 (en) * | 2019-10-28 | 2022-11-17 | University Of Science And Technology Of China | Method and device for detecting security based on machine learning in combination with rule matching |
US20210390686A1 (en) * | 2020-06-15 | 2021-12-16 | Dalian University Of Technology | Unsupervised content-preserved domain adaptation method for multiple ct lung texture recognition |
CN112906019A (zh) * | 2021-02-04 | 2021-06-04 | 南京邮电大学 | 基于改进dcgan模型的流量数据生成方法、装置及*** |
CN113591915A (zh) * | 2021-06-29 | 2021-11-02 | 中国电子科技集团公司第三十研究所 | 基于半监督学习和单分类支持向量机的异常流量识别方法 |
CN113408652A (zh) * | 2021-07-12 | 2021-09-17 | 匀熵科技(无锡)有限公司 | 基于群表示特征的半监督学习图像分类方法 |
CN114745175A (zh) * | 2022-04-11 | 2022-07-12 | 中国科学院信息工程研究所 | 一种基于注意力机制的网络恶意流量识别方法及*** |
CN114972836A (zh) * | 2022-06-14 | 2022-08-30 | 南京信息工程大学 | 一种基于多模块融合的加密流量分类方法 |
CN115410026A (zh) * | 2022-07-14 | 2022-11-29 | 扬州大学 | 基于标签传播对比半监督学习的图像分类方法与*** |
CN116232696A (zh) * | 2023-01-18 | 2023-06-06 | 南京烽火星空通信发展有限公司 | 基于深度神经网络的加密流量分类方法 |
CN116545651A (zh) * | 2023-04-04 | 2023-08-04 | 江苏科技大学 | 一种基于机器学习的网络入侵检测方法 |
CN116824239A (zh) * | 2023-06-19 | 2023-09-29 | 淮阴工学院 | 一种基于迁移学习及ResNet50神经网络的图像识别方法及*** |
CN116527399A (zh) * | 2023-06-25 | 2023-08-01 | 北京金睛云华科技有限公司 | 基于不可靠伪标签半监督学习的恶意流量分类方法和设备 |
Non-Patent Citations (3)
Title |
---|
LINGJING KONG; GUOWEI HUANG; KEKE WU; QI TANG; SUYING YE: "Comparison of Internet Traffic Identification on Machine Learning Methods", 《2018 INTERNATIONAL CONFERENCE ON BIG DATA AND ARTIFICIAL INTELLIGENCE (BDAI)》, 29 December 2018 (2018-12-29) * |
朱阳光;刘瑞敏;黄琼桃;: "基于深度神经网络的弱监督信息细粒度图像识别", 电子测量与仪器学报, no. 02, 15 February 2020 (2020-02-15) * |
郭益民;张爱新;: "基于卷积神经网络的Android流量分类方法", 通信技术, no. 02, 10 February 2020 (2020-02-10) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117834311A (zh) * | 2024-03-06 | 2024-04-05 | 成都工业职业技术学院 | 一种用于网络安全的恶意行为识别*** |
CN117834311B (zh) * | 2024-03-06 | 2024-05-14 | 成都工业职业技术学院 | 一种用于网络安全的恶意行为识别*** |
Also Published As
Publication number | Publication date |
---|---|
CN117557843B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112308158B (zh) | 一种基于部分特征对齐的多源领域自适应模型及方法 | |
Wang et al. | Glance and focus: a dynamic approach to reducing spatial redundancy in image classification | |
Bensaoud et al. | Classifying malware images with convolutional neural network models | |
Zhang et al. | A multiple-layer representation learning model for network-based attack detection | |
Teng et al. | Classifier-constrained deep adversarial domain adaptation for cross-domain semisupervised classification in remote sensing images | |
CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN106228398A (zh) | 基于c4.5决策树算法的特定用户挖掘***及其方法 | |
CN111428817B (zh) | 一种面向无线电信号识别对抗攻击的防御方法 | |
CN117557843B (zh) | 一种基于半监督学习的流量识别方法及*** | |
Liu et al. | Multi-view self-constructing graph convolutional networks with adaptive class weighting loss for semantic segmentation | |
CN110175248B (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN108520215B (zh) | 基于多尺度联合特征编码器的单样本人脸识别方法 | |
Alrawashdeh et al. | Reducing calculation requirements in FPGA implementation of deep learning algorithms for online anomaly intrusion detection | |
Khan et al. | Malware classification framework using convolutional neural network | |
Wang et al. | Particle swarm optimization for evolving deep convolutional neural networks for image classification: Single-and multi-objective approaches | |
CN113364787A (zh) | 一种基于并联神经网络的僵尸网络流量检测方法 | |
Qin et al. | Making deep neural networks robust to label noise: Cross-training with a novel loss function | |
CN115361195A (zh) | 一种基于时空代价成本的大规模物联网流量多分类方法 | |
CN114826776A (zh) | 一种用于加密恶意流量的弱监督检测方法及*** | |
CN116630700A (zh) | 基于引入通道-空间注意力机制的遥感图像分类方法 | |
CN113836530B (zh) | 一种基于MAAM和CliqueNet的恶意软件检测和家族分类方法 | |
CN114896594A (zh) | 基于图像特征多注意力学习的恶意代码检测装置及方法 | |
Alam et al. | DeepMalware: a deep learning based malware images classification | |
Sun et al. | Few-Shot network intrusion detection based on prototypical capsule network with attention mechanism | |
CN114861178B (zh) | 一种基于改进b2m算法的恶意代码检测引擎设计方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |