CN116366313A - 一种小样本异常流量检测方法和系统 - Google Patents
一种小样本异常流量检测方法和系统 Download PDFInfo
- Publication number
- CN116366313A CN116366313A CN202310253979.2A CN202310253979A CN116366313A CN 116366313 A CN116366313 A CN 116366313A CN 202310253979 A CN202310253979 A CN 202310253979A CN 116366313 A CN116366313 A CN 116366313A
- Authority
- CN
- China
- Prior art keywords
- flow
- neural network
- session
- traffic
- layer
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 46
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000003062 neural network model Methods 0.000 claims abstract description 31
- 238000013528 artificial neural network Methods 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000000059 patterning Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 230000005856 abnormality Effects 0.000 claims abstract description 7
- 238000013135 deep learning Methods 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 239000013598 vector Substances 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000005111 flow chemistry technique Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002779 inactivation Effects 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000011524 similarity measure Methods 0.000 claims description 2
- 230000008859 change Effects 0.000 abstract description 3
- 238000010801 machine learning Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000000415 inactivating effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
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/1425—Traffic logging, e.g. anomaly 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/02—Neural networks
- G06N3/08—Learning methods
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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
- 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/1441—Countermeasures against malicious traffic
-
- 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)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种小样本异常流量检测方法和系统。本方法为:1)对网络流量按照会话分割为会话流量;2)对分割后的会话流量实施图形化,以捕捉跨数据包的特征,为模型输入做准备;3)使用三维卷积层构建孪生神经网络模型,并用图形化的流量训练;4)使用训练好的孪生神经网络模型进行异常检测。本发明将流量转换为彩色图,使得图形化的流量具有三通道特性,便于模型更有效地提取短距离的跨数据包特征;采用三维卷积层作为孪生神经网络的主要结构,提高了长距离的跨数据包特征提取能力;攻击类型发生变化时,模型经过微调即可适应该变化,具有较强的泛化能力。本发明能够在标记样本非常少的情况下实施网络流量异常检测,并具有较高的准确率。
Description
技术领域
本发明提出一种小样本情况下的异常流量检测方法和系统,它引用了网络流量相关领域的标准和深度学习方法,可以检测多种攻击,属于计算机科学与网络安全学的交叉学科。
背景技术
随着互联网的高速发展,越来越多的互联网公司崛起,互联网在我国政府、教育、科研等行业发挥了巨大作用。与此同时,高级持续性威胁(APT)整体形势也很严峻,2021年上半年,发现和披露的APT攻击活动较去年同期大幅增加。为了检测网络威胁,各国网络安全分析人员针对网络流量开发异常流量检测系统,通过分析网络流量的变化和异常发现攻击活动。
基于网络流量的威胁检测已经有广泛的研究,典型的技术包括基于误用的技术、机器学习技术、深度学习技术等。基于误用的技术也称为基于签名的网络流量异常检测,是将网络流量与签名库中的签名进行匹配,一旦命中即发出告警信息来预示异常行为。基于误用的网络流量异常检测非常准确,但其十分依赖人工分析网络攻击流量并编写签名,维护成本高,且无法识别不在签名库中的攻击活动。为了解决基于误用的技术存在的问题,机器学习技术被用于开发网络流量异常检测系统。机器学习技术可以从网络攻击数据中自动分析获得规律,并利用规律对未知数据进行预测。因此,安全人员无需为攻击编写签名,而是从网络攻击流量中提取一些有用的特征作为数据输入机器学习模型中,让机器学习模型“学会”检测网络威胁。然而,机器学习技术的性能好坏的决定性因素是基础特征和流量特征,安全人员往往需要借助工具分析大量的标记数据以提取效果好的特征,且特征的迁移也存在困难。为了彻底摆脱对人工分析流量的依赖,深度学习技术被用于开发网络流量异常检测系统。深度学习技术可以从大型的原始数据中学习和获得规律,然后利用规律对未知数据进行预测。与机器学习技术相比,深度学习技术有两个优点,一是深度学习技术可以直接从原始数据中学习,不需要人工分析原始数据以提供可用的特征;二是深度学习技术可以通过使用更多数据来提升性能,而许多传统机器学习算法在增加数据量的情况下不会持续增加学到的知识总量。深度学习技术彻底解决了人工分析网络流量的困难,具有很高的检测能力,然而使用深度学习技术的前提是拥有数量庞大的标记数据,且不同攻击的流量数量要尽可能在同一量级。在现实环境中获得这样的网络流量样本有两大困难,一是即便采集了大量的流量,其中的良性流量也要远多于攻击流量,且不同攻击流量的数量差别较大;二是对网络流量数据进行标注非常的繁琐耗时,人力和时间成本较高。
综上所述,目前在实际环境中实施通用异常流量检测方法首先需要分析员花费大量时间精力为流量提供标记,不能满足需求,且国内尚不存在成熟的流量自动化标注的方法,是对国内基于机器学习的异常流量检测系统开发的阻碍之一。
发明内容
为了解决上述问题,本发明的目的在于提供一种可以使用少量的标签样本构建模型的方法。具体来说,本发明解决的问题称为N-way K-shot问题,N-way指总共有N种类别需要预测,K-shot指每一类中作为训练集的样本个数为K,K通常小于10。小样本学习模型使用N*K个样本训练后,就可以准确地在N个类别中进行预测。因此,在网络流量异常检测任务中,首先采集大量的网络流量,然后分析网络流量中出现的所有攻击类型N,并给每一个类型的K个样本打上标注,即可开发小样本异常流量检测系统,实现准确的威胁检测,解决流量不平衡和全部标注困难的问题。
通用技术无法解决N-way K-shot问题的理由是,机器学习模型和深度学习模型大都为分类模型,而分类模型在训练时如果样本数量不够大,就会发生严重的过拟合现象,即模型的测试误差远大于训练误差。当训练集样本数量较少时,具有复杂结构的模型会专注于解释训练集数据的分布,而忽视对未来数据的预测。
度量学习是从数据中学习一种度量数据对象间距离的方法,其目标是使得在学得的距离度量下,相似对象间的距离小,不相似对象间的距离大。实验表明,度量学习在解决小样本问题上效果非常好,相较于其他的小样本学习方法更适合用于网络流量异常检测领域。在度量学习模型中,主要有孪生神经网络、匹配网络、原型网络和关系网络等结构,其中孪生神经网络是一种结构简单但却高效的模型,它接受一对输入并判断是同类或不同类,这样简单的结构使它容易训练且便于扩展。在网络流量异常检测领域,网络威胁处于一个动态变化的过程,经常会出现新的攻击类型,孪生神经网络可以在不需要重新训练的情况下扩展以识别新出现的攻击类型。
本发明的一种小样本异常流量检测方法的步骤包括:
将网络流量按照会话进行分割;
对分割后的会话流量进行图形化,得到图形化的流量;
基于三维卷积层构建孪生神经网络模型,并采用图形化的流量进行训练;
使用训练好的孪生神经网络模型进行异常流量检测。
进一步地,所述对分割后的会话流量进行图形化,包括:首先将会话流量中的数据包全部转换为灰度图,然后使用滑动窗口的方式依次组合三张相邻的灰度图为彩色图,完成会话流量的图形化。
进一步地,所述对分割后的会话流量进行图形化,包括:
会话流量S中的每个数据包packet中的内容是一个连续的字节序列L,将L中的每一个字节转换为整数,得到一个向量v;如果v的长度超过64,则丢弃第64位以后的数字;如果v的长度不足64,则在后面添加0直到v的长度为64;从而将每个packet的内容转化为一个长度为64的一维向量v;之后,将v重塑为一个8*8的矩阵m,矩阵m中的值的取值范围为0-255,与灰度值相对应,将矩阵m转换为一张8*8的灰度图G,将会话流量S表示为一组灰度图的合集SG;
使用滑动窗口的方式依次将相邻的三个灰度图组合成彩色图,经过这样的操作,彩色图包含会话中跨数据包的短距离特征。
进一步地,所述孪生神经网络模型的输入是一对图形化的会话流量,使用三维卷积运算层作为特征提取模块来提取输入的会话流量的特征,能够提取跨数据包的长距离依赖,并使用欧几里得距离作为相似性度量器。
进一步地,所述特征提取模块包含三个块:
第一个块block1包含四个神经网络层,分别是三维卷积运算层、批标准化层、激活函数层和随机失活层;
第二个块block2包含三个神经网络层,分别是三维卷积运算层、批标准化层和激活函数层;
第三个块block3包含三个神经网络层,分别是全连接层、激活函数层和全连接层。
进一步地,所述孪生神经网络模型计算待检测样本与已知类型的相似度,并选择相似度最高的类型作为待测样本的检测类型。
进一步地,所述使用训练好的孪生神经网络模型进行异常流量检测,包括:
将待检测样本S与支持集DS中的所有样本分别组成一对输入,并将所有的对输入孪生神经网络模型中计算距离,得到一个距离集合Dis;
从距离集合Dis中每一个类的K个距离值中选择最小的三个距离值并求和,作为待测样本与该类的距离值即相似度Disclass;
从Disclass中选出最小距离值对应的类作为待测样本S的预测类,完成异常检测。
本发明还提供一种小样本网络流量异常检测系统,其包括:
流量处理模块,用于将网络流量按照会话进行分割,并对分割后的会话流量进行图形化,得到图形化的流量;
深度学习模块,用于基于三维卷积层构建孪生神经网络模型,并采用图形化的流量进行训练;
预测模块,用于使用训练好的孪生神经网络模型进行异常流量检测。
与当前已有相关技术相比,本发明的积极效果为:
本发明采用孪生神经网络模型完成异常流量检测,降低了流量标注成本,提高了检测能力,在实际环境中更容易实施;采用了把流量转换为彩色图的方法,使得图形化的流量具有三通道特性,便于模型更有效的提取短距离的跨数据包特征;采用了三维卷积层作为孪生神经网络的主要结构,提高了长距离的跨数据包特征提取能力;攻击类型发生变化时,模型经过微调即可适应该变化,具有较强的泛化能力。
附图说明
图1是本发明的小样本异常流量检测方法的整体流程图。
图2是将会话流量图形化过程示意图。
图3是孪生神经网络模型结构示意图。
图4是使用孪生神经网络模型进行异常检测的过程示意图。
图5是本发明随着样本规模变化的性能变化图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明中,设计了一种小样本异常流量检测方法。该方法的思路是把待检测流量跟已知类型的流量比较,待测流量与哪种类型最相似就是哪种类型的流量。根据以上思路,整个方法可以分为流量处理模块、深度学习模块与预测模块三大部分:
流量处理模块,是对网络流量转换为孪生神经网络输入的准备工作,包括网络流量分割和图形化,它们的主要工作是将大型的网络流量文件作为输入,输出各个会话的会话流量文件,然后会话流量被图形化为具有三通道的彩色图像,即可作为下一模块的数据输入。
深度学习模块,首先需要完成模型训练的准备工作,包括会话流量的选择与标注,孪生神经网络模型的构建,这些工作为训练模型起到了铺垫作用;准备工作完成后需要将图形化、有标注的会话流量输入孪生神经网络模型,使用优化器训练参数,得到一个可用于比较一对流量相似度的最终模型。
预测模块,即通过一定步骤让上述所训练的模型发挥作用。其前提是输入也需要经过流量处理模块进行处理,再结合模型与已标注的样本进行类别预测,最终输出为待测流量的攻击类型。
本发明的整体流程如图1所示,所述方法的具体步骤细节描述如下所示:
1)对网络流量按照会话分割
输入待处理流量后,使用SplitCap软件可以从原始流量中生成会话流量S(S=<packet1,packet2,packet3,…>,其中S指五元组<源IP,源端口,目的IP,目的端口,协议类型>相同的双向流,packet指双向流中的数据包)。
2)对分割后的会话流量进行图形化。
对S实施图形化。S中的每个数据包packet中的内容是一个连续的字节序列L,将L中的每一个字节转换为整数,得到一个向量v(v=[x1,x2,x3,…],其中xi是由一个字节转换得到的整数)。如果v的长度超过64,则丢弃第64位以后的数字;如果v的长度不足64,则在后面添加0直到v的长度为64,经过上述操作,每个packet的内容被转化为一个长度为64的一维向量v。之后,将v重塑为一个8*8的矩阵m由于矩阵中的值的取值范围为0-255,与灰度值相对应,因此该矩阵m可以转换为一张8*8的灰度图G。经过上述步骤,会话流量S可以表示为一组灰度图的合集SG(SG=<G1,G2,G3,…,G10>,每个会话S最多保留10个数据包,多余的数据包舍弃)。
图形化的第二步使使用滑动窗口的方式依次将相邻的三个灰度图组合成彩色图,经过这样的操作,彩色图将会包含会话中跨数据包的短距离特征。具体操作为,滑动窗口首先将SG中的前三个灰度图G1,G2,G3分别作为R,G,B通道组成彩色图I1,然后滑动窗口向后滑动一格,将G2,G3,G4分别作为R,G,B通道组成彩色图I2,以此类推,最终会话流量S图形化为一组彩色图的合集SI(S=<I1,I2,I3,…,I8>)。本步骤对于会话流量S的处理效果如图2所示。
3)基于三维卷积层构建孪生神经网络模型,并用图形化的流量训练。
孪生神经网络是一种度量学习模型,可以用于比较一对输入的相似度,实现该比较需要两个操作,首先孪生神经网络通过特征提取操作从输入提取出特征向量,然后通过相似度度量操作比较一对特征向量的相似度。
在本发明中,孪生神经网络模型的输入是一对图形化的会话流量SI1,SI2,因此特征提取操作是通过使用卷积运算来实现,然而常规的二维卷积只能提取单张彩色图I的特征,无法提取到同一个会话流量S中的不同彩色图之间的特征。为了解决该问题,本发明的孪生神经网络模型采用三维卷积运算层来提取输入会话流量S的特征,具体操作为,将会话流量S中的8张彩色图I1,I2,…,I8堆叠在一起,组成一个深度为8的张量ST 8是深度,8*8是宽乘高,3是三通道)作为孪生神经网络的输入张量。其中ST.shape表示张量的宽、高、深度和通道数。
孪生神经网络的结构如图3所示,其中特征提取模块主要包含3个块组成,第一个块block1包含四个神经网络层,分别是三维卷积运算层、批标准化层、激活函数层和随机失活层,其中三维卷积运算核k1(k1=kernel(5,2,2))的深度为5,宽度和长度都为2,卷积核k1的个数为128。经过block1的卷积运算后,会话流量ST.shape变为(4*7*7*128),跨数据包的长距离依赖特征被提取在新的ST中,然后由批标准化层对ST实施标准化处理,解决可能的梯度爆炸问题,之后经过激活函数ReLU激活,最后由随机失活层让40%的神经元失活,以避免在小样本的情况下模型对数据的记忆。第二个块block2包含三个神经网络层,分别是三维卷积运算层、批标准化层和激活函数层,其中三维卷积运算核k2(k2=kernel(4,2,2))的深度为4,宽度和长度都为2,卷积核k2的个数为128。经过block2的卷积运算后,会话流量ST.shape变为(1*6*6*128),深度变为1即不再具有深度,为特征向量的提取做准备,然后ST被执行批标准化和ReLU激活。第三个块block3包含三个神经网络层,分别是全连接层、激活函数层和全连接层,其中第一个全连接层FC1(FC1=FC(4608,500))的输入维度为4608,输出维度为500,第二个全连接层FC2(FC2=FC(500,20))的输入维度为500,输出维度为20。经过block3的全连接运算后,会话流量ST被提取为长度20的特征向量F。
孪生神经网络的相似度度量模块比较简单,直接计算经过特征提取的一对输入的特征向量FA和FB的距离。常用的距离有欧式距离、曼哈顿距离、切比雪夫距离等,在本实施例中,采用欧式距离作为距离度量,因为欧式距离计算简单,且在分类任务中效果较好。
4)使用训练好的孪生神经网络模型进行异常检测。
与通用机器学习模型直接输入样本预测类别不同,孪生神经网络不能直接预测待测样本的类别,而是需要与支持集一起使用来进行异常检测,其中支持集DS是指一个包含N类、每类K个标记样本的数据集S的下标指样本的类,上标指样本是第几个)。使用孪生神经网络进行异常检测时,有3个步骤,第一步将待检测样本S与支持集DS中的所有样本分别组成一对输入/>并将所有的对输入孪生神经网络模型中计算距离,得到一个距离集合Dis/> 第二步从距离集合Dis中每一个类的K个距离值中选择最小的三个距离值并求和,作为待测样本与该类的距离值即相似度(Disclass=<dis(S,class1),dis(S,class2),…,dis(S,classK)>),第三步从Disclass中选出最小距离值对应的类(class)作为待测样本S的预测类,完成异常检测。使用孪生神经网络模型进行异常检测的过程如图4所示。图4中的DoS表示样本被检测为DoS攻击。
5)本发明的检测性能分析与比较
本发明在CICIDS2017数据集上进行了实验,使用整体准确率、精确率、检测率对模型的性能进行评价。为了验证本发明(图像化+孪生神经网络)的有效性,本发明将与其他的方法进行比较,包括代表通用方法的多层感知机和之前的SOTA方法FC-Net。如图5所示,是本发明随着小样本规模增长在同一测试集上测出的性能变化过程,可以根据需求的性能指标选择小样本的规模,以最大化的节省数据标注成本。如表1所示,是本发明与其他方法在同一条件下的性能对比。如表2所示,是本发明对不同攻击流量的检测能力和指标。实验结果表明,本发明在小样本异常流量检测任务中取得了最高的性能,主要是因为本发明的图形化方法能够有效的提取同一会话流量中跨数据包的短距离特征,而使用三维卷积层的孪生神经网络则能够提取跨数据包的长距离特征,同时有效的比较一对输入的相似度。本发明已经可以满足小样本异常流量检测中的准确率、精确率、检测率等要求。
表1本发明与其他方法性能比较
方法 | 标签样本数 | 测试样本数 | 准确率(%) | 检测率(%) |
本发明 | 5 | 10000 | 97.83 | 97.81 |
本发明 | 10 | 10000 | 98.89 | 98.85 |
FC-Net | 5 | 10000 | 94.13 | 98.49 |
FC-Net | 10 | 10000 | 95.39 | 98.19 |
MLP | 5 | 10000 | 85.08 | 85.08 |
MLP | 10 | 10000 | 86.81 | 86.81 |
表2本发明在CICIDS2017数据集上的检测结果(N=5,K=10),测试样本共10000个
类型Type | 精确率Precision | 检测率DR | F1值 |
DDoS | 1.0000 | 0.9880 | 0.9940 |
DoS | 0.9965 | 0.9965 | 0.9965 |
FTP-Patator | 0.9742 | 0.9889 | 0.9815 |
PortScan | 1.0000 | 0.9935 | 0.9967 |
SSH-Patator | 0.9717 | 0.9758 | 0.9737 |
Overall | 0.9885 | 0.9885 | 0.9885 |
本发明的另一个实施例提供一种小样本网络流量异常检测系统,其包括:
流量处理模块,用于将网络流量按照会话进行分割,并对分割后的会话流量进行图形化,得到图形化的流量;
深度学习模块,用于基于三维卷积层构建孪生神经网络模型,并采用图形化的流量进行训练;
预测模块,用于使用训练好的孪生神经网络模型进行异常流量检测。
其中各模块的具体实施过程参见前文对本发明方法的描述。
基于同一发明构思,本发明的另一实施例提供一种计算机设备(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明专利范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应当以权利要求书为准。
Claims (10)
1.一种小样本网络流量异常检测方法,其特征在于,包括以下步骤:
将网络流量按照会话进行分割;
对分割后的会话流量进行图形化,得到图形化的流量;
基于三维卷积层构建孪生神经网络模型,并采用图形化的流量进行训练;
使用训练好的孪生神经网络模型进行异常流量检测。
2.如权利要求1所述的方法,其特征在于,所述对分割后的会话流量进行图形化,包括:首先将会话流量中的数据包全部转换为灰度图,然后使用滑动窗口的方式依次组合三张相邻的灰度图为彩色图,完成会话流量的图形化。
3.根据权利要求2所述的方法,其特征在于,所述对分割后的会话流量进行图形化,包括:
会话流量S中的每个数据包packet中的内容是一个连续的字节序列L,将L中的每一个字节转换为整数,得到一个向量v;如果v的长度超过64,则丢弃第64位以后的数字;如果v的长度不足64,则在后面添加0直到v的长度为64;从而将每个packet的内容转化为一个长度为64的一维向量v;之后,将v重塑为一个8*8的矩阵m,矩阵m中的值的取值范围为0-255,与灰度值相对应,将矩阵m转换为一张8*8的灰度图G,将会话流量S表示为一组灰度图的合集SG;
使用滑动窗口的方式依次将相邻的三个灰度图组合成彩色图,经过这样的操作,彩色图包含会话中跨数据包的短距离特征。
4.如权利要求1所述的方法,其特征在于,所述孪生神经网络模型的输入是一对图形化的会话流量,使用三维卷积运算层作为特征提取模块来提取输入的会话流量的特征,能够提取跨数据包的长距离依赖,并使用欧几里得距离作为相似性度量器。
5.根据权利要求4所述的方法,其特征在于,所述特征提取模块包含三个块:
第一个块block1包含四个神经网络层,分别是三维卷积运算层、批标准化层、激活函数层和随机失活层;
第二个块block2包含三个神经网络层,分别是三维卷积运算层、批标准化层和激活函数层;
第三个块block3包含三个神经网络层,分别是全连接层、激活函数层和全连接层。
6.如权利要求1所述的方法,其特征在于,所述孪生神经网络模型计算待检测样本与已知类型的相似度,并选择相似度最高的类型作为待测样本的检测类型。
7.根据权利要求1所述的方法,其特征在于,所述使用训练好的孪生神经网络模型进行异常流量检测,包括:
将待检测样本S与支持集Ds中的所有样本分别组成一对输入,并将所有的对输入孪生神经网络模型中计算距离,得到一个距离集合Dis;
从距离集合Dis中每一个类的K个距离值中选择最小的三个距离值并求和,作为待测样本与该类的距离值即相似度Disclass;
从Disclass中选出最小距离值对应的类作为待测样本S的预测类,完成异常检测。
8.一种小样本网络流量异常检测系统,其特征在于,包括:
流量处理模块,用于将网络流量按照会话进行分割,并对分割后的会话流量进行图形化,得到图形化的流量;
深度学习模块,用于基于三维卷积层构建孪生神经网络模型,并采用图形化的流量进行训练;
预测模块,用于使用训练好的孪生神经网络模型进行异常流量检测。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310253979.2A CN116366313A (zh) | 2023-03-16 | 2023-03-16 | 一种小样本异常流量检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310253979.2A CN116366313A (zh) | 2023-03-16 | 2023-03-16 | 一种小样本异常流量检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366313A true CN116366313A (zh) | 2023-06-30 |
Family
ID=86935027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310253979.2A Pending CN116366313A (zh) | 2023-03-16 | 2023-03-16 | 一种小样本异常流量检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366313A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116977122A (zh) * | 2023-07-06 | 2023-10-31 | 双龙软创(深圳)科技有限公司 | 基于数字孪生技术的远程自动化监测危房的方法 |
CN117095243A (zh) * | 2023-10-18 | 2023-11-21 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于分支策略的小样本网络入侵检测增量学习分类方法 |
-
2023
- 2023-03-16 CN CN202310253979.2A patent/CN116366313A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116977122A (zh) * | 2023-07-06 | 2023-10-31 | 双龙软创(深圳)科技有限公司 | 基于数字孪生技术的远程自动化监测危房的方法 |
CN116977122B (zh) * | 2023-07-06 | 2024-04-19 | 双龙软创(深圳)科技有限公司 | 基于数字孪生技术的远程自动化监测危房的方法 |
CN117095243A (zh) * | 2023-10-18 | 2023-11-21 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于分支策略的小样本网络入侵检测增量学习分类方法 |
CN117095243B (zh) * | 2023-10-18 | 2024-05-07 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于分支策略的小样本网络入侵检测增量学习分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gudovskiy et al. | Cflow-ad: Real-time unsupervised anomaly detection with localization via conditional normalizing flows | |
Ding et al. | Unsupervised self-correlated learning smoothy enhanced locality preserving graph convolution embedding clustering for hyperspectral images | |
CN108388927B (zh) | 基于深度卷积孪生网络的小样本极化sar地物分类方法 | |
Wang et al. | Remote sensing image classification based on the optimal support vector machine and modified binary coded ant colony optimization algorithm | |
CN111199214B (zh) | 一种残差网络多光谱图像地物分类方法 | |
CN107092829B (zh) | 一种基于图像匹配的恶意代码检测方法 | |
CN116366313A (zh) | 一种小样本异常流量检测方法和系统 | |
JP4394020B2 (ja) | データ分析装置及び方法 | |
CN109766858A (zh) | 结合双边滤波的三维卷积神经网络高光谱影像分类方法 | |
Al-Qershi et al. | Evaluation of copy-move forgery detection: datasets and evaluation metrics | |
CN109344845B (zh) | 一种基于Triplet深度神经网络结构的特征匹配方法 | |
CN111950525B (zh) | 一种基于破坏重建学习与GoogLeNet的细粒度图像分类方法 | |
WO2019200739A1 (zh) | 数据欺诈识别方法、装置、计算机设备和存储介质 | |
Zhao et al. | Center attention network for hyperspectral image classification | |
CN113904872A (zh) | 一种针对匿名服务网站指纹攻击的特征提取方法及系统 | |
Rhee | Generation of novelty ground truth image using image classification and semantic segmentation for copy-move forgery detection | |
Chen et al. | Image splicing localization using residual image and residual-based fully convolutional network | |
Petelin et al. | Tla: Topological landscape analysis for single-objective continuous optimization problem instances | |
Weng et al. | UCM-net: A U-net-like tampered-region-related framework for copy-move forgery detection | |
CN113780431A (zh) | 基于神经网络技术的网络流量信息分析方法及系统 | |
CN117058534A (zh) | 基于元知识适应迁移网络的少样本遥感图像目标检测方法 | |
Tinnathi et al. | Copy-Move Forgery Detection Using Superpixel Clustering Algorithm and Enhanced GWO Based AlexNet Model | |
Yang et al. | A neural-network-based framework for cigarette laser code identification | |
Su et al. | Mra-gnn: Minutiae relation-aware model over graph neural network for fingerprint embedding | |
CN113627522B (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 |