CN113225209B - 一种基于时间序列相似检索的网络监控实时预警方法 - Google Patents
一种基于时间序列相似检索的网络监控实时预警方法 Download PDFInfo
- Publication number
- CN113225209B CN113225209B CN202110423917.2A CN202110423917A CN113225209B CN 113225209 B CN113225209 B CN 113225209B CN 202110423917 A CN202110423917 A CN 202110423917A CN 113225209 B CN113225209 B CN 113225209B
- Authority
- CN
- China
- Prior art keywords
- segment
- segments
- similarity
- distance
- clustering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于时间序列相似检索的网络监控实时预警方法,通过CUSUM预警算法基于正常流量确定预警阈值,对于存在异常的流量片段,将超出阈值的部分进行初步标记。通过模体发现算法寻找重复出现的异常流量片段。定义一个与序列长度无关的标准化DTW距离,通过比较该距离实现相似片段的延拓,使得用户最终找到的复现片段尽可能涵盖完整的攻击片段或故障片段。通过进一步检索,实现k个模体的发现。对找到的多个相似异常片段基于层次凝聚聚类HAC方法作相似聚类,依据聚类结果归纳片段模式,进而构建片段模式库。当异常片段再次发生时,基于DTW相似度量将实时片段作为查询序列,向模式库发起实时相似检索和匹配,与传统预警机制结合,减少漏报的同时,又为预警片段提供了历史数据参考。
Description
技术领域
本发明属于信息处理技术领域,特别涉及一种基于时间序列相似检索的网络监控实时预警方法。
背景技术
互联网技术改变了人类生产生活的方方面面,同时网络故障和网络攻击也给人们带来了巨大的损失。在实际场景中,网络攻击和网络故障具有一定的复现性。同种网络攻击和网络故障,其网络流量的统计时间序列往往是具有一定相似度的。通过网络流量的统计时间序列进行相似检索,可以为网络攻击和网络故障的预防、分析提供重要的参考。
当前网络安全应用中对流量监测数据的使用存在如下不足:
1.没有充分考虑到监测序列的相似性,许多故障反复出现,预警机制不能利用相似性进行关联,将相似性其应用于风险预警。
2.传统基于阈值检测的分析方法,虽然能够非常方便地检测出网络异常,但却不能具体地给出网络异常复现的时间,不能具体地给出历史数据参考。
3.当前流量序列预警方法仍然存在一定的漏报率,引入相似检索作为参考将有助于减小漏报率。
发明内容
发明目的:为了克服现有技术中存在的问题,本发明提供一种基于时间序列相似检索的网络监控实时预警方法,能够发现网络流量监控统计序列中复现性的问题片段,对复现问题提供关联分析和模式归纳,利用相似检索实现风险片段的实时预警。
技术方案:为实现上述目的,本发明提供一种基于时间序列相似检索的网络监控实时预警方法,包括如下步骤:
(1)从网络流量报文中提取流量统计值,获得统计时间序列,流量统计值结合网络监控设备进行监测;
(2)网络监控过程中,依据正常流量确定CUSUM算法的预警阈值,处理含有异常流量的片段时,对超出阈值的片段进行标注;
(3)使用模体发现算法寻找流量序列中的一对复现片段,并限定复现片段需要包含的异常流量,异常流量即为步骤(2)中超出阈值的片段;
(4)针对步骤(3)中找到的一对复现片段,基于DTW相似距离进行定步长片段延拓;
(5)针对步骤(4)中已经延拓的一对复现片段,将其中一个作为查询序列进行KNN相似检索,并使用DTW作为相似度量距离,结束后得到k个包含异常流量的复现片段;使用层次凝聚聚类法即HAC对找到的复现片段进行聚类分析,依据聚类结果提取片段模式;
(6)基于步骤(5)提取的片段模式构建片段模式库,当再次出现异常流量时,借助相似检索算法将模式用于实时网络风险预警。
进一步的,所述步骤(1)中从网络流量报文中提取流量统计值,获得统计时间序列的具体步骤如下:
(1.1)在网络安全监测设备中建立统计模块;
(1.2)通过数据标准化对获得的时间序列进行预处理。
进一步的,所述步骤(2)中对超出阈值的片段进行标注的具体步骤如下:
(2.1)在监控过程中,依据正常流量确定CUSUM算法的告警阈值,即从0开始调整阈值,使得正常流量不发生警报为止,为降低误报率,阈值可以再适当上浮;
(2.2)对超过CUSUM算法检测阈值的流量进行异常标注。
进一步的,所述步骤(3)中使用模体发现算法寻找流量序列中的一对复现片段,并限定复现片段需要包含的异常流量的具体步骤如下:
首先使用模体发现算法寻找流量序列中的一对复现片段,模体发现算法以DTW距离作为相似度量标准,限定所找到的模体必须包含异常流量,即必须存在超过阈值的部分,同时使用级联下界距离进行剪枝。
进一步的,所述步骤(4)中基于DTW相似距离进行定步长片段延拓的具体步骤如下:
基于DTW相似度量进行定步长片段延拓时,首先规定一个与子序列长度无关的标准化DTW距离Dist_std,利用Dist_std衡量延拓前后片段的相似性是否发生改变;该标准化距离的定义基于DTW相似距离Dist_dtw,二者关系如下:
定义Ti,m表示时间序列T第i个元素起始,长为m的子序列,假定Ti,m和Tj,m是模体发现算法得到的一对复现片段;对Ti,m和Tj,m延拓过程包括向前和向后延拓,但最终要保证两个片段不失相似性,其过程归结为如下公式:
式中TR为容忍度,即允许延拓后的相似性略有减少,向前或向后延拓过程中,采取按步长延拓,且延拓之后需要进行回溯和试探。
进一步的,所述步骤(5)中使用层次凝聚聚类法即HAC对找到的复现片段进行聚类分析,依据聚类结果提取片段模式的具体步骤如下:
使用基于DTW距离的HAC聚类法对步骤(4)中找到的k个复现片段进行聚类分析,借助聚类结果提取片段模式,针对聚类结果,根据平均轮廓系数划分离群片段和非离群片段,在非离群片段中,定义主片段是聚类中心片段,其它片段则是关联片段,边界片段border1是与主片段相似距离最大的片段;在离群片段中,定义边界片段border2是与主片段相似距离最小的片段。
进一步的,所述步骤(5)中所述片段模式包括:片段模式名称、编号、时间序列所属的设备信息、管理员备注信息、主片段、关联片段、边界片段。
进一步的,所述步骤(5)中使用层次凝聚聚类法即HAC对找到的复现片段进行聚类分析,依据聚类结果提取片段模式的详细步骤如下:
(5.1)寻找k个复现片段时,首先定义一个动态距离ub_res,代表检索结果集合中所有片段与查询序列的最大距离;
(5.2)检索时,首先使用级联下界距离进行剪枝,包括LB_Kim和LB_Keogh,即如果计算所得的下界距离都大于ub_res,则不再继续计算,继续检索下一个片段;
(5.3)对于最后没有被剪枝的片段,进行DTW度量距离计算,若最终发现相似距离更小的片段,则更新检索结果集合;
(5.4)检索结束,对于得到的k个复现片段,使HAC聚类方法作聚类分析;聚类时,使用DTW距离度量序列片段的相似性;层次聚类按照聚类方式的不同分为层次分裂聚类和层次凝聚聚类,本文采取的是后者;凝聚聚类时,循环如下过程:寻找集合中距离最近的两个序列,将距离最近的两个序列合并为新序列;直到所有的序列都合并,层次凝聚聚类结束;
(5.5)根据HAC聚类结果,基于平均轮廓系数,划分离群片段和非离群片段,提取片段模式;片段模式包含重要特征片段及其它信息;在非离群片段中,定义主片段是聚类中心片段,其它片段则是关联片段,边界片段border1是与主片段相似距离最大的片段;在离群片段中,定义边界片段border2是与主片段相似距离最小的片段。
进一步的,所述步骤(6)中借助相似检索算法将模式用于实时网络风险预警的具体检索算法如下:
将实时序列作为查询序列,向模式库发起检索,与每个模式主片段进行子序列匹配;子序列匹配采用基于DTW相似度量的滑动窗口查询,使用多种下界距离级联来不断剪枝,得到匹配结果后,借助边界片段判断查询序列与主序列是否具有相似性。
进一步的,所述步骤(6)中借助相似检索算法将模式用于实时网络风险预警的详细步骤如下:
(6.1)基于片段模式进行实时预警时,对CUSUM算法的阈值设定两个等级N1和N2,当检测统计值Sn小于N2时,认为序列没有风险,不进行相似检索,当Sn介于N1和N2之间时,认为序列可能存在风险,进行相似检索,并依据相似检索的结果决定是否给出警告,当Sn高于N1,认为序列存在风险,直接生成警告,同时进行相似检索,为本次预警提供历史模式参考;
(6.2)当发起相似检索时,将实时序列作为查询序列,向模式库发起检索,与每个模式主片段进行子序列匹配;子序列匹配采用基于DTW相似度量的滑动窗口查询,得到查询片段与主片段最佳匹配距离和匹配位置;
(6.3)得到匹配结果后,借助边界片段判断查询序列与主序列是否具有相似性。
本发明使用的时间序列数据相似度量和检索算法属于数据挖掘领域的科学技术。时间序列相似检索指的是通过给定的查询序列在时间序列数据集中寻找与其相似的序列。本发明进行检索时,注意到同一模式的时间序列可能存在时间轴上的弯曲和波动。为了提高相似度量的精确度,本发明使用基于DTW度量消除序列间的不一致。DTW相似度量实际上是基于其它距离一种动态规划算法,该算法能够有效消除时间序列在时间轴上存在的各种不对应和形变。其提高精确度,消除形变的主要方法是通过动态规划寻求两个序列各个点位之间最佳的对应方式,以使得两个时间序列之间的相似度量距离尽量小。DTW通过动态规划提升度量精确性的同时,也存在着算法复杂度大的问题,为此,许多学者研究了如何在相似检索过程中进行及时剪枝,Byoung-Kee Yi、Kim、Keogh等研究者等人相继定义了多种恒定小于DTW距离的下界距离,只需要保证下界距离计算复杂度小于DTW距离,就可以利用下界距离进行实时剪枝。
除此之外,本文涉及还涉及到了以下两种技术:
模体发现,最初来源于生物领域的生物序列相似片段发现,在本发明中可以理解为网络流量统计序列的复现片段发现。本发明利用模体发现算法,基于DTW相似度量定位复现的故障和攻击,其本质仍然是时间序列相似检索算法。
CUSUM算法,CUSUM算法的理论基础来自于序贯概率比检验,这里不作细致讨论。直接给出基本概念和公式。考虑变点检测问题,观测值R按照时间排布形成时间序列:
{R1,R2,....,Rt,Rt+1,....,Rn}
假定{R1,R2,....,Rt}服从高斯分布N(0,1),{Rt+1,....,Rn}服从高斯分布N(Δ,1),t是变点。有如下的原假设和备择假设:
H0:t=∞
H1:t=t0
即原假设H0认为这样的变点t不存在,等于无穷,而备择假设认为的确存在这样的变点t0。对两个假设求似然比统计量得到:
单侧检验时,若认为异常情况是变量增大,则取Δ>0。上式可以用统计量Sn表示:
Sn=(Sn-1+Rn-K)+
类似地,若认为异常情况是变量减小,则检验统计量表达式为:
Sn=(Sn-1+Rn+K)-
实际应用时,均值和方差不为0和1,但检验的规则是一样的。
有益效果:本发明与现有技术相比具有以下优点:
1.现有技术没有充分考虑到监测序列的相似性,许多故障反复出现,预警机制不能利用相似性进行关联。本发明将相似性应用于风险预警,有助于对复现问题进行系统性归纳。
2.传统基于阈值检测的分析方法,虽然能够非常方便地检测出网络异常,但却不能具体地给出网络异常复现的时间。本发明通过提取片段模式,结合传统方法进行预警分析,能够具体地给出历史数据参考。
3.当前流量序列预警方法仍然存在一定的漏报率,本发明引入相似检索作为参考将有助于减小漏报。
附图说明
图1为本发明的流程图;
图2为具体实施例中两个统计属性的时间序列折线图;
图3为具体实施例中异常流量CUSUM算法标注结果图;
图4为具体实施例中滑动窗口及平凡匹配示意图;
图5为具体实施例中DTW弯曲窗口示意图;
图6为具体实施例中模体发现算法找到的一对复现片段图;
图7为具体实施例中复现片段延拓示意图;
图8为具体实施例中复现片段延拓结果图;
图9为具体实施例中KNN检索结果图;
图10为具体实施例中HAC聚类结果图;
图11为具体实施例中预警算法详细流程图;
图12为具体实施例中预警效果实验结果图;
图13为具体实施例中片段模式匹配结果图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明使用数据集CIC DoS dataset(2017)作为实施例,该数据集来自于Canadian Institute for Cybersecurity。数据来源地址为https://www.unb.ca/cic/。是目前较新的大规模DoS攻击网络数据集,数据集为原始报文数据。以文件的形式读取数据集的报文数据,完成数据集报文统计数据的提取。该数据集的具体信息如下:
图1所示是本发明的总流程图,详细步骤如下:
步骤1:实时监测流量观测值,生成时间序列。本发明以防范应用层DoS/DDoS攻击作为实施例。考虑到应用层DoS/DDoS攻击通过建立大量连接消耗受害者资源,过程中会出现大量载荷为0的报文,这些报文头部常常包含控制信息,并且这些报文与请求报文数量相比,其比例过高,因此检测指标基于两个特征:应用层请求的数量和有效负载大小等于零的数据包数量。时间窗口内统计值R定义如下:
cwd(carry without data)代表有效负载大小等于零的数据包数量,req(request)代表请求数量。
完成后,还需要对获得的时间序列进行必要的预处理,如数据标准化。
针对本发明实施例,实施例数据集流量统计窗口为1s,统计检测指标基于两个特征:req和cwd,统计结果如下:
统计属性的时间序列绘制如图2。
步骤2:基于CUSUM算法标注异常流量片段。首先基于正常流量确定CUSUM算法的预警阈值,保证正常流量不触发警报,为了减少误报,预警阈值可以适当上浮。有关CUSUM算法预警过程解释如下:
事先给定一个阈值N,则预警结果f(Sn)满足:
即超出阈值,则产生警报。
当有异常流量产生时,基于CUSUM算法产生初次预警,对超出阈值的片段进行标注。产生警报后,Sn统计量将持续超出阈值,此时需要进行异常修正,Sn回退到0,舍弃累计误差,并继续检验,若再次产生预警,则认为异常流量持续存在,若不再产生预警,则停止标注。
CUSUM算法在进行检测时,是R的第n次标准化观测值,有K和N两个参数是需要确定的。为了更好的检验效果,这里的K将根据检验程序进行动态确定。观测值R={r1,r2,...,rn,...}。那么使用如下几个公式动态计算K值和
其中式1表示K取窗口期cn最大值,cn表示经过指数平滑的是观测值rn除以aven,即被标准化的观测值,aven表示经过指数平滑的rn。这里之所以要使用指数修匀,是为了保证K的稳定性,即K依赖于正常流量。
针对本发明实施例,平滑系数取为0.8,CUSUM算法的检测窗口为20s,即使用最近20s内的数据进行指数平滑。N认为是正常流量累积和的上限。N取2000。异常流量算法标注结果如图3所示,触发预警则f(Sn)=1,否则为0。
考虑到实际应用时可能存在多种检测指标构成多元时间序列,为此可以使用PCA主成分分析方法进行降维处理。
主成分分析能够从多元时间序列中提取多个主成分,每个主成分都是线性无关的向量,从而方便使用者进行数据降维。其过程简要概括如下:
(1)给定m元时间序列T,将其看做m个时间序列组合而成,分别记作X1,X2,...,Xm,基于z-score分别对X1,X2,...,Xm进行标准化。
(2)计算X1,X2,...,Xm变量之间的协方差矩阵S。
S=E[(Xi-E(Xi)(Xj-E(Xj))]=E[XiXj]
(3)求矩阵S的特征值和特征向量,特征值w1,w2,......,wm从大到小排列,依据特征值从大到小的顺序排列特征向量,组成矩阵U。
(2)记X={X1,X2,....,Xm},计算Y=XU,其中,Y={Y1,Y2,...,Ym},Y1 Y2...Ym分别是第一主成分、第二主成分、...、第m主成分。通过特征值wi计算各个主成分的方差贡献率。例如,Yi的方差贡献率为:
对于多元时间序列的相似度量,可以基于PCA主成分分析确定,定义如下:
原数据包含m元时间序列:X1,X2,...,Xm,抽取为k元主成分序列:Y1,Y2,...,Yk,其相对应的方差贡献率分别为w1,w2,...,wk,片段的相似距离变为各主成分相似距离按照贡献率的加权和。
针对本发明实施例,共使用了两个统计量cwd和req,为了定义两个统计量的相似度量,在进行数据标准化之后,采用主成分分析PCA将两个统计量转换为两个线性无关的新统计量,便于确定权值。经过计算得到,实施例第一主成分贡献率77.8450%,第二主成分贡献率22.1550%。对于得到的两个新变量new1和new2,在进行片段相似度量时,权值按照贡献率分配。
步骤3:基于模体发现算法寻找一对相似模体。使用基于DTW的模体发现算法寻找一对包含异常流量的复现片段,也被称作模体。其中模体发现算法可以看作时由多次相似检索组成,算法定义如下:
对于一个长时间序列T{t1,t2,...,tn},定义Ti,m表示时间序列T第i个元素起始,窗口为m的子序列。现假定两个子序列Ti,m和Tj,m是序列T的子序列,使用度量函数dist表示Ti,m和Tj,m之间的相似距离,这里取作DTW相似距离。Ti,m和Tj,m采用滑动窗口法取遍T所有可能的子序列,并两两组合得到的所有相似距离,所有相似距离组成矩阵,记作Matrix。则MatrixProfile(记作MP)可以定义为Matrix每一列去掉平凡匹配的最小值,并记ri为该最小值对应的行号,用向量I保存ri。则有公式如下:
上式中之所以要添加i-j>m/2的限制,其目的在于去除平凡匹配,所谓平凡匹配,即当两个子序列重合或部分重合时,二者的相似度必定非常高,但这并不是我们需要的结果。附图4则是滑动窗口的示意图,图示位置属于一个平凡匹配。
上述过程中MP向量最小值代表时间序列T最相似的两个子序列之间的距离,最小值的下标及其对应的ri代表这两个子序列所在位置,MP的计算复杂度非常高,本发明作两个方面的简化运算,第一,计算DTW距离时采取下界距离剪枝,第二,作相似检索时,若该片段未触发阈值预警,则不予检索。
其过程如下:
算法中,DTW弯曲窗口大小r用于限定DTW算法匹配点位之间的范围,超过范围则不予匹配,本文取作0.05·m,参见图5。dist_bsf和下界距离Lb_Kim和Lb_Keogh都是用于剪枝的,下界距离计算复杂度小,且恒定小于DTW相似距离,如果下界距离都大于当前的dist_bsf,则舍弃当前的序列,不必继续计算DTW相似距离。关于本发明用到的两个下界距离,介绍如下:
LB_Kim下界距离计算两个序列若干特征点之间的距离和。一般是是开头和结尾的几个点,或者是极值点和最值点,本文采用的是开头和结尾的若干点来计算LB_Kim下界距离,计算这些点位在DTW中可能的配对距离和。其形式化表述如下,其中di表示配对特征点距离,k表示特征点数量:
LB_Keogh下界距离首先定义了时间序列的边界,该边界的定义与DTW距离的全局约束参数弯曲窗口大小r相关。LB_Keogh的上下边界定义如下:
对于时间序列X={x1,x2,...,xm},其上界U={U1,U2,...,Um},下界为L={L1,L2,...,Lm},则U和L每一项可表示为:
式子中Xi-r,i+r是以xi为中心,前后索引距离r以内的所有序列元素。基于此,LB_Keogh下界距离被定义为:
LB_Keogh下界距离对应于一个时间序列上下两条边界与另一个时间序列的距离之和。
针对本发明实施例,将前一半数据用于生成片段模式库,后一半数据用于测试片段模式检索预警的效果。基于模体发现算法寻找到的第一对复现片段,起始位置分别为11136和41738,初始窗口选为50,结果如图6所示。由于序列的第一主成分的占据了大部分的方差贡献率,因此可以近似地通过第一主成分表征攻击时的报文峰值,揭示攻击发送报文的模式。
步骤4:基于相似性对模体进行延拓。针对上一步骤找到的一对复现片段,基于DTW相似度量距离进行定步长片段延拓。首先规定一个与子序列长度无关的标准化距离,利用该标准化距离衡量延拓前后相似度变化的大小。本发明将标准化距离Dist_std与Dist_dtw距离的关系定义如下:
假定找到某对复现片段,长度为l,尝试将其延拓为l+e1+e2,其中e1、e2分别是子序列向前和向后延拓的长度。该延拓过程可用图7表示,目的是使找到的模体涵盖更加完整的过程,同时又要保证两个片段仍然相似。其过程可表述为:
find k1 k2 where
式中Ti,m与Tj,m分别表示模体发现算法得到的复现片段及其最近邻序列,在延拓过程中,如果发现Dist_std临时增大了,不能立即停止延拓。因为序列波动引起的标准化距离临时增大是可能存在的,为此必须设定一个容忍限TR,在容忍限以内,继续向前延拓,本发明将容忍限TR取为初始距离的110%。
为降低延拓的时间并且避免局部最优解,可以按照一定步长step进行延拓,延拓过程中,只要当前标准化相似距离在容忍限以内,即触发更新条件,则更新片段长度和位置。最后回溯和试探一个步长,如果该过程能使得标准化相似距离变小,则更新片段长度和位置。
针对本发明实施例,对两处复现片段进行延拓,延拓对应的相似度量需要根据PCA贡献率确定的权值进行重新定义,定义为new1和new2两个序列对应位置相似距离的加权和。延拓使用了DTW度量,消除了部分时间轴上的形变。延拓结果见图8。
步骤5:基于KNN检索寻找所有复现的异常片段。针对已经延拓完毕的复现片段,对其中一个进行KNN检索,检索基于DTW相似度量,并采用下界距离剪枝,过程如下:
算法2计算了下界距离Lb_Kim和Lb_Keogh,其中滑动窗口的序列由data和i
确定,长度与查询序列相同,都是len。类比算法1,算法中的ub_res表示的是检索结果中所有序列与查询序列的最大相似距离。即如果下界距离比ub_res还大,则舍弃当前的序列,不必继续计算。ub_res定义如下:
其中res为KNN查询结果集合,res.size<res.capacity时说明查询结果未满,此时ub_res取无穷大,式子中dist表示相似度量距离。
针对本发明实施例,对于已经延拓完毕的两个复现片段,对其中一个片段进行KNN检索,以发现k个模体。在精确检索时,相似度量距离仍旧定义为new1和new2两个序列相似度量距离的加权和,基于DTW距离进行KNN检索,k取8,留后一半的序列作为验证集,因此只对前一半数据作检索,结果位置分别如下:11136 41738 10945 11001 41603 41547 2271018106。将8个检索结果的片段绘制在一起,如图9所示。
步骤6:基于DTW度量对片段进行相似聚类。上一步骤结束,得到k个包含异常流量的复现片段。本发明使用基于DTW距离度量的层次凝聚聚类法,将k个序列看做是k个孤立集合,循环如下过程:寻找集合中距离最近的两个序列,这里的距离使用DTW相似距离度量。将距离最近的两个序列合并为新序列。直到所有的序列都合并,该循环终止,HAC聚类结束。通过HAC可以确定片段之间的关系。本发明将聚类结果划分为类内和类外,认为离群片段位于类外,非离群片段位于类内。依据类内平均轮廓系数Save作为划分依据,即从后往前通过比较Save选择某一次合并过程将结果划分为两类。Save的定义如下:
其中,U是所有类内片段集合,Tx是类外片段,Ti和Tj是类内片段,k是类内片段总数。Save∈[-1,1],参数ai和bi分别用于表征分类结果的内部聚合度和外部分离度,轮廓系数越大,聚类效果越好。
针对本发明实施例,对于上一步骤得到的的若干复现片段,基于HAC进行评估和删选。这里的HAC聚类的距离计算仍然是new1和new2两个序列的加权DTW距离。HAC聚类结果如图10所示,聚类柱图反映了片段两两合并的过程,从上往下依据平均轮廓系数最优划分为类内片段与类外片段,其编号与起始索引的对照表如下。
根据平均轮廓系数划分,检索片段中,1、2、4、5比较接近,而3、6、7,8属于离群序列,剔除3、6、7,8后,选择4作为聚类中心,因为4到其它片段的距离之和是最小的。
步骤7:基于聚类结果提取片段模式,建立片段模式库。基于上一步骤的聚类,将片段划分为离群片段(类外片段)和非离群片段(类内片段),进而提取片段模式,片段模式的结构如下:
部分内容定义如下:
主片段:类内片段的聚类中心片段。
关联片段:其它类内片段。
边界片段:边界片段border1是类内片段中与主片段相似距离最大的片段。边界片段border2是类外片段中与主片段相似距离最小的片段。
针对本发明实施例,依据上一步骤的聚类结果,提取片段模式主要参数如下:
除此之外,对原数据集继续挖掘片段模式,即寻找第二对复现片段,第三对复现片段,直到覆盖多数异常片段。本数据集包含了同种攻击的多种模式。其它片段模式的主要参数如下:
步骤8:基于相似检索进行实时预警。将模式用于实时匹配的过程中,实时片段向片段模式库发起检索,与每个片段模式主序列进行子序列匹配。本步骤完整过程参见图11。此时将CUSUM算法的阈值划分为两级,第一级N1与原来的阈值相同,第二级N2按照高斯分布μ+σ的分界从正常流量中确定取值。当实时片段超过N1时认为片段存在风险,相似检索的过程不决定是否产生警报,而是对风险片段提供历史片段参考。当实时片段介于N1和N2之间时,依据匹配的相似距离大小选择是否生成警报,其算法如下:
针对本发明实施例,用剩下一半的数据集作验证,进行模式检索与匹配,检索速度很快,远远小于1s,因此匹配过程可以采取滑动窗口实时进行,窗口大小选择50。
N2依据高斯分布,按照μ+σ的分界从正常流量中取值,取作1500,为了验证片段模式匹配的效果,本文采用30%采样的方式统计数据集,并乘以相应倍数代表真实值,使得误报和漏报更容易发生。N1动态取值,以验证不同阈值对实验结果的影响。
单阈值检测与本算法的预警结果对比如图12所示。综合来看,本算法能够有助于减小漏报率,但不能减小误报的情况,只是因为漏报减少,总警报增多,使得误报率有少量减少。通过适当增加N1阈值,在减小误报率的同时,该算法仍能保证较低的漏报率,其主要的依据在于对相同模式片段的相似性进行检索和度量,发现相似异常片段则予以预警,从而消除部分漏报。
此外,相似检索能够为风险片段提供历史模式参考,尽管N1阈值不一样,但片段相似检索的结果是一样。图13给出了片段相似关联的情况,即对测试集(后半段)的片段进行相似关联,与pattern1相似的片段被标注了圈,与pattern2相似的片段被标注了星,与pattern3相似的片段被标注了框,其中测试集未找到pattern3的相似片段。为了更好地可视化,下方用灰色画出了第一主成分的折线图,用以表征攻击时的报文峰值。
Claims (10)
1.一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,包括如下步骤:
(1)从网络流量报文中提取流量统计值,获得统计时间序列,流量统计值结合网络监控设备进行监测;
(2)网络监控过程中,依据正常流量确定CUSUM算法的预警阈值,处理含有异常流量的片段时,对超出阈值的片段进行标注;
(3)使用模体发现算法寻找流量序列中的一对复现片段,并限定复现片段需要包含的异常流量,异常流量即为步骤(2)中超出阈值的片段;
(4)针对步骤(3)中找到的一对复现片段,基于DTW相似距离进行定步长片段延拓;
(5)针对步骤(4)中已经延拓的一对复现片段,将其中一个作为查询序列进行KNN相似检索,并使用DTW作为相似度量距离,结束后得到k个包含异常流量的复现片段;使用层次凝聚聚类法即HAC对找到的复现片段进行聚类分析,依据聚类结果提取片段模式;
(6)基于步骤(5)提取的片段模式构建片段模式库,当再次出现异常流量时,借助相似检索算法将模式用于实时网络风险预警。
2.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(1)中从网络流量报文中提取流量统计值,获得统计时间序列的具体步骤如下:
(1.1)在网络安全监测设备中建立统计模块;
(1.2)通过数据标准化对获得的时间序列进行预处理。
3.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(2)中对超出阈值的片段进行标注的具体步骤如下:
(2.1)在监控过程中,依据正常流量确定CUSUM算法的告警阈值,即从0开始调整阈值,使得正常流量不发生警报为止,为降低误报率,上调阈值;
(2.2)对超过CUSUM算法检测阈值的流量进行异常标注。
4.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(3)中使用模体发现算法寻找流量序列中的一对复现片段,并限定复现片段需要包含的异常流量的具体步骤如下:
首先使用模体发现算法寻找流量序列中的一对复现片段,模体发现算法以DTW距离作为相似度量标准,限定所找到的模体必须包含异常流量,即必须存在超过阈值的部分,同时使用级联下界距离进行剪枝。
5.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(4)中基于DTW相似距离进行定步长片段延拓的具体步骤如下:
基于DTW相似度量进行定步长片段延拓时,首先规定一个与子序列长度无关的标准化DTW距离Dist_std,利用Dist_std衡量延拓前后片段的相似性是否发生改变;该标准化距离的定义基于DTW相似距离Dist_dtw,二者关系如下:
定义Ti,m表示时间序列T第i个元素起始,长为m的子序列,假定Ti,m和Tj,m是模体发现算法得到的一对复现片段;对Ti,m和Tj,m延拓过程包括向前和向后延拓,但最终要保证两个片段不失相似性,其过程归结为如下公式:
find k1 k2 where
式中TR为容忍度,即允许延拓后的相似性略有减少,向前或向后延拓过程中,采取按步长延拓,且延拓之后需要进行回溯和试探。
6.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(5)中使用层次凝聚聚类法即HAC对找到的复现片段进行聚类分析,依据聚类结果提取片段模式的具体步骤如下:
使用基于DTW距离的HAC聚类法对步骤(4)中找到的k个复现片段进行聚类分析,借助聚类结果提取片段模式,针对聚类结果,根据平均轮廓系数划分离群片段和非离群片段,在非离群片段中,定义主片段是聚类中心片段,其它片段则是关联片段,边界片段border1是与主片段相似距离最大的片段;在离群片段中,定义边界片段border2是与主片段相似距离最小的片段。
7.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(5)中所述片段模式包括:片段模式名称、编号、时间序列所属的设备信息、管理员备注信息、主片段、关联片段、边界片段。
8.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(5)中使用层次凝聚聚类法即HAC对找到的复现片段进行聚类分析,依据聚类结果提取片段模式的详细步骤如下:
(5.1)寻找k个复现片段时,首先定义一个动态距离ub_res,代表检索结果集合中所有片段与查询序列的最大距离;
(5.2)检索时,首先使用级联下界距离进行剪枝,即如果计算所得的下界距离都大于ub_res,则不再继续计算,继续检索下一个片段;
(5.3)对于最后没有被剪枝的片段,进行DTW度量距离计算,若最终发现相似距离更小的片段,则更新检索结果集合;
(5.4)检索结束,对于得到的k个复现片段,使HAC聚类方法作聚类分析;聚类时,使用DTW距离度量序列片段的相似性;层次聚类按照聚类方式的不同分为层次分裂聚类和层次凝聚聚类,采用层次凝聚聚类方式进行凝聚聚类时,循环如下过程:寻找集合中距离最近的两个序列,将距离最近的两个序列合并为新序列;直到所有的序列都合并,层次凝聚聚类结束;
(5.5)根据HAC聚类结果,基于平均轮廓系数,划分离群片段和非离群片段,提取片段模式;片段模式包含重要特征片段及其它信息;在非离群片段中,定义主片段是聚类中心片段,其它片段则是关联片段,边界片段border1是与主片段相似距离最大的片段;在离群片段中,定义边界片段border2是与主片段相似距离最小的片段。
9.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(6)中借助相似检索算法将模式用于实时网络风险预警的具体检索算法如下:
将实时序列作为查询序列,向模式库发起检索,与每个模式主片段进行子序列匹配;子序列匹配采用基于DTW相似度量的滑动窗口查询,使用多种下界距离级联来不断剪枝,得到匹配结果后,借助边界片段判断查询序列与主序列是否具有相似性。
10.根据权利要求1所述的一种基于时间序列相似检索的网络监控实时预警方法,其特征在于,所述步骤(6)中借助相似检索算法将模式用于实时网络风险预警的详细步骤如下:
(6.1)基于片段模式进行实时预警时,对CUSUM算法的阈值设定两个等级N1和N2,当检测统计值Sn小于N2时,认为序列没有风险,不进行相似检索,当Sn介于N1和N2之间时,认为序列可能存在风险,进行相似检索,并依据相似检索的结果决定是否给出警告,当Sn高于N1,认为序列存在风险,直接生成警告,同时进行相似检索,为本次预警提供历史模式参考;
(6.2)当发起相似检索时,将实时序列作为查询序列,向模式库发起检索,与每个模式主片段进行子序列匹配;子序列匹配采用基于DTW相似度量的滑动窗口查询,得到查询片段与主片段最佳匹配距离和匹配位置;
(6.3)得到匹配结果后,借助边界片段判断查询序列与主序列是否具有相似性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423917.2A CN113225209B (zh) | 2021-04-20 | 2021-04-20 | 一种基于时间序列相似检索的网络监控实时预警方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423917.2A CN113225209B (zh) | 2021-04-20 | 2021-04-20 | 一种基于时间序列相似检索的网络监控实时预警方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225209A CN113225209A (zh) | 2021-08-06 |
CN113225209B true CN113225209B (zh) | 2022-03-18 |
Family
ID=77088009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110423917.2A Active CN113225209B (zh) | 2021-04-20 | 2021-04-20 | 一种基于时间序列相似检索的网络监控实时预警方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225209B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114527725B (zh) * | 2022-01-20 | 2024-03-22 | 湖南力行动力科技有限公司 | 一种传动系统弛缓故障实时诊断方法 |
CN114998839B (zh) * | 2022-07-06 | 2023-01-31 | 北京原流科技有限公司 | 一种基于层级分布的数据管理方法以及系统 |
CN115834334A (zh) * | 2022-11-28 | 2023-03-21 | 贵州电网有限责任公司 | 一种设备故障检测方法、装置、设备及存储介质 |
CN117579400B (zh) * | 2024-01-17 | 2024-03-29 | 国网四川省电力公司电力科学研究院 | 一种基于神经网络的工控系统网络安全监测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107340766A (zh) * | 2017-07-10 | 2017-11-10 | 浙江大学 | 基于相似度的电力调度告警信号文本归类及故障诊断方法 |
CN108260155A (zh) * | 2018-01-05 | 2018-07-06 | 西安电子科技大学 | 一种基于时空相似度的无线传感网异常检测方法 |
CN108875772A (zh) * | 2018-03-30 | 2018-11-23 | 浙江大学 | 一种基于堆叠稀疏高斯伯努利受限玻尔兹曼机和强化学习的故障分类模型及方法 |
CN109257217A (zh) * | 2018-09-19 | 2019-01-22 | 河海大学 | 移动边缘环境下基于隐私保护的Web服务QoS预测方法 |
CN110011876A (zh) * | 2019-04-19 | 2019-07-12 | 福州大学 | 一种基于强化学习的Sketch的网络测量方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452458B2 (en) * | 2014-01-23 | 2019-10-22 | Microsoft Technology Licensing, Llc | Computer performance prediction using search technologies |
-
2021
- 2021-04-20 CN CN202110423917.2A patent/CN113225209B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107340766A (zh) * | 2017-07-10 | 2017-11-10 | 浙江大学 | 基于相似度的电力调度告警信号文本归类及故障诊断方法 |
CN108260155A (zh) * | 2018-01-05 | 2018-07-06 | 西安电子科技大学 | 一种基于时空相似度的无线传感网异常检测方法 |
CN108875772A (zh) * | 2018-03-30 | 2018-11-23 | 浙江大学 | 一种基于堆叠稀疏高斯伯努利受限玻尔兹曼机和强化学习的故障分类模型及方法 |
CN109257217A (zh) * | 2018-09-19 | 2019-01-22 | 河海大学 | 移动边缘环境下基于隐私保护的Web服务QoS预测方法 |
CN110011876A (zh) * | 2019-04-19 | 2019-07-12 | 福州大学 | 一种基于强化学习的Sketch的网络测量方法 |
Non-Patent Citations (3)
Title |
---|
A improved common principal components based dimension reduction;Shengqiang Ye, Ke Zhang;《2020 Chinese Control And Decision Conference (CCDC)》;20200824;正文2-5页 * |
基于DTW技术的电站故障诊断;段岩峰等;《汽轮机技术》;20100225(第01期);正文2-4页 * |
基于相关反馈的时间序列相似性搜索;刘琪等;《计算机与现代化》;20180215(第02期);正文2-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113225209A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113225209B (zh) | 一种基于时间序列相似检索的网络监控实时预警方法 | |
EP3846048A1 (en) | Online log analysis method, system, and electronic terminal device thereof | |
CN115577275A (zh) | 一种基于lof和孤立森林的时序数据异常监测系统及方法 | |
Chen et al. | Spade: On shape-based pattern detection in streaming time series | |
CN110895526A (zh) | 一种大气监测系统中数据异常的修正方法 | |
CN111475680A (zh) | 检测异常高密子图的方法、装置、设备及存储介质 | |
Du et al. | Network traffic anomaly detection based on wavelet analysis | |
CN107682319A (zh) | 一种基于增强型角度异常因子的数据流异常检测及多重验证的方法 | |
CN111931834B (zh) | 基于孤立森林算法的铝型材挤压过程流数据异常检测方法、设备及存储介质 | |
CN109257383B (zh) | 一种bgp异常检测方法及系统 | |
CN112732748B (zh) | 一种基于自适应特征选择的非侵入式家电负荷识别方法 | |
CN110444011B (zh) | 交通流高峰识别方法、装置、电子设备及存储介质 | |
CN113640675B (zh) | 基于Snippets特征提取的航空锂电池异常检测方法 | |
CN116522268B (zh) | 一种配电网的线损异常识别方法 | |
CN111291824B (zh) | 时间序列的处理方法、装置、电子设备和计算机可读介质 | |
CN115858794B (zh) | 用于网络运行安全监测的异常日志数据识别方法 | |
KR102387887B1 (ko) | 인공지능 학습을 위한 클린 라벨 데이터 정제 장치 | |
Zhang et al. | Dynamic time warping under product quantization, with applications to time-series data similarity search | |
CN114357037A (zh) | 一种时序数据分析方法、装置及电子设备和存储介质 | |
CN112966017B (zh) | 一种时间序列中不定长的异常子序列检测方法 | |
CN115905373B (zh) | 一种数据查询以及分析方法、装置、设备及存储介质 | |
CN116975742A (zh) | 局部放电模式识别方法、装置、设备和存储介质 | |
CN114969638A (zh) | 一种基于模态当量标准化的桥梁性能异常预警方法 | |
CN113642421A (zh) | 周期性多状态电器的事件检测方法及系统、设备、存储介质 | |
Chen et al. | A New Time Series Similarity Measurement Method Based on Fluctuation Features |
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 |