CN110460605B - 一种基于自动编码的异常网络流量检测方法 - Google Patents
一种基于自动编码的异常网络流量检测方法 Download PDFInfo
- Publication number
- CN110460605B CN110460605B CN201910756525.0A CN201910756525A CN110460605B CN 110460605 B CN110460605 B CN 110460605B CN 201910756525 A CN201910756525 A CN 201910756525A CN 110460605 B CN110460605 B CN 110460605B
- Authority
- CN
- China
- Prior art keywords
- data
- calculating
- feature
- automatic coding
- features
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 44
- 238000003066 decision tree Methods 0.000 claims description 35
- 238000007637 random forest analysis Methods 0.000 claims description 32
- 238000013528 artificial neural network Methods 0.000 claims description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 abstract description 13
- 238000012360 testing method Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241001203928 Aethes Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000009466 transformation Effects 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/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于自动编码的异常网络流量检测方法,其特征在于,所述方法包括如下步骤:1)从原始特征中提取得到有效特征;2)将有效特征合并得到若干个特征子集;3)求出若干特征子集的均方根误差;4)将均方根误差进行聚类获取结果值;大大减少了训练和测试时间,降低了计算复杂度,实现轻量级的目的。
Description
技术领域
本发明涉及一种基于自动编码的异常网络流量检测方法,属于网络安全技术领域。
背景技术
网络安全已经成为当今世界上最重要的问题之一,网络数据容易受到各种类型的攻击,从而导致网络或系统的效率降低。入侵检测系统作为保障网络安全的重要技术之一,一直以来都受到业界人士的关注。入侵检测系统是一种计算机和网络的安全管理系统,核心是收集和分析计算机或网络中各个区域的信息,检查计算机或网络中的行为是否安全。入侵检测作为一种积极主动的安全防御技术,能够有效的保障网络的安全性。
随着时代进步与网络的发展,入侵检测技术也不断被应用与更新,由最初的统计学理论到今天的人工智能算法主导,入侵检测技术已经逐步趋向成熟。但是,随着网络拓扑结构的复杂化和入侵行为的多样化,现有的入侵检测技术己经渐渐呈现出一些弊端,主要体现在:
识别率不够高,现有的入侵检测技术的准确率较低,误报率和漏报率高。海量网络数据、入侵行为的多样化、入侵者越来越善于伪装成为了入侵检测难以克服的瓶颈;
自适应能力差,自适应能力主要指的是对新型入侵行为的检测能力,现有的入侵检测技术在这方面始终存在一定的欠缺,不能使其具有主动学习的能力,能够检测到未知的新型攻击;
处理海量数据的效率过低,大数据时代的来临,在短时间内会产生大量的网络数据,入侵检测就是要对这些大批量的数据中识别出入侵行为,这为当前的入侵检测技术带来了巨大挑战。
发明内容
本发明的目的在于提供一种轻量级的自动编码入侵检测方法,以解决现有技术中导致的上述识别率不够高、自适应能力差和处理海量数据的效率过低等缺陷。
一种基于自动编码的异常网络流量检测方法,所述方法包括如下步骤:
1)从原始特征中提取得到有效特征;
2)将有效特征合并得到若干个特征子集;
3)求出若干特征子集的均方根误差;
4)将均方根误差进行聚类获取结果值。
优选地,所述步骤1)中从原始特征中提取得到有效特征方法包括如下步骤:
11)从网络流量包提取特征进行高级特征提取,再加入原始特征得到新数据集;
12)将新的数据集采用随机森林算法得到有效特征。
优选地,所述随机森林算法采用以下方法计算:
搭建决策树构建随机森林算法;
从原始特征中不断的采取又放回式抽样,构建子数据集;
利用子数据集来构建子决策树,将子数据集放到每个子决策树中,对应输出一个结果;
通过对子决策树的判断结果进行投票,得到随机森林的输出结果;
计算随机森林中的决策树在袋外数据上的分类错误数;
在该决策树的袋外数据中对数据X的取值进行随机扰动,重新计算分类错误数;
优选地,所述步骤2)中将筛选的数据特征合并得到若干个特征子集的方法包括如下步骤:
21)按比例抽取阈值样本并计算得到待聚类数据点集;
22)计算待聚类数据点集的相似矩阵;
23)更新相似度矩阵中每个点的吸引度信息,并计算归属度信息;
24)更新归属度信息,计算吸引度信息;
25)对吸引度信息和归属度信息求和确定聚类中心;
26)根据聚类中心将相似度相近的特征聚集在一起,得到若干个特征子集。
优选地,所述聚类中心的判断方法包括如下步骤:
若经过若干次迭代之后其聚类中心不变、或者迭代次数超过既定的次数、又或者更新信息经过数次迭代后保持不变,则结束迭代。
优选地,所述聚类中心的判断方法包括如下步骤:
若经过若干次迭代之后其聚类中心不变、或者迭代次数超过既定的次数、又或者更新信息经过数次迭代后保持不变,则结束迭代。
优选地,所述均方根误差采用以下方法计算:
搭建自动编码神经网络;
使用极限学习机优化参数权重和偏置,损失函数为拟合数据和原始数据的均方根误差RMSE;
将经过特征选取后的网络流量数据分为稀疏矩阵和稠密矩阵,分别输入自动编码神经网络;
把稀疏矩阵或稠密矩阵中正常样本的比例输入自动编码神经网络,计算出权重和偏置;
将稀疏矩阵或稠密矩阵剩下的样本输入训练好的模型,计算均方根误差 RMSE,将其作为输出;
将均方根误差RMSE进行归一化,利用GMM或Kmeans对RMSE进行聚类,结果返回0或1,0代表正常流量,1代表异常流量。
与现有技术相比,本发明所达到的有益效果:本发明把原有特征进行有效的特征选取,来实现良好表示的效果和降低维度的作用,以改进浅层神经网络和传统无监督聚类算法(如Kmeans、GMM)在二元分类的结果;将最佳特征进行聚类,从而寻找关联性强的特征,实现特征合并;使用浅层神经网络学习在计算上大大减少了训练和测试时间,降低了计算复杂度,实现轻量级的目的。此外,基于自学习的多层自动编码器可以提升无监督聚类算法(GMM或者Kmeans)的准确度和精确度;在训练中我们利用随机森林进行特征选取,不会在测试过程中使用标签来明确指示数据包是恶意的还是良性的。在线实时检测直接使用筛选好的特征信息,相比离线检测,不需要再进行特征选取而延误时间。
附图说明
图1是本发明的流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
实施例一
一种基于自动编码的异常网络流量检测方法,所述方法包括如下步骤:
步骤1从原始特征中提取得到有效特征;具体为,从网络流量包pcap提取特征,利用pandas.DataForm将其存入文件中,并进行高级特征提取操作,将其加入原始特征得新数据集;搭建1000棵决策树构建随机森林算法,在随机森林中的每个树都是从原始的数据集中采取有放回的抽样,构建子数据集;利用子数据集来构建子决策树,将子数据集放到每个子决策树中,每个子决策树输出一个结果;通过对子决策树的判断结果进行投票,得到随机森林的输出结果;对于随机森林中的决策树T,计算它在自己袋外(out of bag)数据上的分类错误数 Ei;在该决策树的袋外数据中对数据X的取值进行随机扰动,重新计算其分类错误数Exi。计算新数据集所有单个特征的重要性;令i=1,2,…,n,重复以上两步,其中n是随机森林包含的决策树个数,特征的重要性定义为:其中,Exi表示分类错误数,Ei表示重新计算分类错误数。得到最佳特征,就相当于得到有效特征,实现降维和特征筛选。
步骤2将有效特征并得到若干个特征子集;具体为,抽取a%的有效特征(最佳特征)的正常样本(例如20%),并计算其各个特征的平均值,得到待聚类数据点集;计算待聚类数据点集的相似矩阵;更新相似度矩阵中每个点的吸引度信息,并计算归属度信息;更新归属度信息,计算吸引度信息;对样本点的吸引度信息和归属度信息求和,确定是否能选择其作为聚类中心;若经过若干次迭代之后其聚类中心不变、或者迭代次数超过既定的次数、又或者更新信息经过数次迭代后保持不变,则结束迭代,否则跳转到更新相似度矩阵中每个点的吸引度信息,并计算归属度信息这一步骤;将相似度相近的特征聚集在一起,得到若干个特征子集。
步骤3求出若干特征子集的均方根误差;具体为,搭建自动编码神经网络,自动编码神经网络由多层神经网络构建而成。其中,第一层和最后一层神经网络的节点的数量是一样的,为输入层和输出层,其它为中间层;使用极限学习机优化参数权重和偏置,损失函数为拟合数据和原始数据的均方根误差RMSE;将经过特征选取后的网络流量数据分为稀疏矩阵和稠密矩阵,分别输入自动编码神经网络,有n个特征子集就有n个自动编码神经网络,有n个自动编码神经网络,就有n个RMSE输出,对n个RMSE求平均作为损失函数;训练阶段,把稀疏矩阵或稠密矩阵中正常样本的A%比例输入自动编码神经网络,计算出权重和偏置;执行阶段,将稀疏矩阵或稠密矩阵剩下的样本输入训练好的模型,计算RMSE,将其作为输出。
步骤4将均方根误差进行聚类获取结果值;将RMSE进行归一化,利用 GMM/Kmeans对RMSE进行聚类,结果返回0/1值,0代表正常流量,1代表异常流量。
实施例二
本发明的整体思路为,首先通过随机森林算法对原有特征进行有效的特征选取,再将特征选取好了的正常数据利用Affinity Propagation聚类算法(AP) 对最佳特征进行相似度比对,寻找关联性强的特征,然后采用自动编码器 (AutoEncoder)为网络结构,使用三层网络结构和较少的参数重构新的数据,从而计算原始数据和降维数据之间的均方根误差(RMSE)。在此期间我们还使用极限学习机去优化权重和偏置,使得正常样本和重构数据的差异等于0,这样我们的模型在训练阶段具备有良好的表达能力。最后在测试阶段只要将通过特征选取好了的数据输入我们的模型计算均方根误差,而后只需利用高斯混合模型(GMM)或者Kmeans对RMSE进行无监督聚类。
本发明的特征选取模块包括以下步骤:
步骤1:随机森林从原始特征的数据集中采用Bootstrap抽样方法产生随机森林的训练集。对于一个含有k个样本的数据集,进行随机抽取k次,每一次抽取都是从k个样本选中一个,然后复制一份出来,在下一次抽取的时候,其候选的样本集合仍然是k个。由于每一次都是随机抽取,每一个样本被等概率的抽取,有的样本可能不止一次的被选中,而有的样本可能一次也没有被选中,一次也没有被选中的样本被称为袋外数据。经过反复的大量实验验证,训练集大约占所有样本集合的三分之二,剩余三分之一的样本作为单独的测试集。袋外数据样本不仅可以用于评价对应决策树的性能,而且可以实现特征重要性度量,进而实现特征选择。
步骤2:训练集的随机抽取,在一定程度上实现了随机森林的多样性。为了加强随机森林的多样性,在训练集多样性的基础上,随机森林对决策树分裂特征的选择进行了进一步的改进。对于一个含有个特征的数据集,构成随机森林的决策树在每一个决策节点不再遍历所有的特征,选一个最好的特征分割节点,相反,它先从所有的特征空间随机抽取小于个特征作为候选分割特征集,用于分割节点的特征是在所有的候选分割特征集中表现最好的特征。
步骤3:从所有的特征空间中选择多少个特征作为候选分割特征,是随机森林的一个参数,而且该参数对随机森林的性能有至关重要的影响,尤其随机森林用于分类问题时。在实际应用中,经过无数次的尝试,有一个默认的经验值,其数值大小为所有特征个数的算数平方根。可以以该数值为参考向其左右调整优化。随机森林自身仅受两个参数的影响,除了其包含决策树棵树的大小之外,就是候选分割特征集的大小。得益于随机选择少于个特征作为一个决策节点的候选分割特征集合,在大数理论的支持下,随机森林能够做到不存在“过拟合”问题。
步骤4:随机森林的输出可以采用不同的方式对每一棵决策树的输出结果进行集成,使用最简单的方式是线性集成,就是把每一棵决策树的结果拿过来进行投票,每一个被预测样本的最终类标,按照多数投票的原则,被投到哪一类的次数最多,该类对应的类标作随机森林特征选择为该样本的预测类标。
步骤5:在利用随机森林做特征选择时,以每一棵决策树为出发点计算特征的Premutation Importance得分。为了计算一棵决策树对一个特征的PremutationImportance重要性度量结果,需要保证在其它特征不发生变化的前提下,对该决策树的样本在该特征上的取值分布进行重排,这意味着样本在该特征上与类标的对应关系被破坏。
步骤5:利用该决策树重新预测“新”样本的类标。针对该特征,在样本与类标对应关系被打乱前以及打乱后,决策树会分别对样本进行预测,每一次预测会计算其预测正确率,前后两次预测正确率的差值就是该决策树对该特征重要性的度量结果。两次预测正确率相减会出现三种情况正值、负值和零。如果这个特征是好特征,在不同类样本之间有区分度,随机重排之后,其区分度应该下降,对应的得分应该是一个正值;如果这个特征是不好的特征,在不同类样本之间混乱分布,随机重排之后,有可能使得混乱程度降低,对应的得分应该是一个负值;如果这个特征是无关特征,样本在该特征上与类标是无关的,无论如何重新排列,其结果是不变的,对应的得分应该是零。特征的最终得分是所有决策树共同作用的结果,得分高的特征,其重要性要超过得分比它低的特征。
步骤6:随机森林在得到特征的得分后,可以完成特征选择过程。所有的特征根据各自的得分,按照从大到小的顺序降序排列。根据预先设定保留特征子集的大小选取特征子集,只保留得分大于零的特征。
本发明的特征合并模块包括以下步骤:
步骤1:令数据集X={x1,x2,x3,...,xN},设在数据的特征空间中存在一些比较紧密的聚类C={C1,C2,C3,...,Ck},k∈N。每个数据点对应且仅对应一个聚类,令xc(i)表示任意点对应的聚类代表点,i∈1,2,3,...,N。则定义聚类的误差函数为:算法的目标就是寻找最优类代表点集合,使得误差函数最小,即C*=argmin[J(C)];
步骤3:算法首先将数据集的所有N个样本点都视为候选的聚类中心,为每个样本点建立与其它样本点的吸引程度信息,即任意2个样本点和之间的相似度。相似性通常被设定为两点欧氏距离平方的负数:
s(i,j)被存储在相似度矩阵中sN*N,表示数据点xi在多大程度上适合作为数据点xj的类代表点。点xi对距其较近的点吸引程度更大,如果xi处于簇中心,则对其他数据点的吸引力之和较大,成为聚类中心的可能性也越大;如果xi在簇的边缘,则对其他点的吸引力之和较小,成为聚类中心的可能性也较小。
步骤4:在聚类之前,算法为每个数据点xi设定其偏向参数s(i,i)。s(i,i)的值越大,相应的点xi被选中作为类代表点的可能性也就越大。算法通常假设所有样本点被选中成为类代表点的可能性相同,即设定所有s(i,i)为相同值p。这是算法中的一个重要参数,p值的大小将影响到最终得到聚类的个数,因为p越大,越多的数据点倾向于成为最终的类代表点,则最终输出的聚类数目越大,反之,如果p越小,则最终输出的聚类数目就越小。因此,算法可以通过改变p值来寻找合适的类的数目。将p设为相似度矩阵中的相似度均值:
步骤5:算法为选出合适的聚类中心而不断搜索两个不同的信息:吸引度信息和归属度信息,两个信息量代表了不同的竞争目的。对每个数据点xi为xj搜集信息,r(i,j)用代表吸引度信息,由样本点xi指向候选聚类中心xj,用表示xj适合作为xi的类代表点的代表程度。也为数据点xi从候选类代表点搜集信息,用a(i,j)来代表归属度信息,由候选聚类中心xj来指向样本点xj,用来表示数据点xj选择数据点xj作为其类代表的适合程度。r(i,j)与a(i,j)越大,点xj作为最终聚类中心的可能性就越大。每个样本点通过反复迭代,各样本点进行竞争而得到最终的聚类中心。
步骤6:算法的迭代过程就是这两个信息量交替更新的过程,算法初始阶段,r(i,j)和a(i,j)都设为0,两个信息的更新过程如下:
a(i,j)=min{0,r(i,j)+∑i′≠i,j′≠jmax[0,r(i,j′)]},i≠j,
a(i,j)=∑i′≠jmax[0,r(i′,j)],i=j。
算法在信息更新时引入了另一个重要的参数l,称为阻尼因子。在每一次循环迭代中,r(i,j)和a(i,j)的更新结果都是由当前迭代过程中更新的值和上一步迭代的结果加权得到的,目的是避免迭代过程中出现数值震荡。设0≤l≤1,默认值为0.5,阻尼因子l的作用是改进收敛性,当AP算法在迭代过程中产生的类数不断发生震荡而不能收敛时,增大l可消除这种震荡。
步骤7:若经过若干次迭代之后其聚类中心不变、或者迭代次数超过既定的次数、又或者更新信息经过数次迭代后保持不变,则结束迭代。将相似度相近的特征聚集在一起,得到若干个特征子集。
本发明的异常检测模块包括以下步骤:
步骤1:自动编码神经网络是由3层神经网络构建而成,其中,第一层和第三层神经网络的节点的数量是一样的,为输入数据f′i(i∈{1,2,3…,n})的维度||f′i||;而第二层神经网络的节点为10个。第一层神经网络l1的输出f′i和权重矩阵W1i相乘,再加上偏置b1i,得到第二层神经网络l2的输出z,这个过程就是编码模式。在此阶段,权重矩阵W1和偏置b1i、b2i的初始化都是随机的。而解码模式就是第二层神经网络l2的输出z和权重矩阵W2i相乘,再加上偏置b2i,得到第三层神经网络l3的输出f″i。在解码阶段,使得并强迫要求输出的误差hθ(f′i)-f″i=0,从而使用SGD去反向优化参数W1i和偏置b1i、b2i。
步骤2:由于采用极限学习机方法优化参数,迫使误差hθ(f′i)-f″i=0,损失函数为RMSE,因此RMSE在训练阶段的值为0。其目的是为了对反向传播算法进行改进以提升学习效率低并简化学习参数的设定。
步骤3:将经过特征选取后的网络流量数据分为稀疏矩阵和稠密矩阵,分别输入自动编码神经网络,有几个特征子集就有几个自动编码神经网络;
步骤4:训练阶段,把稀疏矩阵(稠密矩阵)中正常样本的A%*B%(例如 85%*25%)输入自动编码神经网络,计算出权重和偏置;
步骤5:执行阶段,将稀疏矩阵(稠密矩阵)剩下的样本输入训练好的模型,计算RMSE。各个自动编码器计算出各个特征子集的RMSE后,求其平均值作为异常得分s;
步骤6:AE输出值s在[0,+∞)范围内,其中较大的值表示较大的异常。该输出通常会被归一化,使得小于阈值的分数视为正常,并且大于阈值的分数视为异常。选择阈值对算法的性能是有很大影响的,而是阈值是指A%的正常样本的最大误差。我们采用min-max标准化对原始数据进行线性变换,使其结果值映射到[0-1]之间。
步骤7:要使用异常得分s,必须确定异常分数截止阈值简单的方法是将设置为在训练期间计算的最大分数,其中我们假设训练数据代表所有正常数据。另一种方法是概率性发出警报。具体地,可以将输出的RMSE分数拟合为正态分布,然后s具有非常低的发生概率则发出警报。针对第一种方法,我们使用 Kmeans++聚类方法作为我们的异常分类器,而对于第二种方法,我们则使用无监督的GMM分类器。
步骤8:Kmeans++(或GMM)会将异常得分s进行分类。经过Kmeans++计算得出的结果若分类结果Kmeans(s)或经过GMM计算得出的结果若分类结果 GMM(s)为0,则代表正常流量;否则Kmeans(s)或GMM(s)为1,则代表异常流量。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种基于自动编码的异常网络流量检测方法,其特征在于,所述方法包括如下步骤:
1)从原始特征中提取得到有效特征;
11)从网络流量包提取特征进行高级特征提取,再加入原始特征得到新数据集;
12)将所述新数据集采用随机森林算法得到有效特征;
S1:搭建决策树构建随机森林算法;
S2:从原始特征中不断的采取又放回式抽样,构建子数据集;
S3:利用子数据集来构建子决策树,将子数据集放到每个子决策树中,对应输出一个结果;
S4:通过对所述子决策树的判断结果进行投票,得到随机森林的输出结果;
S5:计算随机森林中的决策树在袋外数据上的分类错误数;
S6:在该决策树的袋外数据中对数据X的取值进行随机扰动,重新计算分类错误数;
2)将所述有效特征合并得到若干个特征子集;
3)求出若干个所述特征子集的均方根误差;
4)将所述均方根误差进行聚类获取结果值。
2. 根据权利要求1所述的基于自动编码的异常网络流量检测方法,其特征在于, 所述步骤2)中将筛选的数据特征合并得到若干个特征子集的方法包括如下步骤:
21)按比例抽取阈值样本并计算得到待聚类数据点集;
22)计算待聚类数据点集的相似矩阵;
23)更新相似度矩阵中每个点的吸引度信息,并计算归属度信息;
24)更新归属度信息,计算吸引度信息;
25)对吸引度信息和归属度信息求和确定聚类中心;
26)根据聚类中心将相似度相近的特征聚集在一起,得到若干个特征子集。
3.根据权利要求2所述的基于自动编码的异常网络流量检测方法,其特征在于,所述聚类中心的判断方法包括如下步骤:
若经过若干次迭代之后其聚类中心不变、或者迭代次数超过既定的次数、又或者更新信息经过数次迭代后保持不变,则结束迭代。
4.根据权利要求1所述的基于自动编码的异常网络流量检测方法,其特征在于,所述均方根误差采用以下方法计算:
搭建自动编码神经网络;
使用极限学习机优化参数权重和偏置,损失函数为拟合数据和原始数据的均方根误差RMSE;
将经过特征选取后的网络流量数据分为稀疏矩阵和稠密矩阵,分别输入自动编码神经网络;
把稀疏矩阵或稠密矩阵中正常样本的比例输入自动编码神经网络,计算出权重和偏置;
将稀疏矩阵或稠密矩阵剩下的样本输入训练好的模型,计算均方根误差RMSE,将其作为输出;
将均方根误差RMSE进行归一化,利用GMM或Kmeans对RMSE进行聚类,结果返回0或1,0代表正常流量,1代表异常流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756525.0A CN110460605B (zh) | 2019-08-16 | 2019-08-16 | 一种基于自动编码的异常网络流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910756525.0A CN110460605B (zh) | 2019-08-16 | 2019-08-16 | 一种基于自动编码的异常网络流量检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110460605A CN110460605A (zh) | 2019-11-15 |
CN110460605B true CN110460605B (zh) | 2021-09-10 |
Family
ID=68487026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910756525.0A Active CN110460605B (zh) | 2019-08-16 | 2019-08-16 | 一种基于自动编码的异常网络流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110460605B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224941B (zh) * | 2019-11-19 | 2020-12-04 | 北京邮电大学 | 一种威胁类型识别方法及装置 |
CN110929633A (zh) * | 2019-11-19 | 2020-03-27 | 公安部第三研究所 | 基于小数据集实现涉烟车辆异常检测的方法 |
CN110830499B (zh) * | 2019-11-21 | 2021-08-27 | 中国联合网络通信集团有限公司 | 一种网络攻击应用检测方法和系统 |
CN111556017B (zh) * | 2020-03-25 | 2021-07-27 | 中国科学院信息工程研究所 | 一种基于自编码机的网络入侵检测方法及电子装置 |
CN111462835B (zh) * | 2020-04-07 | 2023-10-27 | 北京工业大学 | 一种基于深度森林回归算法的二噁英排放浓度软测量方法 |
CN111669396B (zh) * | 2020-06-15 | 2022-11-29 | 绍兴文理学院 | 一种软件定义物联网自学习安全防御方法及系统 |
CN114362972B (zh) * | 2020-09-27 | 2023-07-21 | 中国科学院计算机网络信息中心 | 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统 |
CN112104666B (zh) * | 2020-11-04 | 2021-04-02 | 广州竞远安全技术股份有限公司 | 一种基于gpu视频编码接口的异常网络流量高速检测系统及方法 |
CN113179250B (zh) * | 2021-03-26 | 2022-05-17 | 北京六方云信息技术有限公司 | web未知威胁检测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632279A (zh) * | 2018-05-08 | 2018-10-09 | 北京理工大学 | 一种基于网络流量的多层异常检测方法 |
CN109299178A (zh) * | 2018-09-30 | 2019-02-01 | 北京九章云极科技有限公司 | 一种模型应用方法和数据分析系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9113350B2 (en) * | 2013-05-03 | 2015-08-18 | Telefonaktiebolaget L M Ericsson (Publ) | Line of sight (LOS) detection in a cellular communications network |
CN105897517A (zh) * | 2016-06-20 | 2016-08-24 | 广东电网有限责任公司信息中心 | 一种基于svm的网络流量异常检测方法 |
CN109639524A (zh) * | 2018-12-13 | 2019-04-16 | 国网上海市电力公司 | 基于流量预测的通信网络数据可视化方法、装置及设备 |
-
2019
- 2019-08-16 CN CN201910756525.0A patent/CN110460605B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632279A (zh) * | 2018-05-08 | 2018-10-09 | 北京理工大学 | 一种基于网络流量的多层异常检测方法 |
CN109299178A (zh) * | 2018-09-30 | 2019-02-01 | 北京九章云极科技有限公司 | 一种模型应用方法和数据分析系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110460605A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460605B (zh) | 一种基于自动编码的异常网络流量检测方法 | |
Zhang et al. | Intrusion detection for IoT based on improved genetic algorithm and deep belief network | |
CN106817248B (zh) | 一种apt攻击检测方法 | |
CN109902740B (zh) | 一种基于多算法融合并行的再学习工业控制入侵检测方法 | |
CN113378990B (zh) | 基于深度学习的流量数据异常检测方法 | |
CN107292097B (zh) | 基于特征组的中医主症选择方法 | |
CN111556016B (zh) | 一种基于自动编码器的网络流量异常行为识别方法 | |
CN112087447A (zh) | 面向稀有攻击的网络入侵检测方法 | |
Anil et al. | A hybrid method based on genetic algorithm, self-organised feature map, and support vector machine for better network anomaly detection | |
CN110826617A (zh) | 态势要素分类方法及其模型的训练方法、装置及服务器 | |
CN117478390A (zh) | 一种基于改进密度峰值聚类算法的网络入侵检测方法 | |
Aissa et al. | A genetic clustering technique for Anomaly-based Intrusion Detection Systems | |
CN109902754A (zh) | 一种高效的半监督多层次入侵检测方法及系统 | |
CN113609480B (zh) | 基于大规模网络流的多路学习入侵检测方法 | |
CN114841296A (zh) | 设备聚类方法、终端设备以及存储介质 | |
Ketzaki et al. | A light-weighted ANN architecture for the classification of cyber-threats in modern communication networks | |
Abazar et al. | An efficient ensemble of convolutional deep steganalysis based on clustering | |
CN117768208A (zh) | 一种基于改进加权极限学习机的入侵检测方法 | |
Farahnakian et al. | Anomaly-based intrusion detection using deep neural networks | |
CN112347842B (zh) | 一种基于关联图的离线人脸聚类方法 | |
CN115795035A (zh) | 基于进化神经网络的科技服务资源分类方法、系统及其计算机可读存储介质 | |
CN115688097A (zh) | 一种基于改进遗传算法特征选择的工控系统入侵检测方法 | |
CN110347933B (zh) | 一种ego网络社交圈子识别方法 | |
Hossain et al. | Semi-supervised learning approach using modified self-training algorithm to counter burst header packet flooding attack in optical burst switching network | |
Ahmed et al. | A taxonomy on intrusion alert aggregation techniques |
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 |