CN109951420B - 一种基于熵和动态线性关系的多级流量异常检测方法 - Google Patents

一种基于熵和动态线性关系的多级流量异常检测方法 Download PDF

Info

Publication number
CN109951420B
CN109951420B CN201711385042.1A CN201711385042A CN109951420B CN 109951420 B CN109951420 B CN 109951420B CN 201711385042 A CN201711385042 A CN 201711385042A CN 109951420 B CN109951420 B CN 109951420B
Authority
CN
China
Prior art keywords
entropy
value
time point
alarm
time
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
Application number
CN201711385042.1A
Other languages
English (en)
Other versions
CN109951420A (zh
Inventor
姜文婷
陈燕
亢中苗
王婉婷
施展
苏卓
王远丰
廖颖茜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Original Assignee
Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd filed Critical Electric Power Dispatch Control Center of Guangdong Power Grid Co Ltd
Priority to CN201711385042.1A priority Critical patent/CN109951420B/zh
Publication of CN109951420A publication Critical patent/CN109951420A/zh
Application granted granted Critical
Publication of CN109951420B publication Critical patent/CN109951420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于熵和动态线性关系的多级流量异常检测方法;通过分析大量的数据发现属性间的线性关系,对熵值变化程度处于一级阈值和二级阈值之间的时间点进行动态线性关系的检测,降低了实时检测的时延,而分析熵值的变化方向可以识别异常的种类。

Description

一种基于熵和动态线性关系的多级流量异常检测方法
技术领域
本发明涉及数据传输的技术领域,特别是涉及一种基于熵和动态线性关系的多级流量异常检测方法。
背景技术
目前,分析传输系统中传输的流量,及时检测出系统中存在的异常流量是保障系统安全稳定运行的基础,对流量异常检测进行了大量的研究,现有技术为两种:一是通过历史数据训练并建立网络异常的行为模式,通过分析实时网络流量是否与异常行为模式相匹配来判定网络中是否发生了异常;二是从时间序列的角度出发,观察预先定义的网络流量异常指标的是否在时空域上超过了正常的范围来判定异常的是否发生。由于使用第一种建立的方法只能检测到现有的异常类型,当新异常类型出现时无法检测出,因此局限性较大。
由于网络中的数据量巨大,保证流量异常检测方法的实时性和准确性是研究的重点和难点,而传输系统对实时性的要求比其他系统更高,此外,准确的判定异常的种类也是异常检测方法的要求之一;基于第二种方法,在提高流量异常检测方法的实时性和准确性方面做了大量的研究,忽略了异常种类的判定。
发明内容
本发明为克服上述所述的不足,提供一种提高了异常检测方法的实时性和准确性的基于熵和动态线性关系的多级流量异常检测方法。
为解决上述技术问题,本发明采用的技术方案是:
一种基于熵和动态线性关系的多级流量异常检测方法,包括以下步骤:
S1.设定时间片大小T和时间窗口大小N;计算时间窗口和当前时间点t的流量集合熵值四元组Ht
S2.对熵值序列进行一阶差分计算,差分处理序列定义为H′t
S3.基于步骤S2,设定一级阈值和二级阈值;
S4.判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过一级阈值;若是,则进行步骤S8,否则进行步骤S5;
S5.判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过二级阈值;若是,则进行步骤S6,否则进行步骤S7;
S6.动态建立四元组之间的线性关系,并判断时间点t时熵值是否偏离线性关系,若是,则进行步骤S8,否则进行步骤S7;
S7.检测当前时间无异常,进行步骤S9;
S8.根据熵值四元组中的分量变化方向识别出异常类型;
S9.滑动时间窗口,进行下一个时间点检测。
在上述方案中,首先设定时间片大小T和时间窗口大小N;计算时间窗口和当前时间点t的流量集合熵值四元组;对熵值序列进行一阶差分计算;如何,设定一级阈值和二级阈值;判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过一级阈值;再进一步判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过二级阈值;接下来,动态建立四元组之间的线性关系,并判断时间点t时熵值是否偏离线性关系;再检测当前时间无异常,并根据熵值四元组中的分量变化方向识别出异常类型;通过滑动时间窗口,进行下一个时间点检测;通过设定两级动态阈值来提高检测率,降低误检率,并通过分析大量的数据发现属性间的线性关系,对熵值变化程度处于一级阈值和二级阈值之间的时间点进行动态线性关系的检测,降低了实时检测的时延,而分析熵值的变化方向可以识别异常的种类。
优选的,所述的熵值四元组为IP报头中的四种属性的熵值,包括源地址、源端口、目的地址、目的端口的熵值;
所述的步骤S1详细如下:
设定时间片大小T和时间窗口大小N,在时间点t上,聚合流St上的熵值四元组定义为:
Ht=(Hsa,t,Hsp,t,Hda,t,Hdp,t);
其中,Hsa,t、Hsp,t、Hda,t、Hdp,t分别表示源地址、源端口、目的地址、目的端口的熵值。
优选的,所述的源地址的熵值定义为:
Figure BDA0001516407040000021
其中,nsa为聚合流中流量的总数,Pisa,t为相应源地址出现的概率;
所述的源端口的熵值定义为:
Figure BDA0001516407040000022
其中,nsp为聚合流中流量的总数,Pisp,t为相应源地址出现的概率;
所述的目的地址的熵值定义为:
Figure BDA0001516407040000031
其中,nda为聚合流中流量的总数,Pida,t为相应源地址出现的概率;
所述的目的端口的熵值定义为:
其中,ndp为聚合流中流量的总数,Pidp,t为相应源地址出现的概率。
优选的,所述的步骤S2具体如下:
对熵值序列进行一阶差分处理,处理后的序列表示为H′t,其表达式如下:
H′t=Ht-Ht-1
其中,Ht表示时间点t的流量集合熵值四元组,Ht-1表示时间点t-1的流量集合熵值四元组。
优选的,步骤S3具体如下:
计算时间窗口内差分熵值序列的平均值和标准差,作为设定阈值的标准;其中,差分熵值序列的平均值和标准差分别表示为:
一阶差分熵值四元组的平均值表示为:
一阶差分熵值四元组的方差表示为:
Figure BDA0001516407040000034
其中,设定时间点t上的两级动态阈值λt=(λt1t2),其中,一级阈值设定为三倍标准差,二级阈值设定为两倍标准差;具体分别表示为:λt1=±3δ′t,λt2=±2δ′t
优选的,所述的时间窗口内的N个差分熵值四元组的差值表示为:
ΔHt′=Ht′-Et′=(Hsa,t′,Hsp,t′,Hda,t′,Hdp,t′)-(Esa,t′,Esp,t′,Eda,t′,Hdp,t′)=(ΔHsa,t′,ΔHsp,t′,ΔHda,t′,ΔHdp,t′)
判断熵值四元组的差值与一级阈值与二级阈值的关系,进行相应的步骤操作,其中,基于熵值四元组的差值定义报警触发四元组定义:
alarm(Ht)=(alarm(Hsa,t),alarm(Hsp,t),alarm(Hda,t),alarm(Hdp,t));
其中,alarm(Hsa,t)表示源地址熵值报警触发函数,alarm(Hsp,t)表示源端口熵值报警触发函数,alarm(Hda,t)表示目的地址熵值报警触发函数,alarm(Hdp,t)表示目的端口熵值报警触发函数;
其中alarm(Hsa,t)的定义如下:
Figure BDA0001516407040000041
上式中δsa,t′表示δ′t中源地址分量,alarm(Hsa,t)=±2,说明源地址熵值变化程度超出了λt1的范围;alarm(Hsa,t)=±1,说明源地址熵值变化程度介于λt1与λt2之间;alarm(Hsa,t)=0,说明时间点t的源地址熵值没有出现明显的波动,不同的异常类型,会引起不同的源地址熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hsp,t)的定义如下:
Figure BDA0001516407040000042
上式中δsp,t′表示δ′t中源端口分量,alarm(Hsp,t)=±2,说明源端口熵值变化程度超出了λt1的范围;alarm(Hsp,t)=±1,说明源端口熵值变化程度介于λt1与λt2之间;alarm(Hsp,t)=0,说明时间点t的源端口熵值没有出现明显的波动,不同的异常类型,会引起不同的源端口熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hda,t)的定义如下:
Figure BDA0001516407040000043
上式中δda,t′表示δ′t中目的地址分量,alarm(Hda,t)=±2,说明目的地址熵值变化程度超出了λt1的范围;alarm(Hda,t)=±1,说明目的地址熵值变化程度介于λt1与λt2之间;alarm(Hda,t)=0,说明时间点t的目的地址熵值没有出现明显的波动,不同的异常类型,会引起不同的目的地址熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hdp,t)的定义如下:
Figure BDA0001516407040000051
上式中δdp,t′表示δ′t中目的端口分量,alarm(Hdp,t)=±2,说明目的端口熵值变化程度超出了λt1的范围;alarm(Hdp,t)=±1,说明目的端口熵值变化程度介于λt1与λt2之间;alarm(Hdp,t)=0,说明时间点t的目的端口熵值没有出现明显的波动,不同的异常类型,会引起不同的目的端口熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负。
优选的,所述的线性关系具体如下:
分析正常情况下大量的历史流量,源地址的熵值和目的地址的熵值具有正线性关系,源端口的熵值和目的端口的熵值之间具有负线性关系,且随时时间的变化,线性关系会发生变化;为了保证线性关系中参数αt和βt的实时性,提高检测率,本发明采用动态的方式设定αt和βt,时间窗口设定为N,当前检测的时间点为t,假设t之前的N个时间点内不存在异常流量,对该N个时间点的熵值建立线性关系,具体如下:
计算源地址和目的地址熵值的线性关系,设时间点t建立的线性关系定义为:
Hsa,t=αt·Hda,ttt
其中
计算参数αt和βt的值,根据建立的线性关系求出的熵值即为线性预测值
Figure BDA0001516407040000053
当观测值与预测值之差的平方和为最小值时,得到的最佳的线性模型;设观测值与预测值之差的平方和记为Q:
Figure BDA0001516407040000054
其中,Hsa,t′表示根据线性关系得出的在时间窗口内的源地址熵值;t-1≥t′≥t-N,因Q为非负值,所以Q的极小值即为最小值,分别对αt和βt求一阶偏导可得:
Figure BDA0001516407040000061
估计出αt和βt后,计算出方差大小:
Figure BDA0001516407040000062
设定判断偏离线性关系的阈值为θt=±3δt;当时间点t的熵值实际值与根据线性关系得出的预测值之间的差异超过所设定的阈值范围时,判断时间点t存在异常流量。
优选的,所述的步骤S9具体如下:
时间窗口向前滑动,其中,时间窗口的滑动分为两种情况:
1、当前时间点t不存在异常
当检测时间点t+1时,若时间点t不存在异常,那么时间窗口向前滑动一个时间点,滑动后的时间窗口内的N个一阶差分熵值四元组作为检测时间点t+1是否存在异常的基准。
2、当前时间点t存在异常
若当前检测到时间点t存在异常,为了避免时间窗口内的正常模式被异常点破坏,此时时间窗口不再向前滑动,依旧使用时间点t-N至时间点t-1的一阶差分熵值四元组为时间点t+1设定阈值;若时间点t+1不存在异常,时间窗口的右边界向右滑动两个时间点,左边界向左滑动一个时间点,窗口内不包含时间点t的值;若时间点t+1存在异常,时间窗口仍然不向前滑动。
与现有技术相比,本发明的有益效果是:本方案通过分析大量的数据发现属性间的线性关系,对熵值变化程度处于一级阈值和二级阈值之间的时间点进行动态线性关系的检测,降低了实时检测的时延,而分析熵值的变化方向可以识别异常的种类。
附图说明
图1为一种基于熵和动态线性关系的多级流量异常检测方法的流程示意图。
图2为时间窗口滑动方式的示意图。
图3为熵值四元组的熵值序列的示意图。
图4为注入攻击流量后熵值四元组的熵值序列的示意图。
图5为注入攻击流量后熵值四元组线性关系的示意图。
图6为检测率和误检率的示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1:
一种基于熵和动态线性关系的多级流量异常检测方法,其流程示意图如图1所示:包括以下步骤:
S1.设定时间片大小T和时间窗口大小N;计算时间窗口和当前时间点t的流量集合熵值四元组Ht
S2.对熵值序列进行一阶差分计算,差分处理序列定义为Ht′;
S3.基于步骤S2,设定一级阈值和二级阈值;
S4.判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过一级阈值;若是,则进行步骤S8,否则进行步骤S5;
S5.判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过二级阈值;若是,则进行步骤S6,否则进行步骤S7;
S6.动态建立四元组之间的线性关系,并判断时间点t时熵值是否偏离线性关系,若是,则进行步骤S8,否则进行步骤S7;
S7.检测当前时间无异常,进行步骤S9;
S8.根据熵值四元组中的分量变化方向识别出异常类型;
S9.滑动时间窗口,进行下一个时间点检测。
在本实施例中,首先设定时间片大小T和时间窗口大小N;计算时间窗口和当前时间点t的流量集合熵值四元组;对熵值序列进行一阶差分计算;如何,设定一级阈值和二级阈值;判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过一级阈值;再进一步判断熵值四元组相对于时间窗口内的N个差分熵值四元组的差值是否超过二级阈值;接下来,动态建立四元组之间的线性关系,并判断时间点t时熵值是否偏离线性关系;再检测当前时间无异常,并根据熵值四元组中的分量变化方向识别出异常类型;通过滑动时间窗口,进行下一个时间点检测;通过设定两级动态阈值来提高检测率,降低误检率,并通过分析大量的数据发现属性间的线性关系,对熵值变化程度处于一级阈值和二级阈值之间的时间点进行动态线性关系的检测,降低了实时检测的时延,而分析熵值的变化方向可以识别异常的种类。
在本实施例中,所述的熵值四元组为IP报头中的四种属性的熵值,包括源地址、源端口、目的地址、目的端口的熵值;
所述的步骤S1详细如下:
设定时间片大小T和时间窗口大小N,在时间点t上,聚合流St上的熵值四元组定义为:
Ht=(Hsa,t,Hsp,t,Hda,t,Hdp,t);
其中,Hsa,t、Hsp,t、Hda,t、Hdp,t分别表示源地址、源端口、目的地址、目的端口的熵值。
在本实施例中,源地址的熵值定义为:
Figure BDA0001516407040000081
其中,nsa为聚合流中流量的总数,Pisa,t为相应源地址出现的概率;
所述的源端口的熵值定义为:
Figure BDA0001516407040000082
其中,nsp为聚合流中流量的总数,Pisp,t为相应源地址出现的概率;
所述的目的地址的熵值定义为:
Figure BDA0001516407040000083
其中,nda为聚合流中流量的总数,Pida,t为相应源地址出现的概率;
所述的目的端口的熵值定义为:
Figure BDA0001516407040000084
其中,ndp为聚合流中流量的总数,Pidp,t为相应源地址出现的概率。
在本实施例中,步骤S2具体如下:
对熵值序列进行一阶差分处理,处理后的序列表示为H′t,其表达式如下:
Ht′=Ht-Ht-1
其中,Ht表示时间点t的流量集合熵值四元组,Ht-1表示时间点t-1的流量集合熵值四元组。
在本实施例中,步骤S3具体如下:
计算时间窗口内差分熵值序列的平均值和标准差,作为设定阈值的标准;其中,差分熵值序列的平均值和标准差分别表示为:
一阶差分熵值四元组的平均值表示为:
Figure BDA0001516407040000091
一阶差分熵值四元组的方差表示为:
其中,设定时间点t上的两级动态阈值λt=(λt1t2),其中,一级阈值设定为三倍标准差,二级阈值设定为两倍标准差;具体分别表示为:λt1=±3δ′t,λt2=±2δ′t
在本实施例中,时间窗口内的N个差分熵值四元组的差值表示为:
ΔHt′=Ht′-Et′=(Hsa,t′,Hsp,t′,Hda,t′,Hdp,t′)-(Esa,t′,Esp,t′,Eda,t′,Hdp,t′)=(ΔHsa,t′,ΔHsp,t′,ΔHda,t′,ΔHdp,t′)
判断熵值四元组的差值与一级阈值与二级阈值的关系,进行相应的步骤操作,其中,基于熵值四元组的差值定义报警触发四元组定义:
alarm(Ht)=(alarm(Hsa,t),alarm(Hsp,t),alarm(Hda,t),alarm(Hdp,t));
其中,alarm(Hsa,t)表示源地址熵值报警触发函数,alarm(Hsp,t)表示源端口熵值报警触发函数,alarm(Hda,t)表示目的地址熵值报警触发函数,alarm(Hdp,t)表示目的端口熵值报警触发函数;
其中alarm(Hsa,t)的定义如下:
Figure BDA0001516407040000093
上式中δsa,t′表示δ′t中源地址分量,alarm(Hsa,t)=±2,说明源地址熵值变化程度超出了λt1的范围;alarm(Hsa,t)=±1,说明源地址熵值变化程度介于λt1与λt2之间;alarm(Hsa,t)=0,说明时间点t的源地址熵值没有出现明显的波动,不同的异常类型,会引起不同的源地址熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hsp,t)的定义如下:
Figure BDA0001516407040000101
上式中δsp,t′表示δ′t中源端口分量,alarm(Hsp,t)=±2,说明源端口熵值变化程度超出了λt1的范围;alarm(Hsp,t)=±1,说明源端口熵值变化程度介于λt1与λt2之间;alarm(Hsp,t)=0,说明时间点t的源端口熵值没有出现明显的波动,不同的异常类型,会引起不同的源端口熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hda,t)的定义如下:
Figure BDA0001516407040000102
上式中δda,t′表示δ′t中目的地址分量,alarm(Hda,t)=±2,说明目的地址熵值变化程度超出了λt1的范围;alarm(Hda,t)=±1,说明目的地址熵值变化程度介于λt1与λt2之间;alarm(Hda,t)=0,说明时间点t的目的地址熵值没有出现明显的波动,不同的异常类型,会引起不同的目的地址熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hdp,t)的定义如下:
上式中δdp,t′表示δ′t中目的端口分量,alarm(Hdp,t)=±2,说明目的端口熵值变化程度超出了λt1的范围;alarm(Hdp,t)=±1,说明目的端口熵值变化程度介于λt1与λt2之间;alarm(Hdp,t)=0,说明时间点t的目的端口熵值没有出现明显的波动,不同的异常类型,会引起不同的目的端口熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负。
在本实施例中,线性关系具体如下:
分析正常情况下大量的历史流量,源地址的熵值和目的地址的熵值具有正线性关系,源端口的熵值和目的端口的熵值之间具有负线性关系,且随时时间的变化,线性关系会发生变化;为了保证线性关系中参数αt和βt的实时性,提高检测率,本发明采用动态的方式设定αt和βt,时间窗口设定为N,当前检测的时间点为t,假设t之前的N个时间点内不存在异常流量,对该N个时间点的熵值建立线性关系,具体如下:
计算源地址和目的地址熵值的线性关系,设时间点t建立的线性关系定义为:
Hsa,t=αt·Hda,ttt
其中
Figure BDA0001516407040000111
计算参数αt和βt的值,根据建立的线性关系求出的熵值即为线性预测值当观测值与预测值之差的平方和为最小值时,得到的最佳的线性模型;设观测值与预测值之差的平方和记为Q:
Figure BDA0001516407040000113
其中,Hsa,t′表示根据线性关系得出的在时间窗口内的源地址熵值;t-1≥t′≥t-N,因Q为非负值,所以Q的极小值即为最小值,分别对αt和βt求一阶偏导可得:
Figure BDA0001516407040000114
估计出αt和βt后,计算出方差大小:
Figure BDA0001516407040000121
设定判断偏离线性关系的阈值为θt=±3δt;当时间点t的熵值实际值与根据线性关系得出的预测值之间的差异超过所设定的阈值范围时,判断时间点t存在异常流量。
在本实施例中,步骤S9具体如下:
时间窗口向前滑动,其中,时间窗口的滑动分为两种情况:
1、当前时间点t不存在异常
当检测时间点t+1时,若时间点t不存在异常,那么时间窗口向前滑动一个时间点,滑动后的时间窗口内的N个一阶差分熵值四元组作为检测时间点t+1是否存在异常的基准。
2、当前时间点t存在异常
若当前检测到时间点t存在异常,为了避免时间窗口内的正常模式被异常点破坏,此时时间窗口不再向前滑动,依旧使用时间点t-N至时间点t-1的一阶差分熵值四元组为时间点t+1设定阈值;若时间点t+1不存在异常,时间窗口的右边界向右滑动两个时间点,左边界向左滑动一个时间点,窗口内不包含时间点t的值;若时间点t+1存在异常,时间窗口仍然不向前滑动。
实施例2:
在本实施例中,采集271万条数据作为背景流量,在此背景流量中注入模拟生成的3万条异常流量数据作为实验对象,模拟生成的3万条流量中包含了DDoS攻击、flashcrowd、端口扫描、蠕虫病毒和网络扫描5种异常类型。
实验中都将T设定为1min,当时间窗口N设定为不同数值时,观察方法检测率和误检率的变化。在正常情况下熵值四元组的熵值序列如图3所示:其中图3(a)、图3(b)、图3(c)、图3(d)分别表示正常情况下源地址、源端口、目的地址、目的端口熵值的时间序列值。图中横坐标表示时间点,纵坐标表示熵值大小,无异常流量时,前后时间点的熵值序列虽有波动,但无突变点,但当异常发生时,熵值序列上会产生突变点,如图4所示。
其中,图4是注入攻击流量后的熵值时间序列图,其中图4(a)、图4(b)、图4(c)、图4(d)分别表示注入攻击流量情况下源地址、源端口、目的地址、目的端口熵值的时间序列值。从图4中得出部分异常点较为明显,可以使用较明显的阈值直接检测出,时间点328发生了端口扫描异常,熵值序列有明显的突变。部分异常点并不明显,单一属性熵值的变化与正常时间点相差不太,因此无法设定一个合理的阈值检测这部分异常点,需要通过检测多个属性熵值之间的线性关系来确定是否存在异常。
在本实施例中,注入攻击流量后熵值四元组线性关系的示意图如图5所示:其中,图5(a)表示注入攻击流量后地址熵值线性关系、图5(b)表示注入攻击流量后目的端口熵值线性关系。偏离线性关系的异常点可从源地址与目的地址熵值线性关系图和源端口与目的端口线性关系图中看出。
实施例3:
在本实施例中,对该检测方法进行检测和误检,其中,检测率Pdete和误检率Pfalse定义为:
Figure BDA0001516407040000131
Figure BDA0001516407040000132
当时间窗口N设置为不同大小时,检测率和误检率的变化如图6所示,随时间窗口N的增大,检测率虽有所波动,但保持在较为稳定的水平,且较高,而误检率在时间窗口小于15时大幅减小,之后逐渐减小。由于时间窗口越大,本发明的计算量越大,时延增加,为了平衡时延和准确性,当N=30时,本发明的检测率较高,误检率较低,且不会产生太大的时延。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (8)

1.一种基于熵和动态线性关系的多级流量异常检测方法,其特征在于:包括以下步骤:
S1.设定时间片大小T和时间窗口大小N;计算时间窗口和当前时间点t的流量集合熵值四元组,分别记为Hi和Ht;其中,所述的熵值四元组为IP报头中的四种属性的熵值,包括源地址、源端口、目的地址、目的端口的熵值;
S2.分别对流量集合熵值四元组进行一阶差分计算,差分处理序列定义为Hi′、Ht′;
S3.计算时间窗口内N个差分熵值四元组Hi′的平均值和标准差,将三倍标准差设置为一级阈值,将两倍标准差设置为二级阈值;
S4.判断当前时间点t的流量集合熵值四元组的一阶差分处理序列Ht′相对于时间窗口内的N个差分熵值四元组Hi′的平均值的差值是否超过一级阈值;若是,则进行步骤S8,否则进行步骤S5;
S5.判断当前时间点t的流量集合熵值四元组的一阶差分处理序列Ht′相对于时间窗口内的N个差分熵值四元组Hi′的平均值的差值是否超过二级阈值;若是,则进行步骤S6,否则进行步骤S7;
S6.计算四元组对应的线性关系,得到线性预测值;当观测值与预测值之差的平方和为最小值时,得到最佳的线性模型;设定判断偏离线性关系的阈值,根据时间点t时四元组熵值与根据最佳的线性模型的线性关系得出的预测值之间的差异是否超过所设定的阈值范围,对四元组熵值是否偏离线性关系进行判断,若是,则进行步骤S8,否则进行步骤S7;
S7.检测当前时间无异常,进行步骤S9;
S8.根据熵值四元组的熵值变化方向,对熵值四元组不同的异常类型进行识别;
S9.滑动时间窗口,进行下一个时间点检测。
2.根据权利要求1所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:所述的步骤S1详细如下:设定时间片大小T和时间窗口大小N,在时间点t上,聚合流St上的熵值四元组定义为:
Ht=(Hsa,t,Hsp,t,Hda,t,Hdp,t);
其中,Hsa,t、Hsp,t、Hda,t、Hdp,t分别表示源地址、源端口、目的地址、目的端口的熵值。
3.根据权利要求2所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:所述的源地址的熵值定义为:
其中,nsa为聚合流中流量的总数,Pisa,t为相应源地址出现的概率;
所述的源端口的熵值定义为:
其中,nsp为聚合流中流量的总数,Pisp,t为相应源端口出现的概率;
所述的目的地址的熵值定义为:
其中,nda为聚合流中流量的总数,Pida,t为相应目的地址出现的概率;
所述的目的端口的熵值定义为:
Figure FDA0002315811920000024
其中,ndp为聚合流中流量的总数,Pidp,t为相应目的端口出现的概率。
4.根据权利要求3所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:所述的步骤S2具体如下:
对时间点t的熵值序列进行一阶差分处理,处理后的序列表示为Ht′,其表达式如下:
Ht′=Ht-Ht-1
其中,Ht表示时间点t的流量集合熵值四元组,Ht-1表示时间点t-1的流量集合熵值四元组;同理,得到时间窗口的差分处理序列Hi′。
5.根据权利要求4所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:步骤S3具体如下:
计算时间窗口内差分熵值序列的平均值和标准差,作为设定阈值的标准;其中,差分熵值序列的平均值和标准差分别表示为:
一阶差分熵值四元组的平均值表示为:
Figure FDA0002315811920000025
一阶差分熵值四元组的方差表示为:
其中,设定时间点t上的两级动态阈值λt=(λt1t2),其中,一级阈值设定为三倍标准差,二级阈值设定为两倍标准差;具体分别表示为:λt1=±3δt′,λt2=±2δt′。
6.根据权利要求5所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:所述的时间点t的流量集合熵值四元组的一阶差分处理序列Ht′相对于时间窗口内的N个差分熵值四元组Hi′的平均值的差值表示为:
ΔHi′=Hi′-Ei′=(Hsa,i′,Hsp,i′,Hda,i′,Hdp,i′)-(Esa,i′,Esp,i′,Eda,i′,Edp,i′)
=(ΔHsa,i′,ΔHsp,i′,ΔHda,i′,ΔHdp,i′)
其中,Hsa,i′,Hsp,i′,Hda,i′,Hdp,i′分别表示一阶处理后的源地址、源端口、目的地址、目的端口熵值;Esa,i′,Esp,i′,Eda,i′,Edp,i′分别表示一阶处理后的源地址、源端口、目的地址、目的端口熵值平均值;同理得到时间点t熵值四元组的差值;
判断当前时间点t的流量集合熵值四元组的一阶差分处理序列Ht′相对于时间窗口内的N个差分熵值四元组Hi′的平均值的差值与一级阈值与二级阈值的关系,进行相应的步骤操作,其中,基于时间点t的熵值四元组的差值定义报警触发四元组:
alarm(Ht)=(alarm(Hsa,t),alarm(Hsp,t),alarm(Hda,t),alarm(Hdp,t))
其中,alarm(Hsa,t)表示源地址熵值报警触发函数,alarm(Hsp,t)表示源端口熵值报警触发函数,alarm(Hda,t)表示目的地址熵值报警触发函数,alarm(Hdp,t)表示目的端口熵值报警触发函数;
其中,alarm(Hsa,t)的定义如下:
Figure FDA0002315811920000032
上式中δsa,t′表示δt′中源地址分量,alarm(Hsa,t)=±2,说明熵值变化程度超出了λt1的范围;alarm(Hsa,t)=±1,说明熵值变化程度介于λt1与λt2之间;alarm(Hsa,t)=0,说明时间点t的熵值没有出现明显的波动;不同的异常类型,会引起不同的熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值如果相比前N个时间点增加,符号为正,减少,符号为负;
其中,alarm(Hsp,t)的定义如下:
Figure FDA0002315811920000041
上式中δsp,t′表示δt′中源端口分量,alarm(Hsp,t)=±2,说明熵值变化程度超出了λt1的范围;alarm(Hsp,t)=±1,说明熵值变化程度介于λt1与λt2之间;alarm(Hsp,t)=0,说明时间点t的熵值没有出现明显的波动;不同的异常类型,会引起不同的熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值如果相比前N个时间点增加,符号为正,减少,符号为负;
其中alarm(Hda,t)的定义如下:
Figure FDA0002315811920000042
上式中δda,t′表示δt′中目的地址分量,alarm(Hda,t)=±2,说明目的地址熵值变化程度超出了λt1的范围;alarm(Hda,t)=±1,说明目的地址熵值变化程度介于λt1与λt2之间;alarm(Hda,t)=0,说明时间点t的目的地址熵值没有出现明显的波动,不同的异常类型,会引起不同的目的地址熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负;
其中alarm(Hdp,t)的定义如下:
Figure FDA0002315811920000043
上式中δdp,t′表示δt′中目的端口分量,alarm(Hdp,t)=±2,说明目的端口熵值变化程度超出了λt1的范围;alarm(Hdp,t)=±1,说明目的端口熵值变化程度介于λt1与λt2之间;alarm(Hdp,t)=0,说明时间点t的目的端口熵值没有出现明显的波动,不同的异常类型,会引起不同的目的端口熵值变化方向,为了方便判断时间点t上出现的是何种异常,设定熵值若相比前N个时间点增加,符号为正,若减少,符号为负。
7.根据权利要求6所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:所述的线性关系具体如下:
分析正常情况下大量的历史流量,源地址的熵值和目的地址的熵值具有正线性关系,源端口的熵值和目的端口的熵值之间具有负线性关系,且随时时间的变化,线性关系会发生变化;为了保证线性关系中参数αt和βt的实时性,提高检测率,采用动态的方式设定αt和βt,时间窗口设定为N,当前检测的时间点为t,假设t之前的N个时间点内不存在异常流量,对该N个时间点的熵值建立线性关系,具体如下:
计算源地址和目的地址熵值的线性关系,设时间点t建立的线性关系定义为:
Hsa,t=αt·Hda,ttt
其中,εt~N(0,δt 2),计算参数αt和βt的值,根据建立的线性关系求出的熵值即为线性预测值
Figure FDA0002315811920000051
当观测值与预测值之差的平方和为最小值时,得到的最佳的线性模型;设观测值与预测值之差的平方和记为Q:
Figure FDA0002315811920000052
其中,表示根据线性关系得出的在时间窗口内的源地址熵值,t-1≥t′≥t-N;因Q为非负值,所以Q的极小值即为最小值,分别对αt和βt求一阶偏导可得:
Figure FDA0002315811920000054
估计出αt和βt后,计算出方差大小:
Figure FDA0002315811920000055
设定判断偏离线性关系的阈值为θt=±3δt;当时间点t源地址熵值实际值与根据线性关系得出的预测值之间的差异超过所设定的阈值范围时,判断时间点t存在异常流量。
8.根据权利要求7所述的基于熵和动态线性关系的多级流量异常检测方法,其特征在于:所述的步骤S9具体如下:
时间窗口向前滑动,其中,时间窗口的滑动分为两种情况:
1)当前时间点t不存在异常
当检测时间点t+1时,若时间点t不存在异常,那么时间窗口向前滑动一个时间点,滑动后的时间窗口内的N个一阶差分熵值四元组作为检测时间点t+1是否存在异常的基准;
2)当前时间点t存在异常
若当前检测到时间点t存在异常,为了避免时间窗口内的正常模式被异常点破坏,此时时间窗口不再向前滑动,依旧使用时间点t-N至时间点t-1的一阶差分熵值四元组为时间点t+1设定阈值;若时间点t+1不存在异常,时间窗口的右边界向右滑动两个时间点,左边界向左滑动一个时间点,窗口内不包含时间点t的值;若时间点t+1存在异常,时间窗口仍然不向前滑动。
CN201711385042.1A 2017-12-20 2017-12-20 一种基于熵和动态线性关系的多级流量异常检测方法 Active CN109951420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711385042.1A CN109951420B (zh) 2017-12-20 2017-12-20 一种基于熵和动态线性关系的多级流量异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711385042.1A CN109951420B (zh) 2017-12-20 2017-12-20 一种基于熵和动态线性关系的多级流量异常检测方法

Publications (2)

Publication Number Publication Date
CN109951420A CN109951420A (zh) 2019-06-28
CN109951420B true CN109951420B (zh) 2020-02-21

Family

ID=67004217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711385042.1A Active CN109951420B (zh) 2017-12-20 2017-12-20 一种基于熵和动态线性关系的多级流量异常检测方法

Country Status (1)

Country Link
CN (1) CN109951420B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3748562A1 (en) 2019-05-08 2020-12-09 EXFO Solutions SAS Timeline visualization & investigation systems and methods for time lasting events
CN111222319B (zh) * 2019-11-14 2021-09-14 电子科技大学 一种基于hdp模型的文档信息提取方法
CN112448947B (zh) * 2020-11-10 2022-10-28 奇安信科技集团股份有限公司 网络异常确定方法、设备及存储介质
CN115038088B (zh) * 2022-08-10 2022-11-08 蓝深远望科技股份有限公司 一种智能网络安全检测预警系统和方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734916A (zh) * 2015-03-10 2015-06-24 重庆邮电大学 一种基于tcp协议的高效多级异常流量检测方法
CN104994056A (zh) * 2015-05-11 2015-10-21 中国电力科学研究院 一种电力信息网络中流量识别模型的动态更新方法
CN105227548A (zh) * 2015-09-14 2016-01-06 中国人民解放军国防科学技术大学 基于办公局域网稳态模型的异常流量筛选方法
CN105357228A (zh) * 2015-12-19 2016-02-24 中国人民解放军信息工程大学 一种基于动态阈值的突发流量检测方法
CN105429977A (zh) * 2015-11-13 2016-03-23 武汉邮电科学研究院 基于信息熵度量的深度包检测设备异常流量监控方法
CN105515888A (zh) * 2015-06-30 2016-04-20 国家电网公司 基于多维熵序列分类的智能变电站通信网络异常检测方法
CN105847283A (zh) * 2016-05-13 2016-08-10 深圳市傲天科技股份有限公司 一种基于信息熵方差分析的异常流量检测方法
CN106067882A (zh) * 2016-06-28 2016-11-02 合肥酷睿网络科技有限公司 一种基于网络熵的计算机网络攻击效果定量评估方法
CN106357434A (zh) * 2016-08-30 2017-01-25 国家电网公司 一种基于熵分析的智能电网通信网络流量异常检测方法
CN107231348A (zh) * 2017-05-17 2017-10-03 桂林电子科技大学 一种基于相对熵理论的网络流量异常检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120137367A1 (en) * 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US9996444B2 (en) * 2014-06-25 2018-06-12 Vmware, Inc. Automated methods and systems for calculating hard thresholds

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104734916A (zh) * 2015-03-10 2015-06-24 重庆邮电大学 一种基于tcp协议的高效多级异常流量检测方法
CN104994056A (zh) * 2015-05-11 2015-10-21 中国电力科学研究院 一种电力信息网络中流量识别模型的动态更新方法
CN105515888A (zh) * 2015-06-30 2016-04-20 国家电网公司 基于多维熵序列分类的智能变电站通信网络异常检测方法
CN105227548A (zh) * 2015-09-14 2016-01-06 中国人民解放军国防科学技术大学 基于办公局域网稳态模型的异常流量筛选方法
CN105429977A (zh) * 2015-11-13 2016-03-23 武汉邮电科学研究院 基于信息熵度量的深度包检测设备异常流量监控方法
CN105357228A (zh) * 2015-12-19 2016-02-24 中国人民解放军信息工程大学 一种基于动态阈值的突发流量检测方法
CN105847283A (zh) * 2016-05-13 2016-08-10 深圳市傲天科技股份有限公司 一种基于信息熵方差分析的异常流量检测方法
CN106067882A (zh) * 2016-06-28 2016-11-02 合肥酷睿网络科技有限公司 一种基于网络熵的计算机网络攻击效果定量评估方法
CN106357434A (zh) * 2016-08-30 2017-01-25 国家电网公司 一种基于熵分析的智能电网通信网络流量异常检测方法
CN107231348A (zh) * 2017-05-17 2017-10-03 桂林电子科技大学 一种基于相对熵理论的网络流量异常检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Distributed, Multi-Level Network Anomaly Detection for Datacentre Networks;Mircea Iordache,Simon Jouet,Angelos K. Marnerides and Dimitrios;《2017 IEEE International Conference on Communications (ICC)》;20170731;第1-8页 *
Robust Regression for Anomaly Detection;Ziyu Wang, Jiahai Yang, Zhang ShiZe, Chenxi Li;《2017 IEEE International Conference on Communications (ICC)》;20170731;第1-7页 *
加权条件熵在异常检测中的应用;范晓诗,李成海;《计算机应用研究》;20140131;第203-205页 *

Also Published As

Publication number Publication date
CN109951420A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109951420B (zh) 一种基于熵和动态线性关系的多级流量异常检测方法
CN108076040B (zh) 一种基于杀伤链和模糊聚类的apt攻击场景挖掘方法
CN109729090B (zh) 一种基于wedms聚类的慢速拒绝服务攻击检测方法
CN110895526A (zh) 一种大气监测系统中数据异常的修正方法
US11513932B2 (en) Memory anomaly detection method and device
CN103441982A (zh) 一种基于相对熵的入侵报警分析方法
CN110648480B (zh) 一种基于变化速率的单变量报警系统及方法
CN110460622B (zh) 一种基于态势感知预测方法的网络异常检测方法
CN109784668B (zh) 一种用于电力监控系统异常行为检测的样本特征降维处理方法
CN110083507B (zh) 关键性能指标分类方法及装置
CN111970229B (zh) 一种针对多种攻击方式的can总线数据异常检测方法
CN108205432B (zh) 一种观测实验数据异常值的实时剔除方法
CN113420802A (zh) 基于改进谱聚类的报警数据融合方法
CN107818135B (zh) 一种基于灰色关联法的维诺图电力大数据异常检测方法
CN113705714A (zh) 基于行为序列的配电物联网设备异常行为检测方法及装置
CN113765921B (zh) 一种面向工业物联网的异常流量分级检测方法
CN110809009A (zh) 一种应用于工控网络的两级入侵检测系统
CN110086860B (zh) 一种物联网大数据环境下的数据异常检测方法及装置
CN113794742B (zh) 一种电力系统fdia高精度检测方法
CN112291193B (zh) 一种基于NCS-SVM的LDoS攻击检测方法
KR20230153080A (ko) 오토인코더의 은닉층 정보를 이용한 계층적 네트워크 침입탐지 시스템 및 그 방법
CN112738136A (zh) 一种基于hss算法的慢速拒绝服务攻击检测方法
JP2005203992A (ja) ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム
CN112286168A (zh) 一种基于统计量模式分析的k近邻过程监控方法
CN109831450A (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