防御半连接攻击的方法和半连接攻击防御平台与流程

文档序号:14253103阅读:647来源:国知局
防御半连接攻击的方法和半连接攻击防御平台与流程

本发明涉及计算机广域网领域,尤其涉及一种防御半连接攻击的方法和半连接攻击防御平台。



背景技术:

随着互联网的高速发展,网络安全也显得尤为重要。现有技术中,传输控制协议(transmissioncontrolprotocol,tcp)同步洪水(synflood)攻击作为最流行的拒绝服务(denialofservice,dos)和分布式拒绝服务(distributeddenialofservice,ddos)的攻击方式之一,主要利用tcp协议的缺陷向服务器发送大量伪造的tcp连接请求,使被攻击服务器的资源耗尽,即采用伪造的大量地址在短时间内向同一网络地址和端口请求建立tcp连接,目的是快速耗尽服务器的物力资源,使得正常的tcp连接因服务器缺少资源而无法建立。

正常的tcp连接过程如图1a所示。首先,进行第一次握手,客户端发送一个包含syn标志的tcp报文,syn即同步(synchronize),同步报文指明客户端使用的端口以及tcp连接的原始序号j;接着,进行第二次握手,服务器在收到客户端的syn报文后,将返回一个syn+ack的报文,表示客户端的请求被接受,同时tcp序号j被加一,ack即确认(acknowledgement)。最后完成第三次握手,客户端返回一个确认报文ack给服务器,同样tcp序列号k被加一,到此一个tcp连接完成。以上的连接过程在tcp协议中被称为三次握手(three-wayhandshake)。

tcpsynflood攻击的过程如图1b所示。客户端伪造大量网络地址向服务器发送包含syn标志的tcp报文(第一次握手报文),服务器在发出syn+ack应答报文后,作为攻击方的客户端并不做出任何应答,客户端并不发送ack报文,因此,第三次握手无法完成。在这种情况下,服务器一般会重试(即再次发送syn+ack给客户端)并等待一段时间后丢弃这个未完成的连接。

在这种情况下,服务器为了维护一个非常大的半连接列表而消耗大量资源,服务器将忙于处理攻击者伪造的tcp连接请求而无暇理睬客户端的正常请求,此时,从正常客户端的角度看,服务器失去响应。

因此,亟需一种能够防御tcp半连接攻击的方法。



技术实现要素:

有鉴于此,本发明实施例提供一种防御半连接攻击的方法和半连接攻击防御平台,能够防御tcp半连接攻击。

本发明的一个方面提供一种防御半连接攻击的方法,该方法包括:接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址;获取与客户端的ip地址相关的至少一个关键性能指标;以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御。

在本发明的一个实施例中,在接收客户端发送的传输控制协议连接请求之前,该方法还包括:域名解析服务器接收客户端发送的查询请求,查询请求用于请求查询目标站点的ip地址;域名解析服务器根据查询请求确定目标站点的域名;以及域名解析服务器向客户端发送域名解析调度系统的ip地址,域名解析调度系统用于对目标站点的域名进行解析。

在本发明的一个实施例中,在域名解析服务器向客户端发送域名解析调度系统的ip地址之后,该方法还包括:域名解析调度系统接收客户端发送的查询请求,查询请求用于请求查询目标站点的ip地址;域名解析调度系统根据至少一个带宽指标为客户端分配半连接攻击防御系统;以及域名解析调度系统向客户端发送半连接攻击防御系统的ip地址。

在本发明的一个实施例中,将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御,包括:将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果确定至少一个关键性能指标是否满足至少一个关键性能指标对应的预设值;以及如果至少一个关键性能指标不满足至少一个关键性能指标对应的预设值,则断开客户端的ip地址的所有连接,并禁止客户端的ip地址在预设时间段内访问。

在本发明的一个实施例中,至少一个关键性能指标包括同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个。

本发明的另一个方面提供一种半连接攻击防御平台,该半连接攻击防御平台接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址,获取与客户端的ip地址相关的至少一个关键性能指标;以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御。

在本发明的一个实施例中,该半连接攻击防御平台包括:域名解析服务器和域名解析调度系统,域名解析服务器接收客户端发送的查询请求,该查询请求用于请求查询目标站点的ip地址,根据查询请求确定目标站点的域名,并向客户端发送域名解析调度系统的ip地址,域名解析调度系统用于对目标站点的域名进行解析。

在本发明的一个实施例中,该半连接攻击防御平台还包括:半连接攻击防御系统,域名解析调度系统接收客户端发送的查询请求,该查询请求用于请求查询目标站点的ip地址,根据至少一个带宽指标为客户端分配半连接攻击防御系统,并向客户端发送半连接攻击防御系统的ip地址。

在本发明的一个实施例中,该半连接攻击防御平台将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果确定至少一个关键性能指标是否满足至少一个关键性能指标对应的预设值,如果至少一个关键性能指标不满足至少一个关键性能指标对应的预设值,则断开客户端的ip地址的所有连接,并禁止客户端的ip地址在预设时间段内访问。

在本发明的一个实施例中,至少一个关键性能指标包括同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个。

根据本发明实施例提供的技术方案,通过接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址,获取与客户端的ip地址相关的至少一个关键性能指标,以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御,能够将占用系统资源的攻击性tcp请求禁止或抛弃,降低了由于tcp半连接造成系统资源耗尽的风险,实现了对tcp半连接攻击的有效防御。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1a是现有技术中正常的tcp连接过程的示意图。

图1b是现有技术中tcp同步洪水攻击的示意图。

图2是根据本发明一示例性实施例示出的一种防御半连接攻击的方法的流程图。

图3是根据本发明另一示例性实施例示出的一种防御半连接攻击的方法的流程图。

图4是根据本发明一示例性实施例示出的一种半连接攻击防御平台的框图。

图5是根据本发明一示例性实施例示出的用于防御半连接攻击的装置的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图2是根据本发明一示例性实施例示出的一种防御半连接攻击的方法的流程图。如图2所示,该方法包括:

210:接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址。

在本发明实施例中,客户端向半连接攻击防御平台发送传输控制协议(transmissioncontrolprotocol,tcp)连接请求,该tcp连接请求可以包括客户端的ip地址。

具体地,半连接攻击防御平台也称tcp半连接攻击防御平台。这里,tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络开放系统互联(opensysteminterconnection,osi)模型中,tcp完成第四层传输层所指定的功能。tcp是因特网中的传输层协议,其使用三次握手协议建立连接。当主动方发出syn连接请求后,等待对方回答syn+ack,并最终对对方的syn执行ack确认。这种建立连接的方法可以防止产生错误的连接,tcp使用的流量控制协议是可变大小的滑动窗口协议。在三次握手完成之后,tcp客户端和服务器成功地建立连接,也就是说,客户端与服务器之间可以开始进行数据传输。建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由tcp的半关闭(half-close)造成的。

需要说明的是,客户端为多个客户端,并且多个客户端可以包括用户端和攻击端。另外,tcp连接请求除了包括如上所述的客户端的ip地址之外,还可以包括服务器的端口号、待访问的域名等,本发明对此不作限制。

220:获取与客户端的ip地址相关的至少一个关键性能指标。

在本发明实施例中,半连接攻击防御平台获取与客户端的ip地址相关的至少一个关键性能指标。

具体地,至少一个关键性能指标可以包括同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个。这里,总连接数即并发连接数(simultaneousbrowserconnections,sbc),是指客户端向服务器发起请求并建立tcp连接,服务器每秒钟接收到的tcp连接的总数。同一ip的总连接数是指同一ip的总并发连接数,同一ip的活跃连接数是指同一ip的活跃程度或连接频率,同一ip的平均连接时长是指同一ip连接到服务器的平均时长。

需要说明的是,至少一个关键性能指标不限于如上所述的同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长,而是可以根据实际需要进行设定。

230:将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御。

在本发明实施例中,半连接攻击防御平台将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御。

具体地,在接收到客户端发送的包含客户端的ip地址的tcp连接请求之后,半连接攻击防御平台首先对客户端的ip地址进行归类,即将同一ip地址汇总在一起;接着,半连接攻击防御平台对归类后的同一ip地址的总连接数、活跃连接数和平均连接时长中的至少一个进行统计,并基于统计结果与上述至少一个关键性能指标对应的预设值进行比对,如果同一ip地址的总连接数超过500和/或如果同一ip地址的活跃连接数低于总连接数的50%和/或如果同一ip地址的平均连接时长超过200秒,则将该ip地址对应的tcp连接请求所占用的流量视为攻击流量;进一步地,半连接攻击防御平台将发送包含攻击流量的tcp连接请求的ip地址的所有连接断开,并禁止该ip地址在预设的时间间隔内对半连接攻击防御平台进行访问,另外,半连接攻击防御平台通过ngnix代理转发的方式将纯净的用户应用流量发送给目标站点。这里,ngnix是一个高性能的超文本传输协议(hypertexttransferprotocol,http)和反向代理服务器,也是一个互联网邮件访问协议(internetmailaccessprotocol,imap)/邮局协议版本3(postofficeprotocol-version3,pop3)/(simplemailtransferprotocol,smtp)即简单邮件传输协议服务器。

需要说明的是,预设的时间间隔可以为1小时、半天、一天、一周等,本发明对此不作限制。

根据本发明实施例提供的技术方案,通过接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址,获取与客户端的ip地址相关的至少一个关键性能指标,以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御,能够将占用系统资源的攻击性tcp请求禁止或抛弃,降低了由于tcp半连接造成系统资源耗尽的风险,实现了对tcp半连接攻击的有效防御。

在本发明的另一个实施例中,在接收客户端发送的传输控制协议连接请求之前,该方法还包括:域名解析服务器接收客户端发送的查询请求,该查询请求用于请求查询目标站点的ip地址;域名解析服务器根据查询请求确定目标站点的域名;以及域名解析服务器向客户端发送域名解析调度系统的ip地址,域名解析调度系统用于对目标站点的域名进行解析。

具体地,客户端向域名解析(domainnamesystem,dns)服务器发送查询请求,该查询请求用于请求查询目标站点的ip地址;这里,目标站点是指客户端想要访问的网站;接着,dns服务器根据查询请求并通过递归查询得到客户端请求为规范名字(canonicalname,cname)解析;进一步地,dns服务器向客户端发送负责cname解析的dns调度系统的ip地址。

这里,目标站点的域名之所以为cname是因为目标站点的网站管理员在诸如中国万网、新网等域名服务提供商处对原有域名设置了别名(cname),并完成二者的一一对应。具体地,以“中国石油”为例对cname的设置进行说明。中国石油的域名为“cnpc.com.cn”,中国石油网站的管理员在中国万网的cname设置中添加“gslb.cnpc.com.cn”为cname类型,并使其与域名“cnpc.com.cn”一一对应。

递归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级dns服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。

需要说明的是,查询域名的方法不限于如上所述的递归查询,例如,还可以为迭代查询,本发明对此不作限制。

具体地,迭代查询又称重指引,当服务器使用迭代查询时能使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。

在本发明的另一个实施例中,在域名解析服务器向客户端发送域名解析调度系统的ip地址之后,该方法还包括:域名解析调度系统接收客户端发送的查询请求,该查询请求用于请求查询目标站点的ip地址;域名解析调度系统根据至少一个带宽指标为客户端分配半连接攻击防御系统;以及域名解析调度系统向客户端发送半连接攻击防御系统的ip地址。

具体地,客户端向dns调度系统发送查询请求,该查询请求用于请求查询目标站点的ip地址;接着,dns调度系统根据半连接攻击防御系统的可用上行带宽、可用下行带宽和已购买的防御服务带宽中的至少一个为客户端分配半连接攻击防御系统;进一步地,客户端接收dns调度系统发送的半连接攻击防御系统的ip地址。

这里,可用上行带宽即可用上行速率,是指用户电脑向网络发送信息时的数据传输速率;可用下行带宽即可用下行速率,是指网络向用户电脑发送信息时的传输速率;已购买的防御服务带宽是指用户根据实际防御需要购买的防御带宽。

需要说明的是,半连接攻击防御系统可以部署多个,通常,dns调度系统会根据客户端的ip地址并基于就近原则为客户端分配距离较佳的半连接攻击防御系统。

在本发明的另一个实施例中,将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御,包括:将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果确定至少一个关键性能指标是否满足至少一个关键性能指标对应的预设值;以及如果至少一个关键性能指标不满足至少一个关键性能指标对应的预设值,则断开客户端的ip地址的所有连接,并禁止客户端的ip地址在预设时间段内访问。

具体地,半连接攻击防御系统将同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个与同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长对应的预设值进行比对,并基于比对结果确定同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个是否满足预设值;进一步地,如果同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个不满足预设值,则半连接攻击防御系统将该ip地址对应的tcp请求所占用的流量视为攻击流量,并因此将该ip地址的所有连接断开,进一步地,半连接攻击防御系统还禁止该ip地址在预设的时间间隔内对半连接攻击防御平台进行访问。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

图3是根据本发明另一示例性实施例示出的一种防御半连接攻击的方法的流程图。如图3所示,该方法包括:

310:客户端向域名解析服务器发送查询请求。

320:客户端接收域名解析服务器根据查询请求发送的域名解析调度系统的ip地址。

330:客户端向域名解析调度系统发送域名解析请求。

340:域名解析调度系统根据至少一个带宽指标为客户端分配半连接攻击防御系统。

350:客户端接收域名解析调度系统发送的半连接攻击防御系统的ip地址。

360:客户端向半连接攻击防御系统发送传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址。

370:半连接攻击防御系统获取与客户端的ip地址相关的至少一个关键性能指标。

380:半连接攻击防御系统将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对。

390:基于比对结果向客户端发送非攻击流量。

根据本发明实施例提供的技术方案,通过接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址,获取与客户端的ip地址相关的至少一个关键性能指标,以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御,能够将占用系统资源的攻击性tcp请求禁止或抛弃,降低了由于tcp半连接造成系统资源耗尽的风险,实现了对tcp半连接攻击的有效防御。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图4是根据本发明一示例性实施例示出的一种半连接攻击防御平台400的框图。如图4所示,该半连接攻击防御平台400包括:域名解析服务器410、域名解析调度系统420和半连接攻击防御系统430。

具体地,该半连接攻击防御平台400接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址,获取与客户端的ip地址相关的至少一个关键性能指标;以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御。

根据本发明实施例提供的技术方案,通过接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址,获取与客户端的ip地址相关的至少一个关键性能指标,以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御,能够将占用系统资源的攻击性tcp请求禁止或抛弃,降低了由于tcp半连接造成系统资源耗尽的风险,实现了对tcp半连接攻击的有效防御。

在本发明的另一个实施例中,图4的域名解析服务器410接收客户端发送的查询请求,该查询请求用于请求查询目标站点的ip地址,根据查询请求确定目标站点的域名,并向客户端发送域名解析调度系统420的ip地址,域名解析调度系统420用于对目标站点的域名进行解析。

在本发明的另一个实施例中,图4的域名解析调度系统420接收客户端发送的查询请求,该查询请求用于请求查询目标站点的ip地址,根据至少一个带宽指标为客户端分配半连接攻击防御系统430,并向客户端发送半连接攻击防御系统430的ip地址。

在本发明的另一个实施例中,至少一个带宽指标包括半连接攻击防御系统430的可用上行带宽、可用下行带宽和已购买的防御服务带宽中的至少一个,域名解析调度系统420根据半连接攻击防御系统430的可用上行带宽、可用下行带宽和已购买的防御服务带宽中的至少一个为客户端分配半连接攻击防御系统430。

在本发明的另一个实施例中,半连接攻击防御平台将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果确定至少一个关键性能指标是否满足至少一个关键性能指标对应的预设值,如果至少一个关键性能指标不满足至少一个关键性能指标对应的预设值,则断开客户端的ip地址的所有连接,并禁止客户端的ip地址在预设时间段内访问。

在本发明的另一个实施例中,至少一个关键性能指标包括同一ip的总连接数、同一ip的活跃连接数和同一ip的平均连接时长中的至少一个。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

图5是根据本发明一示例性实施例示出的用于防御半连接攻击的装置500的框图。

参照图5,装置500包括处理组件510,其进一步包括一个或多个处理器,以及由存储器520所代表的存储器资源,用于存储可由处理组件510的执行的指令,例如应用程序。存储器520中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件510被配置为执行指令,以执行上述防御半连接攻击的方法。

装置500还可以包括一个电源组件被配置为执行装置500的电源管理,一个有线或无线网络接口被配置为将装置500连接到网络,和一个输入输出(i/o)接口。装置500可以操作基于存储在存储器520的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

一种非临时性存储介质,当存储介质中的指令由上述装置500的处理器执行时,使得上述装置500能够执行一种防御半连接攻击的方法,包括:接收客户端发送的传输控制协议连接请求,该传输控制协议连接请求包括客户端的ip地址;获取与客户端的ip地址相关的至少一个关键性能指标;以及将至少一个关键性能指标与至少一个关键性能指标对应的预设值进行比对,并基于比对结果对半连接攻击进行防御。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序校验码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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