CN114679308B - 一种基于双路自编码的未知流量识别方法及系统 - Google Patents
一种基于双路自编码的未知流量识别方法及系统 Download PDFInfo
- Publication number
- CN114679308B CN114679308B CN202210276130.2A CN202210276130A CN114679308B CN 114679308 B CN114679308 B CN 114679308B CN 202210276130 A CN202210276130 A CN 202210276130A CN 114679308 B CN114679308 B CN 114679308B
- Authority
- CN
- China
- Prior art keywords
- characteristic
- flow
- self
- unknown
- bottleneck
- 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.)
- Active
Links
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/045—Combinations of networks
-
- 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)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络安全技术领域,提供了一种双路自编码的未知流量识别方法及系统。该方法包括,对获取的网络数据包序列进行预处理,筛选得到未知流量数据;提取所述未知流量数据的协议载荷特征和流量统计特征;采用双路自编码器模型对所述协议载荷特征和流量统计特征进行编码,得到第一瓶颈特征和第二瓶颈特征;将所述第一瓶颈特征和第二瓶颈特征进行融合,得到融合特征;采用聚类方法对融合特征进行聚类,得到若干个类簇集合;采用流的三元组信息对若干个类簇集合进行优化调整,得到未知流量的识别结果。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于双路自编码的未知流量识别方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
当今网络环境复杂多变,全新网络应用程序和网络用户的大量增加,导致网络数据流量持续增长,恶意流量攻击等网络安全问题也日益增多,给网络运营和管理带来诸多挑战。网络流量分类是服务质量(QoS)、资源合理利用、合法拦截、入侵检测等许多网络管理工作的前提[Biersack E,Callegari C,Matijasevic M.Data Traffic Monitoring andAnalysis:From Measurement,Classification,and Anomaly Detection to Quality ofExperience[J].Lecture Notes in Computer Science,2013,5(23):12561-12570.],它可以识别网络中存在的不同应用程序和协议,其性能直接影响到网络的安全性和可控性。要实现适当的安全策略,我们需要将网络流量准确地将分类为适当的应用程序或协议类别,才能有效地处理这些流量。
网络流量分类,就是利用机器学习和深度学习等方面的算法构造一个可靠的分类模型,并对真实网络环境中的未识别网络流量进行识别和类别划分,将其标记为具体的某种应用程序或协议类型,或者将其划分为不同网站产生的流量,有或者根据QoS等服务的特定要求,将流量划分成某种业务类型[郭宝华.基于SDN和机器学习的QoS保障技术研究[D].西安电子科技大学,2020.]。通过研读文献了解到,影响流量分类模型性能的因素主要有分类模型或者分类特征的选取,同时又受到具体应用场景的约束。
然而,由于互联网的开放和发展,大量全新的应用相继出现。如今,互联网上有诸多的应用协议是专有的,这些协议通常没有文档良好的公共协议规范。在一个预先构建的流量分类系统中,基于先前未知的协议生成的网络流量通常被称为“未知流量”。根据Internet2组织对北美骨干网的网络流量统计可知,近50%的流量属于未知流量[Statistics,“I.n.:Internet2 netflow statistics(2011).”]。特别地,大多数恶意流量混合在未知流量中,其中僵尸网络命令和控制(C&C)协议也不是公开的。如果未知流量超出了网络管理系统的覆盖范围,那么它就会在效率和安全性方面显著影响互联网的运行。管理未知流量的前提是对其实现准确分类。
在流量分类研究的初期,重点是识别已知的流量类别,而未知的流量类别还没有引起足够的关注。面对未知流量的存在,专家们提出了一些(N+1)-Class的流量分类模型,其中N表示已知类的数量,1表示所有未知类。这些N+1分类模型的初始目的是为了避免未知流量被误识别为某些已知流量,从而提高已知流量分类的准确性。由于缺乏细粒度的划分,进一步处理未知流量仍然不可行。
在理论上,无监督机器学习模型适用于未知流量的识别。早期的研究人员曾尝试将K-means和DBSCAN等无监督聚类方法应用于已知的流量分类工作中,并取得了良好的效果。后来,张等人[Zhang J,Xiao C,Yang X,et al.Robust Network TrafficClassification[J].IEEE/ACM Transactions on Networking,2015,23(4):1257-1270.]提出了一种半监督流量分类模型,这是首次尝试使用聚类方法对未知流量进行细粒度分类。然而,在传统的无监督聚类模型中,特征的选择高度依赖于领域专家的经验,这往往会导致分类模型的偏差。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于双路自编码的未知流量识别方法及系统,其能够实时地对真实网络环境中产生的大量未识别流量进行及时地分析和处理。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种双路自编码的未知流量识别方法。
一种双路自编码的未知流量识别方法,包括:
对获取的网络数据包序列进行预处理,筛选得到未知流量数据;
提取所述未知流量数据的协议载荷特征和流量统计特征;
采用双路自编码器模型对所述协议载荷特征和流量统计特征进行编码,得到第一瓶颈特征和第二瓶颈特征;
将所述第一瓶颈特征和第二瓶颈特征进行融合,得到融合特征;
采用聚类方法对融合特征进行聚类,得到若干个类簇集合;
采用流的三元组信息对若干个类簇集合进行优化调整,得到未知流量的识别结果。
进一步地,所述预处理包括:采用NFStream和nDPI工具来将网络数据包序列重新组合成网络流并打上相应的应用协议标签,并按照协议类型对流量进行过滤,得到未知类流量数据。
进一步地,在所述提取所述未知流量数据的协议载荷特征和流量统计特征具体包括:根据确定的协议载荷的提取长度参数,提取所述未知流量数据的协议载荷特征;提取未知流量数据的流量统计特征;将所述未知流量数据的协议载荷特征转换为二维矩阵形式,将所述未知流量数据的流量统计特征转换为一维向量形式。
进一步地,所述采用双路自编码器模型包括:卷积自编码器和深度自编码器,所述卷积自编码器用于提取所述协议载荷特征的低维嵌入,得到第一瓶颈特征;所述深度自编码器用于提取流量统计特征的低维嵌入,得到第二瓶颈特征。
更进一步地,所述卷积自编码器的结构包括:在传统自编码器模型的基础上,使用卷积层、池化层来代替原来的全连接层;所述深度自编码器的结构包括:传统自编码器模型中引入深度学习网络,所述深度学习网络包括若干个堆叠的全连接层。
进一步地,所述第一瓶颈特征和第二瓶颈特征聚合的过程包括:将所述第一瓶颈特征和第二瓶颈特征按照前后拼接的方式融合在一起,得到融合特征。
进一步地,所述流的三元组信息为:<目的IP地址,目的端口号,传输层协议>,所述优化调整的规则包括:如果当前类簇中属于某个类别的三元组的流量数量大于其他类簇,则其他类簇中属于该三元组的流量将调整到当前类簇中,那么具有相同三元组信息的未知流量将被分配给同一类簇中。
本发明的第二个方面提供一种双路自编码的未知流量识别系统。
一种双路自编码的未知流量识别系统,包括:
预处理模块,其被配置为:对获取的网络数据包序列进行预处理,筛选得到未知流量数据;
特征提取模块,其被配置为:提取所述未知流量数据的协议载荷特征和流量统计特征;
模型处理模块,其被配置为:采用双路自编码器模型对所述协议载荷特征和流量统计特征进行编码,得到第一瓶颈特征和第二瓶颈特征;
融合模块,其被配置为:将所述第一瓶颈特征和第二瓶颈特征进行融合,得到融合特征;
聚类模块,其被配置为:采用聚类方法对融合特征进行聚类,得到若干个类簇集合;
识别模块,其被配置为:采用流的三元组信息对若干个类簇集合进行优化调整,得到未知流量的识别结果。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一个方面所述的双路自编码的未知流量识别方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一个方面所述的双路自编码的未知流量识别方法中的步骤。
与现有技术相比,本发明的有益效果是:
本发明采用无监督学习,不需要使用带人为标签的训练集。手动地对训练集进行打标签的工作需要耗费大量时间,而本发明只需将网络流量构成的无标记训练集直接进行训练即可得到结果,并不需要标签数据进行训练。
本发明引入了一种可靠的网络流量分析工具——NFStream,该工具能够实时高效地捕获网络中的连续数据包序列,并将其重组为网络流并打上对应的应用协议标签或未知流标签,同时能够提取可用的应用载荷数据和统计特征信息,为测试数据的采集、处理和筛选提供可靠的帮助。
本发明采用双路自编码器来获取特征嵌入,其中采用卷积自编码模型对协议载荷特征进行编码,同时采用深度自编码模型对流量统计特征进行编码。这能有效提高基于融合特征的聚类效果。
本发明提出了一种较好的载荷特征提取策略,能够从原始应用载荷数据中提取出高效的流量表征。
本发明比现有技术在未知流量识别等相关工作中有更高的聚类纯度和准确率。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本实施例一示出的双路自编码的未知流量识别方法的流程图;
图2是本实施例一示出的双路自编码的未知流量识别方法的框架图;
图3是本实施例一示出的协议载荷的提取模式图;
图4是本实施例一示出的卷积自编码器的构造图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
正如背景技术中介绍的,目前缺乏对未知流量精确分类的方案,而随着深度学习的发展,它在网络流量分类中得到了广泛的应用。深度学习方法的一个优点是,它不再需要依赖专家知识来选择特征,而是在训练过程中逐步优化特征权重。随着深度学习的发展,它在网络流量分类中得到了广泛的应用。人们应用DAE和DAN对流量统计特征进行编码,并利用暹罗网络提取有效载荷的高级特征。与原始特征相比,这些提取特征在聚类中的结果得到了显著的改善。另外,从本质上讲,基于深度学习模型的编码只通过权重参数优化来精炼输入,而原始输入仍然是关键,这在以往的研究中尚未得到充分的分析和利用。为此,发明提供了一种双路自编码的未知流量识别方法及系统。
实施例一
如图1所示,本实施例提供了一种双路自编码的未知流量识别方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本实施例中,该方法包括以下步骤:
通过网络流量分析工具从校园网的边缘路由中实时捕获网络数据包,或者从开放平台上收集可用的网络公开数据集的pcap文件,然后将获取内容中包含的这些数据包序列重组为网络流并根据协议标签选择所需的类别样本,构成数据集的基本组成部分;
针对收集到的各协议类别的网络流构成的数据集进行划分,并按照1:1的比例划分为训练集和测试集,其中训练集在模型训练时又按照8:2的比例进行训练和验证;
作为一种或多种实施方式,本实施例选择同时使用协议载荷特征和外部流量统计特征来表示网络,从不同的角度描述网络流,以减少偶发事件,从而减少分类偏差。
针对收集到的网络流数据,我们从中提取协议载荷内容和计算流量统计特征作为初始的流量特征集合,并将它们分别转换为二维矩阵形式和一维向量形式,以便后期输入到网络模型中进行训练;
进行载荷特征选取方式和长度的设定;
作为一种或多种实施方式,在选取协议载荷特征时,我们提出了一种连续的提取载荷内容的模式,即将每条流中所有数据包的载荷信息从头到尾地连接在一起,然后从头截取目标长度的载荷数据;
在本发明的载荷特征提取部分,涉及一个超参数——协议载荷提取长度L,此参数的选择决定了模型的有效性的高低;
使用双路自编码器进行瓶颈特征的提取;
自编码器分为编码器和解码器,它旨在通过最小化所有样本的输入和输出之间的均方误差(MSE),为每个输入样本找到一个代码;
权重和偏差通常是随机初始化的,然后在训练过程中通过反向传播进行迭代跟更新;
本实施例的双路自编码器由两个自编码器模型组成,一个是卷积自编码器(CAE),用来提取二维协议载荷特征的低维嵌入,另一个是深度自编码器(DAE),用于提取一维流量统计特征的低维嵌入,以提高特征识别能力。
作为一种或多种实施方式,设置CAE的编码器、解码器为卷积层、池化层和反卷积层来扩展简单的自编码器的基本结构;
作为一种或多种实施方式,在完成双路自编码模型的训练后,我们可以用它对前面提取的载荷特征和统计特征进行编码,得到两个瓶颈特征;
作为一种或多种实施方式,本实施例使用前后拼接的方式将这两个特征进行聚合,之后将输入到聚类模块中;
使用k-means方法作为未知流量聚类的基本聚类方法;
进行聚类模块的超参数设定——k-means算法的预设集群数k;
聚类后,我们得到多个高纯度的类簇集合;
作为一种或多种实施方式,本实施例选择使用流的三元组信息<目的IP地址,目的端口号,传输层协议>来表示流量之间的相关性,基于该三元组对k-means聚类后的结果进行优化调整,以保证在高纯度的情况下有效减少集群数量,提高方法的实用性。
优化调整后的集群结果作为本方法的最终分类结果;
需要对训练集和验证集的某些子集进行一组实验,以选择适当的超参数。
具体地,本实施采用以下步骤实现上述方案:
(1)搜集或自行捕获可用的网络数据包序列,本实施例引入NFStream和nDPI工具来将数据包序列重新组合成网络流并打上相应的应用协议标签,并按照协议类型对流量进行过滤,得到未知类流量样本以构建原始流量数据集。数据来源主要有:
(1-1)第一个来源是由加拿大Cybersecurity研究所维护的公共流量数据存储库,我们从中选择两个可用的网络流量数据集。
(1-2)第二个来源是我们使用PFRING和Wireshark工具从校园网的边缘路由器中捕获连续数据包序列,其中包含完整的数据包有效负载。我们将多个时间段收集的数据合并在一起。
获取的原始数据包序列分别存储在pcap文件中。
(2)对收集到的原始流量数据集进行划分,划分为训练集、验证集和测试集:
在本实施例中,需要对数据集进行拆分。与其他工作类似,将数据集划分为三个不相交的子集:训练集、验证集和测试集。它们被分别用来进行训练,验证和测试,以评估训练后的模型在未知流量分类上的泛化能力。在训练过程中,我们通常用验证集来确定一些超参数。大致而言,我们首先将数据集按照1:1的比例划分为训练集和测试集,然后在具体训练过程中,由Keras搭建的网络模型自动将训练集按8:2的比例进行训练和验证。
(3)对于原数据集,本实施例从中提取对应的协议载荷特征和流量统计特征,用以作为原始输入来训练后面的双路自编码模型。此外,本实施例提出了两种明确的协议载荷提取模式,并选取了其中效果较好的作为最终的提取模式。
(3-1)在本实施例中,同时选用协议载荷特征和外部流量统计特征来表示网络流。这些特征从不同的角度描述网络流,其组合可以减少偶发事件,从而减少分类偏差。
(3-2)对于协议载荷特征,我们制定了相应的特征选取策略并提取相应长度的载荷特征。
网络数据流的载荷中包括与协议密切相关的字段和与协议弱相关的传输数据。因此,从适当的位置选择适当的载荷长度是我们必须面对的一个问题。由于效率方面的考虑,我们不能以整个流的有效载荷作为分析对象,必须做出权衡。根据经验,与协议密切相关的有效载荷数据通常位于流头或分布在部分数据包的头部。为此,我们假设需要L=r*c字节的有效负载内容,并且提出两种提取模式,如图3所示:
(3-2-1)连续模式:从一个流的连续数据包中以字节为单位提取有效负载,直到达到所需的长度L。如果一条网络流的载荷长度不足,则用0x00填充提取数据的空位置。
(3-2-2)截断模式:对于网络流的第r包,每个包截取有效载荷的前c字节,截取的总长度为L=r*c。如果流中的包数小于r或者包的有效载荷长度小于c,则用0x00填充提取数据的空位置。
在此过程中,需要确定本方法的第一个超参数——载荷的提取长度L。由于参数的选择影响模型的有效性,需要对样本集的某些子集进行一些实验,以选择合适的超参数。至此,我们得到L字节的载荷内容。为方便后期将其输入到卷积自编码器中进行训练,我们设置r=c,从而到固定的二维输入矩阵。本实施例在实际应用中选择连续模型进行载荷提取,并截取了前64字节的载荷数据。
(3-3)对于统计特征,根据之前的研究工作,本实施例选用了几种常见的统计特征,如总包数、包间时间等,同时考虑其双向特性。期间,我们只关注使用TCP/UDP协议进行通信的流。本实施例中统计特征以一维向量的形式输入到深度自编码模型中进行训练。
统计特征的选择策略:收集前人工作中常用的高效统计特征,并根据NFStream的特征提取能力,选择高效可得的统计特征。
(4)使用双路自编码模型进行瓶颈特征的提取及特征聚合。
(4-1)本实施例使用双路自编码器模型进行特征提取,该方法的整体架构如图2所示。本模型包含两个部分:一个是卷积自编码器,用于提取二维载荷特征的高级表示;另一个是深度自编码器,用于一维流量统计特征的瓶颈特征提取。
自编码器是一种无监督的人工神经网络,它通常包括编码器和解码器两部分组件。通过该网络,可以学习一组样本数据的特征表示,即中间层输出的瓶颈特征。其中,编码器可将输入压缩为潜在的空间表示,而解码器则将潜在的空间表示重构到输出中,定义如下:
h=ψ(W1x+b1) (1)
x′=φ(W2x+b2) (2)
其中,x∈RN表示输入数据,h表示中间层输出(本文需要提取的嵌入特性),x′表示解码器的输出。N为样本的数量,ψ和φ分别表示编码函数和解码函数,Wi表示网络中的权重矩阵,bi为偏差向量。在本实施例中,使用LeakyReLU作为激活函数。
训练自动编码器的目的是为了最小化重构损失函数J:
J=MSE(x,x')(3)
其中,MSE为均方误差。采用Adam方法来最小化等式(4)。
(4-2)本实施例中的卷积自编码的详细结构,如图4所示。本发明在传统自编码器模型的基础上,使用卷积层、池化层来代替原来的全连接层。卷积网络由于其局部感知、共享参数和池化等特性而被广泛应用于图像处理中。与图像一样,流量也是由范围从0到255的字节值组成。这启发我们将流量分类转化为图像分类问题,以利用CNN的优势对网络流量进行分类。
(4-3)本实施例中的深度自编码的详细结构,在传统自编码器模型中引入深度学习的概念,由多个堆叠的全连接层组成。本实施例中使用贪婪训练的方法训练每一层网络,然后将所有的编码层串联起来,然后与相反方向的所有解码层相结合,最终形成本研究所用的深度自编码模型。
(4-4)将训练所需的载荷特征集合和流量统计特征集合分别输入到卷积自编码器CAE和深度自编码器DAE中,进行必要的模型训练。利用训练后的模型对测试样本进行瓶颈特征提取操作,以将原始数据中的冗余信息剔除,并提炼有效信息,简化机器学习任务。
(4-5)特征聚合:将双路自编码器模型提取的两个瓶颈特征按照前后拼接的方式融合在一起,得到后续聚类模块所需的融合特征集。
(5)关联调整聚类,将未知流量集合划分成多个高纯度集群。
(5-1)将编码后得到的聚合特征输入到k-means模型中,从而得到大量的高纯度类簇集合。
在本实施例的聚类模块中,需要确定一个超参数——k-means算法的预设集群数k。需要在子数据集上进行必要的对比实验,以选择适当的取值范围,保证本方法的分类精度和整体实用性。
(5-2)采用单纯k-means算法进行聚类得到的分类结果存在一定的不足,因而,本实施例又在上述聚类结果的基础上,基于流的三元组信息<目标IP,目标端口,传输协议>对上面得到的聚类结果进行优化调整,以纠正聚类算法的偏差,提高流量聚类的效率和实用性。因为,在短时间内,具有相同目的IP地址、目的端口号和传输层协议的网络流可以被认为是属于同一种协议或应用程序。
具体调整规则如下:
如果当前集群中属于某个类别的三元组的流量数量大于其他集群,则其他集群中属于该三元组的流量将调整到当前集群中,那么具有相同三元组信息的网络流将被分配给同一集群。
关于未知流量识别的过程:基于k-means算法,构建流量聚类模型,并采用该模型对实时的网络流量进行监测,当训练数据中的未知流量在实时的网络中再次出现时,该模型对实时网络中的未知流量进行识别,最终得到未知流量识别结果。
本实施例具有以下优点:
(1)当网络分析人员面对复杂的网络未知流量时,可能会尝试解析未知协议对应的流量内容,以明确相应的协议规范等。然而,这需要一个前提——较为精准的未知流量集群,其中每个集群尽可能地只包含一种协议的流量。而本实施例能够将网络中的未知协议流量划分成多个高纯度集群,以便于后期分析人员对协议的具体内容进行解析和概括。
(2)本实施例引入NFstream和nDPI等网络流量分析工具,能够实时进行数据包捕获、分流、流量数据提取和存储等功能,保证在线分类的高效性和可靠性,同时提供了充足的未知流量样本数据,解决研究中样本数量不足的缺陷。
(3)本实施例使用深度学习模型对原始流量特征进行自动提取,以去除冗余,提炼有效信息,降低时间复杂度。
(4)本实施例在基本k-means聚类结果的基础上,引入流量之间的相关性,提出一个聚类结果的调整规则,能够在保证聚类纯度的基础上降低集群簇数,提高方法的实用性。
(5)鉴于之前的研究大多忽略原始输入,本实施例特别针对原始载荷特征提出了相应的特征选取方式,并确定了相对较优的截取长度,能有效提高聚类结果。
实施例二
本实施例提供了一种双路自编码的未知流量识别系统。
一种双路自编码的未知流量识别系统,包括:
预处理模块,其被配置为:对获取的网络数据包序列进行预处理,筛选得到未知流量数据;
特征提取模块,其被配置为:提取所述未知流量数据的协议载荷特征和流量统计特征;
模型处理模块,其被配置为:采用双路自编码器模型对所述协议载荷特征和流量统计特征进行编码,得到第一瓶颈特征和第二瓶颈特征;
融合模块,其被配置为:将所述第一瓶颈特征和第二瓶颈特征进行融合,得到融合特征;
聚类模块,其被配置为:采用聚类方法对融合特征进行聚类,得到若干个类簇集合;
识别模块,其被配置为:采用流的三元组信息对若干个类簇集合进行优化调整,得到未知流量的识别结果。
此处需要说明的是,上述预处理模块、特征提取模块、模型处理模块、融合模块、聚类模块和识别模块与实施例一中的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的双路自编码的未知流量识别方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的双路自编码的未知流量识别方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种双路自编码的未知流量识别方法,其特征在于,包括:
对获取的网络数据包序列进行预处理,筛选得到未知流量数据;
提取所述未知流量数据的协议载荷特征和流量统计特征;
采用双路自编码器模型对所述协议载荷特征和流量统计特征进行编码,得到第一瓶颈特征和第二瓶颈特征;所述采用双路自编码器模型包括:卷积自编码器和深度自编码器,所述卷积自编码器用于提取所述协议载荷特征的低维嵌入,得到第一瓶颈特征;所述深度自编码器用于提取流量统计特征的低维嵌入,得到第二瓶颈特征;
将所述第一瓶颈特征和第二瓶颈特征进行融合,得到融合特征;
采用聚类方法对融合特征进行聚类,得到若干个类簇集合;
采用流的三元组信息对若干个类簇集合进行优化调整,得到未知流量的识别结果。
2.根据权利要求1所述的双路自编码的未知流量识别方法,其特征在于,所述预处理包括:采用NFStream和nDPI工具来将网络数据包序列重新组合成网络流并打上相应的应用协议标签,并按照协议类型对流量进行过滤,得到未知类流量数据。
3.根据权利要求1所述的双路自编码的未知流量识别方法,其特征在于,在所述提取所述未知流量数据的协议载荷特征和流量统计特征具体包括:根据确定的协议载荷的提取长度参数,提取所述未知流量数据的协议载荷特征;提取未知流量数据的流量统计特征;将所述未知流量数据的协议载荷特征转换为二维矩阵形式,将所述未知流量数据的流量统计特征转换为一维向量形式。
4.根据权利要求1所述的双路自编码的未知流量识别方法,其特征在于,所述卷积自编码器的结构包括:在传统自编码器模型的基础上,使用卷积层、池化层来代替原来的全连接层;所述深度自编码器的结构包括:传统自编码器模型中引入深度学习网络,所述深度学习网络包括若干个堆叠的全连接层。
5.根据权利要求1所述的双路自编码的未知流量识别方法,其特征在于,所述第一瓶颈特征和第二瓶颈特征聚合的过程包括:将所述第一瓶颈特征和第二瓶颈特征按照前后拼接的方式融合在一起,得到融合特征。
6.根据权利要求1所述的双路自编码的未知流量识别方法,其特征在于,所述流的三元组信息为:<目的IP地址,目的端口号,传输层协议>,所述优化调整的规则包括:如果当前类簇中属于某个类别的三元组的流量数量大于其他类簇,则其他类簇中属于该三元组的流量将调整到当前类簇中,那么具有相同三元组信息的未知流量将被分配给同一类簇中。
7.一种双路自编码的未知流量识别系统,其特征在于,包括:
预处理模块,其被配置为:对获取的网络数据包序列进行预处理,筛选得到未知流量数据;
特征提取模块,其被配置为:提取所述未知流量数据的协议载荷特征和流量统计特征;
模型处理模块,其被配置为:采用双路自编码器模型对所述协议载荷特征和流量统计特征进行编码,得到第一瓶颈特征和第二瓶颈特征;所述采用双路自编码器模型包括:卷积自编码器和深度自编码器,所述卷积自编码器用于提取所述协议载荷特征的低维嵌入,得到第一瓶颈特征;所述深度自编码器用于提取流量统计特征的低维嵌入,得到第二瓶颈特征;
融合模块,其被配置为:将所述第一瓶颈特征和第二瓶颈特征进行融合,得到融合特征;
聚类模块,其被配置为:采用聚类方法对融合特征进行聚类,得到若干个类簇集合;
识别模块,其被配置为:采用流的三元组信息对若干个类簇集合进行优化调整,得到未知流量的识别结果。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的双路自编码的未知流量识别方法中的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的双路自编码的未知流量识别方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210276130.2A CN114679308B (zh) | 2022-03-21 | 2022-03-21 | 一种基于双路自编码的未知流量识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210276130.2A CN114679308B (zh) | 2022-03-21 | 2022-03-21 | 一种基于双路自编码的未知流量识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679308A CN114679308A (zh) | 2022-06-28 |
CN114679308B true CN114679308B (zh) | 2023-04-07 |
Family
ID=82073532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210276130.2A Active CN114679308B (zh) | 2022-03-21 | 2022-03-21 | 一种基于双路自编码的未知流量识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679308B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691100A (zh) * | 2019-10-28 | 2020-01-14 | 中国科学技术大学 | 基于深度学习的分层网络攻击识别与未知攻击检测方法 |
CN111314331A (zh) * | 2020-02-05 | 2020-06-19 | 北京中科研究院 | 一种基于条件变分自编码器的未知网络攻击检测方法 |
CN114006870A (zh) * | 2021-10-29 | 2022-02-01 | 西安热工研究院有限公司 | 一种基于自监督卷积子空间聚类网络的网络流量识别方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190273509A1 (en) * | 2018-03-01 | 2019-09-05 | Crowdstrike, Inc. | Classification of source data by neural network processing |
CN111144470B (zh) * | 2019-12-20 | 2022-12-16 | 中国科学院信息工程研究所 | 一种基于深度自编码器的未知网络流量识别方法及系统 |
CN115606162A (zh) * | 2020-06-24 | 2023-01-13 | 深圳市欢太科技有限公司(Cn) | 异常流量检测方法和系统、及计算机存储介质 |
SG10202008469RA (en) * | 2020-09-01 | 2020-10-29 | Ensign Infosecurity Pte Ltd | A deep embedded self-taught learning system and method for detecting suspicious network behaviours |
CN112381121A (zh) * | 2020-10-28 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于孪生网络的未知类别网络流量的检测与识别方法 |
CN112367274A (zh) * | 2020-10-30 | 2021-02-12 | 宝牧科技(天津)有限公司 | 一种工控未知协议流量识别方法 |
CN114048799A (zh) * | 2021-10-21 | 2022-02-15 | 南京邮电大学 | 一种基于统计信息和有效载荷编码的零日流量分类方法 |
CN114139577A (zh) * | 2021-11-15 | 2022-03-04 | 国网天津市电力公司 | 基于一维卷积自编码网络的故障电弧识别方法及装置 |
-
2022
- 2022-03-21 CN CN202210276130.2A patent/CN114679308B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691100A (zh) * | 2019-10-28 | 2020-01-14 | 中国科学技术大学 | 基于深度学习的分层网络攻击识别与未知攻击检测方法 |
CN111314331A (zh) * | 2020-02-05 | 2020-06-19 | 北京中科研究院 | 一种基于条件变分自编码器的未知网络攻击检测方法 |
CN114006870A (zh) * | 2021-10-29 | 2022-02-01 | 西安热工研究院有限公司 | 一种基于自监督卷积子空间聚类网络的网络流量识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114679308A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284606B (zh) | 基于经验特征与卷积神经网络的数据流异常检测系统 | |
Shapira et al. | FlowPic: A generic representation for encrypted traffic classification and applications identification | |
CN113179223B (zh) | 一种基于深度学习和序列化特征的网络应用识别方法及系统 | |
CN115606162A (zh) | 异常流量检测方法和系统、及计算机存储介质 | |
Jin et al. | A modular machine learning system for flow-level traffic classification in large networks | |
Wang et al. | App-net: A hybrid neural network for encrypted mobile traffic classification | |
CN114615093B (zh) | 基于流量重构与继承学习的匿名网络流量识别方法及装置 | |
CN109831392A (zh) | 半监督网络流量分类方法 | |
CN113743542B (zh) | 一种基于加密流量的网络资产识别方法与系统 | |
CN109831422A (zh) | 一种基于端到端序列网络的加密流量分类方法 | |
CN111611280A (zh) | 一种基于cnn和sae的加密流量识别方法 | |
Salman et al. | Data representation for CNN based internet traffic classification: a comparative study | |
CN112491894A (zh) | 一种基于时空特征学习的物联网网络攻击流量监测系统 | |
CN114172688A (zh) | 基于gcn-dl的加密流量网络威胁关键节点自动提取方法 | |
CN118400195B (zh) | 基于掩码自动编码器预训练的恶意流量检测方法 | |
Chen et al. | Ride: Real-time intrusion detection via explainable machine learning implemented in a memristor hardware architecture | |
Meng et al. | Packet representation learning for traffic classification | |
Zhao et al. | Edge intelligence based identification and classification of encrypted traffic of Internet of Things | |
Yang et al. | Deep learning-based reverse method of binary protocol | |
Cui et al. | Semi-2DCAE: a semi-supervision 2D-CNN AutoEncoder model for feature representation and classification of encrypted traffic | |
CN114679308B (zh) | 一种基于双路自编码的未知流量识别方法及系统 | |
CN116828087B (zh) | 基于区块链连接的信息安全系统 | |
Zliang et al. | Shadowsocks traffic identification based on convolutional neural network | |
CN114358177B (zh) | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 | |
CN113746707B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |