一种识别DDOS攻击数据流的方法及装置与流程

文档序号:18738217发布日期:2019-09-21 01:27阅读:177来源:国知局
一种识别DDOS攻击数据流的方法及装置与流程
本申请涉及网络安全
技术领域
,特别是涉及一种识别DDOS攻击数据流的方法及装置。
背景技术
:在通信网络中,分布式拒绝服务(英文:DistributedDenialofService,简称:DDoS)攻击是一种常见的攻击方式。DDoS攻击中,多个网络设备会联合起来作为攻击平台,持续向目标设备发送大量的报文,从而耗尽目标设备的带宽资源或系统资源,给目标设备带来很大的危害。目前,人们通常采用采样流(英文:Sampledflow,简称:sFlow)是一种基于报文采样的网络数据流监控技术来识别DDoS攻击。具体的处理过程如下。网络中设置有具有报文采样功能的网络设备,该网络设备可以统计各数据流的特征信息。具体的,网络设备例如路由器可以对接收到的报文进行解析,以提取报文的特征信息,比如七元组信息、数据包的头信息等。网络设备可以将七元组信息相同的报文确定为属于同一数据流的报文,并可以分别统计每个数据流中的报文数量。网络设备还可以统计接收到的报文的总数量,当该总数量达到预设阈值时,向检测设备发送sFlow报文,sFlow报文中携带有网络设备统计出的各数据流的特征信息,比如数据流的七元组信息和该数据流包含的报文数量。检测设备可以获取sFlow报文携带的报文数量,以确定接收到的报文数量。当检测设备确定预设统计时间内接收到的报文数量较多时,就会产生DDoS告警。然而,基于上述处理方式,检测设备无法解析出能够体现所统计流量速率的信息,某些情况下会产生检测设备误告警。技术实现要素:本申请实施例的目的在于提供一种识别DDOS攻击数据流的方法及装置,以降低误识别率。具体技术方案如下:第一方面,提供了一种识别DDOS攻击数据流的方法,所述方法应用于检测设备,所述方法包括:接收网络设备发送的sFlow报文,所述sFlow报文携带有各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间;针对每条数据流,确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和所述时间间隔,确定该数据流对应的传输速率;如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。可选的,所述数据流统计信息包括数据流中的报文数量和/或报文数据量;所述根据该数据流的数据流统计信息和所述时间间隔,确定该数据流对应的传输速率,包括:根据该数据流的报文数量和预设的采样频率,确定该数据流在所述时间间隔内的总报文数量,并确定所述总报文数量与所述时间间隔的比值,得到该数据流对应的包传输速率;和/或根据该数据流的报文数据量和预设的采样频率,确定该数据流在所述时间间隔内的总报文数据量,并确定所述总报文数据量与所述时间间隔的比值,得到该数据流对应的比特传输速率。可选的,当所述数据流统计信息包括数据流中的报文数量和报文数据量时,所述如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流,包括:如果该数据流对应的包传输速率超过第一预设阈值,或者,该数据流对应的比特传输速率超过第二预设阈值,则确定该数据流是DDOS攻击数据流。第二方面,提供了一种识别DDOS攻击数据流的方法,所述方法应用于网络设备,所述方法包括:通过预设的采样策略,对接收到的报文进行采样;确定采集到的各报文所属的数据流,针对每个数据流,根据属于该数据流的报文,确定该数据流对应的数据流统计信息,并将采集到的属于该数据流的第一个报文的采集时间,确定为该数据流对应的采样起始时间,将采集到的属于该数据流的最后一个报文的采集时间,确定为该数据流对应的采样结束时间;生成携带有所述各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间的采样流sFlow报文,向检测设备发送所述sFlow报文。第三方面,提供了一种识别DDOS攻击数据流的装置,所述装置应用于检测设备,所述装置包括:接收模块,用于接收网络设备发送的sFlow报文,所述sFlow报文携带有各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间;第一确定模块,用于针对每条数据流,确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和所述时间间隔,确定该数据流对应的传输速率;第二确定模块,用于如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。可选的,所述数据流统计信息包括数据流中的报文数量和/或报文数据量;所述第一确定模块,具体用于:根据该数据流的报文数量和预设的采样频率,确定该数据流在所述时间间隔内的总报文数量,并确定所述总报文数量与所述时间间隔的比值,得到该数据流对应的包传输速率;和/或根据该数据流的报文数据量和预设的采样频率,确定该数据流在所述时间间隔内的总报文数据量,并确定所述总报文数据量与所述时间间隔的比值,得到该数据流对应的比特传输速率。可选的,当所述数据流统计信息包括数据流中的报文数量和报文数据量时,所述第二确定模块,具体用于:如果该数据流对应的包传输速率超过第一预设阈值,或者,该数据流对应的比特传输速率超过第二预设阈值,则确定该数据流是DDOS攻击数据流。第四方面,提供了一种识别DDOS攻击数据流的装置,所述装置应用于网络设备,所述装置包括:采集模块,用于通过预设的采样策略,对接收到的报文进行采样;确定模块,用于确定采集到的各报文所属的数据流,针对每个数据流,根据属于该数据流的报文,确定该数据流对应的数据流统计信息,并将采集到的属于该数据流的第一个报文的采集时间,确定为该数据流对应的采样起始时间,将采集到的属于该数据流的最后一个报文的采集时间,确定为该数据流对应的采样结束时间;发送模块,用于生成携带有所述各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间的采样流sFlow报文,向检测设备发送所述sFlow报文。第五方面,提供了一种检测设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的方法。第八方面,提供了一种网络设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第二方面所述的方法步骤。第九方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面所述的方法步骤。第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。本申请实施例提供的一种识别DDOS攻击数据流的方法及装置,其中,检测设备可以接收网络设备发送的sFlow报文,sFlow报文携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。针对每条数据流,检测设备可以确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和时间间隔,确定该数据流对应的传输速率。如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。与现有技术中,在预设统计时间内接收到的报文数量较多时,产生DdoS误告警的方案相比,本方案能够准确的计算出每条数据流对应的传输速率,进而根据该传输速率识别出DDOS攻击数据流,这样,能够准确识别出DDOS攻击数据流,避免误告警。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种网络系统的示意图;图2为本申请实施例提供的一种识别DDOS攻击数据流的方法的流程图;图3a为本申请实施例提供的一种基于Flow采样的sFlow报文的示意图;图3b为本申请实施例提供的一种基于Counter采样的sFlow报文的示意图;图4为本申请实施例提供的一种识别DDOS攻击数据流的方法的流程图;图5为本申请实施例提供的一种识别DDOS攻击数据流的装置的结构示意图;图6为本申请实施例提供的一种识别DDOS攻击数据流的装置的结构示意图;图7为本申请实施例提供的一种检测设备的结构示意图。图8为本申请实施例提供的一种网络设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本发明实施例提供了一种识别DDOS攻击数据流的方法,该方法可以由网络设备和检测设备执行。如图1所示,为本申请实施例提供的一种网络系统的示意图,其中包括骨干网和多个内网(例如城域网内网)。每个内网中均可以设置有网络设备,骨干网中设置有网络设备、检测设备、异常流量监管系统(英文:AbnormalTrafficInspection&ControlSystem,简称:ATIC)管理中心和清洗设备。网络设备可以支持sFlow功能(例如配置有sFlowAgent模块),以便在预设周期内采集报文,并解析采集到的报文,获取各数据流对应的数据流统计信息。网络设备可以生成包含数据流统计信息的sFlow报文,并将sFlow报文发送给检测设备。检测设备中可以配置有sFlowCollector模块,可以根据sFlow报文中的数据流统计信息判断各数据流中是否存在DDOS攻击数据流。如果检测设备确定某数据流为DDOS攻击数据流,则可以向管理服务器上报告警信息,该告警信息中可以携带有该数据流的七元组信息,管理服务器可以向清洗设备发送该告警信息。由于网络中的各数据流会流经清洗设备,然后再到达内网中的设备,因此,清洗设备可以过滤掉各数据流中包含该七元组信息的数据流(即DDOS攻击数据流),阻断该DDOS攻击数据流,保障网络的安全性。本申请实施例中,网络设备可以对接收到的报文进行采集,并确定采集到的各报文所属的数据流。针对每个数据流,网络设备不仅根据该数据流对应的报文,确定该数据流对应的数据流统计信息,还可以将采集到该数据流的第一个报文的采集时间,确定为该数据流对应的采样起始时间,将采集到该数据流的最后一个报文的采集时间,确定为该数据流对应的采样结束时间;然后向检测设备发送sFlow报文,sFlow报文中携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。这样,针对每条数据流,检测设备可以确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和时间间隔,确定出该数据流对应的传输速率,如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。与现有技术中,在预设统计时间内接收到的报文数量较多时,产生DdoS误告警的方案相比,本方案改进了sFlow报文,在sFlow报文中携带每条数据流对应的采样起始时间和采样结束时间,能够准确的计算出每条数据流对应的传输速率,进而根据该传输速率识别出DDOS攻击数据流,这样,能够准确识别出DDOS攻击数据流,避免误告警。为了便于说明,本申请实施例首先对网络设备的处理过程进行说明。如图2所示,网络设备的处理过程可以包括以下步骤。步骤201,通过预设的采样策略,对接收到的报文进行采样。本申请实施例中,网络设备中可以预先配置采样频率,该采样频率可以可以为接收的报文数量与采集的报文数量的比率,采样频率可以大于或等于1。例如,采样频率可以为1000,表示每1000个报文中采集1个报文。网络设备可以根据预先配置的采样频率,在接收到的报文中进行报文采集。网络设备中还可以预先设置有多种采样策略。在一种实现方式中,可以设置需要采集的报文数目(即预设数目),网络设备可以对采集到的预设数目个报文执行步骤202-203。这样,网络设备可以每采集预设数目个报文,向检测设备发送一次sFlow报文,然后重新进行采样和统计(即执行步骤201-步骤203)。例如,预设数目为2000,则网络设备可以每采集到2000个报文,向检测设备发送一次sFlow报文,该sFlow报文中携带有根据采集到的2000个报文确定出的各数据流的数据流统计信息。在另一种实现方式中,可以设置sFlow报文的采样周期,网络设备可以对采样周期内采集到的报文执行步骤202-203,这样,网络设备可以每达到预设采样周期时,向检测设备发送一次sFlow报文,然后重新进行采样和统计(即执行步骤201-步骤203)。可选的,可以仅关心流向内网的数据流中是否存在DDOS攻击数据流。相应的,网络设备可以仅对目的地址为内网IP地址的报文进行采集。后续,检测设备可以仅对流向内网的数据流进行识别,以防止DDOS攻击数据流流向内网,提高内网的安全性。并且,检测设备无需对由内网流向外网的数据流进行识别,降低了检测设备的资源占用率。步骤202,确定采集到的各报文所属的数据流,针对每个数据流,根据该数据流对应的报文,确定该数据流对应的数据流统计信息,并将采集到该数据流的第一个报文的采集时间,确定为该数据流对应的采样起始时间,将采集到该数据流的最后一个报文的采集时间,确定为该数据流对应的采样结束时间。其中,数据流统计信息可以包括报文数量和/或报文数据量。本申请实施例中,针对采集到的每个报文,网络设备可以解析该报文,提取该报文中的报文信息,网络设备可以将具有相同报文信息的报文确定为属于同一数据流的报文。其中,报文信息可以为二元组信息、四元组信息、五元组信息、七元组信息之一。具体的:二元组信息为源IP地址、目的IP地址;四元组信息为源IP地址、目的IP地址、源端口、目的端口;五元组信息为源IP地址、目的IP地址、协议号、源端口、目的端口;七元组信息可以包括源IP地址、目的IP地址、协议号、源端口、目的端口,服务类型以及接口索引。在一种实现方式中,网络设备每采集到一个报文后,可以提取该报文中的报文信息,然后可以判断已采集到的报文中,是否存在与该报文的报文信息相同的报文。如果不存在,则说明该报文是在报文采集的过程中,采集到的该数据流的第一个报文,网络设备可以记录该报文信息,并可以将该报文信息作为该数据流的数据流标识。同时,网络设备可以根据该报文确定该数据流对应的数据流统计信息。例如,该报文的数据量为50kb,则该数据流对应的数据流统计信息中,报文数据量为50kb,报文数量为1。网络设备还可以建立该数据流标识与数据流统计信息的对应关系,以便后续采集到属于该数据流的报文后,对该数据流的数据流统计信息进行更新。如果已采集到的报文中,存在与该报文的报文信息相同的报文,则网络设备可以在数据流标识(即报文信息)与数据流统计信息的对应关系中,查找该报文信息对应的数据流统计信息,然后可以根据该报文的信息,更新数据流统计信息。例如,该报文的数据量为50kb,则查找到的数据流统计信息中,报文数据量为60kb,报文数量为2,则可以将报文数据量为更新为110kb,报文数量更新为3。另外,网络设备还可以记录各报文的采集时间,当达到预设条件时(比如采集到预设数目个报文,或者达到预设的采样周期时),针对每条数据流,网络设备可以确定采集到的属于该数据流的第一个报文的采集时间,作为该数据流对应的采样起始时间,确定采集到的属于该数据流的最后一个报文的采集时间,作为该数据流对应的采样结束时间。网络设备可以将各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间封装成sFlow报文,以便后续进行发送。在一种实现方式中,sFlow报文可以为用户数据报协议(英文:UserDatagramProtocol,简称:UDP)报文。sFlow报文可以包含sFlowdata(sFlow数据)字段,并通过sFlowdata字段存储各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。具体的,sFlow报文可以包含sFlowdata,sFlowdata包含多条Sampledata(即采样数据),每条Sampledata用于记录一条数据流的统计信息(比如数据流统计信息、采样起始时间和采样结束时间等)。这样,可以通过一个sFlow报文将采集到的全部数据流的统计信息发送给检测设备。Sampledata可以参阅请求注解(英文:RequestForComments,简称:RFC)3176协议。本申请实施例中,可以在RFC3176协议的Sampledata(即采样数据)中,添加两个字段:start_time(即采样起始时间)字段和end_time(即采样结束时间)字段,这两个字段均为int型字段,长度为4个字节。其中,start_time字段用于记录第一个报文的采集时间(即采样起始时间),end_time字段用于记录最后一个报文的采集时间(即采样结束时间)。这两个字段可以添加在Sampledata中的任意位置,本申请实施例不做限定。目前,sFlow报文的采样方式有两种:Flow(数据流)采样和Counter(计数器)采样。其中,Flow采样是从接收到的每N(N大于1)个报文中采集1个报文的采样方式(例如采样频率大于1),Counter采样是对接收到的每个报文都进行采集的采样方式(即采样频率等于1)。如表一所示,为本申请实施例提供的一种基于Flow采样的sFlow报文中Sampledata(采样数据)的示例。表一基于上述表一,如图3a所示,本申请实施例提供了一种基于Flow采样的sFlow报文的示意图。如前文所述,Counter采样是对接收到的每个报文都进行采集的采样方式(即采样频率等于1)。如表二所示,为本申请实施例提供的一种基于Counter采样的sFlow报文中Sampledata(采样数据)的示例。表二基于上述表二,如图3b所示,本申请实施例提供了一种基于Counter采样的sFlow报文的示意图。其中,表一和表二中除start_time和end_time之外的其他字段的具体含义可以参考现有的RFC协议,本申请实施例不再赘述。由上可以看出,本申请实施例对现有的sFlow报文进行了改进,使得改进后的sFlow报文能够携带每条数据流的采样起始时间和采样结束时间。基于改进后的sFlow报文,本方案能够准确的计算出每条数据流对应的传输速率,进而根据该传输速率识别出DDOS攻击数据流,这样,能够准确识别出DDOS攻击数据流,避免误告警。可选的,上述Flow(数据流)采样和Counter(计数器)采样为本申请实施例提供的采样方式的示例,其他采样方式也可以应用于本申请实施例中。技术人可以根据实际需要,在网络中配置需要使用的采样方式。步骤203,生成采样流sFlow报文,向检测设备发送sFlow报文。其中,sFlow报文携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。本申请实施例中,网络设备可以将各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间封装成sFlow报文(即UDP报文)后,可以将该sFlow报文发送给检测设备。该sFlow报文可以以UDP格式封装,即为一个UDP报文。具体的,该sFlow报文包括以太网头、互联网协议(英文:InternetProtocolAddress,简称:IP)头、UDP头和sFlowdata。如表三所示,sFlow报文的格式可以如下。表三以太网头IP头UDP头sFlowdata如图4所示,本申请实施例中检测设备的处理过程具体可以包括以下步骤。步骤401,接收网络设备发送的sFlow报文。本申请实施例中,检测设备可以接收网络设备发送的sFlow报文。该sFlow报文携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。检测设备接收到sFlow报文后,可以对该sFlow报文进行解析,获取sFlowdata,sFlowdata包含多条Sampledata(即采样数据)。每条Sampledata用于记录一条数据流的统计信息(比如数据流统计信息、采样起始时间和采样结束时间等)。这样,检测设备通过该sFlow报文进行解析,可以获取各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。步骤402,针对每条数据流,确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和时间间隔,确定该数据流对应的传输速率。本申请实施例中,针对每条数据流,检测设备获取到该数据流对应的采样起始时间和采样结束时间后,可以计算采样起始时间和采样结束时间之间的时间间隔。例如,采样起始时间为10:00,采样结束时间为10:05,则时间间隔为5min。检测设备可以根据该数据流的数据流统计信息和时间间隔,计算该数据流对应的传输速率。可选的,数据流统计信息可以包括数据流中的报文数量和/或报文数据量。相应的,步骤402的处理过程可以包括:针对每条数据流,根据该数据流的报文数量和预设的采样频率,确定该数据流在时间间隔内的总报文数量,并确定总报文数量与时间间隔的比值,得到该数据流对应的包传输速率;和/或,针对每条数据流,根据该数据流的报文数据量和预设的采样频率,确定该数据流在时间间隔内的总报文数据量,并确定总报文数据量与时间间隔的比值,得到该数据流对应的比特传输速率。本申请实施例中,检测设备中可以预先存储有网络设备的采样频率,例如,采样频率可以为1000,表示每1000个报文中采集1个报文。针对每条数据流,检测设备计算该数据流的报文数量和预设的采样频率的乘积,得到该数据流在时间间隔内的总报文数量,然后,可以计算确定总报文数量与时间间隔的比值,得到该数据流对应的包传输速率。具体的计算公式可以如下。其中,packets为sFlow报文中某数据流的报文数量,sampling_rate为采样频率,end_time为采样结束时间,start_time为采样起始时间,pps为该数据流的包传输速率。在一个示例中,采样方式为Flow采样,采样频率为1000,packets为5,采样起始时间为10:00,采样结束时间为10:05,则包传输速率为1000个/分钟。在另一个示例中,采样方式为Counter采样,采样频率为1,packets为500,采样起始时间为10:00,采样结束时间为10:05,则包传输速率为100个/分钟。另外,针对每条数据流,检测设备还可以计算该数据流的报文数据量和预设的采样频率的乘积,得到该数据流在时间间隔内的总报文数据量,然后,可以计算总报文数据量与时间间隔的比值,得到该数据流对应的比特传输速率。具体的计算公式可以如下。其中,octets为sFlow报文中某数据流的报文数据量,sampling_rate为采样频率,end_time为采样结束时间,start_time为采样起始时间,bps为该数据流的比特传输速率。在一个示例中,采样方式为Flow采样,为采样频率为1000,octets为50kb,采样起始时间为10:00,采样结束时间为10:05,则比特传输速率为10000kb/分钟。在另一个示例中,采样方式为Counter采样,采样频率为1,octets为5000kb,采样起始时间为10:00,采样结束时间为10:05,则比特传输速率为1000kb/分钟。步骤403,针对每条数据流,如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。本申请实施例中,针对每条数据流,检测设备可以判断该数据流对应的传输速率是否超过预设阈值。如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流;如果该数据流对应的传输速率未超过预设阈值,则确定该数据流不是DDOS攻击数据流。可选的,当数据流统计信息包括数据流中的报文数量和报文数据量时,传输速率可以包括包传输速和比特传输速率,相应的,步骤403的处理过程可以如下:如果该数据流对应的包传输速率超过第一预设阈值,或者,该数据流对应的比特传输速率超过第二预设阈值,则确定该数据流是DDOS攻击数据流。本申请实施例中,检测设备中可以配置有包传输速率对应的第一预设阈值、以及比特传输速率对应的第二预设阈值。针对每条数据流,检测设备可以判断该数据流对应的包传输速率是否超过第一预设阈值、以及该数据流对应的比特传输速率是否超过第二预设阈值。如果该数据流对应的包传输速率超过第一预设阈值,或者,该数据流对应的比特传输速率超过第二预设阈值,则确定该数据流是DDOS攻击数据流。如果该数据流对应的包传输速率未超过第一预设阈值、且该数据流对应的比特传输速率未超过第二预设阈值,则确定该数据流不是DDOS攻击数据流。本申请实施例中,检测设备可以接收网络设备发送的sFlow报文,sFlow报文携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。针对每条数据流,检测设备可以确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和时间间隔,确定该数据流对应的传输速率。如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。与现有技术中,在预设统计时间内接收到的报文数量较多时,就产生DdoS误告警的方案相比,本方案能够准确的计算出每条数据流对应的传输速率,进而根据该传输速率识别出DDOS攻击数据流,这样,能够准确识别出DDOS攻击数据流,避免误告警。基于相同的技术构思,本申请实施例还提供了一种识别DDOS攻击数据流的装置,该装置应用于检测设备,如图5所示,该装置包括:接收模块510,用于接收网络设备发送的sFlow报文,sFlow报文携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间;第一确定模块520,用于针对每条数据流,确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和时间间隔,确定该数据流对应的传输速率;第二确定模块530,用于如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。可选的,数据流统计信息包括数据流中的报文数量和/或报文数据量;第一确定模块520,具体用于:根据该数据流的报文数量和预设的采样频率,确定该数据流在时间间隔内的总报文数量,并确定总报文数量与时间间隔的比值,得到该数据流对应的包传输速率;和/或根据该数据流的报文数据量和预设的采样频率,确定该数据流在时间间隔内的总报文数据量,并确定总报文数据量与时间间隔的比值,得到该数据流对应的比特传输速率。可选的,当数据流统计信息包括数据流中的报文数量和报文数据量时,第二确定模块530,具体用于:如果该数据流对应的包传输速率超过第一预设阈值,或者,该数据流对应的比特传输速率超过第二预设阈值,则确定该数据流是DDOS攻击数据流。基于相同的技术构思,本申请实施例还提供了一种识别DDOS攻击数据流的装置,该装置应用于网络设备,如图6所示,该装置包括:采集模块610,用于通过预设的采样策略,对接收到的报文进行采样;确定模块620,用于确定采集到的各报文所属的数据流,针对每个数据流,根据属于该数据流的报文,确定该数据流对应的数据流统计信息,并将采集到的属于该数据流的第一个报文的采集时间,确定为该数据流对应的采样起始时间,将采集到的属于该数据流的最后一个报文的采集时间,确定为该数据流对应的采样结束时间;发送模块630,用于生成携带有所述各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间的采样流sFlow报文,向检测设备发送所述sFlow报文。本申请实施例中,检测设备可以接收网络设备发送的sFlow报文,sFlow报文携带有各数据流的数据流统计信息、以及各数据流的采样起始时间和采样结束时间。针对每条数据流,检测设备可以确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和时间间隔,确定该数据流对应的传输速率。如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。与现有技术中,在预设统计时间内接收到的报文数量较多时,就产生DdoS误告警的方案相比,本方案能够准确的计算出每条数据流对应的传输速率,进而根据该传输速率识别出DDOS攻击数据流,这样,能够准确识别出DDOS攻击数据流,避免误告警。本申请实施例还提供了一种检测设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,存储器703,用于存放计算机程序;处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:接收网络设备发送的sFlow报文,所述sFlow报文携带有各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间;针对每条数据流,确定该数据流对应的采样起始时间和采样结束时间之间的时间间隔,并根据该数据流的数据流统计信息和所述时间间隔,确定该数据流对应的传输速率;如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流。可选的,所述数据流统计信息包括数据流中的报文数量和/或报文数据量;所述根据该数据流的数据流统计信息和所述时间间隔,确定该数据流对应的传输速率,包括:根据该数据流的报文数量和预设的采样频率,确定该数据流在所述时间间隔内的总报文数量,并确定所述总报文数量与所述时间间隔的比值,得到该数据流对应的包传输速率;和/或根据该数据流的报文数据量和预设的采样频率,确定该数据流在所述时间间隔内的总报文数据量,并确定所述总报文数据量与所述时间间隔的比值,得到该数据流对应的比特传输速率。可选的,当所述数据流统计信息包括数据流中的报文数量和报文数据量时,所述如果该数据流对应的传输速率超过预设阈值,则确定该数据流是DDOS攻击数据流,包括:如果该数据流对应的包传输速率超过第一预设阈值,或者,该数据流对应的比特传输速率超过第二预设阈值,则确定该数据流是DDOS攻击数据流。本申请实施例还提供了一种网络设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,存储器803,用于存放计算机程序;处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:通过预设的采样策略,对接收到的报文进行采样;确定采集到的各报文所属的数据流,针对每个数据流,根据属于该数据流的报文,确定该数据流对应的数据流统计信息,并将采集到的属于该数据流的第一个报文的采集时间,确定为该数据流对应的采样起始时间,将采集到的属于该数据流的最后一个报文的采集时间,确定为该数据流对应的采样结束时间;生成携带有所述各数据流的数据流统计信息、以及所述各数据流的采样起始时间和采样结束时间的采样流sFlow报文,向检测设备发送所述sFlow报文。上述检测设备和网络设备提到的通信总线可以是外设部件互连标准(英文:PeripheralComponentInterconnect,简称:PCI)总线或扩展工业标准结构(英文:ExtendedIndustryStandardArchitecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述检测设备和网络设备与其他设备之间的通信。存储器可以包括随机存取存储器(英文:RandomAccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-VolatileMemory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器可以是通用处理器,包括中央处理器(英文:CentralProcessingUnit,简称:CPU)、网络处理器(英文:NetworkProcessor,简称:NP)等;还可以是数字信号处理器(英文:DigitalSignalProcessing,简称:DSP)、专用集成电路(英文:ApplicationSpecificIntegratedCircuit,简称:ASIC)、现场可编程门阵列(英文:Field-ProgrammableGateArray,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述检测设备执行的识别DDOS攻击数据流的方法步骤。基于相同的技术构思,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述检测设备执行的识别DDOS攻击数据流的方法步骤。基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述网络设备执行的识别DDOS攻击数据流的方法步骤。基于相同的技术构思,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述网络设备执行的识别DDOS攻击数据流的方法步骤。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1