一种DDoS攻击检测方法及设备与流程

文档序号:14879709发布日期:2018-07-07 09:23阅读:141来源:国知局
本申请涉及互联网
技术领域
,尤其涉及一种分布式拒绝服务(distributeddenialofservice,ddos)攻击检测方法及设备。
背景技术
:ddos攻击是指将多个计算机联合起来作为攻击平台,采用合理的服务请求来占用一个或多个目标服务器的大量服务资源,从而使合法用户无法得到该服务器的服务响应。作为一种入侵检测机制,采样设备(比如路由器、交换机等)采集到达防护对象设备的信息后发送至采样分析服务器,由采样分析服务器定时对到达同一防护对象设备的不同数据流统计数据进行聚合,根据每检测周期的统计结果判断防护对象设备是否受到ddos攻击。然而,现有技术的攻击检测机制中,在某个检测周期中上报至采样分析服务器的数据流量可能是多个检测周期内的流量总和,而采样分析服务器将该数据流量记录到上报时刻对应的检测周期中的流量统计数据中,导致将不属于该检测周期的数据流量统计到该检测周期的流量统计数据中,而使得该检测周期流量过大从而得到如图1所示的统计结果,而事实上在统计流量值较大的检测周期(如15、33、171)不一定受到ddos攻击,因此,由于统计数据的不准确而降低了攻击检测精度。技术实现要素:本发明实施例所要解决的技术问题在于,提供一种ddos攻击检测方法及设备,使得每个检测周期的统计数据更准确。本发明第一方面提供了一种ddos攻击检测方法,包括:ddos攻击检测设备获取每个检测周期内发送至防护对象设备的数据流,并获取各个数据流的总持续时长,然后根据所述各个数据流的总持续时长确定所述各个数据流为长数据流或短数据流,再根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中后,将各个检测周期内出现的短数据流的数据流量与被分配到对应检测周期内的长数据流的数据流量进行叠加从而确定各个检测周期内的统计流量,若出现统计流量超过预设流量阈值的检测周期,则确定所述防护对象设备在该检测周期内受到分布式拒绝服务ddos攻击。在本发明实施例第一方面中,通过对长数据流进行流量补偿后加上每个检测周期的短数据流的数据流量以得到统计流量,还原出近似的实际流量,使得每个检测周期的统计数据更准确,提高了ddos攻击检测精度,降低了ddos攻击检测的误报率。结合第一方面,在第一方面的第一种实现方式中,在根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中,包括:按照所述长数据流在经过的各个检测周期中的持续时长将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中,这样,使得流量统计结果更准确。结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述方法还包括:在当前的缓存数据流量记录中查找是否存在所述长数据流的数据流量记录,若在当前的缓存数据流量记录中存在所述长数据流的数据流量记录,则将当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量进行叠加从而确定所述长数据流的总数据流量,这样,更有效的更合理的更准确的得到每个长数据流的总数据流量,降低了统计误差。结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述方法还包括:判断所述长数据流是否为活跃流,若所述长数据流为活跃流,则缓存在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量;若所述长数据流为非活跃流,则清除在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量的缓存,这样,可以及时清理缓存,节省了缓存空间。结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,在判断所述长数据流是否为活跃流方面,包括:判断所述长数据流在预设的活跃流老化时刻是否有数据流量持续输出。本发明第二方面提供了一种ddos攻击检测设备,包括:时长获取模块,用于获取每个检测周期内发送至防护对象设备的数据流,获取各个数据流的总持续时长;数据流划分模块,用于根据所述各个数据流的总持续时长确定所述各个数据流为长数据流或短数据流;流量分配模块,用于根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中;流量统计模块,用于将各个检测周期内出现的短数据流的数据流量与被分配到对应检测周期内的长数据流的数据流量进行叠加从而确定各个检测周期内的统计流量;攻击确定模块,用于在出现统计流量超过预设流量阈值的检测周期时,确定所述防护对象设备在该检测周期内受到分布式拒绝服务ddos攻击。在本发明第二方面中,通过对长数据流进行流量补偿后加上每个检测周期的短数据流的数据流量以得到统计流量,还原出近似的实际流量,使得每个检测周期的统计数据更准确,提高了ddos攻击检测精度,降低了ddos攻击检测的误报率。结合第二方面,在第二方面的第一种实现方式中,所述流量分配模块具体用于:按照所述长数据流在经过的各个检测周期中的持续时长将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中,这样,使得流量统计结果更准确。结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述设备还包括记录查找模块,用于:在当前的缓存数据流量记录中查找是否存在所述长数据流的数据流量记录,若在当前的缓存数据流量记录中存在所述长数据流的数据流量记录,则将当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量进行叠加从而确定所述长数据流的总数据流量,这样,更有效的更合理的更准确的得到每个长数据流的总数据流量,降低了统计误差。结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述设备还包括活跃流判断模块,用于:判断所述长数据流是否为活跃流,若所述长数据流为活跃流,则缓存在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量,若所述长数据流为非活跃流,则清除在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量的缓存,这样,可以及时清理缓存,节省了缓存空间。结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,所述活跃流判断模块判断所述长数据流是否为活跃流具体用于:判断所述长数据流在预设的活跃流老化时刻是否有数据流量持续输出。在一个可能的设计中,ddos攻击检测设备的结构中包括处理器和收发器。所述处理器用于执行本发明第一方面提供的ddos攻击检测方法。可选的,还可以包括存储器,所述存储器用于存储支持ddos攻击检测设备执行上述方法的应用程序代码,所述处理器被配置为用于执行所述存储器中存储的应用程序,以执行以下步骤:获取每个检测周期内发送至防护对象设备的数据流,获取各个数据流的总持续时长;根据所述各个数据流的总持续时长,确定所述各个数据流为长数据流或短数据流;根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中;将各个检测周期内出现的短数据流的数据流量与被分配到对应检测周期内的长数据流的数据流量进行叠加,从而确定各个检测周期内的统计流量;若出现统计流量超过预设流量阈值的检测周期,则确定所述防护对象设备在该检测周期内受到ddos攻击。在一个可能的设计中,所述根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中,包括:按照所述长数据流在经过的各个检测周期中的持续时长将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。在一个可能的设计中,还包括:在当前的缓存数据流量记录中查找是否存在所述长数据流的数据流量记录;若在当前的缓存数据流量记录中存在所述长数据流的数据流量记录,则将当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量进行叠加从而确定所述长数据流的总数据流量。在一个可能的设计中,还包括:判断所述长数据流是否为活跃流;若所述长数据流为活跃流,则缓存在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量;若所述长数据流为非活跃流,则清除在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量的缓存。在一个可能的设计中,所述判断所述长数据流是否为活跃流,包括:判断所述长数据流在预设的活跃流老化时刻是否有数据流量持续输出。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。图1是本发明实施例提供的一种防护对象设备的实际统计流量的界面示意图;图2是本发明实施例提供的一种ddos攻击检测组网的结构示意图;图3是本发明实施例提供的一种ddos攻击检测方法的流程示意图;图4是本发明实施例提供的一种各个检测周期内接收到的数据流的界面示意图;图5是本发明实施例提供的另一种各个检测周期内接收到的数据流的界面示意图;图6是本发明实施例提供的一种长数据流的补偿基线的界面示意图;图7是本发明实施例提供的一种长数据流补偿后的统计流量的界面示意图;图8是本发明另一实施例提供的一种ddos攻击检测方法的流程示意图;图9(a)是本发明实施例提供的一种保存周期的界面示意图;图9(b)是本发明实施例提供的另一种保存周期的界面示意图;图10是本发明实施例提供的一种ddos攻击检测设备的结构示意图;图11是本发明实施例提供的另一种ddos攻击检测设备的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本发明实施例中,防护对象设备可以为网站、服务器、数据中心、网段(网络域)等用于接收数据流的对象,而数据流则由源设备发送至防护对象设备(目的设备),在源设备将数据流发送至防护对象设备的过程中,由采样设备采集数据流后发送至ddos攻击检测设备。其中,采样设备可以是网络转发设备本身,如路由器、交换机等,也可以是接收网络转发设备分光过来的数据流进行采样数据流提取的服务器,而ddos攻击检测设备可以为采样分析服务器,当然,采样分析服务器也可以用采样分析服务器集群来替代,以下实施例中以“采样分析服务器”为例描述本发明实施例的方案实施过程。ddos攻击检测设备通常部署在网络中,接收采样数据流。具体地,如图2所示,网络设备a、b、c均为采样设备,网络设备d为ddos攻击检测设备。在一种采样方式中,网络设备a为路由器,路由器a对该路由器a转发的数据流进行采样,发送给采样分析服务器d。在另一种采样方式中,网络设备b为服务器,服务器b没有转发功能,只是进行采样数据流提取,路由器a将转发给网络设备c的数据流复制后发给服务器b。在另一种采样方式中,网络设备c为交换机,交换机c上对该交换机c转发的数据流进行采样并提供给采样分析设备d。采样设备a、b、c获取采样数据流后发送至采用分析服务器d,并由采用分析服务器d获取发送至防护对象设备的长数据流的数据流量后,将该数据流量对应分配到该长数据流经过的各个检测周期中以对长数据流进行流量补偿,这样,每个检测周期用短数据流的统计流量加上补偿后的长数据流的数据流量,还原出近似的实际流量,使得每个检测周期的统计数据更准确,提高了ddos攻击检测精度,降低了ddos攻击检测的误报率。另外,本发明实施例中的网络流量采样是一种基于网络流信息的统计与发布技术,对应的流量采样协议一般分为netflow和ipfix(ipflowinformationexport,ip数据流信息输出)两种版本,ipfix是以netflow为基础的最新ietf标准。下面以安全ddos攻击检测场景下基于ipfix流采样为例,结合附图对本发明实施例进行描述。请参阅图3,图3是本发明实施例提供的一种ddos攻击检测方法的流程示意图,主要以ddos攻击检测设备端进行描述,所述方法包括:s101,获取每个检测周期内发送至防护对象设备的数据流,获取各个数据流的总持续时长。具体的,检测周期为ddos攻击检测设备上预设的接收到ipfix采样数据流后的统计周期,通常设置为2分钟。如图4所示为到达某一个受保护网站的数据流的情况,即采样设备上报至ddos攻击检测设备的数据流的情况,其中1、2、3、4、5为预设的检测周期,ddos攻击检测设备接收到采样设备在每个检测周期内上报的ipfix数据流(如数据流a、b、c、d和e)后,获取ipfix数据流的信息,如ipfix数据流开始时刻、ipfix数据流结束时刻、总持续时长(流开始时刻至流结束时刻的持续时长)、总数据流量等。其中,采样设备上报数据流的时刻包括:流结束时刻以及活跃流老化时刻。另外,每个数据流的总数据流量属于上报时刻所对应的检测周期的统计流量,如b在检测周期3开始,在检测周期4结束,那么对应在检测周期4上报后其总数据流量计算在检测周期4的统计流量中,因此,按照这种统计结果,可得到如图1所示的各个检测周期的统计流量。具体实施中,在采样设备采集到发往防护对象设备的数据流后,在数据流结束时刻或者活跃流老化时刻将数据流上报至ddos攻击检测设备,ddos攻击检测设备提取接收到的数据流的总持续时长、总数据流量等信息。s102,根据所述各个数据流的总持续时长,确定所述各个数据流为长数据流或短数据流。具体的,当数据流的总持续时长大于预设的检测周期的时长时,确定该数据流为长数据流,当数据流的总持续时长小于或者等于预设的检测周期时长时,确定该数据流为短数据流。例如,如图4所示,每个预设的检测周期为2分钟,其中a、b、c、d(t1时刻)、e的总持续时长分别为6分钟、3.2分钟、4分钟、7分钟和0.6分钟,则确定a、b、c和d为长数据流,e为短数据流。步骤s103,根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。具体的,将长数据流的流量分配到该数据流所经过的各个检测周期,如图4中a经过1、2、3、4周期,由于在周期4结束,则将上报至周期4中的a的总数据流量分别分配到1、2、3、4周期。具体分配方式可以为按照所述长数据流在经过的各个检测周期中的持续时长将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。例如,如图4所示,以长流a为例,若在周期4输出时获取到的总数据流量为32,在所经过的1、2、3、4周期内的持续时长比为3:10:10:9,那么将a的总数据流量32分别分配到1、2、3、4周期的流量数为3、10、10和9。s104,将各个检测周期内出现的短数据流的数据流量与被分配到对应检测周期内的长数据流的数据流量进行叠加,从而确定各个检测周期内的统计流量。具体的,每个检测周期内的统计流量包括在本周期内上报的长数据流的数据流量以及短数据流的数据流量。其中,本周期内上报的长数据流的数据流量为分配后的部分数据流量。例如,如图5所示,为到达防护对象设备的数据流示意图,其中在第4检测周期内输出的数据流包括a1~a8,a1、a3、a5、a7为短数据流,而a2、a4、a6、a8为长数据流,则将a1、a3、a5、a7的数据流量与a2、a4、a6、a8分配后的分配在第4检测周期的数据流量进行叠加得到该检测周期的统计流量。对应于图1,在检测周期15、33以及171处统计流量值较大,则将这些检测周期的长数据流的数据流量进行分配,得到如图6所示的长数据流的补偿基线示意图,然后将图1中的长数据流的数据流量去除后与图6中的数据流量对应叠加得到补偿后的每个检测周期的统计流量图,如图7所示。所述对应叠加可以为以周期为单位进行叠加,也可以为以时刻为单位进行叠加,此处不作具体限定。步骤s105,若出现统计流量超过预设流量阈值的检测周期,则确定所述防护对象设备在该检测周期内受到分布式拒绝服务ddos攻击。具体的,若以周期为单位进行叠加,则将补偿后的每个检测周期的数据流量与预设流量阈值进行比较,若差值超过预设范围,则确定在该检测周期内受到ddos攻击。进一步的,若以时刻为单位进行叠加,在某时刻的数据流量与预设流量阈值的差值超过预设范围,则确定在该时刻受到ddos攻击。例如,如图7所示,假设预设流量阈值为40000000,通过对比分析,确定防护对象设备在检测周期165~172内受到ddos攻击。在本发明实施例中,通过ddos攻击检测设备对防护对象设备收到的长数据流的数据流量进行统计,并将统计流量对应分配到该数据流经过的检测周期以对长数据流进行流量补偿,这样,每个检测周期用短数据流的统计流量加上补偿后的长数据流的数据流量,还原出近似的实际流量,使得每个检测周期的统计数据更准确,提高了ddos攻击检测精度,降低了ddos攻击检测的误报率。请参阅图8,图8是本发明另一实施例提供的ddos攻击检测方法的流程示意图,所述方法包括:s201,获取每个检测周期内发送至防护对象设备的数据流,获取各个数据流的总持续时长;具体的,检测周期为ddos攻击检测设备上预设的接收到采样数据流后的统计周期,通常设置为2分钟。如图4所示为到达某一个受保护网站的数据流的情况,即采样设备上报至ddos攻击检测设备的数据流的情况,其中1、2、3、4、5为预设的检测周期,ddos攻击检测设备接收到采样设备在每个检测周期内上报的数据流(如数据流a、b、c、d和e)后,获取数据流的信息,如流开始时刻、流结束时刻、总持续时长(流开始时刻至流结束时刻的持续时长)、总数据流量等。其中,采样设备上报数据流的时刻包括:流结束时刻以及活跃流老化时刻。另外,每个数据流的总数据流量属于上报时刻所对应的检测周期的统计流量,如b在检测周期3开始,在检测周期4结束,那么对应在检测周期4上报后其总数据流量计算在检测周期4的统计流量中,因此,按照这种统计结果,可得到如图1所示的各个检测周期的统计流量。具体实施中,在采样设备采集到发往防护对象设备的数据流后,在数据流结束时刻或者活跃流老化时刻将数据流上报至ddos攻击检测设备,ddos攻击检测设备则提取接收到的数据流的总持续时长、总数据流量等信息。s202,根据所述各个数据流的总持续时长将所述各个数据流划分为长数据流或短数据流;具体的,当数据流的总持续时长大于预设的检测周期的时长时,确定该数据流为长数据流,当数据流的总持续时长小于或者等于预设的检测周期时长时,确定该数据流为短数据流。例如,如图4所示,每个预设的检测周期为2分钟,其中a、b、c、d(t1时刻)、e的总持续时长分别为6分钟、3.2分钟、4分钟、7分钟和0.6分钟,则确定a、b、c和d为长数据流,e为短数据流。s203,判断获取到的数据流是否为长数据流;s204,若所述获取到的数据流为短数据流,则将所述获取到的数据流的数据流量加入到当前检测周期的统计流量中;s205,若所述获取到的数据流为长数据流,则在当前的缓存数据流量记录中查找是否存在所述长数据流的数据流量记录;具体的,缓存数据流量记录即为在数据流持续时长较长且跨越多个保存周期时将该数据流进行缓存的记录,所述缓存记录可以为数据流与数据流量的映射表,如表1所示:表1数据流数据流量流150流232流3100流488其中,数据流可通过数据流标识确定,若所述数据流之间的通信报文包括ip二元组,则该数据流标识可以包括源ip地址和目的ip地址中的一个或多个。若所述数据流之间的通信报文包括ip五元组,则该数据流标识可以包括源ip、目的ip、协议号、源端口号以及目的端口号中的一个或多个。另外,所述保存周期可以为活跃流老化周期,也可以为检测周期,也就是说,ddos攻击检测设备在接收到长数据流时,若该长数据流在预设的活跃流老化时刻有数据流量持续输出,则确定为活跃流,那么在活跃流老化时刻将该数据流添加到缓存记录中,或者,在每个检测周期结束,确定在该检测周期内的数据流是否为长流,若是,则将长数据流添加到缓存记录中。s206,若在当前的缓存数据流量记录中存在所述长数据流的数据流量记录,则将当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量进行叠加从而确定所述长数据流的总数据流量;例如,如图9(a)所示的以检测周期为保存周期,那么,对于a而言,在4周期结束,则4周期为当前保存周期,而a在2、3周期也持续有流量,且在缓存记录中存在,因此2、3周期为历史保存周期,因此a的总数据流量为当前保存周期的流量与历史保存周期的流量的总和;如图9(b)所示的以活跃流老化周期为保存周期,对于b而言,t2时刻流结束,那么t1~t2时间段属于当前保存周期,从流开始至t1时刻属于历史保存周期,通过叠加当前保存周期内的数据流量与历史保存周期内的数据流量而得到b的总数据流量。s207,判断所述长数据流是否为活跃流;具体的,判断所述长数据流在预设的活跃流老化时刻是否有数据流量持续输出,如图4所示,在活跃流老化周期t1到时,长数据流d持续输出,则d为活跃流,否则为非活跃流。s208,若所述长数据流为活跃流,则缓存在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量;s209,若所述长数据流为非活跃流,则清除在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量的缓存;s210,根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。具体的,将长数据流的流量分配到该数据流所经过的各个检测周期,如图4中a经过1、2、3、4周期,由于在周期4结束,则将上报至周期4中的a的总数据流量分别分配到1、2、3、4周期。具体分配方式可以为按照所述长数据流在经过的各个检测周期中的持续时长将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。例如,如图4所示,以长流a为例,若在周期4输出时获取到的总数据流量为32,在所经过的1、2、3、4周期内的持续时长比为3:10:10:9,那么将a的总数据流量32分别分配到1、2、3、4周期的流量数为3、10、10和9。s211,将各个检测周期内出现的短数据流的数据流量与被分配到对应检测周期内的长数据流的数据流量进行叠加从而确定各个检测周期内的统计流量。具体的,每个检测周期内的统计流量包括在本周期内上报的长数据流的数据流量以及短数据流的数据流量。其中,长数据流的数据流量为分配后的部分数据流量。例如,如图5所示,为到达防护对象设备的数据流示意图,其中在第4检测周期内输出的数据流包括a1~a8,a1、a3、a5、a7为短数据流,而a2、a4、a6、a8为长数据流,则将a1、a3、a5、a7的数据流量与a2、a4、a6、a8分配后的分配在第4检测周期的数据流量进行叠加得到该检测周期的统计流量。对应于图1,在检测周期15、33以及171处统计流量值较大,则将这些检测周期的长数据流的数据流量进行分配,得到如图6所示的长数据流的补偿基线示意图,然后将将图1中的长数据流的数据流量去除后与图6中的数据流量对应叠加得到补偿后的每个检测周期的统计流量图,如图7所示。所述对应叠加可以为以周期为单位进行叠加,也可以为以时刻为单位进行叠加,此处不作具体限定。s212,若出现统计流量超过预设流量阈值的检测周期,则确定所述防护对象设备在该检测周期内受到分布式拒绝服务ddos攻击。具体的,若以周期为单位进行叠加,则将补偿后的每个检测周期的数据流量与预设流量阈值进行比较,若差值超过预设范围,则确定在该检测周期内受到ddos攻击。进一步的,若以时刻为单位进行叠加,在某时刻的数据流量与预设流量阈值的差值超过预设范围,则确定在该时刻受到ddos攻击。例如,如图7所示,假设预设流量阈值为40000000,通过对比分析,确定防护对象设备在检测周期165~172内受到ddos攻击。在本发明实施例中,通过ddos攻击检测设备对防护对象设备收到的长数据流的数据流量进行统计,并将统计流量对应分配到该数据流经过的检测周期以对长数据流进行流量补偿,这样,每个检测周期用短数据流的统计流量加上补偿后的长数据流的数据流量,还原出近似的实际流量,使得每个检测周期的统计数据更准确,提高了ddos攻击检测精度,降低了ddos攻击检测的误报率。请参阅图10,图10是本发明实施例提供的一种ddos攻击检测设备的结构示意图。如图10所示,该设备包括时长获取模块10、数据流划分模块20、流量分配模块30、流量统计模块40和攻击确定模块50。时长获取模块10,用于获取每个检测周期内发送至防护对象设备的数据流,获取各个数据流的总持续时长。时长获取模块10可以采用软件或硬件来实现,比如时长获取模块10可以是定时器。具体的,检测周期则为ddos攻击检测设备上预设的接收到采样数据流后的统计周期,通常设置为2分钟。如图4所示,其中1、2、3、4、5为预设的检测周期,ddos攻击检测设备接收到采样设备在每个检测周期内发送的数据流(如数据流a、b、c、d和e),并获取数据流的信息,如流开始时刻,流结束时刻,总持续时长等。其中,采样设备上报数据流的时刻包括:流结束时刻以及活跃流老化时刻。另外,每个数据流的总数据流量属于上报时刻所对应的检测周期的统计流量,如b在检测周期3开始,在检测周期4结束,那么对应在检测周期4上报后其总数据流量计算在检测周期4的统计流量中,因此,按照这种统计结果,可得到如图1所示的各个检测周期的统计流量。具体实施中,在采样设备采集到发往防护对象设备的数据流后,在数据流结束时刻或者活跃流老化时刻上报至ddos攻击检测设备,ddos攻击检测设备则提取接收到的数据流的总持续时长、总数据流量等信息。数据流划分模块20,用于根据所述各个数据流的总持续时长将所述各个数据流划分为长数据流或短数据流。数据流划分模块20可以是报文分类器,数据流划分模块20也可以采用其他软硬件方式实现。具体的,当数据流的总持续时长大于预设的检测周期的时长时,确定该数据流为长数据流,当数据流的总持续时长小于或者等于预设的检测周期时长时,确定该数据流为短数据流。例如,如图4所示,每个预设的检测周期为2分钟,其中a、b、c、d(t1时刻)、e的总持续时长分别为6分钟、3.2分钟、4分钟、7分钟和0.6分钟,则确定a、b、c和d为长数据流,e为短数据流。流量分配模块30,用于根据所述长数据流经过的检测周期,将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。流量分配模块30可以采用选择器或调度器等硬件电路来实现。具体的,将长数据流的流量分配到该数据流所经过的各个检测周期,如图4中a经过1、2、3、4周期,则将a的总数据流量分配到1、2、3、4周期。所述流量分配模块30具体用于:按照所述长数据流在经过的各个检测周期中的持续时长将所述长数据流的总数据流量分配到所述长数据流经过的各个检测周期的统计流量中。例如,如图4所示,以长流a为例,若在周期4输出时获取到的总数据流量为32,在所经过的1、2、3、4周期内的持续时长比为3:10:10:9,那么将a的总数据流量32分别分配到1、2、3、4周期的流量数为3、10、10和9。流量统计模块40,用于将各个检测周期内出现的短数据流的数据流量与被分配到对应检测周期内的长数据流的数据流量进行叠加从而确定各个检测周期内的统计流量。流量统计模块40可以是计数器。具体的,每个检测周期内的统计流量包括在本周期内上报的长数据流的数据流量以及短数据流的数据流量。其中,长数据流的数据流量为分配后的部分数据流量。例如,如图5所示,为到达防护对象设备的数据流示意图,其中在第4检测周期内输出的数据流包括a1~a8,a1、a3、a5、a7为短数据流,而a2、a4、a5、a8为长流,则将a1、a3、a5、a7为的数据流量与a2、a4、a5、a8分配后的分配在第4检测周期的流量进行叠加得到该检测周期的统计流量。对应于图1,在检测周期15、33以及171处统计流量值较大,则将这些检测周期的长数据流的数据流量进行分配,得到如图6所示的长数据流的补偿基线示意图,然后将图1中的长数据流的数据流量去除后与图6中的数据流量对应叠加得到补偿后的每检测周期的统计流量图,如图7所示。所述对应叠加可以为以周期为单位进行叠加,也可以为以时刻为单位进行叠加,此处不作具体限定。攻击确定模块50,用于在出现统计流量超过预设流量阈值的检测周期时,确定所述防护对象设备在该检测周期内受到分布式拒绝服务ddos攻击。具体的,若以周期为单位进行叠加,则将补偿后的每个检测周期的数据流量与预设流量阈值进行比较,若差值超过预设范围,则确定在该检测周期内受到ddos攻击。进一步的,若以时刻为单位进行叠加,在某时刻的数据流量与预设流量阈值的差值超过预设范围,则确定在该时刻受到ddos攻击。例如,如图7所示,假设预设流量阈值为40000000,通过对比分析,确定防护对象设备在检测周期165~172内受到ddos攻击。可选的,如图10所示,所述ddos攻击检测设备还包括记录查找模块60。记录查找模块60用于:在当前的缓存数据流量记录中查找是否存在所述长数据流的数据流量记录,若在当前的缓存数据流量记录中存在所述长数据流的数据流量记录,则将当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量进行叠加从而确定所述长数据流的总数据流量。具体的,所述保存周期可以为活跃流老化周期,也可以为检测周期,也就是说,ddos攻击检测设备在接收到长数据流时,若该长数据流在预设的活跃流老化时刻有数据流量持续输出,则确定为活跃流,那么在活跃流老化时刻将该数据流添加到缓存记录中,或者,在每个检测周期结束,确定在该检测周期内的数据流是否为长流,若是,则将长数据流添加到缓存记录中。如图9(a)所示的以检测周期为保存周期,那么,对于a而言,在4周期结束,则4周期为当前保存周期,而a在2、3周期也持续有流量,且在缓存记录中存在,因此2、3周期为历史保存周期,因此a的总数据流量为当前保存周期的流量与历史保存周期的流量的总和;如图9(b)所示的以活跃流老化周期为保存周期,对于b而言,t2时刻流结束,那么t1~t2时间段属于当前保存周期,从流开始至t1时刻属于历史保存周期,通过叠加当前保存周期内的数据流量与历史保存周期内的数据流量而得到b的总数据流量。可选的,如图10所示,所述ddos攻击检测设备还包括活跃流判断模块70。活跃流判断模块70用于:判断所述长数据流是否为活跃流,若所述长数据流为活跃流,则缓存在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量,若所述长数据流为非活跃流,则清除在当前保存周期内的所述长数据流的数据流量与查找到的当前的缓存数据流量记录中历史保存周期内的所述长数据流的数据流量的总数据流量的缓存。其中,所述活跃流判断模块70判断所述长数据流是否为活跃流具体包括:判断所述长数据流在预设的活跃流老化时刻是否有数据流量持续输出,如果所述长数据流在预设的活跃流老化时刻有数据流量持续输出,则确定该长数据流为活跃流;如果所述长数据流在预设的活跃流老化时刻没有数据流量持续输出,则确定该长数据流为非活跃流。在本发明实施例中,通过ddos攻击检测设备对防护对象设备收到的长数据流的数据流量进行统计,并将统计流量对应分配到该数据流经过的检测周期以对长数据流进行流量补偿,这样,每个检测周期用短数据流的统计流量加上补偿后的长数据流的数据流量,还原出近似的实际流量,使得每个检测周期的统计数据更准确,提高了ddos攻击检测精度,降低了ddos攻击检测的误报率。图10所示实施例中的ddos攻击检测设备可以以图11所示的ddos攻击检测设备实现。如图11所示,为本发明实施例提供了一种ddos攻击检测设备的结构示意图,图11所示的ddos攻击检测设备1000包括:处理器1001和收发器1004。其中,处理器1001和收发器1004相连,如通过总线1002相连。可选的,所述ddos攻击检测设备1000还可以包括存储器1003。需要说明的是,实际应用中收发器1004不限于两个,该ddos攻击检测设备1000的结构并不构成对本发明实施例的限定。其中,处理器1001应用于本发明实施例中,用于实现图10所示的数据流划分模块20、流量分配模块30、流量统计模块40以及攻击确定模块50的功能。收发器1004包括接收机和发射机,收发器1004应用于本发明实施例中,用于实现图10所示的时长获取模块10的功能。处理器1001可以是中央处理器(centralprocessingunitcpu),通用处理器,数字信号处理(digitalsignalprocess,dsp)器件,专用集成电路(applicationspecificintegratedcircuit,asic),现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。总线1002可包括一通路,在上述组件之间传送信息。总线1002可以是pci总线或eisa总线等。总线1002可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器1003可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。可选的,存储器1003用于存储执行本发明方案的应用程序代码,并由处理器1001来控制执行。处理器1001用于执行存储器1003中存储的应用程序代码,以实现图3和图8所示任一实施例提供的ddos攻击检测设备的动作。在本发明实施例中还提供了一种计算机存储介质,用于储存为上述数据接收装置所用的计算机软件指令,其包含用于执行上述方面为数据接收装置所设计的程序。尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过internet或其它有线或无线电信系统。本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1