一种cc攻击的防护方法及装置制造方法

文档序号:7804418阅读:137来源:国知局
一种cc攻击的防护方法及装置制造方法
【专利摘要】一种CC攻击的防护方法及装置,所述方法包括如下步骤:向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问;监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问;向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问。上述CC攻击的防护方法及装置具有在提高其安全性的同时即能快速检测出CC攻击对象又能避免将用户的正常访问请求屏蔽掉的优势。上述方法及装置使得可以在提高服务器安全性的同时快速检测出CC攻击对象,同时能够避免将用户的正常访问请求屏蔽掉。
【专利说明】一种CC攻击的防护方法及装置

【技术领域】
[0001]本发明涉及网络安全技术,尤其是涉及一种WEB服务器的CC(ChallengeCollapsar)攻击防护方法及装置。

【背景技术】
[0002]CC攻击是一种以消耗服务器资源为目的的分布式拒绝服务攻击,这种攻击不使用虚假IP,通常通过大量的代理服务器来连接服务器,通过向服务器请求一些消耗服务器资源的正常URL请求,使得服务器CPU计算资源使用率迅速达到最高,无法进行其它正常连接。这种攻击主要针对特定域名的WEB应用程序。CDN网络节点服务器无法处理动态服务器脚本页面缓存。CC攻击端向节点发送动态服务器脚本页面的请求时,节点会直接向源点服务器转发请求。此时,CDN的节点缓存服务器需要维护攻击端与节点,以及节点与源点服务器之间的两个TCP连接。源点服务器需要维护节点与源点之间的TCP连接。这样,一次CC攻击连接需要耗费系统三个TCP连接。随着攻击量的增加,CDN系统性能将受到很大影响直至崩溃。
[0003]目前应用于CDN网络服务的对抗CC攻击的常用方法是根据服务器访问流量阀值大小来判断攻击行为。这种方法容易把用户的正常访问请求屏蔽掉,如果攻击者设置好适当的攻击速度,则防护系统难以有效地检测出CC攻击行为,从而影响域名的访问。
[0004]为解决上述问题,现有技术中提出一种改进型的CC攻击防护方法,具体为:通过解析HTTP头信息,判断访问请求中是否带有所述安全标记以及所述安全标记是否合法,进而决定是否允许其访问WEB服务器。
[0005]上述方法虽然能在一定程度上降低攻击次数,但是存在将用户的正常访问请求错误屏蔽掉的可能。例如,在对客户端请求进行带有cookie的脚本验证的方法中,攻击者可以针对这种验证方法开发出专门的攻击脚本,自动完成验证和对服务器的攻击。可见,上述改进后的CC攻击防护方法同样无法保证服务器免遭自动攻击而宕机。


【发明内容】

[0006]本发明的目的是提供一种CC攻击的防护方法及装置,使得可以在提高服务器安全性的同时快速检测出CC攻击对象,同时能够避免将用户的正常访问请求屏蔽掉。
[0007]为实现上述目的,本发明的实施方式提出一种CC攻击的防护方法,包括如下步骤:向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问;监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问;向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问。
[0008]根据本发明的一方面,所述向客户端发送校验cookie,验证客户端是否返回正确的校验cookie的步骤包括:接收客户端首次提交的目标页面访问请求;向所述客户端发送带有cookie校验信息的校验页面;接收客户端返回的访问请求;判断所述客户端返回的访问请求中是否包括所述cookie校验信息。
[0009]根据本发明的另一方面,所述判断所述客户端返回的访问请求中是否包括所述cookie校验信息之后,包括:若是,则向所述客户端返回目标页面,同时将所述客户端的源IP地址列入白名单;否则拒绝向所述客户端返回目标页面,并将所述目标页面请求记录为所述客户端源IP地址的一次攻击。
[0010]根据本发明的又一方面,所述监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问,包括:监测客户端的访问请求在单位时间内的次数是否超过预定阈值;若是,则向所述客户端返回目标页面;否则将所述客户端的源IP地址从白名单中清除,并进入所述下一步骤。
[0011]根据本发明的又一方面,所述向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问,包括:向客户端发送鉴权要求;接收所述客户端返回的鉴权信息;判断客户端返回的鉴权信息与防火墙预存的鉴权信息是否一致;如果一致,则允许所述客户端继续访问服务器;如果不一致,则拒绝所述客户端访问服务器。
[0012]根据本发明的又一方面,所述向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问,包括:随机生成一验证码,所述验证码包含原始验证信息;向所述客户端发送携带有所述验证码的验证页面;接收所述客户端返回的验证信息;判断所述验证信息是否与预存的验证信息一致;如果一致,则允许所述客户端继续访问服务器;如果不一致,则拒绝所述客户端访问服务器。
[0013]根据本发明的又一方面,所述验证码为静态验证码或动态验证码。
[0014]根据本发明的又一方面,所述允许继续访问具体为:向所述客户端返回目标页面。
[0015]根据本发明的又一方面,所述向所述客户端发送鉴权要求,包括:通过TCP代理模块向所述客户端发送鉴权要求。
[0016]本发明实施方式的又一个目的是提供一种CC攻击的防护装置,包括:第一验证模块,用于向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问;监测模块,用于监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问;第二验证模块,用于向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问。
[0017]根据本发明提供的CC攻击的防护方法及装置,在进入第三阶段验证之前已经经过了第一阶段验证和第二阶段验证两轮的访问请求过滤,使得防火墙能准确识别出CC攻击行为和CC攻击源IP地址,提高了服务器安全性的同时也能避免将用户的正常访问请求屏蔽掉。而且,通过第一阶段验证的访问请求,当访问请求数量在未超过预定阈值之前,可以继续访问服务器,客户端直接与服务器交互,节省防火墙的内存,进而提高了防火墙的数据处理能力。

【专利附图】

【附图说明】
[0018]图1是本发明所涉及的一种实施环境的结构示意图;
[0019]图2示出了本发明优选实施例的CC攻击的防护方法的方法流程图;
[0020]图3示出了本发明优选实施例中第一阶段验证步骤S100的方法流程图;
[0021]图4示出了本发明优选实施例中第二阶段验证步骤S200的方法流程图;
[0022]图5示出了本发明优选实施例中第三阶段验证步骤S300的方法流程图;
[0023]图6示出了本发明优选实施例中第三阶段验证步骤S300的另一方法流程图;
[0024]图7示出了在客户端上显示的携带有验证码信息的验证页面示意图;
[0025]图8示出了图片式验证码输入页面的示意图;
[0026]图9出了本发明另一实施例的CC攻击的防护装置的结构示意图。

【具体实施方式】
[0027]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0028]图1示出了本发明技术方案实施环境的结构示意图。
[0029]参见图1,本发明的CC攻击的方法及装置用于在网络系统中实施针对CC攻击的防护操作,所述网络系统主要包括终端120、服务器140和防火墙160。
[0030]终端120可以是具备数据处理能力的电子设备,如手机、平板电脑、电子书阅读器、MP3 播放器(Moving Picture Experts Group Aud1 Layer III,动态影像专家压缩标准音频层面 3)、MP4 (Moving Picture Experts Group Aud1 Layer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。
[0031]终端120中运行有客户端,该客户端可以是具备页面浏览功能的客户端,如浏览器、阅读应用、新闻客户端等。
[0032]服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。服务器用于与终端120交互提供页面内容。服务器140通常由内容提供商来设立,如web服务器。
[0033]防火墙160连接终端120与服务器140,其连接所用的网络可以为无线网络或者有线网络。防火墙160可能是一台或多台专属的硬件,或只是普通机器上的一套软件。
[0034]图2示出了本发明优选实施例的CC攻击的防护方法的方法流程图。
[0035]参见图2,本发明的优选实施例的CC攻击的防护方法包括以下三个阶段的验证步骤:
[0036]第一阶段验证步骤S100,向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问;
[0037]第二阶段验证步骤S200,监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问;
[0038]第三阶段验证步骤S300,向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问。
[0039]本实施例中,以上步骤的执行主体优选为防火墙160,也可以是服务器140。所述允许继续访问的步骤具体为向所述客户端返回所请求访问的目标页面。所述向所述客户端发送鉴权要求的步骤,具体为通过防火墙160的TCP代理模块向所述客户端发送鉴权要求。
[0040]综上所述,本发明实施例提供的CC攻击的防护方法,在进入第三阶段验证之前已经经过了第一阶段验证和第二阶段验证两轮的访问请求过滤,使得防火墙能准确识别出CC攻击行为和CC攻击源IP地址,提高了服务器安全性的同时也能避免将用户的正常访问请求屏蔽掉。而且,通过第一阶段验证的访问请求,当访问请求数量在未超过预定阈值之前,可以继续访问服务器,客户端直接与服务器交互,节省防火墙的内存,进而提高了防火墙的数据处理能力。
[0041]图3示出了本发明的优选实施例中第一阶段验证步骤SlOO的方法流程图。
[0042]参见图3,本发明的优选实施例中,第一阶段验证步骤SlOO具体包括下述步骤:
[0043]步骤S101,接收客户端首次提交的目标页面访问请求。
[0044]其中,如图7所示,所述目标页面800为用户最终想要获取的页面。以客户端为浏览器为例,所述目标页面为用户输入的URL所对应的实际页面,如当用户在浏览器地址栏输入网址“WWW, baidu.com”时,用户最终想获取的页面为上述网址“www.baidu.com”所对应的页面。
[0045]步骤S102,向所述客户端发送带有cookie校验信息的校验页面。
[0046]步骤S103,接收客户端返回的访问请求。
[0047]步骤S104,判断所述客户端返回的访问请求中是否包括所述cookie校验信息。
[0048]步骤S105,若所述客户端返回的访问请求中包括所述cookie校验信息,则向所述客户端返回目标页面,同时将所述客户端的源IP地址列入白名单。
[0049]步骤S106,若所述客户端返回的访问请求中未包括所述cookie校验信息,则拒绝向所述客户端返回目标页面,并将所述目标页面请求记录为所述客户端源IP地址的一次攻击。
[0050]图4示出了本发明的优选实施例中第二阶段验证步骤S200的方法流程图。
[0051]参见图4,本发明的优选实施例中,第二阶段验证步骤S200具体包括下述步骤:
[0052]步骤S201,监测客户端的访问请求在单位时间内的次数是否超过预定阈值。
[0053]步骤S202,若客户端的访问请求在单位时间内的次数未超过预定阈值,则向所述客户端返回目标页面。
[0054]步骤S203,若客户端的访问请求在单位时间内的次数超过预定阈值,将所述客户端的源IP地址从白名单中清除,并转到第三阶段验证步骤S300,向所述客户端发送鉴权请求。
[0055]图5示出了本发明优选实施例中第三阶段验证步骤S300的方法流程图。
[0056]参见图5,本发明优选实施例中第三阶段验证步骤S300具体包括下述步骤:
[0057]S301,向客户端发送鉴权要求。
[0058]S302,接收所述客户端返回的鉴权信息。
[0059]S303,判断客户端返回的鉴权信息与防火墙预存的鉴权信息是否一致。
[0060]S304,如果一致,则允许所述客户端继续访问服务器。
[0061]S305,如果不一致,则拒绝所述客户端访问服务器。
[0062]图6示出了本发明的优选实施例中第三阶段验证步骤S300的另一方法流程图。
[0063]本发明的实施例中,鉴权信息优选的采用验证码,所述第三阶段验证步骤S300具体包括以下步骤:
[0064]S311,随机生成一验证码,所述验证码包含原始验证信息。
[0065]其中,所述验证码为人眼不易识别的图片、文字、数字、视频等,常用的验证码有静态验证码和动态验证码。
[0066]S312,向所述客户端发送携带有所述验证码的验证页面。
[0067]图7示出了在客户端上显示的携带有验证码信息的验证页面示意图。
[0068]如图7所示,验证页面800是在客户端上显示的携带有验证码信息的页面,用户只有在所述验证页面800中手动输入验证信息,并验证通过后才能继续访问目标页面。
[0069]图8示出了图片式验证码输入页面的示意图。
[0070]如图8所示,验证码页面900上还设有供用户输入验证码信息的输入框及“确认”和“取消”等通用图标。
[0071]由于验证码很难被机器自动识别。因此,上述通过验证码完成验证的方法可有效防护服务器被自动化攻击。
[0072]S313,接收所述客户端返回的验证信息。
[0073]S314,判断所述验证信息是否与预存的验证信息一致;
[0074]S315,如果一致,则允许所述客户端继续访问服务器。
[0075]进一步,将所述客户端的源IP地址列入白名单。
[0076]S316,如果不一致,则拒绝所述客户端访问服务器。
[0077]进一步,将所述目标页面请求记录为所述客户端源IP地址的一次攻击。
[0078]综上所述,本发明实施例提供的CC攻击的防护方法,在所述目标页面访问请求在单位时间内超过预定的阈值时,所述客户端上将显示一验证页面,用户在所述验证页面输入正确的验证信息后才能继续访问目标页面。进一步,所述验证信息不能被机器准确识别,如此可有效防护服务器被木马等黑客程序自动化攻击。一旦所述客户端的源IP地址列入了白名单,具有所述源IP的客户端后续与服务器的交互时,可以不用经过防火墙的TCP代理模块而与服务器直接交互,从而提高防火墙设备的通讯数据处理能力,且后续此源IP可以确保继续访问服务器。
[0079]图9出了本发明另一实施例的CC攻击的防护装置的结构示意图。
[0080]如图9所示,本发明另一优选实施例的CC攻击的防护装置100包括以下步骤:
[0081]第一验证模块10,用于向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问;
[0082]监测模块20,用于监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问;
[0083]第二验证模块30,用于向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问。
[0084]可选的,第一验证模块10包括:
[0085]访问请求接收模块11,用于接收客户端首次提交的目标页面访问请求;
[0086]cookie发送模块12,用于向所述客户端发送带有cookie校验信息的校验页面;
[0087]cookie接收模块13,用于接收客户端返回的访问请求;
[0088]cookie校验模块14,用于判断所述客户端返回的访问请求中是否包括所述cookie校验信息。
[0089]第一目标页面返回模块15,当所述客户端返回的访问请求中包括所述cookie校验信息时,向所述客户端返回目标页面,同时将所述客户端的源IP地址列入白名单;
[0090]访问拒绝模块16,当所述客户端返回的访问请求中未包括所述cookie校验信息,或者包括的cookie校验信息错误时,拒绝向所述客户端返回目标页面,并将所述目标页面请求记录为所述客户端源IP地址的一次攻击。
[0091]可选的,监测模块20包括:
[0092]访问数检测模块21,用于监测客户端的访问请求在单位时间内的次数是否超过预定阈值。
[0093]第二目标页面返回模块22,当所述客户端的访问请求在单位时间内的次数未超过预定阈值时,向所述客户端返回目标页面。
[0094]白名单清除模块23,当所述客户端的访问请求在单位时间内的次数超过预定阈值时,将所述客户端的源IP地址从白名单中清除。
[0095]可选的,第二验证模块30包括:
[0096]鉴权要求发送模块31,用于向客户端发送鉴权要求。
[0097]鉴权信息接收模块32,用于接收所述客户端返回的鉴权信息。
[0098]鉴权信息验证模块33,用于判断客户端返回的鉴权信息与防火墙预存的鉴权信息是否一致。
[0099]允许访问模块34,当所述客户端返回的鉴权信息与防火墙预存的鉴权信息一致时,允许所述客户端继续访问服务器。
[0100]拒绝访问模块35,当所述客户端返回的鉴权信息与防火墙预存的鉴权信息不一致时,拒绝所述客户端访问服务器。
[0101]可选的,第二验证模块30还包括:
[0102]验证码生成模块36,用于随机生成一验证码,所述验证码包含原始验证信息。
[0103]如上所述,本发明另一实施例提供的CC攻击的防护装置,在进入第三阶段验证之前已经经过了第一阶段验证和第二阶段验证两轮的访问请求过滤,使得防火墙能准确识别出CC攻击行为和CC攻击源IP地址,提高了服务器安全性的同时也能避免将用户的正常访问请求屏蔽掉。而且,通过第一阶段验证的访问请求,当访问请求数量在未超过预定阈值之前,可以继续访问服务器,客户端直接与服务器交互,节省防火墙的内存,进而提高了防火墙的数据处理能力。
[0104]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【权利要求】
1.一种CC攻击的防护方法,包括如下步骤: 向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问; 监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问; 向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问。
2.根据权利要求1所述的CC攻击的防护方法,其特征在于,所述向客户端发送校验cookie,验证客户端是否返回正确的校验cookie的步骤包括: 接收客户端首次提交的目标页面访问请求; 向所述客户端发送带有cookie校验信息的校验页面; 接收客户端返回的访问请求; 判断所述客户端返回的访问请求中是否包括所述cookie校验信息。
3.根据权利要求2所述的CC攻击的防护方法,其特征在于,所述判断所述客户端返回的访问请求中是否包括所述cookie校验信息之后,包括: 若是,则向所述客户端返回目标页面,同时将所述客户端的源IP地址列入白名单;否则拒绝向所述客户端返回目标页面,并将所述目标页面请求记录为所述客户端源IP地址的一次攻击。
4.根据权利要求1所述的CC攻击的防护方法,其特征在于,所述监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问,包括: 监测客户端的访问请求在单位时间内的次数是否超过预定阈值; 若是,则向所述客户端返回目标页面; 否则将所述客户端的源IP地址从白名单中清除,并进入所述下一步骤。
5.根据权利要求1所述的CC攻击的防护方法,其特征在于,所述向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问,包括: 向客户端发送鉴权要求; 接收所述客户端返回的鉴权信息; 判断客户端返回的鉴权信息与防火墙预存的鉴权信息是否一致; 如果一致,则允许所述客户端继续访问服务器; 如果不一致,则拒绝所述客户端访问服务器。
6.根据权利要求1所述的CC攻击的防护方法,其特征在于,所述向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访问,否则拒绝访问,包括: 随机生成一验证码,所述验证码包含原始验证信息; 向所述客户端发送携带有所述验证码的验证页面; 接收所述客户端返回的验证信息; 判断所述验证信息是否与预存的验证信息一致; 如果一致,则允许所述客户端继续访问服务器; 如果不一致,则拒绝所述客户端访问服务器。
7.根据权利要求6所述的CC攻击的防护方法,其特征在于,所述验证码为静态验证码或动态验证码。
8.根据权利要求1所述的CC攻击的防护方法,其特征在于,所述允许继续访问具体为:向所述客户端返回目标页面。
9.根据权利要求1所述的CC攻击的防护方法,其特征在于,所述向所述客户端发送鉴权要求,包括:通过TCP代理模块向所述客户端发送鉴权要求。
10.一种根据权利要求1-9任一项的CC攻击防护方法的CC攻击的防护装置,包括:第一验证模块,用于向客户端发送校验cookie,验证客户端是否返回正确的校验cookie,若是则允许继续访问,否则拒绝访问; 监测模块,用于监测客户端在单位时间内的访问次数是否超过预定阈值,若是则进入下一步骤,否则允许继续访问; 第二验证模块,用于向客户端发送鉴权要求,验证客户端输入的鉴权信息是否正确,若正确则允许继续访 问,否则拒绝访问。
【文档编号】H04L29/06GK104079557SQ201410219880
【公开日】2014年10月1日 申请日期:2014年5月22日 优先权日:2014年5月22日
【发明者】王震 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1