CN107070867B - 基于多层局部敏感哈希表的网络流量异常快速检测方法 - Google Patents
基于多层局部敏感哈希表的网络流量异常快速检测方法 Download PDFInfo
- Publication number
- CN107070867B CN107070867B CN201710001459.7A CN201710001459A CN107070867B CN 107070867 B CN107070867 B CN 107070867B CN 201710001459 A CN201710001459 A CN 201710001459A CN 107070867 B CN107070867 B CN 107070867B
- Authority
- CN
- China
- Prior art keywords
- matrix
- subspace
- hash
- hash table
- locality
- 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 52
- 239000011159 matrix material Substances 0.000 claims abstract description 177
- 239000013598 vector Substances 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 71
- 230000002159 abnormal effect Effects 0.000 claims description 38
- 230000005856 abnormality Effects 0.000 claims description 13
- 238000000354 decomposition reaction Methods 0.000 claims description 11
- 230000014509 gene expression Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 238000000638 solvent extraction Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- ZEFNOZRLAWVAQF-UHFFFAOYSA-N Dinitolmide Chemical compound CC1=C(C(N)=O)C=C([N+]([O-])=O)C=C1[N+]([O-])=O ZEFNOZRLAWVAQF-UHFFFAOYSA-N 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多层局部敏感哈希表的网络流量异常快速检测方法,利用多层局部敏感哈希表,通过局部敏感哈希函数,将OD对向量进行缓冲和重排,使相似的OD对向量映射到相同的哈希桶。在多层局部敏感哈希表的基础上,设计自适应寻找子空间方法和更新局部敏感哈希表方法,使得网络流量异常检测中的低秩矩阵逼近过程时间复杂度大大减少,降低异常检测整体时间复杂度,从而实现流量异常快速检测。
Description
技术领域
本发明涉及计算机技术和网络技术领域,特别是涉及网络流量产生异常,需要快速定位异常位置的应用,具体是一种基于多层局部敏感哈希表的网络流量异常快速检测方法。
背景技术
近年来,随着计算机技术的不断发展和网络应用的不断深化,网络不仅在工业、银行、科研教育等各个领域发挥重要作用,而且早已走向千家万户,使得网络在人们的日常工作和生活中扮演着越来越重要的角色。网络规模的不断扩大,计算机技术和网络技术的迅速发展,网络出现各种安全、性能问题的可能性也日益增大,而且这些问题对人们日常工作和生活的影响也越来越大。木马、蠕虫病毒,分布式拒绝服务攻击以及网络滥用、网络设备异常等是目前互联网安全的几个主要威胁。如何及时发现和诊断网络异常,维护和保证网络***的正常运行逐渐成为了人们关注的焦点。因此,设计适用于大规模的网络流量异常快速检测方法显得十分重要。目前,有许多用于网络流量异常检测的方法,这些方法主要包括:
·主成分分析(Principal Component Analysis,PCA)
当L为轻微的高斯随机噪声时,PCA可以通过一次SVD准确地找到最优的L。但当L被严重破坏(即S很大)时,L的估计往往不准确,并且PCA还需要预知子空间维数r。
·鲁棒主成分分析(Robust PCA,RPCA)
RPCA克服了PCA在异常检测过程中的缺点,但是RPCA在求解低秩矩阵L和稀疏矩阵S的过程中采用了松弛技术,影响了异常检测的精度。
·直接鲁棒矩阵分解(direct robust matrix factorization,DRMF)
DRMF在求解低秩矩阵L和稀疏矩阵S的过程中没有采用松弛技术,提高了异常检测的精 度。DRMF被证明在视频活动检测中十分有效。但是,DRMF用于实际网络异常检测也有许多不足之处:①DRMF在求解带噪声流量数据的低秩成分时,用到了奇异值分解(singularvalue decomposition,SVD),而SVD的时间代价非常高;②DRMF在精确得到低秩成分和异常成分过程中需要反复执行SVD。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种基于多层局部敏感哈希表的网络流量异常快速检测方法。
为解决上述技术问题,本发明所采用的技术方案是:一种基于多层局部敏感哈希表的网络流量异常快速检测方法,包括以下步骤:
1)输入带噪声流量矩阵X,初始化异常矩阵S;
2)反复迭代(2)式和(3)式,得到(2)式和(3)式的最优解:
3)输出低秩逼近矩阵L和异常矩阵S,即得到带噪声流量矩阵X的低秩逼近矩阵L和异常矩阵S,完成异常检测。
所述2)式的求解过程包括以下步骤:
1)将2)式转化为如下问题:
其中,Vk表示维度为k的子空间,Ck表示C在Vk上的投影矩阵;On×k中的O表示子空间的符号,该子空间的大小为:n行k列,即该子空间包含k个列向量,每个列向量的维度为n;
2)设计用于存储OD对向量的多层局部敏感哈希表:顶层哈希表表示基本哈希表,基本哈希表对应基本局部敏感哈希函数的桶宽为W,向下各层哈希表都是虚拟的,对应的局部敏感哈希函数的桶宽依次为:2W,4W,8W,16W,…;虚拟哈希表的局部敏感哈希函数为:
3)利用多层局部敏感哈希表,通过Subspace-NoReuse方法自适应寻找子空间Vk,实现流量异常快速检测;或者,重用多层局部敏感哈希表快速寻找子空间Vk,实现流量异常快速检测。
通过Subspace-NoReuse方法自适应寻找子空间Vk的具体实现过程包括:
1)构建多层局部敏感哈希表H;
2)初始化列表Q为空;
3)将第一层哈希表包含的哈希桶H[1,1]***列表Q;
4)计算列表Q中各哈希桶包含OD对向量的平均值向量,然后进行归一化,设p=1;
5)当p<k时,一直进行如下循环,直到p=k为止,寻找出子空间Vk:5a)列表Q中哈希桶对应的矩阵记为:CI(I=1,2,…,p),根据矩阵划分原则,选择投影误差最大的子矩阵进行划分,即: Vp∈Οn×p;mI表示CI的行数;
5b)从列表Q中移除CI对应的哈希桶,同时记录CI所在的层数索引值F以及对应哈希桶索引值f;
5c)从子空间Vp中移除由CI贡献的基向量,更新子空间Vp;
5d)根据CI所在的层数索引值F以及对应哈希桶索引值f,将CI一分为二,CI一分为二后的两个子矩阵所在的哈希层索引值为F*=F+1(由于哈希桶划分顺序为:自下而上。当哈希桶划分到第F层时,由于此时找出的子空间还不满足要求,所以,要继续划分,进入第F+1层,即F*=F+1),该两个子矩阵对应的哈希桶索引值分别为:2f-1,2f;
5e)对于f∈ID:将哈希桶H[F*,f]***列表Q;计算哈希桶H[F*,f]对应矩阵的平均值向量,通过Gram-Schmidt标准正交化,更新子空间Vp;哈希桶H[F*,f]具体含义是指:第F*层中的第f个哈希桶;ID={2f-1,2f};
5f)当步骤5e)完成后,设Vp+1=Vp,p的值加1;
5g)继续重复步骤5a)~5f),当p=k时,整个循环结束,返回子空间Vp。
重用多层局部敏感哈希表快速寻找子空间Vk的具体实现过程包括:
1)已知带噪声流量矩阵X以及两个连续迭代步骤中的异常矩阵S[t],S[t+1],判断从矩阵C[t]到C[t+1]所有可能发生变化的行,用R[t]和R[t+1]分别记录S[t]和S[t+1]非零项的行索引;R=R[t]∪R[t+1];S[t],S[t+1]为连续两个迭代步骤的异常矩阵;C[t],C[t+1]为连续两个迭代步骤的去噪流量数据矩阵;
2)对于r∈R:从多层局部敏感哈希表中删除行C[t](r),将行C[t+1](r)***多层局部敏感哈希表;C[t](r)表示第t次迭代的去噪流量数据矩阵的第r行;
3)运用Subspace-NoReuse方法,求解C[t+1]对应的子空间Vk。
OD对向量:网络中源结点与目的结点之间的流量。
与现有技术相比,本发明所具有的有益效果为:本发明设计的多层局部敏感哈希表,大大降低了流量异常检测的时间复杂度。对于具有m行数据的流量矩阵,将所有OD对向量映射到基本哈希表,哈希计算的时间复杂度为Ο(m)。本发明的LSH-subspace方法,仅 仅第一次迭代步骤需要映射所有行到LSH表中,之后,由于本发明的LSH表更新方法,在当前迭代步骤能够重用前一步骤建立的LSH表,当前步骤最多有2e行需要更新,时间复杂度为Ο(2e)。由于异常很少发生,所以Ο(2e)<Ο(m);综上所述,Subspace-NoReuse方法和LSH-subspace方法都实现了(2)式低秩矩阵逼近的优化问题,降低了流量异常检测方法的整体时间复杂度,实现了流量异常的快速检测。特别地,LSH-subspace方法在实现低秩矩阵逼近过程中,由于利用了重用技术,使得它在流量异常检测的速度上显现出优越性。
附图说明
图1局部敏感哈希在二维空间的几何解释;
图2多层局部敏感哈希表;
图3(a)~图3(d)为寻找子空间具体实例;
图4(a)~图4(d)为异常检测方法性能比较;
图5(a)和图5(b)为异常检测方法速度比较;
图6(a)~图6(d)分别为4个哈希桶H[1,1],H[2,1],H[3,1],H[4,1]中OD对向量集合的亲和度矩阵。
具体实施方式
1)问题
第一步:***建模
由于流量数据具有时间稳定性和空间相关性的特征,因此,正常流量数据将位于低维线性子空间,构成低秩矩阵,异常流量数据将位于这个低维线性子空间之外,构成异常矩阵。所以,将异常检测问题归于如下的受约束优化问题:
其中,S为异常矩阵,L为矩阵X-S的低秩逼近,k为截断秩,e为S中允许非零项的上限值。(1)式的目的是,在满足S中非零项比较少的情况下,最小化低秩矩阵逼近误差。通过从测量矩阵X中排除异常矩阵S进行低秩逼近,这样能够确保估计低秩结构的可靠 性。得到异常矩阵S后,能够把异常简单的检测出来。
通常,涉及到秩或者零范数的优化问题是很难解决的。可以利用一些松弛技术解决低秩矩阵逼近问题。然而,松弛技术可能对低秩矩阵逼近的精度有严重影响,进而影响异常检测精度。
基于DRMF方法,在没有采取松弛技术的情况下,直接解决(1)式优化问题,能够得到不错的异常检测精度。采取块坐标下降策略,用迭代的方式,解决(1)式优化问题。
基于矩阵分解的异常检测方法的步骤如下:
步骤1:输入带噪声流量矩阵X,设置矩阵分解的最大秩k以及异常矩阵非零项的最大值e,初始化异常矩阵S
步骤2:反复迭代(2)式和(3)式,得到子问题(2)式和(3)式的最优解:
①低秩矩阵逼近问题:②异常检测问题:
步骤3:输出低秩逼近矩阵L和异常矩阵S,即得到带噪声流量矩阵X的低秩逼近矩阵L和异常矩阵S,完成异常检测。
根据Eckart-Young定理,(2)式的低秩矩阵逼近问题,可以通过SVD直接给出解决方法,L是(2)式去噪流量数据矩阵C的截断SVD逼近。Z.Lu和Y.Zhang写的文章“Penaltydecomposition methods for l0-norm minimization”,给出了(3)式的有效解决方法,因为(3)式的最优化问题不是本发明方法的重点,所以,本发明运用Z.Lu和Y.Zhang写的文章“Penalty decomposition methods for l0-norm minimization”中的定理解决(3)式的异常检测问题。
本发明亮点在于就(2)式优化问题提出优化算法,大大减少(2)式优化问题的时间复杂度,关于求解(2)式的优化算法在后面详细说明。
第二步:时间复杂度
基于矩阵分解的异常检测方法,在每次迭代过程中,利用截断SVD逼近(2)式中的C。然而,SVD操作将引入高昂的计算代价,使得处理大规模流量数据不具有可扩展性。下面简要介绍SVD:
由于SVD具有时间复杂度为:Ο(min{mn2,nm2}),使得对于大规模流量矩阵,通过SVD得到截断的SVD变得不可能。另外,基于矩阵分解的异常检测方法的低秩矩阵逼近问题需要反复进行迭代,这样积累的计算代价将是非常高的。因此,以下两个问题成为关键问题:①怎样减少低秩矩阵逼近的计算代价?②怎样减少整个迭代过程总的计算代价?下面给出解决问题①②的方法。
第三步:寻找子空间以及重用技术
·寻找子空间
将C的行投影在由C的前k个右奇异向量组成的子空间上,即Ck的最优性表明,在由Vk的列组成的维度最多为k的子空间上,C的行投影误差最小。因此,为了得到最优秩k矩阵逼近,需要寻求一个子空间Vk,使得C的投影误差足够小,用如下优化问题描述:
这一步给出了问题①的解决方法,即本发明的亮点之一。
·重用技术
由于网络中的异常事件很少发生,所以,基于矩阵分解的异常检测方法中的异常矩阵S是稀疏矩阵,其非零位置至多为e个。虽然(2)式中去噪流量矩阵C在每次迭代中通过变化的S(C=X-S)进行更新,但是,S是稀疏矩阵,仅仅一部分项非零,因此,在连续的迭代步骤中,去噪流量矩阵C仅仅只有一部分项发生改变。所以,在连续的两次迭代步骤中,对于C[t],C[t+1]的低秩逼近矩阵必定具有相关性,这提供了一个重用数据的机会,在当前步骤中重用前一步骤的结果,以减少整个迭代过程的时间复杂度。
这一步,给出了问题②的解决方法,即本发明亮点之二。在下面步骤中,详细呈现本发明的方法。
2)设计用于存储OD对向量的多层局部敏感哈希表:
第一步:引入局部敏感哈希(Locality Sensitive Hashing,LSH)函数
根据文章“Locality-sensitive hashing scheme based on p-stabledistributions”,局部敏感性定义为:如果对于Υ空间内任意两个点p和q,满足以下两个性质,则称函数族H={g:Υ→U}是(R,cR,P1,P2)敏感的:
·If||p,q||s≤R then PrH[g(p)=g(q)]≥P1.
·If||p,q||s≥cR then PrH[g(p)=g(q)]≤P2.
其中,||p,q||s表示元素p和q间的距离,Υ表示元素域,c>1,P1>P2。
根据文章“Locality-sensitive hashing scheme based on p-stabledistributions”,LSH函数定义为:ha,b:LSH函数ha,b是基于欧氏距离的:
本发明利用实际流量矩阵的行向量作为OD对向量,运用局部敏感哈希函数(7)式将OD对向量映射到基本哈希表,实现OD对向量的重排。
给定OD对向量其中,m是OD对向量总数,n是时隙总数。当OD对向量的哈希地址相同的时候,即在哈希过程中产生了碰撞,这些OD对向量映射到相同的哈希桶。根据文章“Locality-sensitive hashing scheme based on p-stabledistributions”的结论,针对(7)式定义的LSH函数,两个OD对向量p和q发生碰撞的概率为:
其中,d=||p-q||s是OD对p和q之间的距离,fs(t)是s-稳定分布的概率密度函数。(8)式是关于桶宽W的增函数,给定两个OD对向量的距离d,桶宽W越大,则这两个OD对向量映射到相同哈希桶的概率就越大。
LSH函数的良好性质:它能将相似的OD对向量映射到相同的哈希桶。图1阐述了在二维空间中采用LSH函数的几何结果。给定向量a和OD对向量q,aTq是两者的点积(q在向量a上的投影),b是一个微调参数。向量线a被分成宽度为W的多个哈希桶,通过LSH函数,相近的点(例如:q和p1)以很高的概率映射到相同的哈希桶。
第二步:将OD对向量映射到多层局部敏感哈希表
根据OD对向量(源结点与目的结点之间的流量构成的行向量)归一化后的数据,计算OD对向量在哈希表中的位置。
其中,Cij表示矩阵C的第i行第j列。
下面举例说明归一化的作用:
举例说明:给定两个OD对向量r1=[2,3,4],r2=[4,6,8],两个向量的值明显不同,然而,这两个OD对具有相同的流量接入模式,因此具有相似的流量交易。这两个向量应该映射到相同的哈希桶,共同贡献一个基向量显然,这个基向量能够很好的表示这两个OD对向量。
为了自适应寻找子空间,本发明设计一种多层局部敏感哈希表来重排具有不同相似度的OD对向量(图1)。在这个多层局部敏感哈希表中,顶层的哈希桶桶度设置为W,所有的OD对向量运用基本哈希函数(即:),逐个映射到基本哈希表 中的各个哈希桶,同时***各个OD对向量的索引值。
本发明把顶层哈希表作为基本哈希表,其它各层哈希表都是虚拟的(它们的哈希桶桶宽分别是:2W,4W,8W,16W,…),这些虚拟哈希表是根据基本哈希表建立的,它们在物理上是不存在的,这些虚拟哈希表的LSH函数分别为: 等等。
图2阐述了本发明的多层局部敏感哈希表。C(2)在基本哈希表中的哈希地址为4,它在向下各层哈希表中的哈希地址依次为:2,1,1,1,…。特别地,本发明使用F表示哈希表的层次,最底层(第一层):F=1,次最底层(第二层):F=2,等等。
本发明的多层局部敏感哈希表具有以下两个良好性质:
第一,如果知道OD对向量在基本哈希表中的哈希地址,那么可以简单的推出它在所有向下各层哈希表中的哈希地址,因此,不需要在物理上建立基本哈希表以外的哈希表。给定OD对向量,如果它在基本哈希表中的哈希地址为l,那么它在向下各层哈希表中对应的哈希地址依次为:相反,如果知道OD对向量在哈希表中的哈希地址为l,那么它在其上一层哈希表中对应的哈希地址为:2l-1或者2l;
第二,不同层次利用不同桶宽(自上而下,哈希表对应哈希桶的桶宽呈指数增长,依次为:W,2W,4W,8W,16W,…)的局部敏感哈希函数,所以,不同层次哈希桶中的OD对向量具有不同相似度。即:顶层哈希表的哈希桶中的OD对相似度高于向下各层哈希表的哈希桶中的OD对向量相似度。
3)设计基于多层局部敏感哈希表的流量异常快速检测方法
第一种:自适应寻找子空间及其时间复杂度
·自适应寻找子空间
在多层局部敏感哈希表的基础上,本发明提出一种自适应矩阵划分方法,寻找子空间,划分得到的每个子矩阵对子空间贡献一个基向量。每个迭代步骤,所有子矩阵均来自前一步骤,选择子矩阵进行划分,寻找子空间,直到找到k个基向量为止。
本发明用row(C)表示矩阵C的行集合,很明显,
row(C)=row(C1)∪row(C2)∪...∪row(Cp),row(Ci)∩row(Cj)=φ,
(i≠j,i,j=1,2,…,p),因此,
这样可以最大程度的减少整体投影误差。
基于这个矩阵划分原则,本发明提出自适应寻找子空间方法Subspace-NoReuse,该方法具体步骤如下:
步骤1:构建多层局部敏感哈希表H
步骤2:初始化列表Q:Q=NULL
//Q:存储贡献基向量的子矩阵列表
步骤3:将第一层哈希表包含的哈希桶H[1,1]***列表Q
//H[1,1]对应整个流量矩阵
步骤4:计算列表Q中各哈希桶包含OD对向量的平均值向量,然后进行归一化,p=1
//p表示基向量数量,刚开始p=1
步骤5:当p<k时,一直进行如下循环,直到p=k为止:
①列表Q中哈希桶对应的矩阵记为:Ci(i=1,2,…,p),根据矩阵划分原则:选择投影误差最大的子矩阵进行划分,即:
②F=F(Ci)表示矩阵Ci在H中的层数索引值F,f=f(Ci)表示矩阵Ci在第F层具体哈希桶索引值f
③从列表Q中移除Ci对应的哈希桶,同时记录Ci所在的层数索引值F以及对应哈希桶索引值f
④从子空间Vp中移除由Ci贡献的基向量,更新子空间Vp
⑤根据移除子矩阵Ci的哈希层和哈希桶索引值F和f,将Ci一分为二,对应到上一层的哈希层索引值为F=F+1,哈希桶索引值为ID=SET{2f-1,2f}
⑥对于f∈ID:第一,将哈希桶H[F,f]***列表Q;第二,计算哈希桶H[F,f]对应矩阵的平均值向量,通过Gram-Schmidt标准正交化,更新子空间Vp
⑦当⑥中循环完成之后,Vp+1=Vp,p=p+1
⑧继续进行外层循环,当p=k时,整个循环结束,返回子空间Vp
基于多层局部敏感哈希表的设计,本发明的子空间寻找方法具有如下良好特性:
第一,经过多层局部敏感哈希表处理,矩阵划分能够利用自下而上的哈希表简单的完成;
第二,由于不同层的哈希表代表不同的相似度,矩阵划分使得子矩阵中的OD对向量比划分之前大矩阵的OD对向量相似度更高。因此,通过子矩阵产生的基向量比直接通过大矩阵产生的基向量更具代表性。
举例说明:3(a)~图3(d)阐述了本发明提出的自适应寻找子空间方法Subspace-NoReuse。为了找到秩为4的流量矩阵的逼近矩阵,在图3(a)中,利用整个流量矩阵的行平均值向量初始化子空间,将整个流量矩阵对应的哈希桶H[1,1]***到列表Q中,在图3(b)中,通过多层局部敏感哈希表,整个矩阵划分成两个子矩阵,每个子矩阵由更多相似的行向量组成,每个子矩阵贡献一个基向量。经过划分之后,列表Q由对应着两个子矩阵的两个哈希桶H[2,1],H[2,2]更新。因为寻找的子空间仅包含两个基向量,所以继续划分子矩阵。
假设H[2,2]的投影误差比H[2,1]的投影误差大,所以对应于H[2,2]的子矩阵需要进一步划分,此时列表Q包含三个哈希桶:H[2,1],H[3,3],H[3,4],划分之后如图3(c)所示。假设对应于H[2,1],H[3,3],H[3,4]的三个子矩阵中,对应于H[3,4]的子矩阵投影误差最大。通过多层局部敏感哈希表,对应于H[3,4]的子矩阵能够简单的划分成两个子矩阵:H[4,7],H[4,8]。最终得到的子空间包含4个基向量,分别是H[2,1],H[3,3],H[4,7],H[4,8]对应子矩阵的平均值向量。
因为每个子矩阵贡献一个基向量,为了让每个迭代步骤得到的子空间都能够很好的表示流量矩阵,所有迭代步骤中所有子矩阵包含的行应该覆盖流量矩阵所有的行。如图3(a)~图3(d)所示,本发明的矩阵划分程序在每个迭代步骤均满足以上条件。在每个迭代步骤中(如3(a)~图3(d)),灰度部分总是覆盖整个矩阵。
·时间复杂度
通过反复划分矩阵寻找子空间,有两个关键步骤:第一,选择子矩阵进一步划分,第二,子空间的更新。在第p个迭代步骤,总共找到p个子矩阵和p个基向量。为了找到最优的子矩阵进一步划分,分别计算p个子矩阵在由p个基向量构成的子空间上的投影误差总时间复杂度为Ο(p)。为了更新子空间,首先删除来自大矩阵贡献的基向量,然后利用新划分得到的两个子矩阵各自的平均值向量更新子空间。特别地,每个新得到的平均值向量必须与存在的基向量,通过Gram-Schmidt过程进行正交化,正交化过程涉及在每一个存在的基向量上进行投影操作。因此,投影操作的总次数为p-1+p=2p-1,子空间更新的时间复杂度为Ο(2p-1)。寻找维度为k的子空间需要进行k-1次迭代,总时间复杂度为其中k为截断秩。
对比SVD时间复杂度(Ο(min{mn2,nm2})),本发明的自适应寻找子空间方法具有更小的时间复杂度。
第二种:重用多层局部敏感哈希表快速寻找子空间及其时间复杂度
·重用多层局部敏感哈希表快速寻找子空间
基于矩阵分解的异常检测方法,在每次迭代步骤中,交替解决(2)式的低秩矩阵逼近问题和(3)式的异常检测问题。
由于异常矩阵S在每次迭代步骤中都要更新,所以,C=X-S也随之变化。在每个步骤中,为了寻找秩k矩阵对C进行逼近,直接的方式是,首先建立一种新的多层局部敏感哈希表来存储更新的矩阵C,然后运用Subspace-NoReuse方法寻找子空间,这样的计算代价仍然是很高的。
异常矩阵S通常是稀疏的(至多e项不为零)。比较连续两个步骤得到的异常矩阵,矩阵中大部分行保持不变(至多2e行发生变化)。
为了重用前一步骤建立的多层局部敏感哈希表,在当前迭代步骤仅仅更新一部分行,本发明提出重用多层局部敏感哈希表快速寻找子空间方法LSH-subspace,该方法具体步骤如下:
步骤1:已知带噪声流量矩阵X以及两个连续迭代步骤中的异常矩阵S[t],S[t+1],判断从矩阵C[t]到C[t+1]所有可能发生变化的行,用R[t]和R[t+1]分别记录S[t]和S[t+1]非零项的行索引
步骤2:R=R[t]∪R[t+1]
//S[t]和S[t+1]非零项的行索引构成的集合
步骤3:对于r∈R:第一,从多层局部敏感哈希表中删除行C[t](r);
第二,将行C[t+1](r)***多层局部敏感哈希表
步骤4:运用Subspace-NoReuse方法,求解C[t+1]对应的子空间V。
本实施例是LSH-subspace方法在公共流量跟踪数据集Abilene上的应用,同时,对比其它异常检测方法,突出本发明方法LSH-subspace的性能优越性。
为了从行跟踪数据中产生受破坏的合成矩阵首先,通过随机选择γ×(m×n)个位置作为异常位置,产生异常矩阵其中γ为异常比率。为了评估本发明提出的异常检测方法在大误差情况下是如何表现出鲁棒性的,实验选择的异常值是从[0,10]中随机产生的,而不是服从高斯分布。合成数据X是异常数据S和行数据L的总和,即:对于所有的(i,j),xi,j=li,j+si,j。
采用如下性能指标来评估本发明提出的LSH-subspace方法:
第一,假阳性率(False Positive Rate,FPR):不是异常,结果错误的判断为异常的概率;
第二,假阳性率(False Negative Rate,FNR):是异常,却没有检测出来的概率;
第三,正确检测率(Correct Detection Rate,CDR):正确地检测为异常或正常的概率;
第四,异常均方误差(RMSE On Outlier):RMSE(root mean square error)是测量异常值与实际异常值之间的标准偏差;
第五,计算时间(Computation time):检测异常耗费时间(秒)的平均值;
第六,加速(Speedup):给定两种不同方法a lg1和a lg2,执行时间分别为T1和T2,alg2相对于a lg1在计算时间上的加速定义为:S1-2=T1/T2。
所有的模拟实验都在一台普通的PC机上进行,配置为:Intel(R)I5-4590、CPU(3.3GHz)(4Cores)、16.00GB RAM,为了测量计算时间,对于所有执行方法,都***计时器。
为了评估本发明所提方法LSH-subspace的性能,实验执行五种方法进行性能比较。首先执行异常检测方法DRMF(截断SVD+迭代误差阈值),然后执行本发明的方法LSH-subspace,反复将大矩阵划分成小矩阵,利用Subspace-NoReuse方法寻找子空间。流量矩阵的截断SVD是基于这个子空间来计算的。LSH-subspace包含一种快速更新LSH表的方法,利用重用技术,快速得到更新的矩阵C。第三种方法Subspace-NoReuse不同于LSH-subspace,新建的LSH表保存更新的矩阵C。另外还有两种用于流量矩阵异常检测的方法,分别是RPCA,PCA。
·异常检测精度
在图4(a)~图4(d)中,PCA表现出来的性能最差,假阳性率(FPR)几乎为1,正确检测率(CDR)为0,尽管PCA的假阴性率(FNR)很低。由于在一个大范围内随机产生异常值,所以PCA对这些异常值表现出来的鲁棒性不好,不能将正常数据和异常数据很好的分离。比较RPCA,DRMF,LSH-subspace和Subspace-NoReuse,RPCA的FPR和CDR不如DRMF,LSH-subspace和Subspace-NoReuse,由于RPCA利用了松弛技术,将流量矩阵的低秩特征松弛成核范数,这大大影响了异常检测性能。更高的假阳性率(FPR)导致错误的异常警告,这可能大大增加网络的维护代价。
DRMF,LSH-subspace和Subspace-NoReuse在异常检测程序中都采用矩阵的秩和零范数作为直接约束条件。它们在FPR,CDR,RMSE方面获得相似的优越性能。本发明的 方法LSH-subspace和方法Subspace-NoReuse都是为了快速得到低秩矩阵逼近,它们得到相同的精度。由于它们得到的截断矩阵不是通过SVD,所以它们的假阴性率(FNR)稍微低于DRMF。
因为DRMF,LSH-subspace和Subspace-NoReuse得到相似的优越性能,所以进一步比较它们的计算速度,如图5(a)和图5(b)所示。特别地,为了计算加速指标,利用DRMF作为基准方法,设置a lg1=DRMF。通过LSH函数把OD对向量进行分组,通过自适应矩阵划分寻找子空间,本发明的方法LSH-subspace和Subspace-NoReuse的速度分别是DRMF的3倍和2.5倍。对比Subspace-NoReuse,本发明的LSH-subspace在异常检测中速度更快,因为它采用了重用技术,所以减少了计算时间。
所有的模拟结果显示本发明提出的方法LSH-subspace对于快速高精度的流量异常检测是非常有效的。
·重排相似度验证
作为LSH-subspace方法的一个重要步骤,本发明设计了一种新颖的多层LSH表来重排OD对向量,使相似的OD对向量映射到LSH表中相同的哈希桶。多层局部敏感哈希表的一个良好特征是:在不同的哈希层OD对向量以不同的相似度分组,促进了自适应矩阵划分寻找子空间。
在图6(a)~图6(d)中,绘制了从底层到第四层4个哈希桶H[1,1],H[2,1],H[3,1],H[4,1]中OD对向量集合的亲和度矩阵。H[1,1]是最底层的哈希桶,因为最底层只有一个哈希桶,所以这个桶包含流量矩阵中所有的OD对向量。根据等式(12),相似度值越大,表明OD对向量的相似度越高。颜色越浅意味着OD对向量之间的相似度越高。从颜色分布来看,上层哈希桶OD对向量比下层哈希桶OD对向量具有更强的相关性。
多层局部敏感哈希表的这些良好特征,促进了大矩阵划分为小矩阵,这样得到的小矩 阵贡献的基向量更具有代表性,得到的子空间能够很好的表示原矩阵。
Claims (3)
1.一种基于多层局部敏感哈希表的网络流量异常快速检测方法,其特征在于,包括以下步骤:
1)输入带噪声流量矩阵X,初始化异常矩阵S;
2)反复迭代(2)式和(3)式,得到(2)式和(3)式的最优解:
3)输出低秩逼近矩阵L和异常矩阵S,即得到带噪声流量矩阵X的低秩逼近矩阵L和异常矩阵S,完成异常检测;其中,
所述2)式的求解过程包括以下步骤:
A.将2)式转化为如下问题:
其中,Vk表示维度为k的子空间,Ck表示C在Vk上的投影矩阵;On×k中的O表示子空间的符号,该子空间的大小为n行k列,即该子空间包含k个列向量,每个列向量的维度为n;
B.设计用于存储OD对向量的多层局部敏感哈希表:顶层哈希表表示基本哈希表,基本哈希表对应基本局部敏感哈希函数的桶宽为W,向下各层哈希表都是虚拟的,它们对应的局部敏感哈希函数的桶宽依次为:2W,4W,8W,16W,…;
C.利用多层局部敏感哈希表,通过Subspace-NoReuse方法自适应寻找子空间Vk,实现流量异常快速检测;或者,利用多层局部敏感哈希表,通过LSH-subspace方法快速寻找子空间Vk,实现流量异常快速检测。
2.根据权利要求1所述的基于多层局部敏感哈希表的网络流量异常快速检测方法,其特征在于,通过Subspace-NoReuse方法自适应寻找子空间Vk的具体实现过程包括:
1)构建多层局部敏感哈希表H;
2)初始化列表Q为空;
3)将第一层哈希表包含的哈希桶H[1,1]***列表Q;
4)计算列表Q中各哈希桶包含OD对向量的平均值向量,然后进行归一化,设p=1;
5)当p<k时,一直进行如下循环,直到p=k为止,寻找出子空间Vk:
5a)列表Q中哈希桶对应的矩阵记为CI,根据矩阵划分原则,选择投影误差最大的子矩阵进行划分,即:Vp∈On×p;I=1,2,…,p;mI表示CI的行数;On×p中的O表示子空间的符号,该子空间的大小为n行p列,即该子空间包含p个列向量,每个列向量的维度为n;
5b)从列表Q中移除CI对应的哈希桶,同时记录CI所在的层数索引值F以及对应哈希桶索引值f;
5c)从子空间Vp中移除由CI贡献的基向量,更新子空间Vp;
5d)根据CI所在的层数索引值F以及对应哈希桶索引值f,将CI一分为二,CI一分为二后的两个子矩阵所在的哈希层索引值为F*=F+1,该两个子矩阵对应的哈希桶索引值分别为:2f-1,2f;
5e)对于f∈ID:将哈希桶H[F*,f]***列表Q;计算哈希桶H[F*,f]对应矩阵的平均值向量,通过Gram-Schmidt标准正交化,更新子空间Vp;哈希桶H[F*,f]具体含义是指:第F*层中的第f个哈希桶;ID={2f-1,2f};
5f)当步骤5e)完成后,设Vp+1=Vp,p的值加1;
5g)继续重复步骤5a)~5f),当p=k时,整个循环结束,返回循环后得到的子空间。
3.根据权利要求2所述的基于多层局部敏感哈希表的网络流量异常快速检测方法,其特征在于,重用多层局部敏感哈希表快速寻找子空间Vk的具体实现过程包括:
1)已知带噪声流量矩阵X以及两个连续迭代步骤中的异常矩阵S[t],S[t+1],判断从矩阵C[t]到C[t+1]所有可能发生变化的行,用R[t]和R[t+1]分别记录S[t]和S[t+1]非零项的行索引;R=R[t]∪R[t+1];S[t],S[t+1]为连续两个迭代步骤的异常矩阵;C[t],C[t+1]为连续两个迭代步骤的去噪流量数据矩阵;
2)对于r∈R:从多层局部敏感哈希表中删除行C[t](r),将行C[t+1](r)***多层局部敏感哈希表;C[t](r)表示第t次迭代的去噪流量数据矩阵的第r行;
3)运用Subspace-NoReuse方法,求解C[t+1]对应的子空间Vk。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710001459.7A CN107070867B (zh) | 2017-01-03 | 2017-01-03 | 基于多层局部敏感哈希表的网络流量异常快速检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710001459.7A CN107070867B (zh) | 2017-01-03 | 2017-01-03 | 基于多层局部敏感哈希表的网络流量异常快速检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070867A CN107070867A (zh) | 2017-08-18 |
CN107070867B true CN107070867B (zh) | 2020-06-16 |
Family
ID=59623700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710001459.7A Active CN107070867B (zh) | 2017-01-03 | 2017-01-03 | 基于多层局部敏感哈希表的网络流量异常快速检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070867B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107741581B (zh) * | 2017-09-22 | 2020-10-09 | 西安电子科技大学 | 基于截断矩的广义帕累托分布参数估计方法 |
CN110351291B (zh) * | 2019-07-17 | 2021-07-13 | 海南大学 | 基于多尺度卷积神经网络的DDoS攻击检测方法及装置 |
CN110633734B (zh) * | 2019-08-22 | 2022-08-19 | 成都信息工程大学 | 一种基于图论相关理论进行异常检测的方法 |
CN111508004B (zh) * | 2020-04-29 | 2021-01-15 | 中国人民解放军总医院 | 基于深度学习的室壁运动异常超声处理方法、***和设备 |
CN113515450A (zh) * | 2021-05-20 | 2021-10-19 | 广东工业大学 | 一种环境异常检测方法和*** |
CN113268552B (zh) * | 2021-05-28 | 2022-04-05 | 江苏国电南自海吉科技有限公司 | 一种基于局部敏感哈希的发电机设备隐患预警方法 |
CN113973013B (zh) * | 2021-10-25 | 2024-02-02 | 杭州安恒信息技术股份有限公司 | 一种网络流量检测方法、***及相关组件 |
CN117061254B (zh) * | 2023-10-12 | 2024-01-23 | 之江实验室 | 异常流量检测方法、装置和计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664772A (zh) * | 2012-04-25 | 2012-09-12 | 东北大学 | 一种动态环境下网络流量异常的多尺度侦测方法 |
CN102801631A (zh) * | 2012-08-24 | 2012-11-28 | 电子科技大学 | 一种网络流量估计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9379951B2 (en) * | 2014-01-10 | 2016-06-28 | Instep Software, Llc | Method and apparatus for detection of anomalies in integrated parameter systems |
-
2017
- 2017-01-03 CN CN201710001459.7A patent/CN107070867B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664772A (zh) * | 2012-04-25 | 2012-09-12 | 东北大学 | 一种动态环境下网络流量异常的多尺度侦测方法 |
CN102801631A (zh) * | 2012-08-24 | 2012-11-28 | 电子科技大学 | 一种网络流量估计方法 |
Non-Patent Citations (1)
Title |
---|
"Direct Robust Matrix Factorization for Anomaly Detection";liang xiong,xi chen,Jeff Schneider;《2011 11th IEEE International Conference on Data Mining》;20120123;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107070867A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070867B (zh) | 基于多层局部敏感哈希表的网络流量异常快速检测方法 | |
US10713597B2 (en) | Systems and methods for preparing data for use by machine learning algorithms | |
EP3077960B1 (en) | A method and system for computing distance measures on a quantum computer | |
US11341424B2 (en) | Method, apparatus and system for estimating causality among observed variables | |
US11775610B2 (en) | Flexible imputation of missing data | |
CN110674865B (zh) | 面向软件缺陷类分布不平衡的规则学习分类器集成方法 | |
CN102930275B (zh) | 基于Cramer’s V指数的遥感影像特征选择方法 | |
Liu et al. | A new classification algorithm using mutual nearest neighbors | |
CN113496247A (zh) | 估计生成对抗网络的隐含似然 | |
CN112364914A (zh) | 基于簇相似度与变换不变性的差分隐私k均值聚类方法 | |
WO2022051908A1 (en) | Normalization in deep convolutional neural networks | |
CN115114484A (zh) | 异常事件检测方法、装置、计算机设备和存储介质 | |
CN111507297A (zh) | 一种基于度量信息矩阵的雷达信号识别方法及*** | |
Heim et al. | Adaptive anomaly detection in chaotic time series with a spatially aware echo state network | |
Choi et al. | Learning latent tree graphical models | |
CN115953584A (zh) | 一种具有可学习稀疏性的端到端目标检测方法及*** | |
Cheng et al. | Use of biclustering for missing value imputation in gene expression data. | |
CN111612082B (zh) | 检测时间序列中异常子序列的方法及设备 | |
CN107844461A (zh) | 一种基于广义n体问题的高斯过程回归计算方法 | |
Mandal et al. | Adaptive median filtering based on unsupervised classification of pixels | |
CN115688873A (zh) | 图数据处理方法、设备及计算机程序产品 | |
Guo et al. | Ordinal factorization machine with hierarchical sparsity | |
Singh et al. | Review of existing methods for finding initial clusters in K-means algorithm | |
CN118133090A (zh) | 基于emd的不一致性度量用于特征约简的方法 | |
CN116341667B (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 |