CN103179132B - 一种检测和防御cc攻击的方法及装置 - Google Patents
一种检测和防御cc攻击的方法及装置 Download PDFInfo
- Publication number
- CN103179132B CN103179132B CN201310121695.4A CN201310121695A CN103179132B CN 103179132 B CN103179132 B CN 103179132B CN 201310121695 A CN201310121695 A CN 201310121695A CN 103179132 B CN103179132 B CN 103179132B
- Authority
- CN
- China
- Prior art keywords
- web page
- request
- web
- vulnerable
- leading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 74
- 230000007123 defense Effects 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 2
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种检测和防御CC攻击的方法及装置,基于上下文对脆弱Web页面进行保护,该技术方案中,首先确定Web网站上可能被CC攻击的“脆弱Web页面”及对应的前导Web页面;记录各Web客户端对所述前导Web页面的访问情况,检测各脆弱Web页面的访问请求的平均响应时间,当平均响应时间大于设定阈值,则判定检测到CC攻击,对于各Web客户端发出的针对各脆弱Web页面的每一个访问请求,检测访问请求中该Web客户端是否访问过该脆弱Web页面的前导Web页面,如果是则允许该访问请求通过,否则丢弃该针对脆弱Web页面的访问请求。本发明配置简单,资源消耗小,可有效检测和防御CC攻击。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及用于实现Web安全访问的一种检测和防御CC攻击的方法及装置。
背景技术
HTTP(HyperTextTransferProtocol,超文本传输协议)是目前互联网上应用最为广泛的协议之一。作为互联网主要业务之一的Web(网页)业务目前得到了极速发展,Web业务在给人们获取信息带来极大便利的同时,也成为黑客最关注的攻击目标。目前,针对Web服务应用层的攻击方式,主要包括HTTPFlood(超文本传输协议泛洪)攻击和CC攻击。
CC(ChallengeCollapsar,直译为挑战黑洞,但通常直接表述为CC攻击)攻击是一种以网站页面为主要攻击目标的应用层DDoS(DistributedDenialofService,分布式拒绝服务)攻击,其选择的攻击对象是Web服务器开放的页面中需要较多资源开销的Web应用,例如需要占用Web服务器大量CPU(中央处理器)资源进行运算的页面或者需要大量访问数据库的应用。CC攻击的目标通常定位于网站中需要进行动态生成和数据库访问的页面,例如以.asp,.jsp,.php,.cgi,.dll等结尾的页面资源。CC攻击所产生的HTTP流量大多数符合HTTP协议规范,传统网络安全设备无法对其进行识别和过滤,而Web服务器若要处理这些Web应用层攻击流量则需要消耗大量的计算资源,使得Web服务器无法对正常的Web服务请求进行响应,从而造成拒绝服务攻击。
目前,对CC攻击的检测和防御方法主要为采用网站代码优化的方法,比如,在Web代码中采用Cookie(缓存)来对访问者进行主动标识和认证,或者通过访问请求重定向方法避免攻击者直接访问资源消耗过多的页面。但这些方法都需要主动修改页面代码,而在大多数情况下,可能无法对代码进行修改或者修改代码的代价太大,造成上述方法在检测和防御CC攻击时存在缺陷。因此,需要一种在不修改页面代码情况下能够检测和防御CC攻击的解决方案。
发明内容
本发明所要解决的技术问题在于,提供一种检测和防御CC攻击的方法及装置,用于解决当前Web服务器检测及防御CC攻击所存在的需要修改网页代码,资源开销较大的问题。
为了解决上述问题,本发明提出了一种检测和防御CC攻击的方法,包括以下步骤:
步骤一,确定被保护的Web网站上可能被CC攻击利用的页面作为“脆弱Web页面”,并确定包含超级链接到每一脆弱Web页面的前导Web页面;
步骤二,记录各Web客户端对所述前导Web页面的访问情况,检测各脆弱Web页面的访问请求的平均响应时间,当平均响应时间大于设定阈值,则判定检测到CC攻击,执行步骤三;否则继续执行步骤二;
步骤三,对于各Web客户端发出的针对各脆弱Web页面的每一个访问请求,检测其中的该Web客户端是否访问过该脆弱Web页面的前导Web页面,如果是则允许该访问请求通过,否则丢弃该针对脆弱Web页面的访问请求。
优选地,所述步骤一中采用手工输入方法确定资源消耗较多从而可能被CC攻击利用的页面作为所述脆弱Web页面,并确定各脆弱Web页面对应的前导Web页面;或者,所述步骤一中采用网页爬虫对被保护的Web网站进行扫描,找到那些资源消耗较多从而可能被CC攻击利用的脆弱Web页面,以及包含超级链接到这些脆弱Web页面的前导Web页面。
优选地,所述步骤二中,记录各Web客户端对前导Web页面的访问情况,是针对每个前导Web页面的访问请求,记录该前导Web页面访问请求的客户端IP、Web页面链接URL以及请求成功情况,形成前导Web页面的请求日志;
优选地,所述步骤二中,检测各脆弱Web页面的访问请求的平均响应时间,是监控Web服务器对每个脆弱Web页面的访问请求的响应时间值变化情况,如果检测发现Web服务器对脆弱Web页面的平均响应时间值超过设定阈值,则判定发生了CC攻击。
优选地,所述步骤三具体包括:在一个指定时间段中,对每个针对所述脆弱Web页面的访问请求,首先从HTTP访问请求消息的Referer字段中提取出前导Web页面的URL值以及Web客户端的IP地址;然后检索所述前导Web页面的请求日志,如果发现脆弱Web页面的访问请求不包含前导Web页面的URL信息,或者发现该脆弱Web页面访问请求不存在对相关的前导Web页面请求的访问行为,或者该Web客户端对前导Web页面的访问请求结果失败,则判定该脆弱Web页面的访问请求为CC攻击流,丢弃该Web客户端针对该脆弱Web页面的访问请求;否则,判定其来自正常Web访问客户端,转发该脆弱Web页面请求到受保护Web服务器。
优选地,所述步骤三还包括如下子步骤:
对于每个前导Web页面的访问请求,记录该前导Web页面访问请求的客户端IP、Web页面URL以及请求成功情况,形成前导Web页面的请求日志;
统计一段时间内Web服务器针对各脆弱Web页面的平均响应时间,如果发现针对各脆弱Web页面的平均响应时间均未超过设定阈值,则表示针对Web服务器的CC攻击结束,跳转到步骤二执行,否则继续执行步骤三。
优选地,所述前导Web页面的请求日志的记录方式可以采用散列表实现、或者采用位图实现,或者采用布隆迪过滤器实现。
优选地,所述位图记录方式,是采用前导Web页面URL和Web客户端IP地址为位图散列函数输入,根据散列函数值找到位图中对应的格记录访问结果;所述布隆迪过滤器记录方式,是采用前导Web页面URL和Web客户端IP地址作为散列函数的输入,定义K个彼此相互独立的散列函数,得到K个散列函数值;将布隆迪过滤器位串向量中对应的K个位分别设置记录访问结果。
本发明还提供一种检测和防御CC攻击的装置,包括:
关键Web页面信息收集模块、Web网页请求分类模块、前导Web网页请求日志模块、脆弱Web网页监控模块、CC攻击防御模块、Web网页请求转发模块和Web页面响应转发模块,其中:
所述关键Web页面信息收集模块,用于确定被保护的Web网站上可能被CC攻击利用的页面作为“脆弱Web页面”,并确定包含超级链接到每一脆弱Web页面的前导Web页面;
所述Web网页请求分类模块,用于接收来自Web客户端的Web网页访问请求,并将访问请求分为三类:针对脆弱Web页面的访问请求、针对前导Web页面的访问请求、其它Web页面的访问请求;将脆弱Web页面的访问请求交给脆弱Web页面请求监控模块处理;将前导Web页面的访问请求交给前导Web页面请求日志模块处理;将其它Web页面的访问请求直接交给Web页面请求转发模块处理;
所述前导Web网页请求日志模块,用于一方面接收来自Web页面请求分类模块转发来的前导Web页面的访问请求消息,提取并记录Web页面的URL以及Web客户端的IP地址;另一方面接收并记录来自Web页面响应转发模块的前导Web页面响应时间;生成前导Web网页请求日志;
所述脆弱Web网页监控模块,用于在CC攻击检测阶段,接收来自Web页面请求分类模块转发来的脆弱Web页面请求消息以及Web页面响应转发模块转发的脆弱Web页面响应时间,计算每个脆弱Web页面的当前平均响应时间:
当平均响应时间大于设定阈值,则判定检测到CC攻击,从Web页面请求分类模块转发来的脆弱Web页面请求消息中,提取出前导Web页面URL信息以及Web客户端IP地址,并查找前导Web页面请求日志模块提供的日志记录,根据查找结果判定该脆弱Web页面请求是否存在成功的前导Web页面请求,如果存在,则将该脆弱Web页面请求转发给Web页面请求转发模块,如果不存在则转发给CC攻击防御模块;
当平均响应时间大于设定阈值小于或等于设定阈值,则直接将该脆弱Web页面请求转发给Web页面请求转发模块,继续计算每个脆弱Web页面的当前平均响应时间;
所述CC攻击防御模块,用于接收来自脆弱Web页面监控模块转发来的被判定为不存在前导Web页面请求的脆弱Web页面请求,按照防御策略对访问请求进行限流或者直接丢弃处理;
所述Web页面请求转发模块,用于接收由前导Web页请求日志模块转发的针对前导Web页的访问请求,接收脆弱Web网页监控模块转发的针对脆弱Web页的访问请求,接收由Web页面请求分类模块转发来的其它Web页面的Web页面请求,将上述访问请求转发给受保护的Web服务器;
所述Web页面响应转发模块,用于接收来自受保护Web服务器的Web页面响应消息,然后转发给对应的Web客户端;同时,对于前导Web页面响应消息,提取Web页面响应结果和响应时间并转发给前导Web页面请求日志模块;对于脆弱Web页面响应消息,提取Web页面响应时间并转发给脆弱Web页面监控模块。
优选地,所述关键Web页面信息收集模块,通过人工方式或网页爬虫方式收集被保护网站上的可能遭受CC攻击的脆弱Web页面信息,以及脆弱Web页面相关的前导Web页面信息,供Web网页请求分类模块、前导Web页面请求日志模块和脆弱Web页面监控模块使用。
优选地,所述前导Web页面请求日志模块,用于生成所述前导Web页面的请求日志的记录方式可以采用散列表实现、或者采用位图实现,或者采用布隆迪过滤器实现;所述位图记录方式,是采用前导Web页面URL和Web客户端IP地址为位图散列函数输入,根据散列函数值找到位图中对应的格记录访问结果;所述布隆迪过滤器记录方式,是采用前导Web页面URL和Web客户端IP地址作为散列函数的输入,定义K个彼此相互独立的散列函数,得到K个散列函数值;将布隆迪过滤器位串向量中对应的K个位分别设置记录访问结果。
本发明所提供的适合配置于Web安全网关的检测和防御CC攻击的方法和装置,具有如下优点:
1)因配置于客户端与服务器之间,并不需要通过修改Web服务器端的应用程序代码,因此部署和实施简单;
2)整个针对Web服务器的CC攻击的检测和防御是在部署在Web服务器前的Web应用防火墙上实施的,它并不会给Web服务器带来资源开销负担;
3)无需修改Web客户端到Web服务器的HTTP流量,因此,可以做到很好的网络吞吐率,从而确保Web访问服务质量;
4)可以采用位图和BloomFilter(布隆迪过滤器)来实现对前导Web页面访问记录的存储,可大大节省存储空间。
附图说明
附图1为本发明所述的Web安全网关的网络位置图;
附图2为本发明所述的CC攻击检测和防御装置模块图;
附图3为本发明所述的CC攻击检测和防御方法的流程图;
附图4为用来记录前导Web页面访问请求日志的位图示意图;
附图5为用来记录前导Web页面访问请求日志的布隆迪示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进一步地详细说明。
现有防御CC攻击的技术大多需要修改代码或修改页面,若能实现在不修改页面代码情况下能够检测和防御CC攻击则成为一个较理想的解决方案。因此,本发明重点在于如何检测出针对Web服务器的CC攻击,并在防御CC攻击时能够区分出正常的Web访问流量和非正常的CC攻击流量,对CC攻击流量进行有效过滤的同时,最大限度保障正常用户的Web访问服务质量。
本发明的技术方案在检测和防御CC攻击时,主要利用了CC攻击流量和正常Web访问流量在访问上下文(Context)存在区别的特点:
正常Web访问流量存在访问上下文,即一般正常Web访问都是从一个起始页(比如首页)开始,然后遵循一定的Web页面访问路径才能访问到某些资源消耗较大的Web页面(通常易受CC攻击的页面);
而CC攻击是缺乏访问上下文的,它一般都是直接对某些资源消耗较大的Web页面进行单点访问,而不遵循正常的Web页面访问路径。
因此,在检测及防御CC攻击时,可通过检查每个Web页面请求是否存在访问上下文来判定其是否属于正常的Web访问,从而可以有效识别出CC攻击流,从而对CC攻击流量进行有效过滤。
同时,为避免修改页面,该检测和防御CC攻击的方案可配置在Web客户端与Web服务器之间,比如在Web安全网关上实现。这样就可在CC攻击流的访问请求在进入Web服务器即被拦截或丢弃,有效保护Web应用系统。
如图1所示,Web安全网关可位于Web客户端和受保护Web应用系统之间。本发明所述检测和防御CC攻击方法适合在Web安全网关上实现。其中,所述Web客户端可能为标准Web浏览器,也可能用来发动CC攻击的工具。Web客户端通过HTTP协议与受保护的Web应用系统进行通信。Web客户端与受保护的Web应用系统之间的通信都通过Web安全网关进行转发。在转发过程中实现有效的检测和防御CC攻击。
如图2所示,给出了可配置在Web安全网关上的用于检测和防御CC攻击的装置的模块图。所述检测和防御CC攻击的装置,包括:关键Web页面信息收集模块、Web网页请求分类模块、前导Web网页请求日志模块、脆弱Web网页监控模块、CC攻击防御模块、Web网页请求转发模块和Web页面响应转发模块。其中:
所述关键Web页面信息收集模块,用于通过人工方式或者网页爬虫方式收集被保护的Web网站上的可能遭受CC攻击的脆弱Web页面信息,以及脆弱Web页面相关的前导Web页面信息,供前导Web页面请求日志模块和脆弱Web页面监控模块使用。
所述Web网页请求分类模块,用于接收来自Web客户端的Web网页访问请求,并将Web网页访问请求分为三类:针对脆弱Web页面的访问请求;针对前导Web页面的访问请求;其它Web页面的访问请求,此类访问请求在图2中表示为非关键Web页面的访问请求;针对不同分类的访问请求采用不同的处理方式:对于脆弱Web页面的访问请求,则交给脆弱Web页面请求监控模块处理;对于前导Web页面的访问请求,则交给前导Web页面请求日志模块处理;对于非关键Web页面的访问请求,则直接交给Web页面请求转发模块处理。
所述前导Web网页请求日志模块,用于一方面接收来自Web页面请求分类模块转发来的前导Web页面的访问请求消息,提取并记录Web页面的URL(全球资源定位器,UniformResourceLocator)以及Web客户端的IP地址;另一方面接收并记录来自Web页面响应转发模块的前导Web页面响应时间;生成前导Web网页请求日志。
所述脆弱Web网页监控模块,用于在CC攻击检测阶段,接收来自Web页面请求分类模块转发来的脆弱Web页面请求消息以及Web页面响应转发模块转发的脆弱Web页面响应时间,计算每个脆弱Web页面的当前平均响应时间;
所述脆弱Web网页监控模块,用于在CC攻击防御阶段,接收来自Web页面请求分类模块转发来的脆弱Web页面请求消息,提取包含在脆弱Web页面请求消息中的前导Web页面URL信息以及Web客户端IP地址,并查找前导Web页面请求日志模块提供的日志记录,根据查找结果判定该脆弱Web页面请求是否存在成功的前导Web页面请求,如果存在,则转发该脆弱Web页面请求给Web页面请求转发模块,否则转发给CC攻击防御模块。
所述CC攻击防御模块,用于接收来自脆弱Web页面监控模块转发来的被判定为不存在前导Web页面请求的脆弱Web页面请求,按照防御策略可以对访问请求进行限流或者直接丢弃处理。
所述Web页面请求转发模块,用于接收由Web页面请求分类模块转发来的针对非关键Web页面的Web页面请求,接收由前导Web页请求日志模块转发的针对前导Web页的访问请求,接收脆弱Web网页监控模块转发的针对脆弱Web页的访问请求,将上述访问请求转发给受保护的Web服务器。
所述Web页面响应转发模块,用于接收来自受保护Web服务器的Web页面响应消息,然后转发给对应的Web客户端;同时:
对于前导Web页面响应消息,提取Web页面响应结果和响应时间并转发给前导Web页面请求日志模块;
对于脆弱Web页面响应消息,提取Web页面响应时间并转发给脆弱Web页面监控模块。
如图3所示,给出了实施本发明所述CC攻击检测和防御的方法的流程图,该方法可运行在Web安全网关上,包括如下步骤:
步骤一:找到被保护Web网站上那些资源消耗较多从而可能被CC攻击利用的脆弱Web页面,以及包含超级链接到这些脆弱Web页面的前导Web页面信息;
步骤二:记录各Web客户端对前导Web页面的访问情况,同时,监控各脆弱Web页面请求的平均响应时间,当检测到平均响应时间大于设定阈值(例如预先设置的平均响应值指定倍数)时,则判断检测到CC攻击,进入步骤三执行,否则继续执行步骤二;
步骤三:对于各Web客户端发往各脆弱Web页面的请求,检测该Web客户端是否访问过该脆弱Web页面的前导Web页面,如果是则允许通过,否则丢弃该脆弱Web页面的访问请求。
HTTPReferer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。
所述步骤三具体实施时可包括:
在一个指定时间段中,对每个针对脆弱Web页面的访问请求,首先从HTTP请求消息的Referer字段中提取出前导Web页面的URL值以及Web客户端IP地址;然后检索前导Web页面请求日志,如果发现脆弱Web页面请求不包含前导Web页面URL信息,或者发现该脆弱Web页面访问请求不存在对相关的前导Web页面请求的访问行为,或者该Web客户端对前导Web页面的访问请求结果失败,则判定该脆弱Web页面请求为CC攻击流,丢弃该脆弱Web页面请求;否则,判定其来自正常Web访问客户端,转发该脆弱Web页面请求到受保护Web服务器。
优选地,所述检测和防御CC攻击方法,所述步骤三还可包括以下子步骤:
对于每个前导Web页面请求,记录该前导Web页面请求的客户端IP、Web页面URL以及请求成功情况,形成前导Web页面请求日志;
统计一段时间内Web服务器针对各脆弱Web页面的平均响应时间,如果发现针对各脆弱Web页面的平均响应时间均未超过预先设置的平均响应时间指定倍数,则表示针对Web服务器的CC攻击结束,跳转到步骤二执行,否则继续执行步骤三。
在实施本发明所述CC攻击检测和防御方法的步骤一中,对于脆弱Web页面和前导Web页面信息的获取可以采用人工输入的方法,也可以采用网页爬虫的方法来获取。
对于人工输入方法,需要有相应的人工输入接口或者配置文件,配置确定所述脆弱Web页面和前导Web页面的信息;
对于网页爬虫方法,则需要在CC攻击检测和防御前,首先对受保护的Web服务器进行自动扫描和网页下载,找到那些Web网页响应时间过长的Web网页,这些Web网页就是CC攻击时可能遭受攻击的Web页面,因为它将消耗Web服务器过多的资源,确定并记录这些脆弱Web页面;在找到了脆弱Web页面后,通过查找Web爬虫访问路径得到并记录相关联的前导Web页面。
在上述方法的步骤二中,对于每个前导Web页面请求,需要记录各Web客户端对前导Web页面的访问情况,记录内容包括前导Web页面请求的客户端IP、Web页面URL以及请求成功情况,生成前导Web页面访问日志。在防御CC攻击时,脆弱Web页面监控模块通过查找前导Web页面访问日志来判定该脆弱Web页面访问请求是否存在成功的前导Web页面请求。
在记录Web客户端对前导Web页面的访问情况时,可采用散列表、位图或布隆迪过滤器等记录方式进行记录。
若采用传统散列表方法来记录各Web客户端对这些前导Web页面的访问情况,记录时以Web客户端IP和前导Web页面URL为键值,散列表中每个项中记录了前导Web访问响应时间。这种基于传统散列表方法实现的Web页面访问日志记录方式的优点是记录信息较准确,缺点是需要消耗较大的存储空间,这对于一个访问量较大的Web网站来说问题将更加严重。
为了减轻Web安全网关记录和存储这些针对前导Web页面访问日志的压力,本发明的技术方案中还可以采用位图方法来记录和存储各Web客户端对前导Web页面的访问情况,并同样允许脆弱Web页面监控模块在防御CC攻击时可以快速检索该前导Web页面日志记录。
本发明所采用的用来记录前导Web页面访问情况的位图如附图4所示。图4所示的位图,采用行和列寻址,位图中的每个格为一个比特,与位图相关的散列函数的输入为前导Web页面URL和Web客户端IP地址,散列函数的散列输出值为位图行宽和列宽之和(均按比特位数计算)。
在记录各Web客户端对前导Web页面的访问情况时,首先将位图中各格清为零。然后,对于每个Web客户端对前导Web页面的访问请求,提取出前导Web页面URL和Web客户端IP地址作为位图散列函数的输入,得到一个散列函数值,然后按位图的行宽和列宽将该散列值分割为对应两部分并分别转换为整数,分别以这两个整数为行坐标和列坐标找到位图中对应的格,并置该格的比特位为1。
在CC攻击防御时,对来自客户端的针对脆弱Web页面的访问请求,从访问请求消息中提取出该脆弱Web页面关联的前导Web页面URL,然后,以前导Web页面URL和Web客户端IP地址为位图散列函数输入,根据散列函数值找到位图中对应的格,如果格中的比特值为1,则判定该脆弱Web页面请求存在成功的前导Web页面访问请求,否则判定为CC攻击流。
采用位图来记录和存储各Web客户端针对前导Web页面的访问情况的优点是可以极大的减少存储空间,缺点是,当脆弱Web页面数量大且Web客户端数量也大时,很容易出现来自不同Web客户端的前导Web页面访问所对应的格冲突,从而导致在CC攻击防御时误判,使得原本应该过滤掉的CC攻击流量被放行。
为了减轻这个问题,进一步地,可以采用布隆迪过滤器(BloomFilter)来实现对前导Web页面的访问情况的记录和存储。如附图5所示,BloomFilter是一个压缩的数据结构,用来表示一个集合中所有元素,并支持对该集合中元素的查找,即可以回答“某个元素是否属于某个集合?”的问题。
基本BloomFilter使用长为m的位串V(bitVector)来表达数据元素集合A={a1,a2,...an}。设有k个具有均匀分布特性的哈希函数{hi},i=1,...,k,满足如下条件: 则:
①集合表示方法:对于集合中任一元素ai,使用预先定义的k个哈希函数依次对ai进行哈希,得到k个哈希值{b1,b2,...bk},bi∈[1··m],然后依次将位串V的b1,b2,...bk位设置为1。BloomFilter数据表示方法实质是采用多个短标签来表示一个元素。
②集合元素查找方法:当需要判定某一元素a是否属于上述BloomFilter表示的集合时,方法如下:1)使用预先定义的k个哈希函数依次对元素a进行哈希,得到k个哈希值{b1,b2,...bk},bi∈[1··m];然后判断位串V的b1,b2,...bk位置上是否都为1,如果都为1,则表示该元素在集合中,否则表示该元素不在集合中。
基于基本BloomFilter实现集合元素查找时可能存在误报,但是,可以通过控制位串V的长度m来将误报率控制在可接受的范围之内。
在本发明所述CC攻击和防御方法中,为了采用BloomFilter来记录和存储Web客户端对前导Web页面的访问情况,将前导Web页面URL和Web客户端IP地址作为BloomFilter的散列函数的输入,定义了K(附图5中k为3)个彼此相互独立的散列函数。
在记录各Web客户端对前导Web页面的访问情况时,首先,将BloomFilter的位串向量清为零;然后,对于每个Web客户端对前导Web页面的访问请求,提取前导Web页面URL和Web客户端IP地址作为K个散列函数的输入,得到K个散列函数值;之后,将BloomFilter位串向量中对应的K个位分别置为1。
在进行CC攻击防御时,对来自Web客户端的针对脆弱Web页面的访问请求,从访问请求消息中提取出该脆弱Web页面关联的前导Web页面URL,再以前导Web页面URL和Web客户端IP地址为K个散列函数的输入,得到K个散列函数值,如果这K个散列函数值所对应的比特位都为1,则判定该脆弱Web页面请求存在成功的前导Web页面访问请求,否则判定为该Web客户端针对该脆弱Web页面的访问请求是CC攻击流。
当判定某个针对脆弱Web页面的访问请求为CC攻击流时,这个Web页面请求将交给CC攻击防御模块进行处理,它可以按照安全策略对其进行限流或者直接丢弃。
进一步地,在CC攻击防御阶段,本发明的技术方案,还可实时检测本次CC攻击是否持续,如果发现大多数针对脆弱Web页面的访问请求都存在前导Web页面,并且Web服务器对脆弱Web页面的响应时间在许可的范围内,则自动转换进入到CC攻击检测阶段,只进行CC攻击的检测和前导Web页面访问请求日志记录。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种检测和防御CC攻击的方法,其特征在于,包括以下步骤:
步骤一,确定被保护的Web网站上可能被CC攻击利用的页面作为“脆弱Web页面”,并确定包含超级链接到每一脆弱Web页面的前导Web页面;
步骤二,记录各Web客户端对所述前导Web页面的访问情况,检测各脆弱Web页面的访问请求的平均响应时间,当平均响应时间大于设定阈值,则判定检测到CC攻击,执行步骤三;否则继续执行步骤二;
步骤三,对于各Web客户端发出的针对各脆弱Web页面的每一个访问请求,检测其中的该Web客户端是否访问过该脆弱Web页面的前导Web页面,如果是则允许该访问请求通过,否则丢弃该针对脆弱Web页面的访问请求。
2.如权利要求1所述的检测和防御CC攻击的方法,其特征在于:
所述步骤一中采用手工输入方法确定资源消耗较多从而可能被CC攻击利用的页面作为所述脆弱Web页面,并确定各脆弱Web页面对应的前导Web页面;或者,
所述步骤一中采用网页爬虫对被保护的Web网站进行扫描,找到那些资源消耗较多从而可能被CC攻击利用的脆弱Web页面,以及包含超级链接到这些脆弱Web页面的前导Web页面。
3.如权利要求1所述的检测和防御CC攻击的方法,其特征在于:
所述步骤二中,记录各Web客户端对前导Web页面的访问情况,是针对每个前导Web页面的访问请求,记录该前导Web页面访问请求的客户端IP、Web页面链接URL以及请求成功情况,形成前导Web页面的请求日志;
所述步骤二中,检测各脆弱Web页面的访问请求的平均响应时间,是监控Web服务器对每个脆弱Web页面的访问请求的响应时间值变化情况,如果检测发现Web服务器对脆弱Web页面的平均响应时间值超过设定阈值,则判定发生了CC攻击。
4.如权利要求3所述的检测和防御CC攻击的方法,其特征在于,所述步骤三具体包括:
在一个指定时间段中,对每个针对所述脆弱Web页面的访问请求,首先从HTTP访问请求消息的Referer字段中提取出前导Web页面的URL值以及Web客户端的IP地址;
然后检索所述前导Web页面的请求日志,如果发现脆弱Web页面的访问请求不包含前导Web页面的URL信息,或者发现该脆弱Web页面访问请求不存在对相关的前导Web页面请求的访问行为,或者该Web客户端对前导Web页面的访问请求结果失败,则判定该脆弱Web页面的访问请求为CC攻击流,丢弃该Web客户端针对该脆弱Web页面的访问请求;否则,判定其来自正常Web访问客户端,转发该脆弱Web页面请求到受保护Web服务器。
5.如权利要求4所述的检测和防御CC攻击的方法,其特征在于,所述步骤三还包括如下子步骤:
对于每个前导Web页面的访问请求,记录该前导Web页面访问请求的客户端IP、Web页面URL以及请求成功情况,形成前导Web页面的请求日志;
统计一段时间内Web服务器针对各脆弱Web页面的平均响应时间,如果发现针对各脆弱Web页面的平均响应时间均未超过设定阈值,则表示针对Web服务器的CC攻击结束,跳转到步骤二执行,否则继续执行步骤三。
6.如权利要求3、4或5所述的检测和防御CC攻击的方法,其特征在于:
所述前导Web页面的请求日志的记录方式可以采用散列表实现、或者采用位图实现,或者采用布隆迪过滤器实现。
7.如权利要求6所述的检测和防御CC攻击的方法,其特征在于:
所述位图记录方式,是采用前导Web页面URL和Web客户端IP地址为位图散列函数输入,根据散列函数值找到位图中对应的格记录访问结果;
所述布隆迪过滤器记录方式,是采用前导Web页面URL和Web客户端IP地址作为散列函数的输入,定义K个彼此相互独立的散列函数,得到K个散列函数值;将布隆迪过滤器位串向量中对应的K个位分别设置记录访问结果。
8.一种检测和防御CC攻击的装置,其特征在于,包括:
关键Web页面信息收集模块、Web网页请求分类模块、前导Web网页请求日志模块、脆弱Web网页监控模块、CC攻击防御模块、Web网页请求转发模块和Web页面响应转发模块,其中:
所述关键Web页面信息收集模块,用于确定被保护的Web网站上可能被CC攻击利用的页面作为“脆弱Web页面”,并确定包含超级链接到每一脆弱Web页面的前导Web页面;
所述Web网页请求分类模块,用于接收来自Web客户端的Web网页访问请求,并将访问请求分为三类:针对脆弱Web页面的访问请求、针对前导Web页面的访问请求、其它Web页面的访问请求;将脆弱Web页面的访问请求交给脆弱Web页面请求监控模块处理;将前导Web页面的访问请求交给前导Web页面请求日志模块处理;将其它Web页面的访问请求直接交给Web页面请求转发模块处理;
所述前导Web网页请求日志模块,用于一方面接收来自Web页面请求分类模块转发来的前导Web页面的访问请求消息,提取并记录Web页面的URL以及Web客户端的IP地址;另一方面接收并记录来自Web页面响应转发模块的前导Web页面响应时间;生成前导Web网页请求日志;
所述脆弱Web网页监控模块,用于在CC攻击检测阶段,接收来自Web页面请求分类模块转发来的脆弱Web页面请求消息以及Web页面响应转发模块转发的脆弱Web页面响应时间,计算每个脆弱Web页面的当前平均响应时间:
当平均响应时间大于设定阈值,则判定检测到CC攻击,从Web页面请求分类模块转发来的脆弱Web页面请求消息中,提取出前导Web页面URL信息以及Web客户端IP地址,并查找前导Web页面请求日志模块提供的日志记录,根据查找结果判定该脆弱Web页面请求是否存在成功的前导Web页面请求,如果存在,则将该脆弱Web页面请求转发给Web页面请求转发模块,如果不存在则转发给CC攻击防御模块;
当平均响应时间大于设定阈值小于或等于设定阈值,则直接将该脆弱Web页面请求转发给Web页面请求转发模块,继续计算每个脆弱Web页面的当前平均响应时间;
所述CC攻击防御模块,用于接收来自脆弱Web页面监控模块转发来的被判定为不存在前导Web页面请求的脆弱Web页面请求,按照防御策略对访问请求进行限流或者直接丢弃处理;
所述Web页面请求转发模块,用于接收由前导Web页请求日志模块转发的针对前导Web页的访问请求,接收脆弱Web网页监控模块转发的针对脆弱Web页的访问请求,接收由Web页面请求分类模块转发来的其它Web页面的Web页面请求,将上述访问请求转发给受保护的Web服务器;
所述Web页面响应转发模块,用于接收来自受保护Web服务器的Web页面响应消息,然后转发给对应的Web客户端;同时,对于前导Web页面响应消息,提取Web页面响应结果和响应时间并转发给前导Web页面请求日志模块;对于脆弱Web页面响应消息,提取Web页面响应时间并转发给脆弱Web页面监控模块。
9.如权利要求8所述的检测和防御CC攻击的装置,其特征在于,
所述关键Web页面信息收集模块,通过人工方式或网页爬虫方式收集被保护网站上的可能遭受CC攻击的脆弱Web页面信息,以及脆弱Web页面相关的前导Web页面信息,供Web网页请求分类模块、前导Web页面请求日志模块和脆弱Web页面监控模块使用。
10.如权利要求8所述的检测和防御CC攻击的装置,其特征在于,
所述前导Web页面请求日志模块,用于生成所述前导Web页面的请求日志的记录方式可以采用散列表实现、或者采用位图实现,或者采用布隆迪过滤器实现;
所述位图记录方式,是采用前导Web页面URL和Web客户端IP地址为位图散列函数输入,根据散列函数值找到位图中对应的格记录访问结果;
所述布隆迪过滤器记录方式,是采用前导Web页面URL和Web客户端IP地址作为散列函数的输入,定义K个彼此相互独立的散列函数,得到K个散列函数值;将布隆迪过滤器位串向量中对应的K个位分别设置记录访问结果。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310121695.4A CN103179132B (zh) | 2013-04-09 | 2013-04-09 | 一种检测和防御cc攻击的方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310121695.4A CN103179132B (zh) | 2013-04-09 | 2013-04-09 | 一种检测和防御cc攻击的方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103179132A CN103179132A (zh) | 2013-06-26 |
| CN103179132B true CN103179132B (zh) | 2016-03-02 |
Family
ID=48638755
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310121695.4A Expired - Fee Related CN103179132B (zh) | 2013-04-09 | 2013-04-09 | 一种检测和防御cc攻击的方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103179132B (zh) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103916379B (zh) * | 2013-12-04 | 2017-07-18 | 哈尔滨安天科技股份有限公司 | 一种基于高频统计的cc攻击识别方法及系统 |
| CN104009983B (zh) * | 2014-05-14 | 2017-03-29 | 杭州安恒信息技术有限公司 | 一种cc攻击的检测方法及其检测系统 |
| CN104113525A (zh) * | 2014-05-23 | 2014-10-22 | 中国电子技术标准化研究院 | 一种防御资源消耗型Web攻击方法及装置 |
| CN104320400B (zh) * | 2014-10-31 | 2017-10-03 | 北京神州绿盟信息安全科技股份有限公司 | web漏洞扫描方法及装置 |
| CN105591832B (zh) * | 2014-11-13 | 2019-12-10 | 腾讯数码(天津)有限公司 | 应用层慢速攻击检测方法和相关装置 |
| CN105991511A (zh) * | 2015-01-27 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种检测cc攻击的方法及设备 |
| CN104618404A (zh) * | 2015-03-10 | 2015-05-13 | 网神信息技术(北京)股份有限公司 | 防止网络攻击Web服务器的处理方法、装置及系统 |
| CN104901962B (zh) * | 2015-05-28 | 2018-01-05 | 北京椒图科技有限公司 | 一种网页攻击数据的检测方法及装置 |
| CN106656912B (zh) * | 2015-10-28 | 2020-03-20 | 华为技术有限公司 | 一种检测拒绝服务攻击的方法及装置 |
| CN105553974A (zh) * | 2015-12-14 | 2016-05-04 | 中国电子信息产业集团有限公司第六研究所 | 一种http慢速攻击的防范方法 |
| CN106997431B (zh) * | 2016-01-22 | 2020-09-25 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
| CN106101071B (zh) * | 2016-05-27 | 2019-04-05 | 杭州安恒信息技术股份有限公司 | 一种基于行为触发的防御链路耗尽型cc攻击的方法 |
| CN105933324A (zh) * | 2016-06-03 | 2016-09-07 | 中国科学院信息工程研究所 | 一种基于网络流在线实时分析跳转链和溯源的方法和系统 |
| CN106161451B (zh) * | 2016-07-19 | 2019-09-17 | 青松智慧(北京)科技有限公司 | 防御cc攻击的方法、装置及系统 |
| CN106411892B (zh) * | 2016-09-28 | 2019-08-30 | 广州华多网络科技有限公司 | Ddos系统地址信息传输、访问请求过滤方法、装置及服务器 |
| CN109246064B (zh) * | 2017-07-11 | 2021-09-03 | 阿里巴巴集团控股有限公司 | 安全访问控制、网络访问规则的生成方法、装置及设备 |
| CN109981533B (zh) * | 2017-12-27 | 2021-11-30 | 中移(杭州)信息技术有限公司 | 一种DDoS攻击检测方法、装置、电子设备及存储介质 |
| CN110213208B (zh) * | 2018-05-09 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种处理请求的方法和装置以及存储介质 |
| CN109547434B (zh) * | 2018-11-22 | 2021-01-01 | 北京知道创宇信息技术股份有限公司 | 分辨爬虫和cc攻击的方法、装置、电子设备及存储介质 |
| CN110519266B (zh) * | 2019-08-27 | 2021-04-27 | 四川长虹电器股份有限公司 | 一种基于统计学方法的cc攻击检测的方法 |
| CN111431942B (zh) * | 2020-06-10 | 2020-09-15 | 杭州圆石网络安全技术有限公司 | 一种cc攻击的检测方法、装置及网络设备 |
| CN111737695B (zh) * | 2020-06-24 | 2025-02-07 | 深圳前海微众银行股份有限公司 | 白名单优化方法、装置、设备与计算机可读存储介质 |
| CN114640504B (zh) * | 2022-02-24 | 2024-02-06 | 京东科技信息技术有限公司 | Cc攻击防护方法、装置、设备和存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101030889A (zh) * | 2007-04-18 | 2007-09-05 | 杭州华为三康技术有限公司 | 防范cc攻击的方法和设备 |
| CN101478540A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种防御挑战黑洞攻击的方法及装置 |
| CN101969445A (zh) * | 2010-11-03 | 2011-02-09 | 中国电信股份有限公司 | 防御DDoS和CC攻击的方法和装置 |
| CN102571547A (zh) * | 2010-12-29 | 2012-07-11 | 北京启明星辰信息技术股份有限公司 | 一种http流量的控制方法及装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100370757C (zh) * | 2004-07-09 | 2008-02-20 | 国际商业机器公司 | 识别网络内分布式拒绝服务攻击和防御攻击的方法和系统 |
-
2013
- 2013-04-09 CN CN201310121695.4A patent/CN103179132B/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101030889A (zh) * | 2007-04-18 | 2007-09-05 | 杭州华为三康技术有限公司 | 防范cc攻击的方法和设备 |
| CN101478540A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种防御挑战黑洞攻击的方法及装置 |
| CN101969445A (zh) * | 2010-11-03 | 2011-02-09 | 中国电信股份有限公司 | 防御DDoS和CC攻击的方法和装置 |
| CN102571547A (zh) * | 2010-12-29 | 2012-07-11 | 北京启明星辰信息技术股份有限公司 | 一种http流量的控制方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| CC攻击检测方法研究;陈仲华等;《电信科学》;20090515(第5期);全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103179132A (zh) | 2013-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103179132B (zh) | 一种检测和防御cc攻击的方法及装置 | |
| JP6957675B2 (ja) | ネットワーク攻撃防御システムおよび方法 | |
| US8844034B2 (en) | Method and apparatus for detecting and defending against CC attack | |
| CN102571547B (zh) | 一种http流量的控制方法及装置 | |
| US11411987B2 (en) | Methods and systems for detection of security threats on network resources based on referrer information | |
| US9258289B2 (en) | Authentication of IP source addresses | |
| US20140047543A1 (en) | Apparatus and method for detecting http botnet based on densities of web transactions | |
| WO2018107784A1 (zh) | 检测网页后门的方法和装置 | |
| Chatterjee et al. | Security issues in named data networks | |
| CN102685145A (zh) | 一种基于dns数据包的僵尸网络域名发现方法 | |
| US11252182B2 (en) | Identifying malicious client network applications based on network request characteristics | |
| CN107770132A (zh) | 一种对算法生成域名进行检测的方法及装置 | |
| CN113810381B (zh) | 一种爬虫检测方法、web应用云防火墙、装置和存储介质 | |
| Satam et al. | Anomaly Behavior Analysis of DNS Protocol. | |
| CN107528812B (zh) | 一种攻击检测方法及装置 | |
| WO2013026362A1 (zh) | 用于网络流量监控的方法和系统 | |
| CN104113525A (zh) | 一种防御资源消耗型Web攻击方法及装置 | |
| CN105141573A (zh) | 一种基于web访问合规性审计的安全防护方法和系统 | |
| CN106101071A (zh) | 一种基于行为触发的防御链路耗尽型cc攻击的方法 | |
| US12034731B2 (en) | Evaluating access requests using assigned common actor identifiers | |
| Satam et al. | Dns-ids: Securing dns in the cloud era | |
| CN102754488B (zh) | 用户访问的控制方法、装置及系统 | |
| CN112434304A (zh) | 防御网络攻击的方法、服务器及计算机可读存储介质 | |
| Cao et al. | Detection and defense schemes for cache pollution attack in content-centric network | |
| KR101084681B1 (ko) | 봇넷 탐지를 위한 네트워크 트래픽의 행위 패턴 모델링 시스템과 봇넷 탐지를 위한 네트워크 트래픽의 행위 패턴 모델링 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160302 |