CN114372536A - 未知网络流量数据识别方法、装置、计算机设备和存储介质 - Google Patents
未知网络流量数据识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114372536A CN114372536A CN202210038803.0A CN202210038803A CN114372536A CN 114372536 A CN114372536 A CN 114372536A CN 202210038803 A CN202210038803 A CN 202210038803A CN 114372536 A CN114372536 A CN 114372536A
- Authority
- CN
- China
- Prior art keywords
- data
- unknown
- flow
- network
- traffic
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013145 classification model Methods 0.000 claims abstract description 64
- 238000012549 training Methods 0.000 claims description 56
- 239000013598 vector Substances 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000004927 fusion Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000000513 principal component analysis Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification 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/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- 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/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
-
- 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/047—Probabilistic or stochastic networks
-
- 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/048—Activation functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种未知流量数据识别方法、装置、计算机设备和存储介质。所述方法包括:通过先利用已训练的已知流量分类模型对网络数据中的各流量数据进行分类,并得到各数据的分类预测结果,再根据一个自适应变化的未知流量判断阈值基于分类模型的预测不确定度对分类预测结果进行判断,初步得到可能为未知流量数据的网络数据也就是分类预测结果不确定度高的数据,再采用一个已训练的未知流量鉴别模型对这些初步判断为未知流量的网络数据进行再次识别,以提高未知流量数据识别的精准度。
Description
技术领域
本申请设计网络流量数据识别技术领域,特别是涉及一种未知网络流量数据识别方法、装置、计算机设备和存储介质。
背景技术
近年来,伴随着互联网快速发展,网络流量迎来爆炸性增长,互联网接入流量增长势头迅猛。但是迅猛的发展给网络安全带来了更大的挑战,网络流量的增长,使得未知流量参杂在网络流量数据流中,未知流量中可能存在威胁恶意流量,对用户的网络安全造成巨大威胁,其隐患不容小觑。因此,对未知流量的识别与分析成为了重要的研究主题。
现有的对未知流量的识别主要通过基于规则模型或基于机器学习方法,通过对已有的流量数据进行分析或训练,建立固定规则库或机器学习模型,对真实的网络流量数据进行分析识别,然而现有方法存在一些缺点:
首先,基于规则的方法受限于规则库建立的完备程度和规则的合理性,只能通过特定的字段或网络连接方式对未知流量鉴别,这种方式很容易被流量特征伪装,特征隐藏等技术进行突破,同时容易造成误判,识别效果没有保证。
其次,现有的机器学习方法大多在静态网络环境中进行训练和验证,将部分流量数据打上已知标签,另一部分打上未知标签进行分类验证,训练模型并测试得到模型性能,没有考虑到实际情况下,模型对于无标注的未知流量无法进行有效训练和识别的实际问题。
最后,由于模型对于未知样本的预测结果往往置信度较低,现有的未知流量识别方法通过固定阈值判别其中的未知网络流量,但是这种固定阈值存在以下缺点,当流量数据较多时,固定阈值可能会筛选出大量的未知流量数据,极大的提高了分析利用的时间成本和计算代价;另外,当未知流量数据的特征变化较小,模型预测结果的置信度下降较少没有达到阈值时,这种方法会产生未知流量数据的漏报现象。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效识别出未知流量数据的未知网络流量数据识别方法、装置、计算机设备和存储介质。
一种未知网络流量数据识别方法,所述方法包括:
获取需要进行识别的网络流量数据集,所述网络流量数据集中包括多个已知流量数据和/或未知流量数据;
将所述网络流量数据集输入已训练的已知网络流量分类模型对所述集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络流量数据集中的未知流量数据。
在其中一实施例中,所述根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断包括:
若所述类别预测结果小于未知流量判断阈值,则判断所述类别预测结果对应的流量数据为未知流量数据;
若所述类别预测结果大于未知流量判断阈值,则判断所述类别预测结果对应的流量数据为已知流量数据;
当所述网络流量数据集中超过预设数量的流量数据初步判断为未知流量数据,则将类别预测结果最低的预设数量个流量数据判断为未知流量数据。
在其中一实施例中,当根据类别预测结果以及未知流量判断阈值进行未知流量数据的初步判断时,所述未知流量判断阈值是自适应变化的:
所述自适应的未知流量判断阈值的初始值为预设值,当所述网络流量数据集中不足预设数量的流量数据初步判断为未知流量数据,则以(1+a)的比例提高预设值,其中a为预设参数。
在其中一实施例中,训练所述已知网络流量分类模型包括:
获取已知流量数据训练集,所述已知流量数据训练集中包括有已进行类别标注的多个已知流量训练数据;
分别将各所述已知流量训练数据进行预处理后,将预处理后的所述已知流量训练数据输入已知网络流量分类模型进行训练,直至使其具备对已知流量数据进行分类的能力。
在其中一实施例中,训练所述未知流量鉴别模型包括:
获取训练所述已知网络流量分类模型的已知流量数据训练集,并将其中各已知流量训练数据标记为已知类;
获取混合网络流量数据集,所述混合网络流量数据集中包括已知流量数据和未知流量数据,将所述混合网络流量数据采用所述已知网络流量分类模型进行类别预测,并根据所述类别预测结果筛选出未知流量数据并标记为未知类,将所述混合网络流量数据集中剩余的流量数据标记为已知类;
将标记为已知类的已知流量训练数据和混合网络流量数据集中剩余的流量数据,以及标记为未知类的从混合网络流量数据集中筛选出来的未知流量数据进行预处理后,对所述未知流量鉴别模型进行训练直至使其具备鉴别已知流量数据以及未知流量数据的能力。
在其中一实施例中,在将数据集输入所述已知网络流量分类模型以及未知流量鉴别模型之间进行预处理之后,均得到与所述数据集相应的一维向量数据,二维向量数据以及三维向量数据;
在其中一实施例中,所述已知网络流量分类模型以及未知流量鉴别模型均包括:
一维网络模型,将所述一维向量数据对应输入该网络模型中提取流量数据的一维向量特征;
二维网络模型,将所述二维向量数据对应输入该网络模型中,用于提取流量数据的二维向量特征,以及
三维网络模型,将所述三维向量数据对应输入该网络模型中,用于提取流量数据的三维向量特征。
本申请还提供了一种未知网络流量数据识别装置,所述装置包括:
网络流量数据集获取模块,用于获取需要进行识别的网络流量数据集,所述网络流量数据集中包括多个已知流量数据和/或未知流量数据;
未知流量数据初步判断模块,用于将所述网络流量数据集输入已训练的已知网络流量分类模型对所述网络流量数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
未知流量数据最终识别模块,用于将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络流量数据集中的未知流量数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取需要进行识别的网络流量数据集,所述网络流量数据集中包括多个已知流量数据和/或未知流量数据;
将所述网络流量数据集输入已训练的已知网络流量分类模型对所述网络流量数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络流量数据集中的未知流量数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取需要进行识别的网络流量数据集,所述网络流量数据集中包括多个已知流量数据和/或未知流量数据;
将所述网络流量数据集输入已训练的已知网络流量分类模型对所述网络流量数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络流量数据集中的未知流量数据。
上述未知流量数据识别方法、装置、计算机设备和存储介质,通过先利用已训练的已知流量分类模型对网络流量数据中的各流量数据进行分类,并得到各数据的分类预测结果,再根据一个自适应变化的未知流量判断阈值基于分类模型的预测不确定度对分类预测结果进行判断,初步得到可能为未知流量数据的网络流量数据也就是分类预测结果不确定度高的数据,再采用一个已训练的未知流量鉴别模型对这些初步判断为未知流量的网络流量数据进行再次识别,以提高未知流量数据识别的精准度,同时,未知流量判断阈值是根据实际处理的数据中未知网络流量数据的识别不确定程度进行自适应调整的,这样既能保证初步有效识别出一定数量的未知流量数据,又能够尽可能的提取其中最有代表性的流量数据,方便未知流量鉴别模型分析和利用。
附图说明
图1为一个实施例中未知流量数据识别方法的流程示意图;
图2为一个实施例中多维度深度神经网络融合模型结构示意图;
图3为一个实施例中pcap文件结构意图;
图4为一个实施例中二维数据可视化示意图;
图5为一个实施例中三维数据可视化示意图;
图6为一个实施例中未知流量数据识别方法的实际操作的流程示意框图;
图7为一个实施例中未知流量数据识别装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在现有技术中,对未知流量数据的识别是基于分类模型对于未知样本的预测结果往往置信度较低,而通过设定一个固定阈值判断其中的未知流量数据,但是这种识别方法往往识别出来的未知流量数据不够准确。并且由于该阈值是固定的,当需要识别的流量数据较多时,固定阈值可能会筛选出大量的未知流量数据,极大的提高了分析利用的时间成本和计算代价,另外当未知流量数据的特征变化较小时,模型预测结果的置信度下降而没有达到阈值时,这种方法会产生未知流量数据的漏报现象。
针对上述问题,如图1所示,本申请提供了一种未知网络数据识别方法,包括以下步骤:
步骤S100,获取需要进行识别的网络数据集,所述网络数据集中包括多个已知流量数据和/或未知流量数据;
步骤S110,将所述网络数据集输入已训练的已知网络流量分类模型对所网络数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
步骤S120,将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络数据集中的未知流量数据。
为了解决上述问题,在本方法中设计了一个自适应变化的未知流量判断阈值根据已知网络流量分类模型输出的分类预测结果对网络数据集中的流量数据进行初步判断,先筛选出一部分可能为未知的流量数据,再通过一个未知流量鉴别模型进行最终的识别,以识别出网络数据集中的未知流量数据,这样的识别方法在有效提高识别的准确性的同时还通过自适应的未知流量判断阈值减少了分析时间及计算代价。
在步骤S100中,网络数据集为一段时间内在网络上搜集的需要进行识别的各种流量数据。而网络数据集中可能只含有已知流量数据或未知流量数据,但更多的是已知流量数据和未知流量数据均包含,而本方法就是通过对已知流量数据进行分类后,将分类并不明确的流量数据再进行鉴别确定是否为未知流量数据。
在步骤S110中,利用已训练的已知网络流量分类模型能够对网络数据集中的已知的流量数据类别进行预测,对于一个样本x,定义分类模型M的决策信息融合层输出的结果为SN(x)={s1,...,sN},对应样本x数据不同类别n的概率,其中N为训练当前模型时使用的已知流量类别个数,则取s*=max(sn)作为模型对样本x的预测置信度。
实际使用过程中,首先基于以及训练好的已知网络流量分类模型对实际需要处理的流量数据包进行类别预测,而实际需要处理的流量数据包中可能含有已知的流量数据,也包含多个未知类型的流量数据。设P是实际处理的包含未知网络流量Pu和已知网络流量Pc的混合网络流量数据包,则首先使用已知网络流量分类模型对模型中的每一个样本进行预测,由于模型对未知流量的特征尚不明确,预测结果置信度较低。因此,在本申请中设定了一个自适应的未知流量判断阈值θ,样本预测类别结果的置信度较低的未知网络流量数据,会从混合网络流量包中筛选出来。
在利用未知流量判断阈值进行筛选时,是根据该类别预测结果与自适应的未知流量判断阈值进行比较:若类别预测结果小于未知流量判断阈值,则判断类别预测结果对应的流量数据为未知流量数据。若类别预测结果大于未知流量判断阈值,则判断类别预测结果对应的流量数据为已知流量数据。当网络数据集中超过预设数量的流量数据初步判断为未知流量数据,则将类别预测结果最低的预设数量个流量数据判断为未知流量数据。
而当整个网络数据集中的由未知流量判断阈值判断的未知流量数据不足预设数量时,则以(1+a)的比例提高预设值,其中a为预设参数。
具体的,未知流量判断阈值采用的是自适应调整策略,而该策略的主要目的是尽可能准确的从网络数据集中,筛选出未知流量数据。因此θ首先给定默认初始值,一般取值为0.9,且上限设置为0.98,若筛选出的未知网络流量数据不足2000,则会以(1+a)的比例提高θ值,其中a为预设参数,若筛选出的未知网络流量数据超过2000,则会根据不确定程度选择模型预测置信度最低的前2000个流量数据未知流量样本。
由于单纯的未知流量判断阈值θ值判定并不能完整识别出混合流量数据中未知流量,为解决此问题,在本实施例中还设计了未知流量鉴别模型,利用二分类的方法,分为已知网络流量和未知网络流量两类,通过神经网络模型进行训练,使得鉴别模型具有从混合流量数据包中尽可能的筛选未知流量的能力。也就是步骤S120中,利用未知流量鉴别模型将根据未知流量判断阈值判断为置信度低也就是可能为未知流量数据的数据再次进行识别,以最终识别出网络数据集中的未知流量数据。
接下来,将具体介绍本方法中的已知网络流量分类模型以及未知流量鉴别模型。
在本实施例中,已知网络流量分类模型以及未知流量鉴别模型均为多维度融合的深度学习模型,对网络流量数据在不同维度下的特征进行有效提取,取得较好的识别精度。
具体的,在对已知网络流量分类模型进行构建时,提出了一种基于深度神经网络的已知网络流量分类模型,深度神经网络模型方面选择卷积神经网络(ConvolutionalNeural Networks,CNN),作为基础模型,CNN支持对不同维度的数据特征进行学习,在训练已知网络流量分类模型的过程中。
如图2所示,已知网络流量分类模型使用的多维度深度神经网络融合模型,包括:一维网络模型、二维网络模型、三维网络模型以及决策信息融合层(也就是图2中的模型决策信息融合),将与已知流量训练数据对应的一维向量数据、二维向量数据以及三维向量数据输入对应的一维网络模型、二维网络模型以及三维网络模型进行特征提取,再将分别提取的特征输入决策信息融合层进行特征融合后再输出已知流量训练数据的类别预测结果。
进一步的,在已知网络流量分类模型中使用了一维,二维和三维CNN模型并对模型的决策信息进行融合,作为最终的已知网络流量分类模型,输出网络流量数据的类别信息。
一维CNN分类输入向量尺寸为1×1456。二维CNN分类模型输入向量尺寸为39×39,能够被可视化为灰度二维图像。三维CNN分类模型中,输入向量被转化为22×22×3的三维张量,能够可视化为24比特的RGB图像。对于每个分类模型,输入的向量通过两个连续的卷积层进行特征提取,每次卷积之后通过ReLU函数激活,以提高模型收敛速度。特征提取之后,通过致密层进行特征组合,最后使用Softmax层对输出概率归一化,最终映射为流量数据属于某个类别的概率。
在本实施例中,提供了已知网络流量分类模型的详细参数如表1所示:
表1已知网络流量分类模型详细参数
在本实施例中,训练上述已知网络流量分类模型包括:获取已知流量数据训练集,已知流量数据训练集中包括有已进行类别标注的多个已知流量训练数据,分别将各已知流量训练数据进行预处理得到与各已知流量训练数据对应的一维向量数据、二维向量数据以及三维向量数据;将预处理后的已知流量训练数据输入已知网络流量分类模型进行训练,直至使其具备对已知流量数据进行分类的能力。
具体的,网络流量数据通常用pcap格式进行存储,pcap是一种通用的网络流量数据格式。使用Wireshark打开了一个pcap文件,Wireshark软件抓取或打开的流量包,展示了流量数据获取的序号(No.),获取的时间(Time),本条流量的源IP地址(Source)和目标IP地址(Destination),本条流量的协议(Protocol),本条流量的长度大小(Length)以及本条浏流量所包含的信息(Info)。pcap作为一种数据流格式,其数据的基本结构如图3所示。
一个pcap文件由文件头(pacp header)和m个流量包包头(packet header)和流量包数据(packet data)组成,其中m是该pcap文件中包含的packet数量。
文件头部分有24个字节,包含以下主要内容:Magic(4Byte):标记文件开始,并用来识别文件自己和字节顺序;Major(2Byte):当前文件主要的版本号;Minor(2Byte):当前文件次要的版本号;ThisZone(4Byte):当地的标准时间,如果用的是GMT则全零,一般都直接写0000 0000;SigFigs(4Byte):时间戳的精度;SnapLen(4Byte):最大的存储长度;LinkType(4Byte):链路类型。
流量包包头部分有16个字节,包含以下主要内容:TimestampHigh(4Byte):被捕获时间的高位,精度为秒(seconds);TimestampLow(4Byte):被捕获时间的低位,精度为毫秒(microseconds);Caplen(4Byte):当前数据区的长度,即抓取到的数据帧长度,不包括流量包包头本身的长度,单位是字节(Byte),由此可以得到下一个数据帧的位置;Len(4Byte):离线数据长度:网络中实际数据帧的长度,一般不大于当前数据区的长度(Caplen),多数情况下和Caplen数值相等。
流量包数据:在流量包包头之后,就是流量包数据了,数据长度就是Caplen个Byte,在此之后是一个新的流量包包头,新的流量包数据,如此循环。
根据pcap文件的结构,在本方法中将pcap文件读取为Packets列表,读取时忽略文件头的24字节,只关注有效载荷。为了保证输入到已知网络流量分类模型中的特征的一致性,在流量数据特征处理过程中,首先将流量数据包Packets不同长度的有效载荷统一为max_len长度,max_len即为一维特征向量的长度,如果有效载荷不足,将其中不足的位数以0进行填充。之后把一维向量转化为二维特征向量和三维特征向量,用于训练不同维度的深度神经网络模型。
在本实施例中,还提供了对流量数据进行预处理的伪代码,包括:
将二维(39×39)可视化为灰度图,三维(22×22×3)可视化为24位的RGB图,如图4、图5所示。经过预处理处理后的pcap网络流量数据包,都转化了长度相同的一维、二维、三维向量,并将这三种类型的向量作为已知网络流量分类模型的输入,用于训练和预测模型。
在本实施例中,与已知网络流量分类模型相同的是未知流量鉴别模型的结构同样包括一维,二维和三维CNN模型对应输入一维、二维及三维向量特征进行特征提取,而与已知网络流量分类模型不相同的是,未知网络流量鉴别模型的输出层输出类别数量为2,同时把Softmax层改为Sigmoid层。Sigmoid函数连续、光滑、严格单调、中心对称,是一个非常良好的阈值函数,并且Sigmoid函数主要针对二分类问题,它可以不满足概率分布。在本实施例中,网络结构如表2所示:
表2未知网络流量鉴别模型详细参数
而在对未知流量鉴别模型进行训练时包括:获取训练已知网络流量分类模型的已知流量数据训练集,并将其中各已知流量训练数据标记为已知类,获取混合网络数据集,混合网络数据集中包括已知流量数据和未知流量数据,将混合网络数据采用所述已知网络流量分类模型进行类别预测,并根据类别预测结果筛选出未知流量数据并标记为未知类,将混合网络数据集中剩余的流量数据标记为已知类。将标记为已知类的已知流量训练数据和混合网络数据集中剩余的流量数据,以及标记为未知类的从混合网络数据集中筛选出来的未知流量数据进行预处理后,对未知流量鉴别模型进行训练直至使其具备鉴别已知流量数据以及未知流量数据的能力。
从上文中可以看出,已知网络流量分类模型以及未知流量鉴别模型并不是同时训练的,是在将已知网络流量分类模型训练完成后,采用该分类模型对混合流量包进行分类后,同样的再通过未知流量判断阈值进行初步识别后的未知流量数据作为未知流量鉴别模型的训练数据。这样在训练未知流量鉴别模型时不需要未知流量的先验信息,直接采用已知网络流量分类模型进行分类后的数据即可,提高了模型训练的灵活性。
具体的,未知流量鉴别模型的训练数据来自两部分,一部分是训练已知网络流量分类模型时使用的含标签的已知流量数据(也就是已知流量训练数据),这部分数据将会统一打上已知流量的标签(也就是已知类),而另一部分是从混合流量包中筛选出来的未知流量数据,并统一打上未知流量的标签(也就是未知类),而混合流量数据包中剩余的也就是被识别为已知流量数据的也统一打上已知流量的标签。再使用上述预处理的方法将流量数据提取一维、二维和三维向量数据,对未知流量鉴别模型进行训练。
在本申请中,还提供了一种未知流量鉴别的过程算法:
在本实施例中,在训练后得到的未知流量鉴别模型再次对初步判断为未知流量数据的网络进行预测,从中筛选出更准确的未知流量数据部分,组成未知网络流量数据包Punknow进行自适应标注。将未知流量数据进行类别标注的过程也就是对其进行认识的过程,将其变为已知流量数据,并利用其对已知网络流量分类模型进行训练及更新。
在本实施例中,提供了一种未知流量自适应标注方法,主要包括特征降维和自适应聚类两个步骤。由于高维度流量数据很难直接使用,需要对其进行降维,提高运算效率和聚类精确度。而传统方法一般从高维特征中选择某几个特征,这种方法会丧失不同维度上的特征信息,因此,在本方法中的聚类采用PCA(Principal Component Analysis,主成分分析方法),PCA是一种常用的数据分析方法,通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
PCA的思想是将n维特征映射到k维空间上k<n,这k维特征是全新的正交特征,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主子空间,即最大方差理论。在本实施例中,还提供了一种降维过程算法:
自适应标注方法通过对未知流量数据的聚类来实现,同时为了取得最佳的聚类效果,在聚类类别数量值选择上,从2到T进行遍历,其中T一般预先设定为10,为最高的类别数量。再采用用轮廓系数法对聚类结果进行评价,轮廓系数值越高,则聚类效果越好。选择轮廓系数值最高的值作为聚类数,并使用相应模型聚类,得到未知流量数据的类别标签,聚类模型选择了K-means模型。在本实施例中,还提供了一种聚类过程算法:
根据自适应聚类结果构造标注后的网络流量数据集Pnew_L,给未知网络流量标注后,这些流量数据可以加入最早的已知网络流量数据集,训练及更新已知网络流量分类模型,通过此过程,模型可以不断地识别并标注网络中新出现的未知流量,在动态演进的实际网络环境中,始终高效准确的识别未知流量。
在本申请中,在按照未知网络数据识别方法进行实际操作时还可以按照图6所示的流程框图进行实施。
上述未知网络数据识别方法中,通过先利用已训练的已知流量分类模型对网络数据中的各流量数据进行分类,并得到各数据的分类预测结果,再根据一个自适应变化的未知流量判断阈值基于分类模型的预测不确定度对分类预测结果进行判断,初步得到可能为未知流量数据的网络数据也就是分类预测结果不确定度高的数据,再采用一个已训练的未知流量鉴别模型对这些初步判断为未知流量的网络数据进行再次识别,以提高未知流量数据识别的精准度,同时,未知流量判断阈值是根据实际处理的数据中未知网络数据的识别不确定程度进行自适应调整的,这样既能保证初步有效识别出一定数量的未知流量数据,又能够尽可能的提取其中最有代表性的流量数据,方便未知流量鉴别模型分析和利用。
其中,在对未知流量鉴别模型进行训练时,模型的启动并不需要未知流量的先验信息,只需要使用已知的网络流量训练已知流量分类模型,通过分类模型的预测不确定度,判断未知网络流量。符合实际应用中,无法提前对未知流量进行预知的实际需求。
在本方法中,两个模型均采用多维度融合的深度学习模型,对网络流量数据在不同维度下的特征进行有效提取,取得较好的识别精度。
在本方法中,已知流量分类模型通过设定自适应的未知流量识别阈值,根据实际处理的数据中未知网络数据的识别不确定程度,自适应调整阈值,既能够保证有效识别出一定数量的未知网络流量,又能够尽可能的提取其中最具有代表性的流量数据,方便未知流量鉴别模型对于未知流量的分析和利用。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种未知网络数据识别装置,包括:网络数据集获取模块200、未知流量数据初步判断模块210和未知流量数据最终识别模块220,其中:
网络数据集获取模块200,用于获取需要进行识别的网络数据集,所述网络数据集中包括多个已知流量数据和/或未知流量数据;
未知流量数据初步判断模块210,用于将所述网络数据集输入已训练的已知网络流量分类模型对所述网络数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
未知流量数据最终识别模块220,用于将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络数据集中的未知流量数据。
关于未知网络数据识别装置的具体限定可以参见上文中对于未知网络数据识别方法的限定,在此不再赘述。上述未知网络数据识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种未知网络数据识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取需要进行识别的网络数据集,所述网络数据集中包括多个已知流量数据和/或未知流量数据;
将所述网络数据集输入已训练的已知网络流量分类模型对所述网络数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络数据集中的未知流量数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取需要进行识别的网络数据集,所述网络数据集中包括多个已知流量数据和/或未知流量数据;
将所述网络数据集输入已训练的已知网络流量分类模型对所述网络数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络数据集中的未知流量数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.未知网络数据识别方法,其特征在于,所述方法包括:
获取需要进行识别的网络流量数据集,所述网络流量数据集中包括多个已知流量数据和/或未知流量数据;
将所述网络流量数据集输入已训练的已知网络流量分类模型对所述集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络流量数据集中的未知流量数据。
2.根据权利要求1所述的未知网络流量数据识别方法,其特征在于,所述根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断包括:
若所述类别预测结果小于未知流量判断阈值,则判断所述类别预测结果对应的流量数据为未知流量数据;
若所述类别预测结果大于未知流量判断阈值,则判断所述类别预测结果对应的流量数据为已知流量数据;
当所述网络流量数据集中超过预设数量的流量数据初步判断为未知流量数据,则将类别预测结果最低的预设数量个流量数据判断为未知流量数据。
3.根据权利要求2所述的未知网络流量数据识别方法,其特征在于,当根据类别预测结果以及未知流量判断阈值进行未知流量数据的初步判断时,所述未知流量判断阈值是自适应变化的:
所述自适应的未知流量判断阈值的初始值为预设值,当所述网络流量数据集中不足预设数量的流量数据初步判断为未知流量数据,则以(1+a)的比例提高预设值,其中a为预设参数。
4.根据权利要求1所述的未知网络流量数据识别方法,其特征在于,训练所述已知网络流量分类模型包括:
获取已知流量数据训练集,所述已知流量数据训练集中包括有已进行类别标注的多个已知流量训练数据;
分别将各所述已知流量训练数据进行预处理后,将预处理后的所述已知流量训练数据输入已知网络流量分类模型进行训练,直至使其具备对已知流量数据进行分类的能力。
5.根据权利要求4所述的未知网络流量数据识别方法,其特征在于,训练所述未知流量鉴别模型包括:
获取训练所述已知网络流量分类模型的已知流量数据训练集,并将其中各已知流量训练数据标记为已知类;
获取混合网络流量数据集,所述混合网络流量数据集中包括已知流量数据和未知流量数据,将所述混合网络流量数据采用所述已知网络流量分类模型进行类别预测,并根据所述类别预测结果筛选出未知流量数据并标记为未知类,将所述混合网络流量数据集中剩余的流量数据标记为已知类;
将标记为已知类的已知流量训练数据和混合网络流量数据集中剩余的流量数据,以及标记为未知类的从混合网络流量数据集中筛选出来的未知流量数据进行预处理后,对所述未知流量鉴别模型进行训练直至使其具备鉴别已知流量数据以及未知流量数据的能力。
6.根据权利要求5所述的未知网络流量数据识别方法,其特征在于,在将数据集输入所述已知网络流量分类模型以及未知流量鉴别模型之间进行预处理之后,均得到与所述数据集相应的一维向量数据,二维向量数据以及三维向量数据。
7.根据权利要求5所述的未知网络流量数据识别方法,其特征在于,所述已知网络流量分类模型以及未知流量鉴别模型均包括:
一维网络模型,将所述一维向量数据对应输入该网络模型中提取流量数据的一维向量特征;
二维网络模型,将所述二维向量数据对应输入该网络模型中,用于提取流量数据的二维向量特征,以及
三维网络模型,将所述三维向量数据对应输入该网络模型中,用于提取流量数据的三维向量特征。
8.一种未知网络流量数据识别装置,其特征在于,所述装置包括:
网络流量数据集获取模块,用于获取需要进行识别的网络流量数据集,所述网络流量数据集中包括多个已知流量数据和/或未知流量数据;
未知流量数据初步判断模块,用于将所述网络流量数据集输入已训练的已知网络流量分类模型对所述网络流量数据集中的各流量数据的类别进行预测,输出相应的类别预测结果,并根据该类别预测结果以及自适应的未知流量判断阈值对各所述流量数据进行未知流量数据的初步判断;
未知流量数据最终识别模块,用于将初步判断为未知流量数据的流量数据输入已训练的未知流量鉴别模型进行最终识别,以识别出所述网络流量数据集中的未知流量数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210038803.0A CN114372536A (zh) | 2022-01-13 | 2022-01-13 | 未知网络流量数据识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210038803.0A CN114372536A (zh) | 2022-01-13 | 2022-01-13 | 未知网络流量数据识别方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114372536A true CN114372536A (zh) | 2022-04-19 |
Family
ID=81143786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210038803.0A Pending CN114372536A (zh) | 2022-01-13 | 2022-01-13 | 未知网络流量数据识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114372536A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002032A (zh) * | 2022-05-13 | 2022-09-02 | 中国工商银行股份有限公司 | 网络流量的控制方法、装置、处理器及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726744A (zh) * | 2018-12-14 | 2019-05-07 | 深圳先进技术研究院 | 一种网络流量分类方法 |
CN112381121A (zh) * | 2020-10-28 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于孪生网络的未知类别网络流量的检测与识别方法 |
-
2022
- 2022-01-13 CN CN202210038803.0A patent/CN114372536A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726744A (zh) * | 2018-12-14 | 2019-05-07 | 深圳先进技术研究院 | 一种网络流量分类方法 |
CN112381121A (zh) * | 2020-10-28 | 2021-02-19 | 中国科学院信息工程研究所 | 一种基于孪生网络的未知类别网络流量的检测与识别方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002032A (zh) * | 2022-05-13 | 2022-09-02 | 中国工商银行股份有限公司 | 网络流量的控制方法、装置、处理器及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108377240B (zh) | 异常接口检测方法、装置、计算机设备和存储介质 | |
CN114386514B (zh) | 基于动态网络环境下的未知流量数据识别方法及装置 | |
CN112839034B (zh) | 一种基于cnn-gru分层神经网络的网络入侵检测方法 | |
CN112926654B (zh) | 预标注模型训练、证件预标注方法、装置、设备及介质 | |
CN110046577B (zh) | 行人属性预测方法、装置、计算机设备和存储介质 | |
CN110008082B (zh) | 异常任务智能监测方法、装置、设备及存储介质 | |
CN111931179B (zh) | 基于深度学习的云端恶意程序检测系统及方法 | |
CN111738351A (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN110888911A (zh) | 样本数据处理方法、装置、计算机设备及存储介质 | |
CN111539317A (zh) | 车辆违规行驶检测方法、装置、计算机设备和存储介质 | |
CN110674479B (zh) | 异常行为数据实时处理方法、装置、设备及存储介质 | |
CN114553591B (zh) | 随机森林模型的训练方法、异常流量检测方法及装置 | |
CN112699923A (zh) | 文档分类预测方法、装置、计算机设备及存储介质 | |
CN112052816B (zh) | 基于自适应图卷积对抗网络的人体行为预测方法及系统 | |
CN111953665B (zh) | 服务器攻击访问识别方法及系统、计算机设备、存储介质 | |
CN112115860A (zh) | 人脸关键点定位方法、装置、计算机设备和存储介质 | |
CN114372536A (zh) | 未知网络流量数据识别方法、装置、计算机设备和存储介质 | |
CN115964432A (zh) | 基于大数据可视化的用户操作异常分析方法及系统 | |
CN111860582A (zh) | 图像分类模型构建方法、装置、计算机设备和存储介质 | |
CN112699858B (zh) | 无人平台烟尘雾感知方法、系统、计算机设备及存储介质 | |
CN114328942A (zh) | 关系抽取方法、装置、设备、存储介质和计算机程序产品 | |
CN111488574B (zh) | 恶意软件分类方法、系统、计算机设备和存储介质 | |
CN116886433A (zh) | 一种基于深度对比学习的加密异常流量检测方法 | |
CN115314268B (zh) | 基于流量指纹和行为的恶意加密流量检测方法和系统 | |
CN115713669A (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 |