CN114358177A - 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 - Google Patents
一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 Download PDFInfo
- Publication number
- CN114358177A CN114358177A CN202111669208.9A CN202111669208A CN114358177A CN 114358177 A CN114358177 A CN 114358177A CN 202111669208 A CN202111669208 A CN 202111669208A CN 114358177 A CN114358177 A CN 114358177A
- Authority
- CN
- China
- Prior art keywords
- flow
- message
- length
- load
- model
- 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 61
- 238000000605 extraction Methods 0.000 claims abstract description 103
- 238000010276 construction Methods 0.000 claims abstract description 76
- 238000000926 separation method Methods 0.000 claims abstract description 64
- 239000013598 vector Substances 0.000 claims description 30
- 238000007781 pre-processing Methods 0.000 claims description 29
- 238000003066 decision tree Methods 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 239000000654 additive Substances 0.000 claims description 6
- 230000000996 additive effect Effects 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 230000002779 inactivation Effects 0.000 claims description 4
- 238000003064 k means clustering Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 2
- 210000002569 neuron Anatomy 0.000 claims description 2
- 239000010410 layer Substances 0.000 claims 7
- 239000002356 single layer Substances 0.000 claims 3
- 230000009466 transformation Effects 0.000 claims 3
- 230000004913 activation Effects 0.000 claims 1
- 238000002474 experimental method Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000013145 classification model Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010972 statistical evaluation Methods 0.000 description 1
- 238000012418 validation experiment Methods 0.000 description 1
Images
Classifications
-
- 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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
-
- 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)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统。包括模型构建阶段、分类阶段及更新阶段。其中模型构建阶段包含用于构建流特征提取模型的模型构建阶段1以及用于构建流分离模型的构建的模型构建阶段2。基于流分离模型,划分已知流量类与未知流量类边界。对于判定为已知类的流输出其对应的预测标签,并存储为已知类流量样本;对于判定为未知类的流,对其进行标记并存储为未知类流量样本。基于新类别样本数据与已知类样本数据组成新流量样本数据集,重复模型构建阶段操作进行模型更新。通过模型构建阶段、分类阶段和更新阶段,有效应对未知加密流量问题,在保证了分类精确度的同时使系统具有良好的可扩展性。
Description
技术领域
本专利涉及根据网络流量的多维度特征使用机器学习算法对未知的应用流量进行准确分类,具体涉及基于多维度特征紧凑决策边界的未知网络流量分类方法及系统
背景技术
网络流量反应了网络的行为,应用流量的准确分类是提供差异性服务质量(QoS)、入侵检测及流量管理的基础。网络应用不断迭代更新以及海量新应用相继问世,使得网络流量数量、种类激增。具Statista的不完全统计,2020年苹果App Store中可供下载的应用程序数量高达342万,相较2010年增长了近22倍。不断更新上线的各类新应用与现存应用产生的海量繁杂流量构成了一个开放的网络世界。值得注意的是基于静态数据集形成的应用分类模型无法对新应用的网络流量有效分类,简言之大量新应用对于现有分类器来讲是未知应用。网络未知应用呈爆炸式发展,使未知流量数量激增,与此同时海量未知流量带来的隐患不容忽视。
较高比例的未知流量增加了网络流量管理难度。企业及服务提供商需要及时地了解到网络中承载的业务,从而保证网络服务质量。但由于现有的应用分类模型无法对未知网络流量进行分类,这就导致网络运行维护人员无法对这些类型的网络流量进行优先级划分,并进一步地为其分配合理的带宽资源,进而无法保证部分关键业务的网络服务质量。
未知流量的普遍存在给安全管理也提出了新的挑战,由于互联网的开放性,所有符合技术标准的软件均可以不受限制的接入互联网,这就导致互联网安全事件层出不穷。网络流量异常检测作为一种有效的防御手段,能够及时发现未知攻击行为,有效的维护网络空间安全。而网络流量分类作为网络流量异常检测的基础技术之一,在维护网络安全方面发挥着重要作用。在实际应用中,流量分类产品仍以深度包检测(Deep PacketInspection,DPI)作为主要技术手段。DPI技术通过比对流量负载特征与已知类负载特征,从而判断该流量的类别。因此,基于DPI的现有分类器仅对负载特征已知的流量有效,对于未知流量不具有识别性。如,当软件使用私用协议进行数据传输时,指纹库中缺少相关协议负载特征,这就导致了分类器无法通过匹配特征的方式进行流量分类。此外,为了保障网络用户的安全,加密技术被广泛使用于网络流量传输过程中,这就造成了基于负载特征的分类器失效。通过将数据流中的负载信息进行加密处理,导致恒定特征锐减,使基于有效负载的分类器失效。例如,许多恶意软件利用TLS等加密技术对通信流量进行加密,以规避安全设备的检测,达到攻击网站、系统的目的。
对未知流量的准确分类逐渐显现其重要意义,如何从海量的网络流量中识别未知流量,并对其按具体应用进行划分,从而提升分类器的可扩展性,已然成为了网络流量分析领域研究的热点。
本发明设计并实现了以一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统。本发明通过提取能够准确表达网络流量的序列、负载特征,并通过流分离器将已知应用流量与未知流量进行有效分离,进而通过自主聚类过程,实现基于应用类别的端到端的未知流量分类方法。
相较于传统的匹配算法,机器学习具有良好的数据挖掘能力。机器学习可以通过计算大规模数据,从而学习数据间存在的规律以预测分类结果,因此专家学者们将目光逐渐转向了人工智能领域。学者们提出的使用深度学习算法的基于负载特征的未知流量分类方法,一定程度上解决了未知流量的分类问题,但仍存在两个问题。
一是,该方法通过负载特征进行未知流量分类,面对负载为明文的未知流量时,该分类器具有较好的处理能力。但值得注意的是,现如今绝大多数的网络流量均通过不同加密方法对流量负载信息进行加密处理,据Google的最新统计截止到2021年1月,全世界近95%的流量为加密流量。由于加密后的流量负载信息无法准确表达该类应用数据传输时使用协议的特征,无法通过分析包的有效负载是否包含已知应用的特殊签名进行分类,故导致基于单一负载特征的分类器对加密未知流量的分类效果欠佳。
二是,此前方法使用单一的阈值来构造已知应用流量与未知应用流量的分类决策边界,这种划分方式是对未知流量的粗粒度刻画。具体地说,当设定的单一阈值过大时,会造成分类决策边界划定过于严格,导致部分已知类流量被划分至未知流量中,使已知类分类错误;反之,当阈值过小时,由于已知类划分边界的范围过大,会造成属于未知类的应用流量划分至已知类中,无法有效地将未知流量数据筛选至对应未知数据集中,使分类效果欠佳。
发明内容
本发明的目的在于设计并实现一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统。该方法及系统通过流特征提取模型、流分离模型、未知类样本聚类,实现对真实未知网络流量的应用级准确分类。
为实现上述目的,本发明采用的技术方案如下:
一种基于多维度特征紧凑决策边界的未知网络流量分类方法,包括模型构建阶段、分类阶段及更新阶段,其中模型构建阶段包含用于构建流特征提取模型的模型构建阶段1以及用于构建流分离模型的构建的模型构建阶段2,具体过程如下:
所述模型构建阶段1包括报文负载特征提取过程以及报文长度序列特征提取过程两个子过程:
1)报文负载特征提取过程包括如下步骤:
1-1)以已标记的原始IP数据报文作为输入,按照五元组标识将其组装为TCP/UDP单向流集合。
1-2)以步骤1-1)得到的TCP/UDP单向流集合作为输入,对TCP/UDP单向流集合进行报文负载数据预处理操作,提取每条流的前几个非空负载数据包中的固定数量的字节负载数据,通过截取或填充的方式使报文负载长度一致,形成定长报文负载集合。
1-3)以步骤1-2)形成的定长报文负载集合作为输入,首先采用独热编码将定长报文负载序列转化为定长的独热表征报文负载向量。然后,采用有监督学习的方式,通过分支卷积模型提取报文负载特征;
2)报文长度序列特征提取过程包括如下步骤:
2-1)以步骤1-1)得到的TCP/UDP单向流集合作为输入,进行报文长度序列数据预处理操作。提取每条流的前几个非空负载数据包的有效负载长度。通过截取或填充的方式使报文长度序列长度一致,形成定长报文长度序列集合。
2-2)以步骤2-1)形成的定长报文长度序列集合作为输入,首先采用独热编码将定长报文长度序列转化为定长的独热表征长度序列向量。然后,采用有监督学习的方式,通过双层双向长短期记忆人工神经网络模型提取报文长度序列特征;
3)将步骤1-3)得到的报文负载特征与步骤2-2)得到的报文长度序列特征进行特征融合和增强,从而构建具有较高泛化能力与鲁棒性的多维度的流特征提取模型。
所述模型构建阶段2包括如下步骤:
4)以流特征提取模型输出的已标记的流特征及对应标签作为输入,按照划分比例系数设置为α,划分训练数据子集。
5)根据步骤4)得到的训练数据子集,采用有监督学习的方式,基于融合多颗决策树构建能够有效划分已知、未知流量的流分离模型;
所述分类阶段包括如下步骤:
6)以未标记的混杂流原始IP数据包作为输入,进行与模型构建阶段1中步骤1-1)相同的方法,将其组装为TCP/UDP单向流集合;
7)以步骤6)得到的TCP/UDP单向流集合为输入,与模型构建阶段1中步骤1-2)及步骤2-1)相同,对流进行数据预处理,得到满足流特征提取模型的报文负载集以及报文长度序列集。
8)根据模型构建阶段1中步骤3)得到的流特征提取模型,对待分流进行特征提取,得到混杂流的报文负载特征与报文长度序列特征。
9)以步骤8)中得到的混杂流的报文负载特征与报文长度序列特征为输入,根据步骤5)得到的流分离模型,划分已知流量类与未知流量类边界。对于判定为已知类的流输出其对应的预测标签,并存储为已知类流量样本;对于判定为未知类的流,对其进行标记并存储为未知类流量样本。
所述模型更新阶段包括如下步骤:
10)以步骤9)得到的未知类流量样本为输入,进行基于BIC(BayesianInformation Criterion)的K-means聚类,将输出的聚类结果与未知类流量样本的原始数据拼接,并存储为新类别流量样本数据。
11)将步骤10)得到的新类别样本数据与步骤9)得到已知类样本数据组成新流量样本数据集,更新流特征提取模型与流分离模型中流类别数,并采用同模型构建阶段1与模型构建阶段2中相同操作进行模型更新操作,以有效应对新未知流量的识别问题。
一种基于多维度特征紧凑决策边界的未知网络流量分类系统,其特征在于,包括用于构建流特征提取模型及流分离模型的模型构建阶段、用于已知类与未知类分类的分类阶段以及模型更新三个阶段,其中:
模型构建阶段包含数据预处理、流特征提取模型构建以及流分离模型构建这三个顺序子模块。以给定已标记的已知类别的流量作为输入,由数据预处理模块对输入数据进行数据报文截取或报文填充操作,使其成为满足流特征提取模块的定长格式化输入数据。流特征提取模型构建模块,使用数据预处理模块生成的已标记的已知类流量样本集合,对本模块进行模型构建,实现流量特征提取的需求。流过滤模型构建模块的输出为流特征提取模型以及有标记的已知类流的分类特征。流分离模型构建模块以流特征提取模块输出的有标记的已知类流的分类特征作为输入进行流分离模型的构建,本模块的输出为可用来分离已知、未知类流量样本的流分离模型。
分类阶段以未标记的混杂流量作为输入,由数据预处理模块对输入数据进行数据报文截取或报文填充操作,使其成为满足流特征提取模型的定长格式化输入数据,作为待分类样本。使用流特征模型构建模块所生成的流特征提取模型,提取待分类样本的报文长度序列特征以及报文负载特征。以待分类样本的报文长度序列特征以及报文负载特征为输入,使用流分离模型构建模块所生成的流分离模型,对待分类样本的类别进行判别。最终,得到已知类样本数据集及未知类流量样本数据集。
更新阶段以分类阶段的输出的所有的未知类流量样本为输入,由未知类样本聚类模块对其进行聚类操作,将所有的未知类别样本划分为若干个簇。未知类样本聚类模块的输出为已聚类成簇并标记新类别的流量样本。然后,使用有标记的新类别流量样本与原已知类流量样本构建一个新的数据集。接着,基于新流量样本数据集对流特征提取模型与流分离模型进行更新,得到可划分新类别流量的模型。
本发明的关键技术点在于:
1.使用一条流的前几个数据包的报文负载以及该流的报文长度序列,基于多分支结构的卷积神经网络结构和双层双向长短期记忆网络结构进行多维度特征提取,并进行特征融合和增强,从而提升流特征表达的准确性。
2.使用加性角度间隔损失函数,有效缩小同类间样本距离,于此同时扩大不同类样本之间距离,形成紧凑决策边界,以增强模型分类能力,提升分类效果。
3.基于机器学习的决策树算法,构建多颗决策树以形成已知、未知流分离规则集合,代替单一阈值,从而实现已知、未知流样本分离。
利用本专利的方法可以实现对混杂网络流量的快速准确分类,与已公开的相关技术相比,具有如下优点:
1.该专利设计了一种多维度特征提取模型,通过融合负载特征与序列特征,有效解决了基于单一负载特征的分类器对加密流量分类效果欠佳的问题,使模型具有较高的泛化能力与鲁棒性。此外通过使用加性角度间隔损失函数有效以增强模型分类能力,提升分类效果。
2.该专利设计了一种基于多棵决策树的流分类模型,通过该机器学习形成规则并将其合并,代替基于特征提取模型置信值的单一阈值,以实现已知类流量与未知类流量的准确分类。
3.设计了一种端到端的可更新的网络流量分类系统,通过模型构建阶段、分类阶段和更新阶段,实现了基于应用级别的已知、未知流量分类以及网络流量分类模型更新,可有效应对新未知流量的识别问题。
附图说明
图1是快速、准确的加密流量分类方法及系统的模型构建流程图。
图2是残差卷积模块结构图。
图3是快速、准确的加密流量分类方法及系统的分类阶段流程图。
图4是快速、准确的加密流量分类方法及系统的工作流程结构图。
图5是二十八种应用在验证集上的实验结果图。
图6是二十八种应用在测试集上的实验结果图。
具体实施方式
本发明涉及一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统。包括模型构建阶段、分类阶段及更新阶段。其中模型构建阶段包含用于构建流特征提取模型的模型构建阶段1以及用于构建流分离模型的构建的模型构建阶段2。模型构建阶段1包括:按照五元组标识将已标记的原始IP数据报文组装为TCP/UDP单向流集合;对TCP/UDP单向流集合分别进行报文负载数据预处理操作与报文长度序列数据预处理操作;基于定长报文负载集合、定长报文长度序列构建流特征提取模型。模型构建阶段2包括:将流特征提取模型输出的已标记的流特征及对应标签,划分训练数据子集;基于训练数据子集构建流分离模型。分类阶段包括:将未标记的混杂流原始IP数据包按模型构建阶段1中相同方法组装为TCP/UDP单向流集合;将TCP/UDP单向流集合按模型构建阶段1中步骤进行数据预处理;基于模型构建阶段1中得到的流特征提取模型,对待分流进行特征提取;基于流分离模型,划分已知流量类与未知流量类边界。对于判定为已知类的流输出其对应的预测标签,并存储为已知类流量样本;对于判定为未知类的流,对其进行标记并存储为未知类流量样本。模型更新阶段包括:对未知类流量样本进行聚类,并将其存储为新类别流量样本数据;基于新类别样本数据与已知类样本数据组成新流量样本数据集,重复模型构建阶段操作进行模型更新。本发明设计了一种基于多维度特征紧凑决策边界的端到端的可更新的网络流量分类系统,通过模型构建阶段、分类阶段和更新阶段,有效应对未知加密流量问题,在保证了分类精确度的同时使系统具有良好的可扩展性。
本发明的工作流程包括模型构建阶段、分类阶段及更新阶段。在模型构建阶段,以有标记的已知类网络流量的报文长度序列及报文负载作为输入,构建流特征提取模型及流分离模型。在分类阶段,基于模型构建阶段中获取的流特征提取模型、流分离模型,对从网络环境中获取的未标记的网络流量进行分类,将其划分为已知类网络流量或者未知类网络流量。在更新阶段,通过对被划分为未知类网络流量的数据样本进行聚类操作,形成应用流量的新类别。新类别流量样本与已知类流量样本构成新数据集,以更新流特征提取模型与流分离模型,从而应对新未知流量的分类问题。
在模型构建阶段中,本发明的关键技术部分在于流特征提取模型及流分离模型的构建。该阶段的输入为已标记的原始网络流量数据包,输出为可用于混杂网络流量特征提取的流特征提取模型以及已知流、未知流分离的流分离模型。
模型构建阶段1为流特征提取模型构建阶段,流特征提取模型构建阶段包含两个子过程,分别是报文负载特征提取过程以及报文长度序列特征提取过程。
最终将其构建流程如图1所示,具体实施步骤如下:
1.报文负载特征提取过程
1.1给定已标记的原始IP数据报文作为输入,按照五元组标识将其组装为TCP/UDP单向流集合。具体地说,将五元组视为区分TCP/UDP流的标识,将符合同一标识的数据包组成一条TCP/UDP单向流。其中,五元组是指数据包的源IP地址(ip.src)、目的IP地址(ip.dst)、源端口(port.src)、目的端口(port.dst)、第四层通信协议(protocol)。
1.2.对TCP/UDP单向流集合进行报文负载数据预处理操作,具体流程如下:
首先,对TCP/UDP单向流集合中M条流进行报文负载提取操作。具体来说,以TCP/UDP单向流集合中的流m为例,提取其前p个非空负载数据包(数据包负载长度不为零)记为对数据包E(m,i)提取前N(m,i)个字节负载数据,其中N(m,i)∈{N(m,1),N(m,2),…,N(m,p)}。从而得到负载数据集合 其中m表示负载数据集合P中的第m条流,i表示流中m中的第i个负载数据包,N(m,i)表示第m条流的第i个负载数据包的有效负载长度,表示第m条流中第i个负载数据包的第n个字节的负载数据。
然后,对报文负载进行长度一致化处理,报文负载长度预设值为Np。以第m条流第i个负载数据包的报文负载序列E(m,i)为例,当N(m,i)<Np时,对其进行补“0”操作,使之与预设长度一致;反之,当N(m,i)>Np,则对其进行长度截取操作,使之与预设长度一致。将经过定长处理的负载报文序列记为 其中Np为可根据模型需求进行设置的参数。经过长度一致化处理后,得到定长报文负载集合其中
1.3.在报文负载流特征提取模型训练前,根据需求进行超参数设置,其中包括负载流特征提取模型独热编码参数,分支卷积核数量及卷积核大小。对于神经网络中所有可训练参数,本方法使用随机初始化的方法为其赋予初始值。
1.4.报文负载特征提取过程包含三个顺序步骤,为便于理解,将以报文负载集合P中的第m流的报文负载信息P'm={E'(m,1),E'(m,2),…,E'(m,i),…,E'(m,p)}作为输入,描述报文负载特征提取过程。
1.4.1对定长报文负载信息进行独热编码处理。以P'm为例,按字节对其每位数据进行独热编码处理。根据流量负载数据特性可知P'm中所包含的原始流量负载数据中每个字节的十进制取值范围为[0,255]。具体地说,以P'm中第i个负载数据包的第n个字节的负载数据为例,将数据转换为仅由0,1组成的256维的向量其中第维数据为1,其余维数据均为0。经过独热编码处理后,原维度为(Vpx1)的张量P'转换为维度为(Vpx256)的张量Wp。
1.4.2对得到的二维矩阵向量Wp进行卷积操作。首先对张量Wp进行添加维度操作,将其维度变化为(1xVpx256)。其次对其进行2D卷积操作,卷积核数量为H1,卷积核大小为(1×256),步长为1,得到卷积后结果R1,其维度为(H1xVpx1)。然后对R1最后一个维度进行维度压缩操作,将其维度压缩为(H1xVp)。
1.4.3对2D卷积后的结果R1进行如图2所示的分支卷积操作。R1作为输入,分别输入给三个并行1D卷积。其次对其进行并行1D卷积操作,在本发明中将三个并行1D卷积的卷积核数量均设为H2=150,卷积核大小分别为k1=1,k2=3,k3=5,步长均为S=1,填充大小分别为p1=0,p2=1,p3=2(分支卷积结构中卷积核数量、大小可根据具体需求调节),得到三个维度均为(H2xVp)的张量R1.1,R1.2,R1.3。然后对R1.1,R1.2,R1.3进行同一1D卷积操作,将三个张量作为输入,分别输入至同一个1D卷积层中,该卷积层卷积核数量为H3,卷积核大小为1,步长为1,得到三个维度均为(H3xVp)的张量R'1.1,R'1.2,R'1.3。接下来,对R'1.1,R'1.2,R'1.3进行拼接操作,得到张量R'1,其维度为(3xH3xVp);其次将R'1的第一个维度相加,最终得到维度为(H3xVp)的卷积结果R2。
1.4.4R1与R2相加得到R3,对R3进行线性整流函数(ReLU)计算后,将结果输入随机失活层(Dropout Layer),以0.5的概率对神经元进行随机性失活操作;然后将结果输入第一个全连接层,其输出维度为H4(H4=256);再输入第二个全连接层,其输出维度为H5(H5=128);最终得到一个维度为128的流量负载特征R4。
2.报文长度序列特征提取过程
2.1.对步骤1.1组装完成的TCP/UDP单向流集合进行报文长度序列数据预处理操作,具体流程如下:
首先,对TCP/UDP单向流集合中M条流进行报文长度序列提取操作。具体来说,统计TCP/UDP单向流集合中每一条流的前Nm个非空负载数据包的有效负载长度,其中m∈M。从而得到报文长度序列集合其中D(m,i)代表第m个流中的第i个非空负载数据包的有效负载长度。
然后,对每条TCP/UDP流进行报文长度序列进行长度一致化处理。以第m条流报文长度序列为例,当报文长度序列的实际长度值小于预设值Nl时,对其进行补“0”操作使之与预设长度一致,即反之当序列长度的实际长度大于预设值时Nl,则对其进行长度截取使之与预设长度一致,即其中Nl为可根据模型需求进行设置的参数。经过长度一致化处理后,得到定长报文长度序列集合
2.2.在报文长度序列流特征提取模型训练前,根据需求进行超参数设置,对神经网络训练参数进行初始化,其中包括,序列特征提取网络中的卷积核大小,LSTM网络隐藏层大小、编码层大小。对于神经网络中所有可训练参数,本方法使用随机初始化的方法为其赋予初始值。
2.3.1对经过报文长度序列数据预处理的定长报文长度序列进行独热编码处理。具体操作于与报文负载特征提取过程中步骤1.4.1中的独热编码过程相同,以L'm中的第i个非空负载数据包的有效负载长度D(m,i)为例,假设字节D(m,i)的十进制数值为u,将u转换为仅由0,1组成的C维(C为L'中报文长度的最大值)的向量w(m,i)={0,0,…1,…,0},其中第u维数据为1,其余维数据均为0。经过独热处理后,原维度为(Nlx1)的张量L'转换为维度为(NlxC)的张量Wl。
2.3.2对得到的二维矩阵向量Wl进行卷积操作。首先对张量Wl进行添加维度操作,将其维度变化为(1xNlxC)。其次对其进行2D卷积操作,卷积核数量为C1(本实验中卷积核数量C1=128),卷积核大小为(1×C),步长为1,得到卷积后结果X1,其维度为(C1xNlx1)。然后对X1最后一个维度进行维度压缩操作,将其维度压缩为(C1xNl)。
2.3.3对2D卷积后的结果X1进行批量标准化(Batch Normalization)操作,然后对其进行线性整流函数(ReLU)计算,并将结果的第一维与第二维进行交换,最终得到维度(C1xNl)的张量X'1。
2.3.4将张量X'1输入至双向长短期记忆网络(Bi-directional Long Short-
Term Memory),隐藏层数lh=2,隐藏层单元数h1=256,并将最终输出的双向双层变量按行拼接最终得到一个4xh1维的张量X2。
2.3.5将张量X2输入全连接层,其输出维度为F1(F1=128);最终得到一个维度为128的流量长度序列特征R5。
3.对报文负载特征与报文长度序列特征进行特征融合和增强操作
首先,将步骤一中得到的流量负载特征与步骤二中得到的流量长度序列特征进行特征融合操作,即在对应维度拼接,并按列计算每列数据的平均值,然后对其进行标准化操作(Normalization),最终得到一个256维的张量A。
然后,使用加性角度间隔损失函数(Additive Angular Margin Loss)计算每个类别的置信度,将置信度值最大的维度作为该流量类别的推断结果。本实验中使用的加性角度间隔损失函数与归一化指数函数相比,可有效缩小同类间样本距离,于此同时扩大不同类样本之间距离,以增强模型分类能力,提升分类效果。具体原理如下式所示:
其中N为批次输入数据个数,n为数据集中类别数量,m为附加角度,s为特征缩放参数,可根据模型需求定义附加角度m与特征缩放参数s。
4.判断神经网络是否到达停止条件
判断此时训练状况是否满足终止条件Ef,若满足终止条件,则停止神经网络训练过程,将包含训练后神经网络参数值的流特征提取模型以及流量特征作为训练阶段最终的结果输出;若不满足条件,则根据网络计算的损失函数值,使用反向传播更新神经网络参数,并重复步骤1-3。结束条件Ef设置,可包括但不局限于下述条件:达到最大迭代周期、达到期望损失函数值、达到期望统计评价指标等。
模型构建阶段2为流分离模型的构建阶段。本阶段将流特征提取模型输出的已标记的流特征及对应标签作为输入数据,用于构建该阶段的基于融合多棵决策树的流分离模型。
1.首先对本阶段模型参数进行设置,其中包括融合决策树数量Ntree以及决策树停止分裂条件Et。然后对上一阶段提取的流的特征集合D进行划分,本实验中根据Bagging思想中的结论将划分比例系数设置为α。具体而言,按照划分比例系数从流特征集合中随机抽取αxNf条样本组成集合Di以构建第i棵决策树,其中Nf表示流特征集合D中所包含的样本总数。为便于理解,在构建决策树过程中将以集合Di作为输入数据来描述第i棵决策树的构建过程。
2.基于CART算法,根据输入集合Di、决策树停止分裂条件Et,即内部节点再划分所需最小样本数为Nsplit,从根节点开始构建第i棵决策树。具体建树过程如下:
2.1样本集Di的每个样本都是一个H=256维的向量,每条样本的各个维度组成一个特征Ah,每个维度的特征组成特征集合A∈{A1,A2,…,Ah,…,AH}。对于特征集合A,共有H-1个分割点。对于Di计算其在所有可能的分割点基尼指数,以寻找最优分割点。若样本集合Di根据特征Ah及特征值αh被分割成Di,1,Di,2,则在特征Ah的条件下集合Di的基尼指数为
2.2对于特征集合A中的特征和所有可能的切分点,选择基尼指数最小的特征以及相对应的切分点作为最优特征和最佳切分点,划分后的结果作为两个叶子节点的样本集。
2.3重复2.1和步骤2.2,直到所有节点不再满足节点可再分条件Et,即节点样本数小于Nsplit,从而得到基于CART算法构建的决策树Ti。
3.重复步骤2根据不同的数据集Di∈D构建Ntree棵基于CART算法的决策树。合并步骤2中构建的Ntree棵决策树的规则,并输入按照此规则构建的流分离模型。
流量分类阶段的工作流程如图3所示,本阶段基于模型构建阶段1生成的流特征提取模型提取混杂原始流量负载特征以及长度序列特征;基于流分离模型以及模型构建阶段的输出特征对流量进行已知类与未知类流量样本分离,并输出已知类流数据样本集与未知类流数据样本集。流分类阶段具体过程如下:
1.混杂流原始IP数据包作为输入,同报文负载特征提取过程中步骤1.1中的处理方法,将其组装为TCP/UDP单向流集合。
2.与报文负载特征提取过程中步骤1.2及报文长度序列特征提取过程中步骤2.2相同,对流进行数据预处理,得到满足流特征提取模型的报文负载集以及报文长度序列集。
3.将报文负载集与报文长度序列集输入流特征提取模型进行特征提取,得到混杂流的负载特征与序列特征。
4.将步骤3中提取的流特征输入至流分离模型,划分已知流量类与未知流量类边界,具体来说,对于单棵决策树,保留Gini==0的叶子节点的预测标签值,并将Gini≠0的叶子节点的预测标签值设置为“-1”,并按照Gini值分别存储两类数据以及叶子节点对应的预测标签值。根据预设定的阈值G,统计该流量对应的Ntree个预测标签,当该流量的同一标签值大于等于阈值G且标签不为“-1”时,则输出为该预测标签值;否则输出预测标签值为“-1”。将预测标签为“-1”的流存储为未知类流量样本,其余流存储为已知类流量样本。
模型更新阶段包含未知类样本聚类、模型二次训练过程两个子过程。未知类样本聚类子过程的输入为未标记的未知类流量样本数据,输出为已标记的新类别流量数据样本。模型二次训练子过程的输入为由新类别流量数据样本与已知类流量数据样本构成的新流量样本数据集,输出为可应用于新未知流量的识别的流特征提取模型以及流分离模型。
1.对未标记的未知流量样本数据进行基于BIC(Bayesian InformationCriterion)的K-means聚类。首先,基于BIC计算最佳聚类簇数k。具体原理如下式所示:
其中V为输入的未知流量样本总数,k为聚类簇数,Ni为待聚类样本集,oj为待聚类样本,Oi为初始聚类中心,R为每个待聚类样本与k个初始聚类中心的欧氏距离和。假设未知类流量类别数为kmax,依次计算k∈{1,2,…,kmax}时对应的BIC值,以及ΔBIC=BICk-BICk-1(k>1)。当ΔBIC值最大时,将此时的k值定义为最佳聚类簇数。
然后,按计算所得的最佳聚类簇数k对待聚类样本进行K-means聚类,并将聚类结果与待聚类样本原始数据拼接,并存储为新类别流量样本数据。
2.将未知类样本聚类子过程输出的新类别样本数据与原始已知类样本数据组成新流量样本数据集。基于新流量样本数据集,更新流特征提取模型与流分离模型中流类别数classnum,并先后再次训练流特征提取模型及流分离模型,以应对新未知流量的识别问题。
结合上述的一种基于多维度特征紧凑决策边界的未知网络流量分类方法,本专利同时公开了一种基于多维度特征紧凑决策边界的未知网络流量分类系统。本系统主要由模型构建阶段、分类阶段以及模型更新三个阶段构成,系统图架构如图4所示。其中模型构建阶段包含三个模块分别是数据预处理模块、流特征提取模型构建模块及流分离模型构建模块;分类阶段包含三个子模块,分别是数据预处理模块,流特征提取模块以及已知、未知流样本分离模块;更新阶段包含一个子模块,为未知类样本聚类模块。
1.模型构建阶段包含数据预处理、流特征提取模型构建以及流分离模型构建这三个顺序子模块。首先以给定已标记的已知类别的流量作为输入,由(1.1)数据预处理模块对输入数据进行数据报文截取或报文填充操作,使其成为满足流特征提取模块的定长格式化输入数据。(1.2)流特征提取模型构建模块,使用数据预处理模块生成的已标记的已知类流量样本集合,对本模块进行模型构建,实现流量特征提取的需求。流过滤模型构建模块的输出为流特征提取模型以及有标记的已知类流的分类特征。(1.3)流分离模型构建模块以上一模块输出的有标记的已知类流的分类特征作为输入进行流分离模型的构建,本模块的输出为可用来分离已知、未知类流量样本的流分离模型。
2.分类阶段:首先,以未标记的混杂流量作为输入,由(2.1)数据预处理模块对输入数据进行数据报文截取或报文填充操作,使其成为满足流特征提取模型的定长格式化输入数据,作为待分类样本。(2.2)流特征提取模块以待分类样本为输入,使用(1.2)流特征模型构建模块所生成的流特征提取模型,提取待分类样本的报文长度序列特征以及报文负载特征。(2.3)已知、未知流样本分离模块以上一模块输出的流特征作为输入,使用(1.3)流分离模型构建模块所生成的流分离模型,对待分类样本的类别进行判别。具体来说,若流分离模型判断该样本属于已知类,则直接输出其类别;若该样本被判定为未知类,则将为其打上未知类别的标签。最终,将得到的分类阶段的输出为已知类样本数据集及未知类流量样本数据集作为分类阶段的输出,并将其作为输入数据传入更新阶段。
3.更新阶段:首先,以上一阶段的输出的所有的未知类流量样本为输入,由(3)未知类样本聚类模块对其进行聚类操作,将所有的未知类别样本划分为若干个簇(例如,簇的个数为N)。未知类样本聚类模块的输出为已聚类成簇并标记新类别的流量样本。然后,使用有标记的新类别流量样本与原已知类流量样本构建一个新的数据集。接着,基于新流量样本数据集对(1.2)流特征提取模型与(1.3)流分离模型进行更新,得到可划分新类别流量的模型。
在验证实验中,本专利对Airbnb、Alipay、Amap、Zhihu、TikTok、Facebook、Booking、Reddit、Pinduoduo、Github、Instagram、Jingdong、Neteasecloudmusic、Laptop、Amazon Echo、Netatmo Welcome、TP-Link Day Night Cloud camera、Samsung SmartCam、Insteon Camera、Withings Smart Baby Monitor、Belkin Wemo switch、Belkin wemomotion sensor、Netatmo weather station、Withings Aura smart sleep sensor、PIX-STAR Photo-frame、Samsung Galaxy Tab、Amazon Echo、Netatmo Welcome二十六种不同应用类型的网络流量开展实例验证。实验中所使用的具体网络流量信息如表1所示。其中,对于每个应用类别,随机地选择了3000个样本,如果某一类别的流数不足3000,则选择全部的数据。因此,总共有77,098条流量样本构成了实验数据集。此外,在实验数据集上开展了5折交叉验证,其中训练集,验证集和测试集的比例为3:1:1。
表格1:实验验证中所使用的应用名称及各个类别的网络流量信息
应用名称 | 流个数 | 应用名称 | 流个数 |
Airbnb* | 5071 | Laptop | 39760 |
Alipay | 5223 | AmazonEcho | 6557 |
Amap | 11456 | NetatmoWelcome | 5545 |
Zhihu | 15020 | TP-LinkDayNightCloudcamera | 2862 |
TikTok | 11933 | SamsungSmartCam | 41478 |
Facebook* | 4215 | InsteonCamera | 13154 |
Booking | 12116 | WithingsSmartBabyMonitor | 11090 |
9521 | BelkinWemoSwitch | 37456 | |
Pinduoduo | 11805 | BelkinwemoMotionSensor* | 57648 |
Github | 4503 | NetatmoWeatherStation | 4676 |
7327 | WithingsAuraSmartSleepSensor | 7212 | |
Jingdong* | 18377 | PIX-STARPhoto-frame | 2236 |
Neteasecloudmusic | 21392 | SamsungGalaxyTab | 34785 |
注:表格2中带*的网络流量类别为本实验中未知类网络流量。
实验展示了三种超参数形成的不同分类器的分类效果,超参数包括:(1)报文负载特征提取过程中报文负载长度NP;(2)报文长度序列特征提取过程中非空负载数据包个数NL(3)流特征提取模型构建阶段中附加角度m。在不同超参数设置的情况下分别进行实验,并将本专利与现有的基于深度学习的网络流量分类方法进行对比。在以下针对本发明的评估实验中,具体的参数选择范围是Np∈{16,32,64},NL∈{4,8,16},m∈{0.2,0.4,0.6,0.8}。此外在本实验中涉及的其他参数取值为:报文长度序列特征提取过程中独热编码维度C=1500;流分离模型的构建阶段中融合决策树数量Ntree=30。
为了评估其分类性能,须定义合适的分类评估指标。对于正在分析的特定流量类别t,定义如下指标来评估分类器的分类性能:
(1)类别t的真阳率TPRt,其具体的定义如下:
其中,TPt表示由网络流量分类器报告为属于类别t,并且确实是属于相应的类别t的样本个数。
(2)多类别分类准确性指标ACC,定义如下:
其中T代表总的分类类别数。
一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统在二十六种应用下的实验结果如下图所示。
图5绘制了当参数NP、NL及m为不同取值时,二十六种网络流量在实验数据集的验证集上的ACC数值的变化情况。对于不同的参数设置,ACC数值在90.717%—94.161%的范围内变化。验证数据集上的最佳参数值为NP=64,NL=32和m=0.8,相应的ACC数值为94.161%。图5可以清楚地注意到,NP值的对分类的准确率有着较大的影响,通常随着NP的增大,分类ACC数值通常上升。此外,还可以注意到,当NP值较小时,NL对本发明的ACC数值通常影响不大。
此外,测试数据集上所有36个分类器的实验评估结果如图6所示。对于NP,NL和m的所有可能取值,测试集上分类ACC数值在90.786%—93.941%的范围内变化。在验证数据集上表现最佳的NP=64,NL=32和m=0.8的分类器,其在测试数据集上的分类ACC平均数值为93.364%。
表格2:现有的基于深度学习的网络流量分类方法对比实验结果
从表格2中可以明显地观察到,本发明在实验数据集上的平均分类准确率是93.252%±0.182%,优于现有的基于深度学习的分类方法和系统(Autonomous Unknown-Application Filtering and Labeling for DL-based Traffic Classifier Update)的分类准确率。此外,在Airbnb、Alipay、Amap、Zhihu、TikTok、Facebook、Booking、Reddit、Pinduoduo、Github、Instagram、Jingdong、Neteasecloudmusic、Laptop、Amazon Echo、Netatmo Welcome、TP-Link Day Night Cloud camera、Samsung SmartCam、InsteonCamera、Withings Smart Baby Monitor、Belkin Wemo switch、Belkin wemo motionsensor、Netatmo weather station、Withings Aura smart sleep sensor、PIX-STARPhoto-frame、Samsung Galaxy Tab、Amazon Echo、Netatmo Welcome二十六种类型的网络流量中的二十四种上,都展现出了更好的分类准确率。
Claims (7)
1.一种基于多维度特征紧凑决策边界的未知网络流量分类方法,其特征在于,包括模型构建阶段、分类阶段及更新阶段;其中模型构建阶段包含用于构建流特征提取模型的模型构建阶段1以及用于构建流分离模型的构建的模型构建阶段2,具体过程如下:
所述模型构建阶段1包括报文负载特征提取过程以及报文长度序列特征提取过程两个子过程:
1)报文负载特征提取过程包括如下步骤:
1-1)以已标记的原始IP数据报文作为输入,按照五元组标识将其组装为TCP/UDP单向流集合;
1-2)以步骤1-1)得到的TCP/UDP单向流集合作为输入,对TCP/UDP单向流集合进行报文负载数据预处理操作,提取每条流的前几个非空负载数据包中的固定数量的字节负载数据,通过截取或填充的方式使报文负载长度一致,形成定长报文负载集合;
1-3)以步骤1-2)形成的定长报文负载集合作为输入,首先采用独热编码将定长报文负载序列转化为定长的独热表征报文负载向量;然后,采用有监督学习的方式,提取报文负载特征;
2)报文长度序列特征提取过程包括如下步骤:
2-1)以步骤1-1)得到的TCP/UDP单向流集合作为输入,进行报文长度序列数据预处理操作;提取每条流的前几个非空负载数据包的有效负载长度;通过截取或填充的方式使报文长度序列长度一致,形成定长报文长度序列集合;
2-2)以步骤2-1)形成的定长报文长度序列集合作为输入,首先采用独热编码将定长报文长度序列转化为定长的独热表征长度序列向量;然后,采用有监督学习的方式,提取报文长度序列特征;
3)将步骤1-3)得到的报文负载特征与步骤2-2)得到的报文长度序列特征进行特征融合和增强,从而构建具有较高泛化能力与鲁棒性的多维度的流特征提取模型;
所述模型构建阶段2包括如下步骤:
4)以流特征提取模型输出的已标记的流特征及对应标签作为输入,按照划分比例系数设置为α,划分训练数据子集;
5)根据步骤4)得到的训练数据子集,采用有监督学习的方式,基于融合多颗决策树构建能够有效划分已知、未知流量的流分离模型;
所述分类阶段包括如下步骤:
6)以未标记的混杂流原始IP数据包作为输入,进行与模型构建阶段1中步骤1-1)相同的方法,将其组装为TCP/UDP单向流集合;
7)以步骤6)得到的TCP/UDP单向流集合为输入,与模型构建阶段1中步骤1-2)及步骤2-1)相同,对流进行数据预处理,得到满足流特征提取模型的报文负载集以及报文长度序列集;
8)根据模型构建阶段1中步骤3)得到的流特征提取模型,对待分类的流进行特征提取,得到混杂流的报文负载特征与报文长度序列特征;
9)以步骤8)中得到的混杂流的报文负载特征与报文长度序列特征为输入,根据步骤5)得到的流分离模型,划分已知流量类与未知流量类边界;对于判定为已知类的流输出其对应的预测标签,并存储为已知类流量样本;对于判定为未知类的流,对其进行标记并存储为未知类流量样本;
所述模型更新阶段包括如下步骤:
10)以步骤9)得到的未知类流量样本为输入,进行基于BIC的K-means聚类,将输出的聚类结果与未知类流量样本的原始数据拼接,并存储为新类别流量样本数据;
11)将步骤10)得到的新类别样本数据与步骤9)得到已知类样本数据组成新流量样本数据集,更新流特征提取模型与流分离模型中流类别数,并采用同模型构建阶段1与模型构建阶段2中相同操作进行模型更新操作,以有效应对新未知流量的分类问题。
2.如权利要求1所述的一种基于多维度特征紧凑决策边界的未知网络流量分类方法,其特征在于,步骤1)负载特征提取的具体操作方法是:
1-1)对原始IP数据报文进行预处理操作,将五元组视为区分TCP/UDP流的标识,将符合同一标识的数据包组成一条TCP/UDP单向流;其中,五元组是指数据包的源IP地址(ip.src)、目的IP地址、源端口、目的端口、第四层通信协议;
1-2)对报文负载数据进行预处理的具体操作是:
1-2-1)对步骤1-1)中得到的TCP/UDP单向流集合中每一条流进行报文负载提取操作,提取每一条流的前几个非空负载数据包的前几个字节负载数据,从而得到负载数据集合;
1-2-2)对步骤1-2-1)得到的报文负载进行长度一致化处理;当报文负载长度小于报文负载长度预设值时,对其进行补“0”操作,使之与预设长度一致;反之,报文负载长度大于报文负载长度预设值时,对其进行长度截取操作,使之与预设长度一致;从而得到定长报文负载集合;
1-3)提取报文负载特征的具体操作:
1-3-1)以步骤1-2-2)形成的定长报文负载集合作为输入,采用独热编码按字节将定长报文负载序列转化为定长的独热表征报文负载向量;由流量负载数据特性可知,原始流量负载数据中每个字节的十进制取值范围为[0,255],设流负载序列中每个报文负载可能的取值构成一个集合,且该集合的基数为256,将所有报文负载转换为长度为256的独热向量,其特征在于,仅报文负载的十进制数值对应的维度取值为1,其余维度均取0;
1-3-2)采用有监督学习的方式,以步骤1-3-1)中定长独热表征报文负载向量为输入,使用单层2D卷积神经网络结构进行初始特征变换操作,并对初始特征的最后一个维度进行维度压缩操作,得到低维度的报文负载初始特征向量;
1-3-3)以步骤1-3-2)得到的低维度初始特征向量为输入,分别输入三个卷积核数相同,卷积核大小不同的三个并行1D卷积层进行二次特征变换操作,对输出的三个特征向量执行加法操作,得到融合后的报文负载特征向量;
1-3-4)将步骤1-3-2)得到的低维度报文负载初始特征向量与步骤1-3-3)得到的融合特征向量相加作为输入,使用随机失活层对神经元进行随机性失活操作;
1-3-5)以1-3-4)得到的特征向量为输入,使用具有RELU激活功能的两层全连接层,进行特征压缩操作,得到报文负载特征。
3.如权利要求1所述的一种基于多维度特征紧凑决策边界的未知网络流量分类方法,其特征在于,步骤2)提取报文长度序列特征的方法是:
2-1)对报文长度序列进行预处理的具体操作:
2-1-1)以步骤1-1)得到的TCP/UDP单向流集合作为输入,提取每条流的前几个非空负载数据包的有效负载长度,从而得到报文长度序列集合;
2-1-2)对步骤2-1-1)中得到报文长度序列集合L进行长度一致化处理;当报文长度序列的实际长度值小于报文负载长度序列预设值时,对其进行补“0”操作,使之与预设长度一致;反之,序列长度的实际长度大于预设值时,对其进行长度截取操作,使之与预设长度一致;从而得到定长报文负载集合;
2-2)提取报文长度序列特征的具体操作:
2-2-1)以步骤2-1)形成的定长报文长度序列集合作为输入,采用独热编码按字节处理,将定长报文长度序列转化为定长的独热表征长度向量;设流序列中每个报文长度可能的取值构成一个集合,且该集合的基数为C,将所有报文长度转换为维度为C的独热向量,其特征在于,仅报文长度的十进制数值对应的维度取值为1,其他维度均取0;
2-2-2)采用有监督学习的方式,以步骤2-2-1)得到的定长独热表征的报文长度序列向量为输入,添加维度,使用单层2D卷积神经网络结构进行初始特征变换;将输出的并对初始特征的最后一个维度进行维度压缩操作,得到低维度报文长度序列初始特征向量;
2-2-3)以步骤2-2-2)中低维度的报文长度序列初始特征向量为输入,对其批量标准化操作,及线性整流函数计算;将结果的第一维与第二维进行交换,得到标准化的低维度报文长度序列初始特征向量;
2-2-4)以步骤2-2-3)中低维度报文长度序列初始特征向量为输入,使用双向双层长短期记忆网络提取报文长度序列特征,并将两个方向对应的各个隐藏层结果压平,得到高维度报文长度序列特征向量;
2-2-5)以步骤2-2-4)中压平的高维度报文长度序列特征向量为输入,使用单层全连接层,进行特征压缩操作,得到报文长度序列特征。
4.如权利要求1所述的一种基于多维度特征紧凑决策边界的未知网络流量分类方法,其特征在于,步骤3)对报文负载特征与报文长度序列特征进行特征融合和增强的具体操作方法是:
3-1)将步骤1-3-4)中得到的报文负载特征与步骤2-2-5)中得到的报文长度序列特征进行拼接操作,并对拼接后的特征计算平均值,然后对其进行标准化操作,最终得到流融合负载特征;
3-2)以步骤3-1)中得到的流融合负载特征作为输入,使用加性角度间隔损失函数计算每个类别的置信度,取置信度值最大的类别作为本次运算对于该流量类别的推断结果;
3-3)判断此时训练状况是否满足终止条件Ef,若满足终止条件,则停止神经网络训练过程,将包含训练后神经网络参数值的流特征提取模型以及流量特征作为训练阶段最终的结果输出;若不满足条件,则根据网络计算的损失函数值,使用反向传播更新神经网络参数,并重复步骤1-3。
5.如权利要求1所述的一种基于多维度特征紧凑决策边界的未知网络流量分类方法,其特征在于,步骤4)划分用于构建流分离模型的训练子集,其具体操作方法是:以步骤3-3)输出的已标记的流特征及对应标签作为输入,按照比例系数α,从流特征集合中随机抽取αxNf条样本组成集合Di以构建第i棵决策树,其中Nf表示流特征集合D中所包含的样本总数。
6.如权利要求1所述的一种基于多维度特征紧凑决策边界的未知网络流量分类方法,其特征在于,步骤5)基于融合多颗决策树构建流分离模型的具体操作是;
5-1)以步骤4)得到的训练样本子集为输入,对于每一个训练样本子集进行基于CART算法的建树操作,从根节点生成多棵决策树;
5-2)根据步骤5-1生成的多棵决策树,合并由每棵决策树中的Gini为零的叶子节点生成的规则,得到用于判别流类别的规则集,以构成的流分离模型。
7.一种基于多维度特征紧凑决策边界的未知网络流量分类系统,其特征在于,包括用于构建流特征提取模型及流分离模型的模型构建阶段、用于已知类与未知类分类的分类阶段以及模型更新三个阶段,其中:
模型构建阶段包含数据预处理、流特征提取模型构建以及流分离模型构建这三个顺序子模块;以给定已标记的已知类别的流量作为输入,由数据预处理模块对输入数据进行数据报文截取或报文填充操作,使其成为满足流特征提取模块的定长格式化输入数据;流特征提取模型构建模块,使用数据预处理模块生成的已标记的已知类流量样本集合,对本模块进行模型构建,实现流量特征提取的需求;流过滤模型构建模块的输出为流特征提取模型以及有标记的已知类流的分类特征;流分离模型构建模块以流特征提取模块输出的有标记的已知类流的分类特征作为输入进行流分离模型的构建,本模块的输出为可用来分离已知、未知类流量样本的流分离模型;
分类阶段以未标记的混杂流量作为输入,由数据预处理模块对输入数据进行数据报文截取或报文填充操作,使其成为满足流特征提取模型的定长格式化输入数据,作为待分类样本;使用流特征模型构建模块所生成的流特征提取模型,提取待分类样本的报文长度序列特征以及报文负载特征;以待分类样本的报文长度序列特征以及报文负载特征为输入,使用流分离模型构建模块所生成的流分离模型,对待分类样本的类别进行判别;最终,得到已知类样本数据集及未知类流量样本数据集;
更新阶段以分类阶段的输出的所有的未知类流量样本为输入,由未知类样本聚类模块对其进行聚类操作,将所有的未知类别样本划分为若干个簇;未知类样本聚类模块的输出为已聚类成簇并标记新类别的流量样本;然后,使用有标记的新类别流量样本与原已知类流量样本构建一个新的数据集;接着,基于新流量样本数据集对流特征提取模型与流分离模型进行更新,得到可划分新类别流量的模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111669208.9A CN114358177B (zh) | 2021-12-31 | 2021-12-31 | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111669208.9A CN114358177B (zh) | 2021-12-31 | 2021-12-31 | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114358177A true CN114358177A (zh) | 2022-04-15 |
CN114358177B CN114358177B (zh) | 2024-03-29 |
Family
ID=81105554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111669208.9A Active CN114358177B (zh) | 2021-12-31 | 2021-12-31 | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114358177B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277888A (zh) * | 2022-09-26 | 2022-11-01 | 中国电子科技集团公司第三十研究所 | 一种移动应用加密协议报文类型解析方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088372A1 (zh) * | 2019-11-04 | 2021-05-14 | 重庆邮电大学 | SDN网络中基于神经网络的DDoS检测方法及系统 |
CN112839024A (zh) * | 2020-11-05 | 2021-05-25 | 北京工业大学 | 一种基于多尺度特征注意力的网络流量分类方法及系统 |
-
2021
- 2021-12-31 CN CN202111669208.9A patent/CN114358177B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088372A1 (zh) * | 2019-11-04 | 2021-05-14 | 重庆邮电大学 | SDN网络中基于神经网络的DDoS检测方法及系统 |
CN112839024A (zh) * | 2020-11-05 | 2021-05-25 | 北京工业大学 | 一种基于多尺度特征注意力的网络流量分类方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘琼;刘珍;黄敏;: "基于机器学习的IP流量分类研究", 计算机科学, no. 12, 15 December 2010 (2010-12-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277888A (zh) * | 2022-09-26 | 2022-11-01 | 中国电子科技集团公司第三十研究所 | 一种移动应用加密协议报文类型解析方法及系统 |
CN115277888B (zh) * | 2022-09-26 | 2023-01-31 | 中国电子科技集团公司第三十研究所 | 一种移动应用加密协议报文类型解析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114358177B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yoshihashi et al. | Classification-reconstruction learning for open-set recognition | |
Wang et al. | App-net: A hybrid neural network for encrypted mobile traffic classification | |
CN109698836B (zh) | 一种基于深度学习的无线局域网入侵检测方法和系统 | |
CN112508085B (zh) | 基于感知神经网络的社交网络链路预测方法 | |
WO2023179429A1 (zh) | 一种视频数据的处理方法、装置、电子设备及存储介质 | |
Song et al. | Encrypted traffic classification based on text convolution neural networks | |
CN114615093A (zh) | 基于流量重构与继承学习的匿名网络流量识别方法及装置 | |
CN109831392A (zh) | 半监督网络流量分类方法 | |
US11658989B1 (en) | Method and device for identifying unknown traffic data based dynamic network environment | |
CN114330469B (zh) | 一种快速、准确的加密流量分类方法及系统 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN111565156A (zh) | 一种对网络流量识别分类的方法 | |
CN115037805B (zh) | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 | |
CN111130942B (zh) | 一种基于消息大小分析的应用流量识别方法 | |
CN113010705A (zh) | 标签预测方法、装置、设备及存储介质 | |
CN114172688A (zh) | 基于gcn-dl的加密流量网络威胁关键节点自动提取方法 | |
CN116192523A (zh) | 一种基于神经网络的工控异常流量监测方法和系统 | |
Chen et al. | Ride: Real-time intrusion detection via explainable machine learning implemented in a memristor hardware architecture | |
CN116246102A (zh) | 一种基于自编码器与决策树的图像分类方法与系统 | |
CN117082118A (zh) | 基于数据推导及端口预测的网络连接方法 | |
CN113935398B (zh) | 一种物联网环境下基于小样本学习的网络流量分类方法及系统 | |
CN116684133A (zh) | 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 | |
CN113887642B (zh) | 一种基于开放世界的网络流量分类方法及系统 | |
CN114358177B (zh) | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 | |
CN117633627A (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 |