一种DDos攻击的检测方法及装置与流程

文档序号:11215705阅读:1320来源:国知局
一种DDos攻击的检测方法及装置与流程

本发明涉及云计算领域,特别涉及一种ddos攻击的检测方法及装置。



背景技术:

云计算(cloudcomputing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。

在云计算环境中,最常见的攻击形式之一便是分布式拒绝服务(distributeddenialofservice,ddos)攻击。所谓ddos攻击,即是指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动攻击,从而成倍地提高拒绝服务攻击的威力。

参阅图1所示,通常情况下,黑客会将ddos主控程序安装在一个计算机上作为攻击者。在一个设定的时间,攻击者会通过主控程序与大量安装有代理程序的计算机通讯,而代理程序已经被安装在internet上的许多计算机,这些计算机被称为傀儡机。傀儡机集群接收到攻击指令时就会向被攻击者发动攻击。利用客户/服务器技术,攻击者能在几秒钟内激活成百上千次傀儡机的运行。

其中,上述傀儡机即是被黑客远程控制的机器。它们被黑客攻破或者由于用户不小心被植入了木马,黑客可以随意操纵傀儡机并利用傀儡机做任何事情。傀儡机可以是各种系统,如windows、linux、unix等,更可以是一家公司、企业、学校甚至是政府军队的服务器。

针对目前的ddos攻击,目前采用的检测方案如下:系统通过交换机端口镜像或分光分流等方法获取到云计算环境的网络镜像流量,该网络镜像流量中实时汇总了云计算环境内的每一个主机的流量,接着,系统判断网络镜像流量的大小是否大于预警值,确定大于预警值时,则确定主机受到了ddos攻击。 而对于检测出的被ddos攻击的主机的ip,将会被流量引到ddos清洗集群进行流量清洗。最终,再进行正常流量回注。

然而,现有技术下,获取网络镜像流量的流量检测系统一般设置在云机房出口处或者连接运营商的出口处,因此,目前的ddos检测方案仅仅能检测到来自云计算环境外部的主机对内部主机的攻击,另外,由于对这部分流量进行镜像的复杂度非常高,所以目前还没有有效的解决方案。



技术实现要素:

本申请实施例提供一种ddos攻击的检测方法及装置,用以在云计算环境内部,进行准确的ddos检测。

本申请实施例提供的具体技术方案如下:

一种ddos攻击的检测方法,包括:

服务器基于本地的输出总流量,分别提取出与所述服务器存在连接的每一个目的ip的流量特征描述信息,其中,一个目的ip的流量特征描述信息,用于表征所述一个目的ip与所述服务器之间的输出流量的传输状态;

所述服务器分别将所述每一个目的ip的流量特征描述信息与预设的规则集合进行匹配,获得匹配结果;

所述服务器根据匹配结果,确定所述服务器是否存在ddos攻击行为。

可选的,服务器基于本地的输出总流量,分别提取出与所述服务器存在连接的每一个目的ip的流量特征描述信息之前,进一步包括:

服务器计算本地的输出总流量的大小,并确定本地的输出总流量的大小达到设定阈值。

可选的,服务器确定本地的输出总流量的大小达到设定阈值,包括:

服务器判断以下任意一种统计参量达到相应阈值时,确定本地的输出总流量的大小达到设定阈值:

输出方向单位时间内发送的比特数目;

输出方向单位时间内发送的请求数据包数目;

输出方向单位时间内发送的http请求数目;

输出方向单位时间内新建连接数目。

可选的,服务器基于所述输出总流量,提取出与所述服务器存在连接的每一个目的ip的流量特征描述信息,包括:

所述服务器基于所述输出总流量,分别针对每一个目的ip提取出以下参数中的一种或任意组合作为相应的流量特征描述信息:

所述服务器到目的ip的输出流量速率;

所述服务器到目的ip的输出数据包类型;

所述服务器到目的ip的输出数据包中异常数据包的数目。

可选的,所述服务器根据匹配结果,确定所述服务器是否存在ddos攻击行为,包括:

所述服务器确定至少一个确定所述任意一个目的ip的流量特征描述信息中包含的各个参数,在所述规则集合中命中的规则的总数目,达到预设的命中门限时,确定所述服务器存在ddos攻击行为匹配成功。

可选的,确定所述服务器存在ddos攻击行为后,进一步包括:

所述服务器确定自身的ddos攻击行为所针对的目的ip集合;

所述服务器在所述目的ip集合中的每一个目的ip的输出方向进行流量丢弃或者进行流量限速。

可选的,进一步包括:

所述服务器检测到本地的输出总流量的大小低于设定阈值时,在所述目的ip集合中的每一个目的ip的输出方向,停止流量丢弃或停止流量限速。

可选的,进一步包括:

所述服务器确定所述目的ip集合中的任意一个目的ip的流量特征描述信息与预设的规则集合不再匹配时,在所述任意一个目的ip的输出方向停止流量丢弃或停止流量限速。

一种ddos攻击的检测装置,包括:

提取单元,用于基于本地的输出总流量,分别提取出与所述装置存在连接的每一个目的ip的流量特征描述信息,其中,一个目的ip的流量特征描述信息,用于表征所述一个目的ip与所述装置之间的输出流量的传输状态;

匹配单元,用于分别将所述每一个目的ip的流量特征描述信息与预设的规则集合进行匹配,获得匹配结果;

处理单元,用于根据匹配结果,确定所述装置是否存在ddos攻击行为。

可选的,基于本地的输出总流量,分别提取出与所述装置存在连接的每一个目的ip的流量特征描述信息之前,所述提取单元进一步用于:

计算本地的输出总流量的大小,并确定本地的输出总流量的大小达到设定阈值。

可选的,确定本地的输出总流量的大小达到设定阈值时,所述提取单元包括:

判定以下任意一种统计参量达到相应阈值时,确定本地的输出总流量的大小达到设定阈值:

输出方向单位时间内发送的比特数目;

输出方向单位时间内发送的请求数据包数目;

输出方向单位时间内发送的http请求数目;

输出方向单位时间内新建连接数目。

可选的,基于所述输出总流量,提取出与所述装置存在连接的每一个目的ip的流量特征描述信息时,所述提取单元用于:

基于所述输出总流量,分别针对每一个目的ip提取出以下参数中的一种或任意组合作为相应的流量特征描述信息:

所述装置到目的ip的输出流量速率;

所述装置到目的ip的输出数据包类型;

所述装置到目的ip的输出数据包中异常数据包的数目。

可选的,服务器根据匹配结果,确定所述服务器是否存在ddos攻击行为时,所述处理单元用于:

确定至少一个目的ip的流量特征描述信息中包含的各个参数,在所述规则集合中命中的规则的总数目,达到预设的命中门限时,确定所述服务器存在ddos攻击行为。

可选的,确定所述装置存在ddos攻击行为后,所述处理单元进一步用于:

确定自身的ddos攻击行为所针对的目的ip集合;

在所述目的ip集合中的每一个目的ip的输出方向进行流量丢弃或者进行流量限速。

可选的,所述处理单元进一步用于:

检测到本地的输出总流量的大小低于设定阈值时,在所述目的ip集合中的每一个目的ip的输出方向,停止流量丢弃或停止流量限速。

可选的,所述处理单元进一步用于:

确定所述目的ip集合中的任意一个目的ip的流量特征描述信息与预设的规则集合不再匹配时,在所述任意一个目的ip的输出方向停止流量丢弃或停止流量限速。

本申请有益效果如下:

本申请实施例中,服务器从自身的输出总流量中分别提取针对每一个目的ip的流量特征描述信息,再将所述每一个目的ip的流量特征描述信息与预设的规则集合进行匹配,获得匹配结果,以及根据匹配结果,确定所述服务器是否存在ddos攻击行为。这样,可以在云计算环境内部,准确及时地检测出ddos攻击行为,便于及时阻止云计算环境内部的服务器,对同属云计算环境的其他服务器以及对云计算环境外部的其他主机的ddos攻击,保障了云计算环境的整体安全性和运行可靠性。进一步地,也大大降低了前期的开发成本和后期的运维成本。

附图说明

图1为现有技术下攻击者通过傀儡机发动ddos攻击示意图;

图2为本申请实施例中在云计算环境内部对ddos攻击进行检测流程图;

图3为本申请实施例中服务器功能结构示意图。

具体实施方式

为了在云计算环境内部,进行准确的ddos检测,本申请实施例中,在云计算环境内部的每一个服务器上分别部署一个内核模块,服务器可以通过自身安装的内核模块来获取本地的全部流量,这样,服务器可以通过监控自身的流量情况,判断自身是否是发起ddos攻击的主机。

下面结合附图对本申请优选的实施例作出进一步详细说明。

当服务器被入侵成为傀儡机后,经常被用于ddos攻击,然而,为了能够便于发起攻击,服务器通常还具有正常的服务功能,只是在接收到攻击者的指令后,再在云计算环境内部发起攻击。因此,本申请实施例中,在服务器上安装内核模块,令服务器可以自主发现自身的ddos攻击行为,从而有效地进行防御,避免了对同属云计算环境内的其他服务器的ddos攻击,弥补了现有基于网络镜像流量检测ddos攻击方法的不足。

参阅图2所示,本申请实施例中,云计算环境内部的服务器在对ddos攻击进行检测的详细流程如下:

步骤200:服务器获取本地的输出总流量。

实际应用中,服务器可以在本地通过部署的一个内核模块,使用filter技术或hook技术获取该服务器的全部输出流量。

通常情况下,服务器一旦被入侵成为傀儡机后,会在接收到攻击者指令时再对属于同一云计算环境的其他服务器进行攻击,因此,服务器需要定期对自身的输出流量进行监控,以便判断自身是否出现ddos攻击行为。较佳的,可以将服务器的统计周期设置为小于等于5s。

步骤201:服务器判断本地的输出总流量的大小是否达到设定阈值?若是,则执行步骤202;否则,返回步骤200。

之所以执行步骤201,是因为计算输出总流量大小时,服务器的运行负荷较小,而后续进行流量特征分析时,服务器的运行负荷较大,因此,确定输出总流量的大小达到设定阈值后,再进行后续的流量特征分析,可以减轻服务器的负荷。当然,若服务器本身具有强大的计算能力,则也可以不用判断输出总流量的大不是否达到设定阈值,而直接执行后续的流量特征分析操作,本实施例中步骤201仅为一种较佳的实施方式,在此不再赘述。

进一步地,在执行步骤201时,服务器可以在判断以下任意一种统计参量达到相应阈值时,确定本地的输出总流量的大小达到设定阈值,其中,可以采用的统计参量包含但不限于:

输出方向单位时间内(如,每秒种)传输的比特数目(bps);输出方向单位时间内(如,每秒钟)传输的请求数据包数目(pps);输出方向单位时间内(如,每秒钟)传输的http请求数目(qps);以及输出方向单位时间内(如,每秒钟)的新建连接数目。

上述任意一种统计参量达到相应阈值,都说明服务器在输出方向出现了流量激增,这是存在ddos攻击行为的先兆。

步骤202:服务器分别统计本地到每一个目的ip的输出流量速率。

具体的,服务器可以在输出总流量中,区分出每一个目的ip方向的输出总量,再通过速率测量,即可以获得每一个目的ip的流量速率。

步骤203:服务器分别统计本地到每一个目的ip的输出数据包类型。

服务器可以并行执行多个任务,因此,和不同的目的ip之间传输的数据包的类型可以不同,例如,和目的ip1之间传输的是传输控制协议(transmissioncontrolprotocol,tcp)数据包,和目的ip2之间传输的是用户数据报协议userdatagramprotocol,udp)数据包。

步骤204:服务器分别统计本地到每一个目的ip的输出数据包中异常数据 包的数目。

通常情况下,到每一个目的ip的输出数据包中可能携带有异常数据包,所谓的异常数据包通常符合相应的协议格式,但是与普通数据包相比却存在明显不同,是正常流量中很少出现的数据包。

通常情况下,上述异常数据包有以四种:

1、长度超过设定长度门限(如,128比特)的互联网控制消息协议(internetcontrolmessageprotocol,icmp)报文。

2、有效载荷内容重复的udp报文。

3、没有option选项的tcpsyn报文,其中,syn表征握手信号(synchronous)

4、携带有效载荷的tcpsyn报文。

出现异常数据包,有可能是进行ddos攻击的先兆。

上述步骤202中统计的服务器到目的ip的输出流量速率、步骤203中统计的服务器到目的ip的输出数据包类型,以及步骤204中统计的服务器到目的ip的输出数据包中异常数据包的数目,均可以统称为流量特征描述信息,均可以描述服务器和相应的目的ip之间的输出流量的传输状态。实际应用中,上述三类参数可以选取一个统计,也可以选取任意组合统计,还可以加入其他参数进行统计,本实施例中,仅以上述三个参数均进行统计为例进行说明,在此不再赘述。

步骤205:服务器将获得的上述三类参数与预设的规则集合进行匹配,判断是否匹配成功?若是,则执行步骤206;否则,返回步骤200。

具体的,服务器可以保存有管理人员预设配置的规则集合,也可以从服务端实时获取最新的规则集合,该规则集合用于描述ddos攻击行为的特征,每一个规则中记录有流量特征描述信息中的任意一个参数或者任意参数组合在进行ddos攻击时的行为特点。

那么,以任意一个目的ip为例(以下称为目的ipx),在具体执行匹配操作时,服务器可以将目的ipx对应的流量特征描述信息中记录的各个参数,分别与预设的规则集合中的每一条规则进行匹配,并记录命中的规则的总数目,当确定命中的规则的总数目达到设定的命中门限时,确定目的ipx匹配成功,即服务器对目的ipx存在ddos攻击行为。

例如,假设规则集合中的规则包括:

规则1、syn>0.5&&bps>1。

规则1的含义为:一个目的ip的输出方向的bps大于1mbps,其中,表征新建连接的握手信号(synchronous,syn)报文的比例大于50%。

规则2、qps>1000orpps>5000

规则2的含义为:一个目的ip的输出方向的qps大于1000,或者,输出方向的pps大于5000

规则3、icmphuge/pps>0.3

规则3的含义为:一个目的ip输出方向的异常icmp报文(报文长度大于128比特)占所有输出报文的比例大于30%。

假设,目的ipx对应的流量特征描述信息为:qps=2000,且全部为http请求报文,命中了上述规则2,则说明服务器对目的ipx存在ddos行为

当然,服务器可以同时对多个目的ip进行ddos攻击,因此,服务器可以通过上匹配过程,筛选出自身作为ddos攻击对象的目的ip集合(包含至少一个被攻击的目的ip)。

步骤206:服务器确定自身存在ddos攻击行为。

这样,服务器便能对自身进行实时自主监控,随时发现自身的ddos攻击行为,便于及时进行ddos攻击拦截。

具体的,在进行ddos拦截时,服务器会确定自身的ddos攻击行为所针对的目的ip集合,接着,在该目的ip集合中的每一个目的ip的输出方向进行流量丢弃或者进行流量限速。而针对不属于上述目的ip集合的其他目的ip, 服务器会将相应的输出流量正常放行,不会影响为这些目的ip提供服务。

当然,当服务器检测到输出总流量恢复到正常值时,可以在上述目的ip集合中的每一个目的ip的输出方向,停止流量丢弃或停止流量限速。或者,服务器也可以在确定上述目的ip集合中的任意一个目的ip的流量特征描述信息与预设的规则集合不再匹配时,在该任意一个目的ip的输出方向停止流量丢弃或停止流量限速。

基于上述实施例,参阅图3所示,本申请实施例中,ddos攻击的检测装置(即服务器)至少包括提取单元31、匹配单元32和处理单元33,其中,

提取单元31,用于基于本地的输出总流量,分别提取出与所述装置存在连接的每一个目的ip的流量特征描述信息,其中,一个目的ip的流量特征描述信息,用于表征所述一个目的ip与所述装置之间的输出流量的传输状态;

匹配单元32,用于分别将所述每一个目的ip的流量特征描述信息与预设的规则集合进行匹配,获得匹配结果;

处理单元33,用于根据匹配结果,确定所述装置是否存在ddos攻击行为。

可选的,基于本地的输出总流量,分别提取出与所述装置存在连接的每一个目的ip的流量特征描述信息之前,提取单元31进一步用于:

计算本地的输出总流量的大小,并确定本地的输出总流量的大小达到设定阈值。

可选的,确定本地的输出总流量的大小达到设定阈值时,提取单元31包括:

判定以下任意一种统计参量达到相应阈值时,确定本地的输出总流量的大小达到设定阈值:

输出方向单位时间内发送的比特数目;

输出方向单位时间内发送的请求数据包数目;

输出方向单位时间内发送的http请求数目;

输出方向单位时间内新建连接数目。

可选的,基于所述输出总流量,提取出与所述装置存在连接的每一个目的ip的流量特征描述信息时,提取单元31用于:

基于所述输出总流量,分别针对每一个目的ip提取出以下参数中的一种或任意组合作为相应的流量特征描述信息:

所述装置到目的ip的输出流量速率;

所述装置到目的ip的输出数据包类型;

所述装置到目的ip的输出数据包中异常数据包的数目。

可选的,根据匹配结果,确定所述服务器是否存在ddos攻击行为时,处理单元33用于:

确定至少一个目的ip的流量特征描述信息中包含的各个参数,在所述规则集合中命中的规则的总数目,达到预设的命中门限时,确定所述服务器存在ddos攻击行为。

可选的,确定所述装置存在ddos攻击行为后,处理单元33进一步用于:

确定自身的ddos攻击行为所针对的目的ip集合;

在所述目的ip集合中的每一个目的ip的输出方向进行流量丢弃或者进行流量限速。

可选的,处理单元33进一步用于:

检测到本地的输出总流量的大小低于设定阈值时,在所述目的ip集合中的每一个目的ip的输出方向,停止流量丢弃或停止流量限速。

可选的处理单元33进一步用于:

确定所述目的ip集合中的任意一个目的ip的流量特征描述信息与预设的规则集合不再匹配时,在所述任意一个目的ip的输出方向停止流量丢弃或停止流量限速

综上所述,本申请实施例中,服务器从自身的输出总流量中分别提取针对每一个目的ip的流量特征描述信息,再将所述每一个目的ip的流量特征描述信息与预设的规则集合进行匹配,获得匹配结果,以及根据匹配结果,确定所 述服务器是否存在ddos攻击行为。这样,可以在云计算环境内部,准确及时地检测出ddos攻击行为,便于及时阻止云计算环境内部的服务器,对同属云计算环境的其他服务器以及对云计算环境外部的其他主机的ddos攻击,保障了云计算环境的整体安全性和运行可靠性。进一步地,也大大降低了前期的开发成本和后期的运维成本。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1