CN106657038B - 一种基于对称度Sketch的网络流量异常检测与定位方法 - Google Patents
一种基于对称度Sketch的网络流量异常检测与定位方法 Download PDFInfo
- Publication number
- CN106657038B CN106657038B CN201611119888.6A CN201611119888A CN106657038B CN 106657038 B CN106657038 B CN 106657038B CN 201611119888 A CN201611119888 A CN 201611119888A CN 106657038 B CN106657038 B CN 106657038B
- Authority
- CN
- China
- Prior art keywords
- sketch
- abnormal
- symmetry
- network
- hash table
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000001514 detection method Methods 0.000 title claims abstract description 52
- 230000002159 abnormal effect Effects 0.000 claims abstract description 89
- 238000013507 mapping Methods 0.000 claims abstract description 22
- 206010000117 Abnormal behaviour Diseases 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 33
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 8
- 238000009826 distribution Methods 0.000 abstract description 7
- 238000004458 analytical method Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012544 monitoring process Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 238000005070 sampling Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000004807 localization Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000029610 recognition of host Effects 0.000 description 1
- 230000006833 reintegration Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于对称度Sketch的网络流量异常检测与定位方法,提出采用连接对称度来实现异常行为的检测,其检测粒度和精度都要高于传统的基于流量特征统计的方法;本发明提出了连接对称度的计算方法‑连接度sketch,将IP地址按照其结构特征分为四段,每一段采用相应的hash函数组进行映射,不但有效的降低了hash表的长度,也有效的降低了冲突发生的概率,获得比较精确的主机连接对称度;接着提出了根据流量自身特征的分布情况获取阈值的方法,所获得的阈值根据网络流量特征实时变化,能够较为精准的捕获到异常行为的特征,获得较好的检测效果;最后,通过设计sketch的核心hash函数组,利用中国余数定理,实现异常源的解析求解,并且求解过程简单高效,结果准确。
Description
技术领域
本发明属于数据流分析处理技术领域,涉及一种基于对称度Sketch的网络流量异常检测与定位方法。
背景技术
随着计算机网络技术的发展和应用,网络带宽和网络流量快速增长,海量的网络流量数据给大规模网络的实时有效测量和监控带来了巨大挑战。网络的实时有效测量对网络管理、流量规划、网络计费有重要意义,例如网络运营商需要统计网络带宽的使用情况或者流量的统计信息来进行计费,网络管理者需要根据流量统计信息更新路由器的路由表,以及通过对网络流量的有效分析来及时发现和处理网络异常事件。为此大规模网络流量的实时测量和监控***在性能上需要满足下面三个基本的要求:
1)高效的处理速度,对于每个数据包的处理必须高效快速。
2)较小的内存需求。
3)快速而且准确的数据查询。
异常检测主要分为两类:基于特征的检测和基于统计的检测。基于特征的检测主要是通过寻找能与已知异常特征相匹配的模式来检测异常,需要预先设定特征库或规则库。这种方法的优点是能够准确检测已知的异常,缺点是不能检测未知异常,同时随着异常种类的增多,特征库很庞大,监测性能下降。因此基于特征的异常监测只能适用于局域网,不能满足骨干链路的速率。基于统计的检测不需要预先了解异常的特征和属性,能够有效的检测已知和未知异常。在基于统计的检测方法中很重要的一部分就是变化检测,主要是通过历史流量得到一个正常的流量模型,然后通过检测在短期内不符合此模型的行为来发现异常。
网络流是网络流量测量和监控领域常用的处理技术,网络流通常的定义是具有相同五元组(协议类型,源IP,源端口,目的IP,目的端口)的所有网络数据包集合。对于基于网络流的网络流量测量和监控,如果精确的测量,则需要存储每条网络流的状态信息。对于大规模的网络流量而言,这需要巨大的内存空间,目前而言往往是无法实现的。目前硬件的处理速度已经跟不上网络流量的增长速度,同时随着网络带宽和网络流的在逐年剧增,这一差距还在不断扩大。综上可知,对大规模网络特性实时精确的测量已经是遥不可及,目前许多处理大规模网络流量的技术方法都是采用概率估计的技术方法。
数据采样是一种常用的数据处理技术,在网络流量处理领域有着广泛的应用。有关采样技术国内外都有着广泛深入的研究,提出了数据包随机采样,网络流采样,智能采样等多种采样技术。其中一些技术已经应用于实际的生产实践中了,例如Cisco路由器上的Netflow数据流信息就是经过数据包采样后的结果。由于采样的技术仅仅处理并存储极少部分数据的信息,因此所需要的存储空间相对很小,处理的效率也很高。同时采样技术的缺陷是有很多的数据包以及网络数据流的丢失,尤其是网络数据包数较少的网络流。这将给网络的测量与监控带来一系列的问题,比如Dos和DDos攻击的有效检测。
sketch是最近几年提出的一种数据结构,已经广泛应用于涉及海量数据处理的各个领域。sketch利用一组hash函数将数据映射到各个hash函数空间中,通过各个hash函数空间的映射值可以估算原始数据的真实值,估算的结果可以确保在一定的误差范围内。相对存储原始数据而言,sketch技术只需要很小的存储要求,因此在网络流量测量与监控流域,尤其是涉及大规模的网络流量sketch技术有着广泛的应用。比如统计网络流的大小分布特性,查找流量大小占网络总流量比较大的网络流,以及检测异常网络流量等。下面简单介绍用于大规模网络流量监控的k-ary sketch技术。
(1)数据流模型
设输入数据流为I=a1,a2,…,数据项ai按照时间顺序依次到达。数据项ai=(ki,ui),其中键值ki∈{0,1,…,N-1},ui是相应的更新数值,ui值可正可负。
(2)数据结构
k-ary sketch由H×K的计数数组T[i][j](0≤i<H,0≤j<K)构成,k-ary sketch的概要数据结构见图1。数据结构T[i][j]可以看成H张hash表,每一行T[i][·](0≤i<H)是和hash函数hi相对应的hash表。其中每个hash函数是从{0,1,…,N-1}到{0,1,…,K-1}的映射,其中N是键值空间的大小,K是每张hash表的大小。各hash函数之间是相互独立无关的。
(3)更新操作
当更新数据项ai=(ki,ui)到达后,将每一张hash表j(1≤j≤H)相应的T[j][hj(ki)]项加上更新数值ui,即如下式所示:
T[j][hj(ki)]=T[j][hj(ki)]+ui 1≤j≤H
由上可知k-ary sketch所需的内存空间大小为H×K,处理每个数据包需要的操作数为H。网络管理者可以基于对k-ary sketch分析,获取在k-ary sketch每张数据表中的那些项产生了异常,从而实现对大规模网络流量实时有效监控。然而从上述k-ary sketch的数据结构可以得知,其并没有存储键值的任何信息,导致很难通过k-ary sketch中的异常项来逆向求解其对应的网络流。因此当通过k-ary sketch发现存在网络流量异常时,无法快速的将该网络流量异常准确的定位到相应的某条网络流上。
下面形式化的描述sketch逆向求解问题,其定义如下:
输入:整数t≥1,r≤H-1。sketch的hash函数为从{0,…,N-1}到{0,…,K-1}的映射对于每一张hash表i至多包含t个不同的标记项,其集合记做
输出:输出集合中的元素x满足x∈{0,…,N-1},并且存在不少于H-r个i∈{0,…,H-1},使得hi(x)∈Ri。
对于网络流量异常检测方面的应用,上述问题中的标记项对应的就是异常项。目前解决这一问题主要有三种实现方法:
(1)依次尝试键值空间的每一个键值,检测此键值是否映射到sketch的至少H-r张hash表的异常项中,如果是,则此键值为异常键值。由于这种方法需要尝试键值空间的所有键值,因此当键值空间较大时所需要的时间代价较高。
(2)当sketch中的每张hash表的异常项检测出来后,不实时的求解异常键值,而是利用后续到来的异常键值对应的数据项来确定该异常键值。对于后续到来的每一个数据项,除更新操作外,另外还需检测此数据项的键值是否映射到sketch的至少H-r张hash表的异常项中,如果是,则此数据项的键值为异常键值。这种方法的局限性是当有些异常键值无相应的数据项随后到来时,这些异常键值将被漏检。
(3)利用二次遍历的方式来寻找异常键值,这种方法需要将数据流全部捕获并存储下来。首先用数据流作为sketch的输入,检测出sketch中每张hash表对应的异常项。然后对存储下来的数据流从头开始依次检测每一个数据项,判断此数据项的键值是否映射到sketch的至少H-r张hash表的异常项中,如果是,则此数据项的键值为异常键值。这种方法目前主要用于离线处理,无法在线应用。
发明内容
本发明的目的在于提出一种基于对称度sketch的网络流量异常检测与定位方法,以准确高效的进行网络异常流量的检测和异常流的定位。
本发明是通过以下技术方案来实现:
一种基于对称度Sketch的网络流量异常检测与定位方法,基于连接对称度来实现异常行为的检测,包括网络流量实时更新、网络主机对称度实时计算、主机流量异常检测、异常源定位四个部分;
在进行异常检测时,获取每条流的源IP和目的IP进行网络流量实时更新,根据IP地址的结构特征,采用IP分段hash,将IP分为四段分别对相应的hash函数组映射,最后将映射结果整合成一个字符串作为hash表中的键;其中,数据更新部分涉及对两个sketch数据结构的更新操作,一个sketch是出连接度sketch,记为Mout;另一个是入连接度sketch,记为Min;出连接度sketch和入连接度sketch采用同一组hash函数组;
所述网络主机对称度实时计算,是计算出连接度sketch和入连接度sketch的比值,得到对称度sketch Msm:Msm=Min/Mout;
所述主机流量异常检测,是根据当前窗口的对称度sketchMsm,利用切比雪夫不等式来设定阈值,衡量流量偏离正常流量行为的程度,得到异常sketch;
所述异常源定位,是通过设计sketch中的关键hash函数组,利用中国余数定理实现sketch的逆向求解;若异常sketch中每个hash表中有且仅有一个异常键,则利用这一组异常键可以唯一逆向确定一个异常IP。
所述的对称度sketch由H张hash表T[j][·](0≤j<H)构成,对应的hash函数如下所示:
hj(x)≡xmodmj,1≤j≤H
其中m1,…,mH均为互不相等的质数;
对称度sketch选择四个hash函数,选择的质数分别为2、3、5、11;通过该hash函数组得到的对称度sketch和异常sketch,能够逆向唯一确定一个IP。
所述的网络流量实时更新包括如下操作:
记输入网络数据流为I=a1,a2,…,每个数据项为ai=(ki,ui),键值ki为源IP、和/或目的IP及其结合;更新数值ui为数据包的字节数、数据包的个数或网络流的个数等统计量;当更新数据项ai=(ki,ui)到达后,将每一张hash表j(1≤j≤H)相应的T[j][hj(ki)]项加上更新数值ui,如下式所示:
T[j][hj(ki)]=T[j][hj(ki)]+ui 1≤j≤H。
所述的数据项ai=(ki,ui)中,在出度sketch中ki为源IP,在入度sketch中ki为目的IP,ui的值为1,网络流量实时更新的操作如下:
当每个数据项ai=(ki,ui)到达后,对表示IP的键ki采取分段映射采取将IP分段映射,然后整合的方法。
所述的主机流量异常检测时,衡量流量偏离正常流量行为的程度,包括如下操作:
a)当前窗口的连接对称度sketchMsm,并计算Msm对应的每张hash表的所有项的期望和标准差;
b)求解当前时间窗口的前30个时间窗口的期望和标准差的平均值,以平均期望作为基线,以平均标准差的2倍或3倍设置上下限;
c)根据基线和上下限求解异常sketch。
所述异常源定位中异常IP时,首先分别选取每个hash表中的第一个字段,利用中国余数定理求出异常IP的第一个字段IP1,然后再依次分别选取每个hash表中异常键的第2、3、4个字段,求解IP2、IP3、IP4,即可得到异常IP(IP1.IP2.IP3.IP4)且该IP唯一,操作如下:
a)若异常sketch中每个hash表中有多个异常键,则从每个hash表中分别取一个异常键,组成一组,利用该组异常键和中国余数定理可唯一确定一个IP;
b)若每个hash表中分别取一个异常键,组成一组,有不同于已求解过的组合,则利用该组异常键和中国余数定理可唯一确定一个IP;若无不同组合,则转c);
c)对所有求得的异常IP求并集,即为所有异常IP;
当唯一确定的IP的各个段值超过255时,要将这些非法IP从最后的结果集中删除。
所述的步骤a)的具体操作如下:
选取每个hash表中异常键的第一段的值组成一个方程组
IP每个段的大小不超过255,利用中国余数定理可得,在模M的情况下,方程组只有唯一解:
其中:
ti=Mi -1为Mi模mi的数论倒数
然后再依次分别选取每个hash表中异常键的第2、3、4个字段,依照求IP1的方式,依次求解IP2、IP3、IP4,即可得到异常IP(IP1.IP2.IP3.IP4)且该IP唯一。
与现有技术相比,本发明具有以下有益的技术效果:
1)首先,本发明提出采用连接对称度来实现异常行为的检测,其检测粒度和精度都要高于传统的基于流量特征统计的方法;
2)随后,本发明提出了连接对称度的计算方法-连接度sketch,采用IP分段映射求解对称度sketch,我们将IP地址按照其结构特征分为四段,每一段采用相应的hash函数组进行映射,这样不但有效的降低了hash表的长度,也有效的降低了冲突发生的概率,获得比较精确的主机连接对称度;
3)接着我们提出了根据流量自身特征的分布情况获取阈值的方法,所获得的阈值根据网络流量特征实时变化,可以根据当前网络情况实时自适应选择阈值,能够较为精准的捕获到异常行为的特征,获得较好的检测效果,相比单一阈值可以更有效的检测出网络中的异常;
4)最后,我们通过设计sketch的核心hash函数组,利用中国余数定理,实现异常源的解析求解,并且求解过程简单高效。
5)基于对称度sketch的网络流量异常检测与定位方法,可以较好的检测高速网络中的已知异常与未知异常;而且处理效率高,内存要求低,完全可以应用于大规模网络流量的实时异常检测与实时定位。
附图说明
图1是基于对称度sketch的网络流量异常检测与定位方法总体流程图;
图2是基于对称度sketch的网络流量异常检测与定位方法的连接度sketch更新流程图;
图3是基于对称度sketch的网络流量异常检测与定位方法的阈值选择流程图;
图4是基于对称度sketch的网络流量异常检测与定位方法的异常检测流程图;
图5是基于对称度sketch的网络流量异常检测与定位方法的异常源定位流程图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
本发明基于以下基本假设:
1、网络用户的行为具有惯性,网络流量特征也具有惯性;
2、相邻的时间窗口内,流量特征不应发生大的变化;
3、网络设计开发的目的是信息交互,对于一个网络用户来说,当前在网上搜寻相关信息的时候,必是进出两个方向的数据包都有。
本发明基于以下基本定义和定理
定义1:在时间窗口T内,某主机主动连接的不同目的主机的个数,称为该主机的出连接度。
定义2:在时间窗口T内,访问某主机的不同源主机的个数,称为该主机的入连接度。
定义3:某台主机的入连接度和出连接度的比值称为连接对称度。
首先,本发明提出采用连接对称度来实现异常行为的检测,其检测粒度和精度都要高于传统的基于流量特征统计的方法;随后,本发明提出了连接对称度的计算方法-连接度sketch,我们将IP地址按照其结构特征分为四段,每一段采用相应的hash函数组进行映射,这样不但有效的降低了hash表的长度,也有效的降低了冲突发生的概率,获得比较精确的主机连接对称度;接着我们提出了根据流量自身特征的分布情况获取阈值的方法,所获得的阈值根据网络流量特征实时变化,能够较为精准的捕获到异常行为的特征,获得较好的检测效果;最后,我们通过设计sketch的核心hash函数组,利用中国余数定理,实现异常源的解析求解,并且求解过程简单高效
参见图1,本发明设计的对称度sketch的网络流量异常检测与定位方法,主要包括网络流量实时更新、网络主机对称度实时计算、主机流量异常检测、异常源定位四个部分。
网络流量实时更新部分用于实时处理来自大规模网络的网络流量,其中更新模块主要涉及对两个sketch数据结构的更新操作,一个sketch是出连接度sketch,记为Mout,另一个是入连接度sketch,记为Min。
网络主机对称度实时计算部分主要是计算主机的连接对称度sketch。由于更新模块中计算出连接度sketch和入连接度sketch采用的是同一组hash函数组,故入连接度sketch和出连接度sketch的比值即为对称度sketch。
主机流量异常检测部分根据当前窗口的连接对称度sketchMsm,并计算Msm对应的每张hash表的所有项的平均值和期望,根据当前时间窗口的前30个时间窗口求得的期望和方差的平均值设置对应的阈值。根据阈值,求解对应的每张hash表中的异常键值key。这时仅仅知道网络流量异常在连接对称度sketch数据结构中的对应位置,需要通过异常源定位模块求解此异常相对应的异常网络。
异常源定位部分根据特定设计的sketch核心hash函数组和中国余数定理,可以简单而高效的定位异常网络流。
下面对各个部分进行进一步的说明。
(1)网络流量实时更新
本发明提供的对称度sketch由H张hash表T[j][·](0≤j<H)构成,对应的hash函数如下所示:
hj(x)≡xmodmj,1≤j≤H
其中m1,…,mH均为互不相等的质数。
当更新数据项ai=(ki,ui)到达后,将每一张hash表j(1≤j≤H)相应的T[j][hj(ki)]项加上更新数值ui,即如下式所示:
T[j][hj(ki)]=T[j][hj(ki)]+ui 1≤j≤H
***的输入数据流是从被监控网络获取的网络流量,可以通过在路由器端被动监听的方式获取真实网络数据包或者使用路由器端生成的Netflow数据。记输入网络数据流为I=a1,a2,…,每个数据项为ai=(ki,ui),键值ki可以取为相应的源IP、目的IP、源IP+目的IP等其它网络流量统计方式;更新数值ui可以取数据包的字节数、数据包的个数、网络流的个数等统计量。
由于数据更新模块是求解网络中每个IP的出度和入度,所以此处的ki选择的是IP(在出度sketch中ki为源IP,在入度sketch中ki为目的IP),ui的值为1。具体的更新操作如下(参见图2):
当每个数据项ai=(ki,ui)到达后,对键ki(即IP)采取分段映射。由于IP是由四个段组成的,为了减少碰撞,此处采取将IP分段映射,然后整合的方法。例如IP为192.168.2.18,当hash函数中的mi选择质数11时,IP分段映射分别得到5、3、2、7,则将hash表中键为字符串“5.3.2.7”的项的值加1。相比IP整体映射,采用IP分段映射再整合的方法,可以有效的减少碰撞,证明如下:
证明1:假设IP整体映射碰撞的概率为p(0<p<1),则IP分段映射的每个段的碰撞概率均为p,由于采用分段映射,当且仅当IP四个段全部碰撞的情况下,才会产生碰撞,故分段映射碰撞的概率为p4。由于0<p<1,故p4<p,即IP分段映射可以有效减少碰撞。
数据更新涉及对两个sketch数据结构的更新操作,一个sketch是出连接度sketchMout,另一个为入连接度sketchMin。
(2)网络主机对称度实时计算
该部分主要是计算连接对称度sketch,由于更新模块中求得的出连接度sketch和入连接sketch采用的是同一组hash函数组,入连接度sketchMin和出连接度sketchMout的比值即为对称度sketchMsm,表达式如下:
Msm=Min/Mout
(3)主机流量异常检测
网络流量异常检测的核心是将流量正常与异常情况标志或区分开来。网络流量异常通常是指流量行为出现非同寻常的、剧烈的模式跳变,严重偏离正常流量行为的情况。由此可知,网络流量异常是一个相对的概念,区分流量正常与异常并没有一个严格的界限。鉴于网络流量的特殊性。流量的突变无法提前预知。传统的门限设置为单一阀值,即为一条限定线。将流量硬性的分为正常值和非正常值的做法并不是可取的方法。而且,不同的网络环境下,对于异常值的敏感性是不一样的。相同网络下不同时段对异常的敏感性也不相同。为此我们引入一种基线的方法,即用基线代表稳定的、正常的流量行为,而偏离正常流量行为的即为异常行为。此时需要解决的问题是偏离程度多大才能定义为异常,如何度量这种偏离的程度。
网络流量是一个随机的时间序列,是离散信号。网络在发生异常时,网络流量的突发性尤为明显。数学期望、方差在统计推断上具有较佳的统计与数学性质,数学期望可以刻画随机变量变化的平均值,方差是一组数据中各数据与其算术平均值离差平方和的平均值,方差表达了随机变量的取值与其数学期望的偏离程度,这使得方差成为最重要的离中趋势测度量。因此把均值和方差作为网络流量的两个统计特征量可以反映流量平稳性的特征,使得网络流量从稳定态到非稳定态的突变可以很准确的量化。设Y为连接对称度,则随机变量Y具有数学期望E(Y)=μ,方差D(Y)=σ2。由网络流量的相关性质可知,其概率分布情况是不确定的。故对于随机变量Y的分布未知,其数学期望和方差已知的情况下,估计随机变量Y落入有限区间内的概率,可以利用切比雪夫不等式来实现。切比雪夫不等式如下:
切比雪夫不等式可以估计出随机变量Y在区间(μ-ε,μ+ε)取值的概率不小于由此可知,若方差σ2越小,则概率p(|Y-μ|<ε)越大,说明随机变量Y取值在数学期望E(Y)附近的密集度越高;若方差σ2越大,则概率p(|Y-μ|<ε)越小,说明随机变量Y取值在数学期望E(Y)附近的密集度越低。切比雪夫不等式说明方差刻画了随机变量的取值对其期望的离散程度。
可见,对于任何分布,只要期望E(Y)和方差σ2存在,则随机变量Y取值偏离期望E(Y)超过3σ的概率是很小的,不超过0.111。因此,可以利用切比雪夫不等式来衡量流量偏离正常流量行为的程度。具体过程如下(参见图3):
a)当前窗口的连接对称度sketchMsm,并计算Msm对应的每张hash表的所有项的期望和标准差。
b)求解当前时间窗口的前30个时间窗口的期望和标准差的平均值。以平均期望作为基线,以平均标准差的2倍或3倍设置上下限。
c)根据基线和上下限求解异常sketch.
由于某些异常持续的时间比较长或者异常涉及的主机比较多,可能会造成单个时间窗口内对称度sketch的值整体上升或下降,此时仅利用单个时间窗口的对称度sketch计算得到的门限值会造成大量的漏报。因此为了提高检测的准确性,充分利用正常网络环境的平稳特性,门限的设置利用当前时间窗口的前30个时间窗口的期望和标准差的平均值分别做为当前时间窗口的基线和上下限。该方法设置的门限值是根据网络环境的变化自动调整的,对网络环境具有自适用性。
(4)异常源定位
主机流量异常检测部分得到的异常sketch仅仅知道异常网络流量在对称度sketch数据结构中的对应位置,并不知道具体的异常网络流,异常源定位部分就是用来求解异常相对应的异常网络流。在本发明书的背景技术中提到的三种异常定位的方法都不适用于大规模网络流量的实时监测和定位。本发明提出了一种基于对称度sketch的网络流量异常检测与定位方法。该方法通过设计关键部分的hash函数组,利用中国余数定理可以简单准确的实现sketch的逆向求解问题。
本发明提供的对称度sketch由H张hash表T[j][·](0≤j<H)构成,对应的hash函数如下所示:
hj(x)≡xmodmj,1≤j≤H
其中m1,…,mH均为互不相等的质数。
本发明中的对称度sketch选择四个hash函数,选择的质数分别为2、3、5、11。通过这个hash函数组得到的对称度sketch和异常sketch,可以逆向唯一确定一个IP,并且这个选择使得对称度sketch占用的内存最小。现证明选取这四个质数可以保证在该方法下占用内存最小,并且可以逆向唯一确定一个IP。
证明2:由中国余数定理可知,当整数m1,m2,...,mn两两互质,则对任意的整数:a1,a2,...,an,一元线性同余方程组在模M的情况下,方程组只有唯一解,其中M=m1×m2×…×mn。现要求解每个IP分段映射后的值所对应的原始段,且要求原始段唯一,由于每个IP段的最大值为255,则所选择的所有质数的乘积应大于255,此时应用中国余数定理可以逆向唯一确定一个原始段。因此m1×m2×…×mn>255。
由于数据更新是采用IP分段映射,则选择mi为被除数的hash函数映射得到的hash表共有mi 4个表项。因此当m1,m2,...,mn选定后,对称度sketch的总表项个数为m1 4+m2 4+…+mn 4。
现问题转化为已知m1×m2×…×mn>255,且m1,m2,…,mn均为正质数,求当m1,m2,…,mn分别取何值时,m1 4+m2 4+…+mn 4最小。
由计算机编程计算得当n=4,m1,m2,…,m4分别为2,3,5,11时m1 4+m2 4+…+mn 4的值最小。
因此得以证明,选取4个hash函数,且质数分别为2,3,5,11时可以逆向唯一确定一个IP,且占用内存最小。
利用主机流量异常检测模块中得到的异常sketch和中国余数定理,逆向定位异常IP的过程如下(参见图4):
a)若异常sketch中每个hash表中有且仅有一个异常键,则利用这一组异
常键可以唯一逆向确定一个异常IP(IP1.IP2.IP3.IP4)。具体如下:
首先选取每个hash表中异常键的第一段的值组成一个方程组
由于IP每个段的大小不超过255,故利用中国余数定理可得,在模M的情况下,方程组只有唯一解:
其中:
ti=Mi -1为Mi模mi的数论倒数
然后再依次分别选取每个hash表中异常键的第2、3、4个字段,依照求IP1的方式,依次求解IP2、IP3、IP4,即可得到异常IP(IP1.IP2.IP3.IP4)且该IP唯一。
b)若异常sketch中每个hash表中有多个异常键,则从每个hash表中分别取一个异常键,组成一组。利用该组异常键转步骤a)可唯一确定一个IP。
c)若每个hash表中分别取一个异常键,组成一组,有不同于已求解过的组合,转步骤b);若无不同组合,则转d)。
d)对所有求得的异常IP求并集,即为异常IP。
需要注意的是,有可能所选取得异常键组合并不是同一IP映射得到的,此时唯一确定的IP的各个段值会超过255。应将这些非法IP从最后的结果集中删除。
以上给出的实施例是实现本发明较优的例子,本发明不限于上述实施例。本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。
Claims (7)
1.一种基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,基于连接对称度来实现异常行为的检测,包括网络流量实时更新、网络主机对称度实时计算、主机流量异常检测、异常源定位四个部分;
在进行异常行为检测时,获取每条流的源IP和目的IP进行网络流量实时更新,根据IP地址的结构特征,采用IP分段hash,将IP分为四段分别对相应的hash函数组映射,最后将映射结果整合成一个字符串作为hash表中的键;其中,数据更新部分涉及对两个sketch数据结构的更新操作,一个sketch是出连接度sketch,记为Mout;另一个是入连接度sketch,记为Min;出连接度sketch和入连接度sketch采用同一组hash函数组;
所述网络主机对称度实时计算,是计算出连接度sketch和入连接度sketch的比值,得到对称度sketch Msm:Msm=Min/Mout;
所述主机流量异常检测,是根据当前窗口的对称度sketchMsm,利用切比雪夫不等式来设定阈值,衡量流量偏离正常流量行为的程度,得到异常sketch;
所述异常源定位,是通过设计sketch中的关键hash函数组,利用中国余数定理实现sketch的逆向求解;若异常sketch中每个hash表中有且仅有一个异常键,则利用这一组异常键可以唯一逆向确定一个异常IP。
2.如权利要求1所述的基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,所述的对称度sketch由H张hash表T[j][·](0≤j<H)构成,对应的hash函数如下所示:
hj(x)≡xmodmj,1≤j≤H
其中m1,…,mH均为互不相等的质数;
对称度sketch选择四个hash函数,选择的质数分别为2、3、5、11;通过该hash函数组得到的对称度sketch和异常sketch,能够逆向唯一确定一个IP。
3.如权利要求1或2所述的基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,所述的网络流量实时更新包括如下操作:
记输入网络数据流为I=a1,a2,…,每个数据项为ai=(ki,ui),键值ki为源IP、和/或目的IP及其结合;更新数值ui为数据包的字节数、数据包的个数或网络流的个数等统计量;当更新数据项ai=(ki,ui)到达后,将每一张hash表j(1≤j≤H)相应的T[j][hj(ki)]项加上更新数值ui,如下式所示:
T[j][hj(ki)]=T[j][hj(ki)]+ui 1≤j≤H。
4.如权利要求3所述的基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,所述的数据项ai=(ki,ui)中,在出度sketch中ki为源IP,在入度sketch中ki为目的IP,ui的值为1,网络流量实时更新的操作如下:
当每个数据项ai=(ki,ui)到达后,对表示IP的键ki采取分段映射采取将IP分段映射,然后整合的方法。
5.如权利要求1所述的基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,所述的主机流量异常检测时,衡量流量偏离正常流量行为的程度,包括如下操作:
a)当前窗口的连接对称度sketchMsm,并计算Msm对应的每张hash表的所有项的期望和标准差;
b)求解当前时间窗口的前30个时间窗口的期望和标准差的平均值,以平均期望作为基线,以平均标准差的2倍或3倍设置上下限;
c)根据基线和上下限求解异常sketch。
6.如权利要求1所述的基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,所述异常源定位中异常IP时,首先分别选取每个hash表中的第一个字段,利用中国余数定理求出异常IP的第一个字段IP1,然后再依次分别选取每个hash表中异常键的第2、3、4个字段,求解IP2、IP3、IP4,即可得到异常IP(IP1.IP2.IP3.IP4)且该IP唯一,操作如下:
a)若异常sketch中每个hash表中有多个异常键,则从每个hash表中分别取一个异常键,组成一组,利用该组异常键和中国余数定理可唯一确定一个IP;
b)若每个hash表中分别取一个异常键,组成一组,有不同于已求解过的组合,则利用该组异常键和中国余数定理可唯一确定一个IP;若无不同组合,则转c);
c)对所有求得的异常IP求并集,即为所有异常IP;
当唯一确定的IP的各个段值超过255时,要将这些非法IP从最后的结果集中删除。
7.如权利要求1所述的基于对称度Sketch的网络流量异常检测与定位方法,其特征在于,所述的步骤a)的具体操作如下:
选取每个hash表中异常键的第一段的值组成一个方程组
IP每个段的大小不超过255,利用中国余数定理可得,在模M的情况下,方程组只有唯一解:
其中:
ti=Mi -1为Mi模mi的数论倒数
然后再依次分别选取每个hash表中异常键的第2、3、4个字段,依照求IP1的方式,依次求解IP2、IP3、IP4,即可得到异常IP(IP1.IP2.IP3.IP4)且该IP唯一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611119888.6A CN106657038B (zh) | 2016-12-08 | 2016-12-08 | 一种基于对称度Sketch的网络流量异常检测与定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611119888.6A CN106657038B (zh) | 2016-12-08 | 2016-12-08 | 一种基于对称度Sketch的网络流量异常检测与定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106657038A CN106657038A (zh) | 2017-05-10 |
CN106657038B true CN106657038B (zh) | 2019-12-27 |
Family
ID=58819138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611119888.6A Expired - Fee Related CN106657038B (zh) | 2016-12-08 | 2016-12-08 | 一种基于对称度Sketch的网络流量异常检测与定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657038B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109842586B (zh) * | 2017-11-27 | 2021-03-12 | 西门子(中国)有限公司 | 异常网络流量检测方法、装置和存储介质 |
CN108597616A (zh) * | 2018-04-11 | 2018-09-28 | 平安科技(深圳)有限公司 | 疾病异常数据检测方法及装置、计算机装置及存储介质 |
WO2020019270A1 (en) * | 2018-07-27 | 2020-01-30 | Nokia Solutions And Networks Oy | Method, device, and system for network traffic analysis |
CN109299365B (zh) * | 2018-09-28 | 2019-08-13 | 西安交通大学深圳研究院 | 一种基于数据流的异常用户检索*** |
CN110830322B (zh) * | 2019-09-16 | 2021-07-06 | 北京大学 | 一种基于概率测量数据结构Sketch的网络流量测量方法和*** |
CN110912767B (zh) * | 2019-10-25 | 2022-03-25 | 电子科技大学 | 一种网络流量的单点测量方法 |
TWI779245B (zh) * | 2019-10-31 | 2022-10-01 | 安碁資訊股份有限公司 | 異常流量偵測方法與異常流量偵測裝置 |
CN110867214B (zh) * | 2019-11-14 | 2022-04-05 | 西安交通大学 | 一种基于共享数据梗概的dna序列查询*** |
CN111200542B (zh) * | 2020-01-03 | 2022-04-05 | 国网山东省电力公司电力科学研究院 | 一种基于确定性替换策略的网络流量管理方法及*** |
CN112437037B (zh) * | 2020-09-18 | 2021-12-07 | 清华大学 | 基于sketch的DDoS洪泛攻击检测方法及装置 |
CN112422579B (zh) * | 2020-11-30 | 2021-11-30 | 福州大学 | 一种基于拟态防御Sketch的执行体集构建方法 |
CN113079176B (zh) * | 2021-04-14 | 2022-04-05 | 西安交通大学 | 一种适用于海量数据的高速网络流量异常检测*** |
US11934401B2 (en) | 2022-08-04 | 2024-03-19 | International Business Machines Corporation | Scalable count based interpretability for database artificial intelligence (AI) |
CN115484157B (zh) * | 2022-09-14 | 2023-06-02 | 浙江大学 | 一种基于可编程交换机的sketch通用配置方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246156A (zh) * | 2008-10-14 | 2011-11-16 | 惠普开发有限公司 | 在网络***中管理事件流量 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7751325B2 (en) * | 2003-08-14 | 2010-07-06 | At&T Intellectual Property Ii, L.P. | Method and apparatus for sketch-based detection of changes in network traffic |
US7764625B2 (en) * | 2008-06-10 | 2010-07-27 | At&T Intellectual Property I, L.P. | Algorithms and estimators for summarization of unaggregated data streams |
-
2016
- 2016-12-08 CN CN201611119888.6A patent/CN106657038B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246156A (zh) * | 2008-10-14 | 2011-11-16 | 惠普开发有限公司 | 在网络***中管理事件流量 |
Also Published As
Publication number | Publication date |
---|---|
CN106657038A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657038B (zh) | 一种基于对称度Sketch的网络流量异常检测与定位方法 | |
Yuan et al. | ProgME: towards programmable network measurement | |
Liu et al. | Detection of superpoints using a vector bloom filter | |
EP2337266A2 (en) | Detecting and classifying anomalies in communication networks | |
Basat et al. | Memento: Making sliding windows efficient for heavy hitters | |
Garg et al. | A probabilistic data structures-based anomaly detection scheme for software-defined Internet of vehicles | |
US10182017B2 (en) | Estimating multiple distinct-flow counts in parallel | |
KR20130017089A (ko) | 애플리케이션 프로토콜 식별 방법 및 장치 | |
CN113114694A (zh) | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 | |
Li et al. | Approximately counting butterflies in large bipartite graph streams | |
Reviriego et al. | The Tandem Counting Bloom Filter-It Takes Two Counters to Tango | |
Gamage et al. | High performance parallel packet classification architecture with popular rule caching | |
CN111200542B (zh) | 一种基于确定性替换策略的网络流量管理方法及*** | |
Wang et al. | Simple and efficient identification of heavy hitters based on bitcount | |
Turkovic et al. | Detecting heavy hitters in the data-plane | |
Wen et al. | Traffic identification algorithm based on improved LRU | |
Wang et al. | A new virtual indexing method for measuring host connection degrees | |
Odegbile et al. | Hierarchical virtual bitmaps for spread estimation in traffic measurement | |
Schweller et al. | Reverse hashing for sketch-based change detection on high-speed networks | |
Shin et al. | Virtual vectors and network traffic analysis | |
US20170012835A1 (en) | Generating Traffic Query Responses Using an Interface Map | |
CN115473836B (zh) | 一种基于流图模型的网络流量测量方法和装置 | |
CN115102716B (zh) | 一种基于自适应采样阈值的网络大流检测方法及*** | |
Wang et al. | BC-Sketch: A simple reversible sketch for detecting network anomalies | |
Liu et al. | A hash-based algorithm for measuring cardinality distribution in network traffic |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |