首页 / 专利库 / 显示技术 / 子窗口 / 一种异常流量攻击检测处置的方法和装置

一种异常流量攻击检测处置的方法和装置

阅读:1发布:2021-06-18

专利汇可以提供一种异常流量攻击检测处置的方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种异常流量攻击检测处置的方法,步骤包括:1)过滤来访IP地址的已知的异常流量和正常流量;2)根据通过的来访IP地址的当前流量数值与流量TOPN动态过滤表中对应的流量模板数值区分出所述通过的来访IP地址中的异常流量和正常流量;3)丢弃异常流量,转发正常流量。本发明还提供一种异常流量攻击检测处置的装置,包括依次连接的流量接收单元、静态过滤单元、动态检测过滤单元和 自学习 单元,其中,动态检测过滤单元连接有运算判决单元和自学习单元。本方法和装置能够提高异常行为的处理效率和检测准确率,快速检测和处理异常攻击流量而且不能影响正常的流量 访问 。,下面是一种异常流量攻击检测处置的方法和装置专利的具体信息内容。

1.一种异常流量攻击检测处置的方法,步骤包括:
1)过滤来访IP地址的已知的异常流量和正常流量;
2)根据预先设定的时间窗口周期及当前流量所处的时间节点,判断所述IP地址是否在流量TOP N动态过滤表的前N中,如果在,将当前流量数值与对应流量模板的该时间节点的流量模板数值作比较运算;如果不在,将当前流量数值与流量平均模板EQ的该时间节点的流量模板数值作比较运算,以区分异常流量和正常流量;
所述流量TOP N动态过滤表为链表,其信息根据历史访问流量从大到小依次排序建立,包括:
1……N+M行IP信息链表,每行IP信息链表包括IP地址、历史访问流量统计和流量模板,该流量模板包括全部时间节点的流量模板数值;
链表E,其IP地址和历史访问流量统计为空,其流量平均模板EQ包括全部节点的流量模板数值,这些数值是对应时间节点的所有非TOP N历史访问流量统计平均值;
所述比较运算是指:
根据当前流量的时间节点k,取当前流量数值X(k),并检索到该时间节点的流量模板数值Mn(k),判断X(k)/Mn(k)与预设阈值β的大小,如果X(k)/Mn(k)>β,则判定该流量为异常流量,如果1对于疑似流量,根据当前流量模板,往后取I个流量数值X(k+1)……X(k+I),并检索对应的流量模板数值Mn(k+1)……Mn(k+I),如果X(k)/Mn(k)+X(k+1)/Mn(k+1)+……+X(k+I)/Mn(k+I)>β,则判定为异常流量,否则为正常流量;
3)丢弃异常流量,转发正常流量。
2.根据权利要求1所述的方法,其特征在于,步骤1)所述已知的异常流量为IP地址在黑名单中的流量;已知的正常流量为IP地址在白名单中的流量。
3.根据权利要求1所述的方法,其特征在于,所述流量TOP N动态过滤表通过自动排序更新,或通过人工手动添加、删除或调整数值进行更新。
4.根据权利要求1所述的方法,其特征在于,所述预设阈值β=3,I=5。
5.根据权利要求1所述的方法,其特征在于,将步骤2)区分出的正常流量通过自学习算法进行流量学习,更新流量TOP N动态过滤表中相应的流量模板数值。
6.根据权利要求5所述的方法,其特征在于,所述自学习算法为:
其中,Mn(k)为当前时间窗口周期内当前时间节点的流量模板数值,Mn-1(k)为前一个时间窗口周期当前时间点的流量模板数值,Xn-1(k)为前一个时间窗口周期接收到的未经过处理的流量数值,b(k)是异常判决结果因子,Rinit(k)为初始化流量模板,初始值都为(0、0…
0)。
7.一种采用权利要求2至6所述方法的异常流量攻击检测处置的装置,包括:
一流量接收单元;
一静态过滤单元,连接流量接收单元,对流量接收单元接收的来访IP地址进行判断,并过滤已知的异常流量和正常流量;
一动态检测过滤单元,连接静态过滤单元,判断来访IP地址是否在流量TOP N动态过滤表的排序中;还连接一运算判决单元和一自学习单元,所述运算判决单元通过运算判定来访IP地址是否异常,对于不属于异常流量的来访IP地址通过所述自学习单元进行流量自学习;
所述通过运算判定来访IP地址是否异常是指:
根据预先设定的时间窗口周期及当前流量所处的时间节点,判断所述IP地址是否在流量TOP N动态过滤表的前N中,如果在,将当前流量数值与对应流量模板的该时间节点的流量模板数值作比较运算;如果不在,将当前流量数值与流量平均模板EQ的该时间节点的流量模板数值作比较运算,以区分异常流量和正常流量;
所述流量TOP N动态过滤表为链表,其信息根据历史访问流量从大到小依次排序建立,包括:
1……N+M行IP信息链表,每行IP信息链表包括IP地址、历史访问流量统计和流量模板,该流量模板包括全部时间节点的流量模板数值;
链表E,其IP地址和历史访问流量统计为空,其流量平均模板EQ包括全部节点的流量模板数值,这些数值是对应时间节点的所有非TOP N历史访问流量统计平均值;
所述比较运算是指:
根据当前流量的时间节点k,取当前流量数值X(k),并检索到该时间节点的流量模板数值Mn(k),判断X(k)/Mn(k)与预设阈值β的大小,如果X(k)/Mn(k)>β,则判定该流量为异常流量,如果1对于疑似流量,根据当前流量模板,往后取I个流量数值X(k+1)……X(k+I),并检索对应的流量模板数值Mn(k)、Mn(k+1)……Mn(k+I),如果X(k)/Mn(k)+X(k+1)/Mn(k+1)+……+X(k+I)/Mn(k+I)>β,则判定为异常流量,否则为正常流量;
一处理单元,转发正常流量和丢弃异常流量。

说明书全文

一种异常流量攻击检测处置的方法和装置

技术领域

[0001] 本发明涉及一种网络攻击检测和防护技术,尤其涉及一种针对低流量的应用型DDOS的异常流量攻击检测处置的方法和装置。

背景技术

[0002] 随着互联网技术的快速发展,利用互联网进行攻击的行为也越来越多,其中,分布式拒绝服务(DDOS)攻击就是一种常见的攻击手段,其共同的特征就是利用协议漏洞,并通过很多伪造的“僵尸主机”向受害目标主机发送大量看似合法的网络包,从而导致网络阻塞或目标服务器资源耗尽而导致服务不可用。DDOS攻击的手段和表现形式很多,主要分为流量型和应用型,其中流量型DDOS攻击(针对传送控制协议的TCP Flood、针对用户数据报协议的UDP Flood、针对控制报文协议的ICMP Flood等)主要是一些常见的UDP和TCP Flood包,协议特征明显较容易检测和过滤。
[0003] 而应用型DDOS攻击(包括针对DNS服务器的DNS FLOOD、针对系统漏洞的CC攻击、针对WEB应用的HTTP FLOOD等)由于具有流量小、速度慢、很容易混杂在正常应用访问中难以甄别和防护,处理效率和检测准确率是衡量该项攻防技术的关键指标。其流量特征如图2所示,实线阴影部分表示一个具有周期统计特性的正常流量,统计周期为T,虚线表示异常流量,其中,(M1、M2……Mk)为将周期T分为K份采样量化得到的流量数值序列。
[0004] 目前,针对应用型DDOS攻击的异常流量检测技术较少而且实现复杂,存在以下一个或多个缺点:基于流量FLOW统计的的检测和防御攻击,其精度性不高,没法深入到应用协议本身;仅针对单个IP攻击检测及过滤方法,在大量新伪造来访IP中将严重失效;目前常用的单纯针对IP流量面积来判断异常攻击的检测过滤方法,在有大流量的正常应用行为(如DNS查询、WEB访问等)存在时,误判增多方法失效;而针对DNS服务器查询日志的行为识别方法,需要额外的与DNS服务器交互信息,实现和部署不便,且不够实时。

发明内容

[0005] 鉴于上述不足,本发明提供一种异常流量攻击检测处置的方法和装置,提高异常行为的处理效率和检测准确率,快速检测和处理异常攻击流量而且不能影响正常的流量访问。
[0006] 为了解决上述技术问题,本发明采用的技术方案如下:
[0007] 一种异常流量攻击检测处置的方法,步骤包括:
[0008] 1)过滤来访IP地址的已知的异常流量和正常流量;
[0009] 2)根据通过的来访IP地址的当前流量数值与流量TOP N动态过滤表中对应的流量模板数值区分出所述通过的来访IP地址中的异常流量和正常流量;
[0010] 3)丢弃异常流量,转发正常流量。
[0011] 进一步地,步骤1)所述已知的异常流量为IP地址在黑名单中的流量;已知的正常流量为IP地址在白名单中的流量。
[0012] 进一步地,所述流量TOP N动态过滤表为链表,其信息根据历史访问流量从大到小依次排序建立,包括:
[0013] 1……N+M行IP信息链表,每行IP信息链表包括IP地址、历史访问流量统计和流量模板,该流量模板包括全部时间节点的流量模板数值,这些数值是根据该IP地址的历史访问流量通过自学习算法得到;
[0014] 链表E,其IP地址和历史访问流量统计为空,其流量平均模板EQ包括全部节点的流量模板数值,这些数值是对应时间节点的所有非TOP N历史访问流量(即不在流量TOP N动态过滤表的N+M行中的来访IP地址的历史访问流量)统计平均值。
[0015] 进一步地,所述流量TOP N动态过滤表通过自动排序更新,或通过人工手动添加、删除或调整数值进行更新。
[0016] 进一步地,所述步骤2)为,根据预先设定的时间窗口周期及当前流量所处的时间节点,判断所述IP地址是否在流量TOP N动态过滤表的前N中,如果在,将当前流量数值与对应流量模板的该时间节点的流量模板数值作比较运算;如果不在,将当前流量数值与流量平均模板EQ的该时间节点的流量模板数值作比较运算,以区分异常流量和正常流量。
[0017] 进一步地,所述比较运算是指,根据当前流量的时间节点k,取当前流量数值X(k),并检索到该时间节点的流量模板数值Mn(k),判断X(k)/Mn(k)与预设阈值β的大小,如果X(k)/Mn(k)>β,则判定该流量为异常流量,如果1
[0018] 对于疑似流量,根据当前流量模板,往后取I个流量数值X(k+1)……X(k+I),并检索对应的流量模板数值Mn(k+1)……Mn(k+I),如果X(k)/Mn(k)+X(k+1)/Mn(k+1)+……+X(k+I)/Mn(k+I)>β,则判定为异常流量,否则为正常流量。
[0019] 进一步地,所述预设阈值β=3,I=5。
[0020] 进一步地,将步骤2)区分出的正常流量通过自学习算法进行流量学习,更新流量TOP N动态过滤表中相应的流量模板数值。
[0021] 进一步地,所述自学习算法为:
[0022]
[0023] 其中,Mn(k)为当前时间窗口周期内当前时间节点的流量模板数值,Mn-1(k)为前一个时间窗口周期当前时间点的流量模板数值,Xn-1(k)为前一个时间窗口周期接收到的未经过处理的流量数值,b(k)是异常判决结果因子,Rinit(k)为初始化流量模板,初始值都为(0、0…0)。假设b的结果都是正确的,经过n次平均运算处理后,异常流量对正常流量特征的影响将减小到1/n,当n足够大时,则认定此时的流量模板数值为最佳。
[0024] 一种异常流量攻击检测处置的装置,包括:
[0025] 一流量接收单元;
[0026] 一静态过滤单元,连接流量接收单元,对流量接收单元接收的来访IP地址进行判断,并过滤已知的异常流量和正常流量;
[0027] 一动态检测过滤单元,连接静态过滤单元,判断来访IP地址是否在流量TOP N动态过滤表的排序中;还连接一运算判决单元和一自学习单元,所述运算判决单元通过运算判定来访IP地址是否异常,对于不属于异常流量的来访IP地址通过所述自学习单元进行流量自学习;
[0028] 一处理单元,转发正常流量和丢弃异常流量。
[0029] 本发明提供了一种异常流量攻击检测处置的方法和装置,与其它检测方法相比,本发明最大的特点是通过静态与动态结合的方式,采用一个动态更新的流量TOP N动态过滤表来对异常流量进行动态过滤,通过查表的动态过滤方式能够快速甄别出异常流量,而通过流量数值与流量TOP N动态过滤表中相应的流量模板数值的比较运算判定异常的方法提高了检测异常流量的准确率,确保将异常攻击从正常访问行为中甄别出来,相比其它基于FLOW统计的DDOS攻击检测方法具有识别精度更高、处理速度更快而且实现复杂度较低的特点。附图说明
[0030] 图1为实施例中一种异常流量攻击检测处置方法流程图
[0031] 图2为异常流量和流量模板示意图。
[0032] 图3为实施例中一种异常流量攻击检测处置的装置结构示意图。
[0033] 图4为流量自学习方法示意图。

具体实施方式

[0034] 为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
[0035] 本实施例提供一种异常流量攻击检测处置的方法,如图1所示,详细步骤如下:
[0036] 步骤S101:监视来访IP的访问请求
[0037] 步骤S102:判断IP地址是否在系统白名单中,如果是,则进入步骤S109直接转发请求;如果否,则进入步骤S103。
[0038] 步骤S103:判断IP地址是否在系统黑名单中,如果是,则进入步骤S108直接丢弃该流量;如果否,则进入步骤S104。
[0039] 步骤S104:判断源地址IP是否在流量TOP N动态过滤表的TOP N排序中。
[0040] 本步骤的细化如下:
[0041] 第一步:根据预设的时间分段模式获得当前时间所属时间节点。由于应用流量的访问行为通常具有很强的周期性(天/周),故采用24*m小时作为当前的周期,计算当前时间所属时间段,当然可以根据实际应用场景需要变换m的数值加大这个周期长度,这里采用当前时间/24*m来获得来访IP所属时间节点k。
[0042] 第二步:自动加载当前流量TOP N动态过滤表,流量TOP N动态过滤表可以通过链表来实现,具体内容如下表1所示:
[0043]
[0044] 表1
[0045] 该流量TOP N动态过滤表内容包含了从1……N+M个有记录的流量排序最靠前的IP信息链表,按照历史流量从大到小依次排序,其中排序为n的一个链表的内容包括:IP地址xxx.xxx.xxx.xxx、历史访问流量统计xx、流量模板Rn=(Mn(1)、Mn(2)、Mn(3)……Mn(k);流量模板为该表项的主要内容,如果将一个特定流量周期的时间分成K份,则Mn(k)表示时间点k上该IP地址在该时间段里历史流量的特征值,称作流量模板数值,这个值是由周期统计特性的历史流量最大期望值,计算方法由自学习算法来不断的动态更新。在实际应用中,应用流量的访问行为通常具有很强的周期性(天/周),这是采用该算法的关键所在。
[0046] 此外,流量TOP N动态过滤表内容还包含了链表E,它的IP地址和历史访问累计数为空,其流量平均模板EQ=(E(1)、E(2)、E(3)……E(k))中的每个节点的流量模板数值是所有非TOPN历史访问流量在该时间点的统计平均值,例如将一个特定流量周期的时间分成K份,则Ek表示时间点k内所有正常流量在该时间段的特征值,实际就是历史流量的求和平均值,这也是很多其它流量检测方法采用的最常见的方式。
[0047] 流量TOP N动态过滤表由自学习得到,也允许人工调整和修正流量TOP N动态过滤表,具备较大的人工操作空间。
[0048] 第三步:自动加载当前流量TOP N动态过滤表,根据历史流量统计实时更新排列顺序,其中排列顺序的更新依据是IP地址的历史访问流量统计,前N个IP信息链表的具体排序说明如下:参考所有的IP地址历史访问流量统计,如果当前IP地址的历史访问流量统计数超过排序第N个的IP地址时,则将该IP地址的相关信息替换第N个IP信息链表中,对应的第k个流量模板数值直接取流量平均模板EQ中第k个值Mn(k)=E(k),此外将第N个排序的原IP信息链表往下移一列,进入到由M个缓冲记录组成的潜在IP信息链表中。
[0049] 更新流量TOP N动态过滤表中链表对应的流量模板数值,具体说明如下:对每个来访的IP地址,当IP地址在流量排序前N+M个表中第n行,而且已经判定了该流量数值为正常流量,则将该流量数值R作为一个输入更新第n行对应时间点k的流量模板数值Mn(k),方法由自学习算法来更新。当地址不在流量排序前N+M个表中,而且判定一条流量为普通正常流量,则将该流量作为一个输入值X(k)与流量平均模板对应时间点k的流量模板数值E(k)做平均运算,得到新的流量模板数值Enew(k)并更新到信息链表中,方法同样由自学习算法Enew(k)=[Eold(k)+b(k)*X(k)]/2。
[0050] 这里可以看到,流量TOP N动态过滤表过滤的方法与攻击检测方法不同,本方法采用快速查询动态表的方式,并没有复杂的逻辑处理和判断,实现了IP访问情况的快速处理和转发,不会引起因应用访问的时延而影响访问体验。方法处理的精度主要取决于参数N、M和K的设定,这关系到算法的内存资源开销,具体实现中可以根据硬件资源灵活设定。
[0051] 步骤S105:如果IP地址在流量TOP N动态过滤表排序中,则根据预先设定的时间窗口周期,根据当前流量采集的时间节点,检索到该地址该时间点对应编号的流量模板数值,将当前流量数值与流量模板数值作比较运算,根据是否超出了预设的值来判定该流量是否为异常流量,如果超出阀值,则进入步骤S108,如果未超过阀值,则进入步骤S107。
[0052] 比较运算算法如下:根据当前流量的时间节点k,检索到该时间节点的流量模板数值Mn(k),将当前流量数值X(k)除以流量模板数值Mn(k),即X(k)/Mn(k),结果如果超过预设阀值β(β为预先设定,根据经验默认β=3),则直接判定该流量为异常流量,否则判定为疑似流量;如果判定是疑似流量,则根据当前流量模板,往后取I个(I为预先设定,根据经验默认I=5)流量数值X(k+1)……X(k+I)及对应的流量模板数值Mn(k+1)……Mn(k+I),如果X(k)/Mn(k)+X(k+1)/Mn(k+1)+……+X(k+I)/Mn(k+I),结果超过预设阀值β,则判定为异常流量,否则为这个正常流量。如果超出阀值,则进入步骤S108,如果未超过阀值,则进入步骤S107。
[0053] 步骤S106:如果IP地址不在流量TOP N动态过滤表的排序中,则根据预先设定的时间窗口周期,根据该地址当前流量采集的时间点,从表中的流量平均模板EQ中检索到该时间点对应编号的流量模板数值,将当前流量数值与该流量模板数值作比较运算,运算方法见上段所述,根据是否超出了预设阀值β来判定该流量是否为异常流量,如果超出预设阀值β,则进入步骤S108,如果未超过,则进入步骤S107。
[0054] 步骤S107:通过自学习算法更新该IP地址对应该时间节点的流量模板数值,并判定其流量为正常流量,转入步骤S109;通过自学习算法更新该IP地址对应该时间节点的流量模板数值的具体实现方法如下:
[0055] 第一步:模板初始化
[0056] 流量模板数值通过类似极大似然估计的快速自学习得到。在每个固定的流量周期时间窗口内,对首个访问的正常流量根据各个对应的时间采样,其采样值作为一个初始化的流量模板。
[0057] 第二步:模板自学习
[0058] 流量模板数值Mn(k)通过流量自适应反馈式极大似然估计算法得到。通过快速检索获得上一个时间周期当前时间点的流量模板数值Mn-1(k)与前一个时间窗口周期获得的未经过处理的流量数值Xn-1(k),后者乘以异常判决结果因子b(k)(0/1),再与前者作平均运算,运算结果作为新的流量模板数值,这样使得异常流量不会被学习到。这样在理论上被证明是一种快速收敛的极大似然估计自学习算法。
[0059] 图4为流量自学习算法示意图,图中一个时间窗口周期T内量化的流量数值序列为X(X(1)、X(2)……X(k))。比较运算器负责把当前流量数值序列X与流量模板数值序列M(M(1)、M(2)……M(k))进行比较运算 输出结果做为异常判定输出。此外根据输出结果做为异常判决结果因子b(k)(0/1)来决定是否将当前流量数值序列X(X(1)、X(2)……X(k))输入到流量模板更新中。更新方法是将X与上一个时间窗口周期T得到的旧流量模板Mold(Mold(1)、Mold(2)……Mold(k))进行求和运算获得新的流量模板M(M(1)、M(2)……M(k))。
[0060] 更新流量模板的递推公式可以表示为:
[0061]
[0062] 其中,Mn(k)表示一个时间窗口周期内当前时间点的流量模板数值,Mn-1(k)为前一个时间窗口周期当前时间点的流量模板数值,Xn-1(k)是前一个接收到的未经过处理的流量数值,b(k)是异常判决结果因子,Rinit(k)为初始化流量模板,初始值都为(0、0…0)。这样,假设b的结果都是正确的,经过n次平均运算处理后,异常流量的能量将减小到1/n,当n足够大时,可以认为此时的流量模板数值是最佳值,这样在理论上被证明是一种快速收敛的极大似然估计自学习算法,是访问流量行为的最佳估计。
[0063] 第三步:模板
[0064] 经过一段时间自学习后,可以由人为的参与锁定流量模型,不再进行学习,以确保异常处理的快速有效。
[0065] 步骤S108:若检测到属于异常流量,则判定当前为DDOS攻击行为,过滤来访IP请求;
[0066] 步骤S109:若检测到不属于异常流量,则转发来访IP请求;
[0067] 本实施例另提供一种异常流量攻击检测处置的装置,采用上述方法,如图3所示,包括依次连接的流量接收单元、静态过滤单元、动态监测过滤单元和处理单元,动态监测过滤单元还连接有运算判决单元和自学习单元。
[0068] 流量接收单元接收来访IP地址的流量请求(见步骤S101);
[0069] 静态过滤单元可通过设置白名单和黑名单的方式,属于白名单中的判为正常流量(见步骤S102),属于黑名单中的判为异常流量(见步骤S103);
[0070] 动态监测过滤单元的功能是判断来访IP地址是否在流量TOP N动态过滤表中(见步骤S104);
[0071] 运算判决单元是对属于和不属于流量TOP N动态过滤表排序中的IP地址进行运算并判定是否是异常流量(见步骤S105、S106);
[0072] 自学习单元执行的功能是动态维护和更新TOP N动态过滤表,对历史访问流量统计进行排序,并动态更新对应的来访IP地址的流量模板(见步骤S107);
[0073] 处理单元的功能是丢弃异常的流量请求(见步骤S108)和转发正常的流量请求(见步骤S109)。
[0074] 以上所述,仅为本发明较佳的具体实施方式,提供给本领域普通技术人员来实现和使用本发明的,但本发明的保护范围并不局限于此,在本发明揭露的技术范围内,可以轻易的想到的变化或者替换,到应该涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求书的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈