一种cc攻击防护方法及其系统的制作方法

文档序号:7747778阅读:240来源:国知局
专利名称:一种cc攻击防护方法及其系统的制作方法
技术领域
本发明涉及网络安全技术,尤其是涉及一种TOB服务器的 CC(ChalIengeCollapsar)防护方法及系统。
背景技术
随着互联网迅猛发展,各种形式的网络应用产品不断涌现,互联网应用领域不断拓宽,人们对专业IDC及⑶N服务的市场需求日益增长。当用户访问加入⑶N服务的网站 时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先 定义好的策略,将当时系统访问速度最快、最接近用户的节点缓存服务器地址提供给用户, 使用户能够得到快速的服务,高速缓存服务器返回请求所对应的本地资源,或者为客户请 求存取保存于源点服务器的数据,同时在本地作缓存。CDN网络在为用户提供高速访问时, 也面临着各种各样更强的网络攻击,比如DDOS(Distributed Denial of Service)、CC等攻 击。攻击者对网络通信数据包进行抓取、分析和破解,同时还采用恶意抢占带宽的方式,耗 尽服务器带宽,使专业的互联网设备因为承受不了沉重的数据请求而被迫退出服务。CC攻击是一种分布式拒绝服务攻击是以消耗服务器资源为目的,这种攻击不使用 虚假IP,往往通过大量的代理服务器来连接服务器,通过向服务器请求一些较耗服务器资 源的正常URL请求,使得服务器CPU计算资源迅速达到最高,无法进行其它正常连接。它主 要针对特定域名的WEB应用程序。CDN网络节点服务器无法做动态服务器脚本页面缓存。 CC攻击端向节点发送动态服务器脚本页面的请求时,节点会向直接向源点服务器转发请 求。此时,CDN的节点缓存服务器需要维护攻击端与节点,节点与源点服务器的两个TCP连 接。源点服务器需要维护节点与源点间的TCP连接。一次CC攻击连接需要耗费系统三个 TCP连接。随着攻击量的增加,CDN系统性能将受到很大影响直至崩溃。目前应用于⑶N网络服务的对抗CC攻击的常用方法(中国专利申请 200710177720. 5)是根据服务器访问流量阀值大小来判断攻击行为。容易把用户的正常访 问请求屏蔽掉,如果攻击者设置好适当的攻击速度,则防护系统难以有效地检测出CC攻击 行为,从而影响域名的访问。因此,目前需要一种能够快速检测出CC攻击对象又同时能够避免将用户的正常 访问请求屏蔽掉的方法及系统。

发明内容
本发明的目的是提供一种CC攻击防护方法,这种方法可以快速检测出CC攻击对 象;同时,本发明也针对该方法提供了一种CC攻击防护系统,实现对CDN网络TOB服务器的 可靠防护。为了实现上述目的,系统采用如下的技术方案。本发明公开一种CC攻击防护方法,包括以下步骤Sl :WEB服务器接收HTTP请求,判断来访IP是否为第一次访问。S2-1 如果是第一次访问,生成客户端脚本并发送至客户端,请求客户验证所述脚本、将所述验证后的脚本作为安全标记并作第二次访问。S2-2 如果不是第一次访问,判断是否为第二次访问;如果是第二次访问,则判断 所述第一次与第二次访问的时间间隔是否在预设时间A内,如果超过所述预设时间A,则执 行所述步骤3,如果是在所述预设时间A内或者不是第二次访问,则解析HTTP头信息。优选 地,所述预设时间A为120s、60s、30s、15s或10s。
进一步地,验证是否带有安全标记,如果带有安全标记,则判断安全标记是否合 法,如果认定合法,则进行S2-2-1 ;如果未带有安全标记或安全标记不合法,则执行S3。S2-2-1 判断所述IP在预设时间C内的访问次数是否超过最大访问次数N2,如果 超过所述最大访问次数N2,则将所述IP添加至所述过滤列表中,如果未超过所述最大访问 次数N2,则更新已带有的所述安全标记,并允许其访问WEB服务器。优选地,所述预设时间 C为60s、30s或10s,所述最大访问次数N2为10000次、5000次、1000次或100次。S3:将所述访问记为一次攻击,记录攻击次数,判断所述攻击次数是否超过预设最 大攻击次数W,如果没有超过所述最大攻击次数W,则拒绝其访问WEB服务器,如果超过所 述最大攻击次数Ni,则通过将所述访问的IP地址添加至过滤列表来进行底层过滤,并且拒 绝其访问WEB服务器。优选地,所述最大访问次数m为30次、20次、10次或5次。优选地,在Sl之前,进行以下步骤的操作。(i)接受IP访问请求,判断该IP是否在所述过滤列表中,如果不在所述过滤列表 中,则执行所述步骤1,如果在所述过滤列表中,则进行步骤(ii);(ii)判断该IP的此次访问与第一次被添加到所述过滤列表中的时间间隔是否在 预设时间B内,如果超过所述预设时间B,则在所述过滤列表中删除记录的所述IP地址,并 执行所述步骤1,如果在预设时间B内,则拒绝其进行服务器访问。优选地,所述预设时间B 为 24h 或 48h。本发明针对以上方法还提供了一种CC攻击防护系统,该系统包括如下模块。(I)CC攻击检测模块,其嵌入到TOB服务器中,具有以下功能接收功能,接收HTTP请求;计数功能,对攻击次数进行记录;识别功能,判断来访IP是否为第一次访问、是否有所述安全标记、所述安全标记 是否合法,判断所述两次访问时间间隔是否在预设时间内,判断攻击次数是否超过预设最 大攻击次数或最大访问次数;执行功能,根据所述识别信息来执行下一步骤;添加功能,将IP地址添加至所述过滤器模块中。(2)CC随机脚本生成模块,其生成随机的客户端脚本代码以及更新安全标记。(3)过滤器模块,其位于操作系统的网络底层(例如NDIS (网络驱动器接口标准) 层),动态接受所述CC攻击检测模块添加的攻击IP地址并过滤所述IP连接。(4)控制管理模块,位于控制管理服务器,用于在所述CC攻击防护系统启动时为 其他模块设置相应的工作参数(比如IP受到攻击次数、过滤IP超时时间等信息)。本发明的防护方法能迅速、有效地检测CC攻击行为,提高⑶N网络TOB服务器的 防护能力,在快速检测出CC攻击对象的同时,又避免了将用户的正常访问请求屏蔽掉。


图1是本发明的CC攻击防护方法的流程图。图2是本发明的CC攻击防护方法中的过滤器模块的工作流程图。图3是本发明的CC防护系统的组成示意图。图4是本发明的CC防护系统的流程图。
具体实施方式

为了更详细的说明本发明的目的和技术方案,下面结合附图并对本发明作进一步 说明。以下结合附图1对本发明的CC攻击防护方法以及完成该方法各个步骤的系统的 模块进行说明。步骤1 通过控制管理模块来设置相应的工作参数,WEB服务器接收HTTP请求,CC 攻击检测模块判断来访IP是否为第一次访问。步骤2-1 如果是第一次访问,CC随机脚本生成模块生成客户端脚本并发送至客 户端,请求客户验证所述脚本、将所述验证后的脚本作为安全标记并作第二次访问。步骤2-2 如果不是第一次访问,CC攻击检测模块判断是否为第二次访问;如果是 第二次访问,则判断所述第一次与第二次访问的时间间隔是否在60s内,如果超过60s,则 执行所述步骤3,如果是在60s内或者不是第二次访问,则解析HTTP头信息。进一步地,CC攻击检测模块验证是否带有安全标记,如果带有安全标记,则判断安 全标记是否合法,如果认定合法,则进行步骤2-2-1 ;如果未带有安全标记或安全标记不合 法,则执行步骤3。步骤2-2-1 :CC攻击检测模块判断所述IP在60s内的访问次数是否超过最大访问 次数5000次,如果超过5000次,则将所述IP添加至所述过滤列表中,如果未超过5000次, 则更新已带有的所述安全标记,并允许其访问WEB服务器。步骤3 =CC攻击检测模块将所述访问记为一次攻击,记录攻击次数,判断所述攻击 次数是否超过预设最大攻击次数30次,如果没有超过30次,则拒绝其访问TOB服务器,如 果超过30次,则通过将所述访问的IP地址添加至过滤列表来进行底层过滤,并且拒绝其访 问WEB服务器。其中,本发明的随机脚本验证过程能够以多种方式实现,本文以非穷举地举例如 下。(I)Cookie 脚本处理Cookie验证是通过验证客户端脚本生成的,位于HTTP头里面的安全标记来检测 是否为CC攻击。WEB服务器收到由客户端发起的以下HTTP请求GET/dir/page.htmHTTP/1. 1Host :www. 8u. cnCC攻击检测模块在检测到来访IP为合法IP后,且没有安全标记后,由随机脚本生 成模块生成相应的响应体发送给客户端执行
HTTP/1. 02000KContent-Type : text/htmlContent-Length 295Accept-Ranges:bytesConnection :close<script>var mycookie = " abcdf32" ;var cl =" 0fdfee6f464a72c04d8106d fc7c2b81b8dc5b8130dc79d7577025c2197// ;var c2 = " 5c2197" ;mycookie+ = cl ;var td = new DateO ;td. setDate (td. getDate ()+30) ;var myurl = " / “ ;document, cookie =“xx8abUxANTICC = CODE = “ +mycookie+ “ ;expires = “ +td. toGMTString() + “; path = / ; “ ;location = myurl ;</script)客户端接收到来自于TOB服务器的响应并执行脚本代码,再向WEB服务器发送带 有Cookie标记执行结果的请求GET/dir/page. htm HTTP/1. 1Host :www. 8u. cnCookie :xx8abUxANTICC = CODE = e4714093496eab6b4a72c04d8106dfc74b5ed3c a86ab4d221cc717dab6802be0CC检测模块收到客户端请求后,验证Cookie安全标记,只有标记匹配的才识别为 安全请求,由随机脚本生成模块更新安全标记后转交由WEB服务器继续执行。(2)用户交互检查用户交互检查用于验证使用浏览器控件(比如IE Web控件)来进行CC攻击的请 求,这种请求向客户端发送脚本后,在客户端浏览器的控件中生成的页面要求用户必须通 过点击才能正常访问域名。WEB服务器收到由客户端发起的以下HTTP请求GET/dir/page. htmHTTP/1. 1Host :www. 8u. cnCC模块在检测到来访IP为合法IP后,且没有安全标记后,由随机脚本生成模块生 成相应的响应体发送给客户端执行HTTP/1. 02000KContent-Type text/htmlContent-Length 434Accept-Ranges :bytesConnection :close<script>var mycookie = “ e4714093496eab6bd0decf8b5ac448de754f42695aa9d aea〃 ; var td = new DateO ;td. setDate (td. getDate ()+30) ; var myurl = “ /〃 ;function go fun () {document, cookie= CN8UANTICC = CODE = " +mycookie+" ;expires = " +td. toGMTString ()+ “ ;path = / ; “ ;location = myurl ;} </scriptXbody topmargin = IOOXdiv style = " display:none/r Xa href =〃 javascript: gofun2 () ; 〃 > ;^、击进 人网立占 </a></div><div align = centerXa href =〃 j avascript:gofun() ; 〃 > ;^击进入网站 </a></div></body>客户端接收到来自于TOB服务器的响应并执行脚本代码,脚本代码生成要求用户 点击的网页。如果用户不点击生成的链接,IE Web控件不会访问要攻击的域名。(3) URL 检查URL检查是把用户访问的域名变成脚本,再返回给客户端,由客户端在执行脚本后,由脚本来访问域名。随机脚本生成模块会生成以下脚本代码返回给客户端HTTP/1. 02000KContent-Type text/htmlContent-Length 295Accept-Ranges:bytesConnection :close<script>var myurl = " / ? “ ;var ul = " dc090f" ;var u2 = " abcwkey"; var u3 = " 0fee6f “ ;varu4 = " c83bdc “ ;myurl+ = u2 ;myurl+ = " =" ;myurl+ = u4 ;location = myurl ;</script)客户端接收到来自于TOB服务器的响应并执行脚本代码,脚本代码要求客户端自 动重新连接的脚本指定的域名。客户再次连接WEB服务器后,CC攻击检测模块收到客户端 请求,验证Cookie安全标记,接着由随机脚本生成模块更新安全标记后转交由WEB服务器 继续执行。以下结合附图2对本发明的过滤器及其工作流程进行说明。在步骤1之前,来访IP先经过所述过滤器模块的处理。所述过滤器模块的工作流程如下。(i)接受IP访问请求,判断该IP是否在所述过滤列表中,如果不在所述过滤列表 中,则执行所述步骤1,如果在所述过滤列表中,则进行步骤(ii);(ii)判断该IP的此次访问与第一次被添加到所述过滤列表中的时间间隔是否在 预设时间B内,如果超过所述预设时间B,则在所述过滤列表中删除记录的所述IP地址,并 执行所述步骤1,如果在预设时间48h内,则拒绝其进行服务器访问。图3是CC攻击防护系统的系统组成示意图。如图3所示,系统包含了 CC攻击检 测模块、CC随机脚本生成模块、过滤器模块以及控制管理模块。CC攻击检测模块实现了对所有访问WEB服务器的HTTP请求检测、随机脚本生成 和添加IP到过滤器的功能。CC攻击检测模块由IP检测模块和随机脚本生成模块组成,IP 检测模块用于检查来访问是否为合法IP。CC随机脚本生成模块,其生成随机的客户端脚本代码以及更新安全标记。过滤器模块由实时过滤器和参数设置模块组成。实时过滤器子模块实时接收来自 网络的IP数据包,根据过滤IP列表过滤非法IP。参数设置模块用于接收和读取过滤器模 块中。管理控制模块用于设定和监控系统中各模块工作参数,由实时监测和参数设置模 块组成,实时监测模块实时获取位于⑶N网络所有在线TOB服务器中CC过滤器模块的工作 情况,以便管理员即时知道CC攻击情况并作出相应处理。参数设置模块用于设置和保存系统各模块的工作参数,比如CC检测IP超时时间、域名攻击最大次数以及添加和删除攻击IP寸。参见图4,对本发明的CC攻击防护系统及过滤器模块的工作流程进行更详尽的说 明。系统启动时,初始化过滤器、CC攻击检测模块的工作参数,并启 动过滤器。过滤器 位于操作系统网络组件的NDIS层,直接处理发送到TOB服务器的IP数据包,在过滤器中有 一过滤IP链表,当有IP连接访问系统时,过滤器检索来访IP是否是要过滤的IP,如果是则 直接拒绝连接,否则放行该连接。进一步地,位于TOB服务器的CC攻击检测模块检测连接是否是CC攻击,如果不是 CC攻击,则为此请求提供正常WEB服务,如果是CC攻击,在达到1000次后,拒绝此次访问, 将此IP添加到过滤器中。过滤器模块位于TOB服务器操作系统的网络底层(例如Windows 2003系统的 NDIS (网络驱动器接口标准)层),系统初始化时,过滤器加载由控制管理器预设的工作参 数并启动。当有IP访问WEB服务器时,过滤器模块首先接收到访问请求,过滤器模块检查 来访IP是否在过滤列表中。如果来访IP不在过滤列表中,则过滤器模块直接放行此IP的 连接。如果来访IP在过滤IP列表中,过滤器模块会检查IP的本次访问时间与添加时间 之差是否超过系统预设的IP超时时间-例如24小时-如果没有超时,过滤器模块直接拒 绝此IP的连接,如果超过了预设时间,则过滤器模块自动将此IP从过滤列表中删除,同时 放行此IP的连接。
权利要求
一种CC攻击防护方法,其特征在于,包括以下步骤步骤1判断访问是否为第一次访问;步骤2-1如果是第一次访问,生成客户端脚本并发送至客户端,请求客户验证所述脚本、将所述验证后的脚本作为安全标记并作第二次访问;步骤2-2如果不是第一次访问,解析HTTP头信息,判断所述访问请求中是否带有所述安全标记以及所述安全标记是否合法,如果访问不带有所述安全标记或所述安全标记不合法,则进行步骤3;如果带有合法的安全标记,则允许其访问WEB服务器;步骤3将所述访问记为一次攻击,拒绝其进行WEB服务器访问。
2.根据权利要求1所述的CC攻击防护方法,其特征在于,在所述步骤2-2中,在判断 不是第一次访问后,进一步判断是否为第二次访问;如果是第二次访问,则判断所述第一次 与第二次访问的时间间隔是否在预设时间A内,如果超过所述预设时间A,则执行所述步骤 3,如果是在所述预设时间A内或者不是第二次访问,则解析HTTP头信息。
3.根据权利要求2所述的CC攻击防护方法,其特征在于,所述预设时间A为120s、60s、 30s、15s 或 10s。
4.根据权利要求1所述的CC攻击防护方法,其特征在于,在所述步骤3中,在将所述 访问记为一次攻击后,记录攻击次数,判断所述攻击次数是否超过预设最大攻击次数附,如 果没有超过所述最大攻击次数N1,则拒绝其访问TOB服务器,如果超过所述最大攻击次数 m,则通过将所述访问的IP地址添加至过滤列表来进行底层过滤,并且拒绝其访问WEB服 务器;优选地,所述最大访问次数m为30次、20次、10次或5次。
5.根据权利要求4所述的CC攻击防护方法,其特征在于,在所述步骤2-2中,在判断所 述访问带有合法的安全标记后,判断所述IP在预设时间C内的访问次数是否超过最大访问 次数N2 ;如果超过所述最大访问次数N2,则将所述IP添加至所述过滤列表中,如果未超过 所述最大访问次数N2,则允许其访问TOB服务器;优选地,其中所述预设时间C为60s、30s 或10s,所述最大访问次数N2为10000次、5000次、1000次或100次。
6.根据权利要求5所述的CC攻击防护方法,其特征在于,在判断所述IP在预设时间C 内的访问次数是否超过最大访问次数N2之后,在允许其访问TOB服务器之前,更新已带有 的所述安全标记。
7.根据权利要求4所述的CC攻击防护方法,其特征在于,在执行所述步骤1之前,进行 以下步骤(i)接受IP访问请求,判断该IP是否在所述过滤列表中,如果不在所述过滤列表中,则 执行所述步骤1,如果在所述过滤列表中,则进行步骤(ii);(ii)判断该IP的此次访问与第一次被添加到所述过滤列表中的时间间隔是否在预设 时间B内,如果超过所述预设时间B,则在所述过滤列表中删除记录的所述IP地址,并执行 所述步骤1,如果在预设时间B内,则拒绝其进行服务器访问。
8.根据权利要求7所述的CC攻击防护方法,其特征在于,所述预设时间B为24h或48h。
9.根据权利要求1所述的CC攻击防护方法,其特征在于,完成所述客户端脚本的生成 及验证的方法选自下述方法所述验证脚本通过Cookie脚本生成,所述Cookie脚本通过客户端脚本生成验证;所述验证脚本通过用户交互检验生成,所述用户交互检验验证浏览器控件发送来的请求;所述验证脚本通过URL检查生成,所述URL检查是把用户访问的链接转换为脚本,再返 回给客户端,由客户端在执行脚本后,由脚本来访问域名。
10. 一种根据权利要求1-9任一项的CC攻击防护方法的CC攻击防护系统,其包括以下 模块CC攻击检测模块,嵌入到WEB服务器中,其接收HTTP请求,对攻击次数进行记录,判 断来访IP是否为第一次访问、是否带有所述安全标记、所述安全标记是否合法,判断两次 访问时间间隔是否在预设时间A或B或c内,判断攻击次数是否超过预设最大攻击次数m 或最大访问次数N2,根据所述判断信息来执行下一步骤,将IP地址添加至所述过滤器模块 中;CC随机脚本生成模块,其生成随机的客户端脚本代码以及更新所述安全标记; 过滤器模块,其位于操作系统的网络底层,动态接受所述CC攻击检测模块添加的攻击 IP地址并过滤所述IP地址;控制管理模块,位于控制管理服务器,用于在所述CC攻击防护系统启动时为上述模块 设置相应的工作参数。
全文摘要
本发明涉及一种CC攻击防护方法及其系统。其方法包括以下步骤,步骤1判断访问是否为第一次访问;步骤2-1如果是第一次访问,生成客户端脚本并发送至客户端,请求客户验证所述脚本、将所述验证后的脚本作为安全标记并作第二次访问;步骤2-2如果不是第一次访问,解析HTTP头信息,判断所述访问请求中是否带有所述安全标记以及所述安全标记是否合法,如果访问不带有所述安全标记或所述安全标记不合法,则进行步骤3;如果带有合法的安全标记,则允许其访问WEB服务器;步骤3将所述访问记为一次攻击,拒绝其进行WEB服务器访问。该系统其包括以下模块,CC攻击检测模块,CC随机脚本生成模块,过滤器模块,控制管理模块。本发明的方法能够快速检测出CC攻击对象并避免了将用户的正常访问请求屏蔽掉。
文档编号H04L29/06GK101834866SQ201010163069
公开日2010年9月15日 申请日期2010年5月5日 优先权日2010年5月5日
发明者汤霜辉 申请人:北京来安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1