分布式攻击阻止方法及装置的制作方法

文档序号:7798012阅读:164来源:国知局
专利名称:分布式攻击阻止方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种分布式攻击阻止方法及装置。
背景技术
CC攻击是DDOS (分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击见不到虚假IP,见不到特别大的异常流量,但造成服务器无法进行正常连接,由此可见其危害性。最让站长们忧虑的是这种攻击技术含量低,利用工具和一些 IP代理一个初、中级的电脑水平的用户就能够实施攻击。在CC攻击中,攻击者控制某些主机不停地发送大量数据包给对方服务器造成服务器资源完全占用,一直到宕机崩溃。CC主要是用来攻击页面的,当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(有多少线程就可以模拟多少用户) 不停地访问那些需要大量数据操作(需要大量CPU时间)的页面,造成服务器资源的占用, CPU长时间处于100%使用率,永远都有处理不完的连接直至网络拥塞,正常的访问被中止。CC攻击可分为两种攻击方式,第一种是代理CC攻击黑客借助代理服务器生成指向受害主机的合法网页请求,实现DDOS和伪装。第二种是肉鸡CC攻击黑客利用CC攻击软件,控制大量肉鸡发动攻击。在网络安全设备中,传统的防CC攻击手段基本上都基于对服务器访问的频率设置阈值进行限制。大致有以下两种。一种主要是基于访问频率的阈值的限制,当访问频率达到用户设定的阈值后,便丢弃后续数据。图1是根据现有技术的防CC攻击手段示意图一,如图1所示,其中虚线线条代表攻击流量,实线线条代表正常流量。假如用户设置的阈值为N(次)/秒,当流经 Firewal 1的http Get次数达到N次/秒这个频率后,Firewal 1会丢弃超过这个阈值的http Get请求;如上图所示,他不会去识别是否是CC的攻击流量。该技术最大的缺点是当丢弃 http Get请求时,只负责丢弃超过阈值部分流量,这部分流量中包含攻击流量和正常流量, 导致部分攻击流量被放过;同时部分正常流量被丢弃。另一种是在服务器上通过软件进行限制,通常的做法是在Web引擎中开发基于访问频率的阈值的限制。该技术主要是基于访问频率的阈值的限制,当访问频率达到用户设定的阈值后,便丢弃后续数据。图2是根据现有技术的防CC攻击手段示意图二,如图2所示假如用户设置的阈值为N(次)/秒,当防CC攻击模块统计的http Get次数达到N次/ 秒这个频率后,引擎会丢弃超过这个阈值的http Get请求;如上图所示,他不会去识别是否是CC的攻击流量。该技术最大的缺点就是当丢弃http Get请求时,只负责丢弃超过阈值部分流量,这部分流量中包含攻击流量和正常流量,导致部分攻击流量被放过;同时部分正常流量被丢弃。另外,由于不同用户的Web服务器用到的引擎不同,导致需要为每个用户开发单独的防CC攻击模块,通用性较差。

发明内容
本发明提供了一种分布式攻击阻止方法及装置,以至少解决相关技术中在达到预设访问量或访问频率时,直接丢弃超过阈值的流量,影响正常访问网站的问题。根据本发明的一个方面,提供了一种分布式攻击阻止方法,包括响应于客户端在先发送的请求报文,向客户端发送携带有第一 COOKIE值的应答报文;接收到客户端在后发送的请求报文,其中请求报文中携带有第二COOKIE值;根据第二COOKIE值向网络服务器发送在后发送的请求报文。优选地,根据第二 COOKIE值向网络服务器发送在后发送的请求报文包括验证第二 COOKIE值是否正确;如果验证结果为是,则向网络服务器发送在后发送的请求报文。优选地,根据第二 COOKIE值向网络服务器发送在后发送的请求报文包括验证第一 COOKIE值和第二 COOKIE值是否一致;如果验证结果为是,则向网络服务器发送在后发送的请求报文。优选地,第一 COOKIE值是根据系统选择的密钥和/或客户端的客户端信息生成的。优选地,系统选择的密钥是随机生成的。优选地,客户端信息是根据客户端的URI、客户端的互联网协议IP地址、客户端的端口地址以及客户端的浏览器类型生成的。优选地,在向客户端发送携带有第一 COOKIE值的应答报文之前,还包括在应答报文中携带执行脚本,其中该执行脚本用于自动触发客户端执行发送在后发送的请求报文的操作。优选地,向网络服务器发送请求报文包括在在后发送的请求报文中删除COOKIE 值;向网络服务器发送删除后的在后发送的请求报文。根据本发明的另一个方面,提供了一种分布式攻击阻止装置,包括第一发送模块,用于响应客户端在先发送的请求报文,向客户端发送携带有第一 COOKIE值的应答报文;接收模块,用于接收客户端在后发送的请求报文,其中请求报文中携带有第二 COOKIE 值;第二发送模块,用于根据所述第二 COOKIE值,向网络服务器发送所述在后发送的请求报文。优选地,第二发送模块包括第一验证子模块,用于验证第二 COOKIE值是否正确; 第一发送子模块,用于在验证结果指示第二 COOKIE值正确的情况下向网络服务器发送在后发送的请求报文。优选地,第二发送模块包括第二验证子模块,用于验证第一 COOKIE值和第二 COOKIE值是否一致;第二发送子模块,用于在验证结果指示第一 COOKIE值和第二 COOKIE 值一致的情况下向网络服务器发送在后发送的请求报文。通过本发明,分布式攻击阻止装置向客户端发送携带COOKIE值的应答报文,只有客户端发送的二次请求携带的COOKIE值满足要求时,才会向网络服务器发送该请求报文,,解决了在达到预设访问量或访问频率时,直接丢弃超过阈值的流量,影响正常访问网站的问题,进而保证了普通用户能正常地访问网站。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据现有技术的防CC攻击手段示意图一;图2是根据现有技术的防CC攻击手段示意图二 ;图3是根据本发明实施例的分布式攻击阻止方法的流程图一;图4是根据本发明实施例的分布式攻击阻止方法的流程图二 ;图5是根据本发明优选实施例的分布式攻击阻止方法的示意图;图6是根据本发明实施例的分布式攻击阻止装置的结构框图;图7是根据本发明优选实施例的分布式攻击阻止装置的结构框图一;图8是根据本发明优选实施例的分布式攻击阻止装置的结构框图二 ;图9是根据本发明优选实施例的分布式攻击阻止装置的结构框图三。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。本发明提供了一种分布式攻击阻止方法,图3是根据本发明实施例的分布式攻击阻止方法的流程图一,如图3所示,包括如下的步骤S302至步骤S306。步骤S302,响应于客户端在先发送的请求报文,向客户端发送携带有第一 COOKIE 值的应答报文。步骤S304,接收到客户端在后发送的请求报文,其中请求报文中携带有第二 COOKIE 值。步骤S306,根据第二 COOKIE值向网络服务器发送在后发送的请求报文。相关技术中,在接收到来自客户端的请求报文时,分布式攻击阻止装置在达到预设访问量或访问频率时,直接丢弃超过阈值的流量,从而影响部分正常的访问。通过本发明实施例,分布式攻击阻止装置向客户端发送携带COOKIE值的应答报文,只有客户端发送的二次请求携带的COOKIE值满足要求时,才会向网络服务器发送该请求报文,分布式攻击无法进行二次请求,从而避免了分布式攻击且保证了正常的访问。优选地,根据第二 COOKIE值向网络服务器发送在后发送的请求报文包括验证第二 COOKIE值是否正确;如果验证结果为是,则向网络服务器发送在后发送的请求报文。在本优选实施例中,通过验证COOKIE值是否正确正确,即可判断此次访问是否是普通用户的正常访问,如果是正常的访问,则发送请求报文,在用户与网络服务器之间建立连接。优选地,根据第二 COOKIE值向网络服务器发送在后发送的请求报文包括验证第一 COOKIE值和第二 COOKIE值是否一致;如果验证结果为是,则向网络服务器发送在后发送的请求报文。在本优选实施例中,通过验证两次COOKIE值是否一致,即可判断此次访问是否是普通用户的正常访问,如果是正常的访问,则发送请求报文,在用户与网络服务器之间建立连接。优选地,第一 COOKIE值是根据系统选择的密钥和/或客户端的客户端信息生成的。优选地,系统选择的密钥是随机生成的。通过本优选实施例,系统不需进行过多计算即可生成所需密钥,节约了系统的资源。 优选地,客户端信息是根据客户端的URI、客户端的互联网协议IP地址、客户端的端口地址以及客户端的浏览器类型生成的。优选地,在向客户端发送携带有第一 COOKIE值的应答报文之前,还包括在应答报文中携带执行脚本,其中该执行脚本用于自动触发客户端执行发送在后发送的请求报文的操作。本优选实施例通过在应答报文中嵌入一段执行脚本,其目的是通过客户端来自动执行脚本发送在后发送的请求报文,从而方便客户端的操作,提高用户体验。优选地,向网络服务器发送请求报文包括在在后发送的请求报文中删除COOKIE 值;向网络服务器发送删除后的在后发送的请求报文。考虑到向网络服务器发送请求报文时,携带的COOKIE值没有作用,本优选实施例在向网络服务器发送请求响应前删除COOKIE 值。图4是根据本发明实施例的分布式攻击阻止方法的流程图一,如图4所示,包括如下的步骤S402至步骤S412。步骤S402,客户端发送http request报文。步骤S404,Firewall代替Web server回应的应答报文。步骤S406,客户端的再次(请求+验证)请求报文。步骤S408,Firewal 1处理后转发请求报文。步骤S4IO, Web Server 发送 response 报文。步骤 S412,Firewall 转发 Web Server 的 response 艮文。采用http请求再次验证技术,当收到一个http请求报文时,不将该请求提交给服务器处理,而是模拟服务器向请求段发送一个经过构造的应答报文,应答报文中嵌入经过计算的能唯一标示当前连接的COOKIE值,同时在应答报文中嵌入一段Jav必cript脚本,其目的是通过客户端来自动执行JavMcript脚本,做第二次请求,在第二次请求中把COOKIE 值带过来,并进行验证。TCP是http协议的底层承载协议,因此在进行CC攻击的时候,也会占用服务器的协议栈中的连接;在我们的解决方案中不做TCP的代理。即允许三次握手的建立。客户端发送的请求,例如GET/xxx HTTP/1. 1,被发送给Firewall时,Firewall根据请求的 URI 计算 Key 值,Key = hash (URI+sroucelP+sourcePort),然后根据 Key 值构造 COOKIE 值,COOKIE = {PRIVATEKEY+Key}。防火墙分布式攻击阻止装置随即构造一个2000K的应答页面发送给客户端,应答页面中的kt-Cookie = C00KIE,并在页面中嵌入一个JavaScript。JavaScript脚本的功能是代替用户做再次请求。客户端在得到应答后,浏览器会执行JavMcript。并定向到给他返回的连接(该连接为用户第一次请求的URL)。分布式攻击阻止装置在收到第二次请求之后,会验证连接请求页面的COOKIE值是否与期待值相同。如果一致,则去掉第二次的请求中的COOKIE后,将请求发送给HTTP Server。如果是利用自动化工具进行分布式攻击,由于工具没有执行JavMcript的功能, 所以构造一个2000K的应答页面的操作就不会执行,这样便过滤掉了所有的攻击流量。
7
本发明所要解决的技术问题包括以下几点。1、传统以限制速率方式防CC攻击最大的问题就是限制不准,会放过大量攻击流量,同时会丢弃一部分正常流量;利用此方法可以100%识别攻击流量,并全部过滤掉。2、通过代理服务器发动的CC攻击可以全部过滤。3、通过肉鸡发动的CC攻击可以全部过滤。4、无需用户设置,自动识别攻击行为并过滤。下面将结合实例对本发明实施例的实现过程进行详细描述。某公司的Web服务器频繁遭受大量的CC攻击,导致正常业务中断,部署传统防CC 攻击设备后,仍有部分用户无法正常访问该服务器。需求如下1)有效防护针对Web服务器的CC攻击;2)降低防护产品的误判率,不允许丢弃正常用户的访问;3)不需要对防护设备进行复杂配置。图5是根据本发明优选实施例的分布式攻击阻止方法的示意图。如图5所示,虚线线条代表来自真实IP的攻击流量,点线线条代表来自虚假源IP的攻击流量,实线线条代
表正常流量。通过本优选实施例,在未对防护设备进行复杂配置的情况下,有效地阻止了分布式攻击,同时保证了正常用户的访问。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明实施例提供了一种分布式攻击阻止装置,该装置可以用于实现上述分布式攻击阻止方法。图6是根据本发明实施例的分布式攻击阻止装置的结构框图,如图6所示包括第一发送模块62、接收模块64、和第二发送模块66。下面对其结构进行详细描述。第一发送模块62,用于响应客户端在先发送的请求报文,向客户端发送携带有第一 COOKIE值的应答报文;接收模块64,连接至第一发送模块62,用于接收客户端在后发送的请求报文,其中请求报文中携带有第二 COOKIE值;第二发送模块66,连接至接收模块 64,用于根据所述第二 COOKIE值,向网络服务器发送在后发送的请求报文。通过本发明实施例,分布式攻击阻止装置向客户端发送携带COOKIE值的应答报文,只有客户端发送携带 COOKIE值的二次请求时,才会向网络服务器发送该请求报文,分布式攻击无法进行二次请求,从而避免了分布式攻击且保证了正常的访问。优选地,上述装置还包括携带模块,用于在应答报文中携带执行脚本,其中该执行脚本用于自动触发客户端执行发送在后发送的请求报文的操作。图7是根据本发明优选实施例的分布式攻击阻止装置的结构框图一,如图7所示, 第二发送模块66包括第一验证子模块662,用于验证所述第二 COOKIE值是否正确;第一发送子模块664,连接至第一验证子模块662,用于在验证结果指示所述第二 COOKIE值正确的情况下向所述网络服务器发送所述在后发送的请求报文。图8是根据本发明优选实施例的分布式攻击阻止装置的结构框图二,如图8所示,第二发送模块66包括第二验证子模块666,用于验证所述第一 COOKIE值和所述第二 COOKIE值是否一致;第二发送子模块668,连接至第二验证子模块666,用于用于在验证结果指示所述第一 COOKIE值和所述第二 COOKIE值一致的情况下向所述网络服务器发送所述在后发送的请求报文。图9是根据本发明优选实施例的分布式攻击阻止装置的结构框图三,如图9所示, 第二发送模块66包括,删除子模块6610用于在在后发送的请求报文中删除COOKIE值; 第三发送子模块6612,连接至删除子模块6610,用于向网络服务器发送删除后的在后发送的请求报文。综上所述,根据本发明提供的上述实施例,提供了一种分布式攻击阻止方法及装置。通过本发明,分布式攻击阻止装置向客户端发送携带COOKIE值的应答报文,只有客户端发送的二次请求携带的COOKIE值满足要求时,才会向网络服务器发送该请求报文,解决了在达到预设访问量或访问频率时,直接丢弃超过阈值的流量,影响正常访问网站的问题, 进而保证了普通用户能正常地访问网站。需要说明的是,装置实施例中描述的分布式攻击阻止装置对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种分布式攻击阻止方法,其特征在于包括响应于客户端在先发送的请求报文,向所述客户端发送携带有第一 COOKIE值的应答报文;接收到所述客户端在后发送的请求报文,其中所述请求报文中携带有第二 COOKIE值;根据所述第二 COOKIE值向网络服务器发送所述在后发送的请求报文。
2.根据权利要求1所述的方法,其特征在于,根据所述第二COOKIE值向网络服务器发送所述在后发送的请求报文包括验证所述第二 COOKIE值是否正确;如果验证结果为是,则向所述网络服务器发送所述在后发送的请求报文。
3.根据权利要求1所述的方法,其特征在于,根据所述第二COOKIE值向网络服务器发送所述在后发送的请求报文包括验证所述第一 COOKIE值和所述第二 COOKIE值是否一致;如果验证结果为是,则向所述网络服务器发送所述在后发送的请求报文。
4.根据权利要求1所述的方法,其特征在于,所述第一COOKIE值是根据系统选择的密钥和/或所述客户端的客户端信息生成的。
5.根据权利要求4所述的方法,其特征在于,所述系统选择的密钥是随机生成的。
6.根据权利要求4所述的方法,其特征在于,所述客户端信息是根据所述客户端的 URI、所述客户端的互联网协议IP地址、所述客户端的端口地址以及所述客户端的浏览器类型生成的。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在向所述客户端发送携带有第一 COOKIE值的应答报文之前,还包括在所述应答报文中携带执行脚本,其中所述执行脚本用于自动触发所述客户端执行发送所述在后发送的请求报文的操作。
8.根据权利要求1至6中任一项所述的方法,其特征在于,根据所述第二COOKIE值向网络服务器发送所述在后发送的请求报文包括在所述在后发送的请求报文中删除所述COOKIE值;向所述网络服务器发送删除后的所述在后发送的请求报文。
9.一种分布式攻击阻止装置,其特征在于包括第一发送模块,用于响应客户端在先发送的请求报文,向所述客户端发送携带有第一 COOKIE值的应答报文;接收模块,用于接收所述客户端在后发送的请求报文,其中所述请求报文中携带有第二 COOKIE 值;第二发送模块,用于根据所述第二 COOKIE值,向网络服务器发送所述在后发送的请求报文。
10.根据权利要求9所述的装置,其特征在于,所述第二发送模块包括第一验证子模块,用于验证所述第二 COOKIE值是否正确;第一发送子模块,用于在验证结果指示所述第二 COOKIE值正确的情况下向所述网络服务器发送所述在后发送的请求报文。
11.根据权利要求9所述的装置,其特征在于,所述第二发送模块包括第二验证子模块,用于验证所述第一 COOKIE值和所述第二 COOKIE值是否一致;第二发送子模块,用于在验证结果指示所述第一 COOKIE值和所述第二 COOKIE值一致的情况下向所述网络服务器发送所述在后发送的请求报文。
全文摘要
本发明公开了一种分布式攻击阻止方法及装置,该方法包括响应于客户端在先发送的请求报文,向客户端发送携带有第一COOKIE值的应答报文;接收到客户端在后发送的请求报文,其中请求报文中携带有第二COOKIE值;根据第二COOKIE值向网络服务器发送在后发送的请求报文。本发明保证了普通用户能正常地访问网站。
文档编号H04L29/06GK102404345SQ201110442248
公开日2012年4月4日 申请日期2011年12月26日 优先权日2011年12月26日
发明者刘洪亮, 常磊, 张斌 申请人:山石网科通信技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1