专利名称:Cc攻击防范方法及装置的制作方法
技术领域:
本发明涉及网络安全技术,尤其涉及挑战黑洞(CC, Challenge Collapsar) 攻击防范方法及装置。
背景技术:
随着信息技术的迅速发展,计算机网络技术在全球各行各业中得到了广 泛普及和推广,然而,网络应用的快速发展以及网络规模的急剧膨胀,在为 企业带来生产经营效率的同时,也使得网络中的安全漏洞无处不在。这些安 全漏洞为网络攻击提供了滋生的土壤,近年来流行的CC攻击便是网络攻击 中的一种。CC攻击是一种基于页面的分布式拒绝服务(DDoS, Distributed Denial of Service)攻击,它通过发送耗性能的超文本传l叙协议(HTTP, Hypertext TransferProtocol)请求HTTPGET来消耗服务器资源。图l示出了 CC攻击 的典型模式示意图,攻击主机(attacker host)多次通过网络中的代理服务器 向目标主机(target host)上开销比较大的页面发起HTTP请求,如数据库 查询等,导致目标主机进行大量计算,很快达到处理能力极限,从而拒绝所 有用户的服务请求。与普通的依靠大量报文进行攻击、导致目标主机瞬间瘫痪的DDoS攻击 不同,CC攻击主要是通过多次访问目标主机上开销比较大的页面来实现目 标主机的资源消耗的,其不需要过大的报文流量,具有很强的隐蔽性。由于 CC攻击的流量与合法用户的访问流量完全一样,因此,普通的DDoS检测 (如GET报文速率检测或利用HTTP协议特性检测)并不能准确识别CC 攻击,无法对目标主机实行有效的保护。
发明内容有鉴于此,本发明的主要目的在于提供一种cc攻击防范方法及装置, 以准确识别cc攻击,实现对目标主机的有效保护。 为达到上述目的,本发明提供的技术方案如下一种CC攻击防范方法,该方法包括计算目标主机发出的响应报文数 与目标主机收到的请求报文数间的比值;根据计算得到的比值与预先设定的 比值阈值之间的大小关系确定目标主机是否受到CC攻击。所述比值为目标主才几发出的响应t艮文数除以目标主才几收到的请求才艮文 数的值;所述根据计算得到的比值与预先设定的比值阈值之间的大小关系确 定目标主机是否受到CC攻击包括判断计算得到的比值是否小于预先设定 的比值阈值,如果小于,则确定目标主机受到CC攻击。所述比值为目标主机发出的响应报文数除以目标主机收到的请求净艮文 数的值时,所述比值阈值通过以下方式获得在统计时间内,以分钟为单位, 统计处于正常负荷状态下的目标主机每分钟发出的响应报文数除以收到的 请求报文数的值,并从中选取最小的值作为比值阈值。所述比值为目标主机收到的请求才艮文数除以目标主才几发出的响应才艮文 数的值;所述根据计算得到的比值与预先设定的比值阈值之间的大小关系确 定目标主机是否受到CC攻击包括判断计算得到的比值是否大于预先设定 的比值阈值,如果大于,则确定目标主机受到CC攻击。所述比值为目标主机收到的请求报文数除以目标主机发出的响应报文 数的值时,所述比值阈值通过以下方式获得在统计时间内,以分钟为单位, 统计处于正常负荷状态下的目标主机每分钟收到的请求报文数除以发出的 响应报文数的值,并从中选取最大的值作为比值阈值。该方法进一步包括分别计算各个向目标主机发送请求报文的客户端收 到的响应报文数与发出的请求报文数间的比值,在确定目标主机受到CC攻 击后,对所述比值满足预定要求的客户端执行重定向操作。
所述客户端收到的响应报文数与发出的请求报文数间的比值为客户端 收到的响应报文数除以客户端发出的请求报文数的值,所述被执行重定向操 作的客户端为所述比值相对较小或低于预设值的客户端;或者,所述客户端收到的响应报文数与发出的请求报文数间的比值为客 户端发出的请求报文数除以客户端收到的响应报文数的值,所述被执行重定 向操作的客户端为所述比值相对较大或超过预设值的客户端。该方法进一步包括设置阻断阈值,在目标主机发出的响应报文数与收 到的请求报文数间的比值达到阻断阈值后,对收到的响应报文数与发出的请 求报文数间的比值满足预定要求的客户端进行阻断。该方法进一步包括统计被阻断的客户端在当前统计周期内发送的请求报文数量,在目标主机发出的响应报文数与收到的请求报文数间的比值恢复 正常后,解除对统计的请求报文数小于设定报文阈值的客户端的阻断。一种CC攻击防范装置,包括比值计算单元和攻击判断单元,其中, 比值计算单元,用于计算目标主机发出的响应报文数与目标主机收到的请求报文数间的比值,并将计算得到的比值发送给攻击判断单元;攻击判断单元,用于根据收到的比值与预先设定的比值阈值之间的大小关系确定目标主机是否受到CC攻击。所述比值计算单元计算的比值为目标主机发出的响应报文数除以目标 主机收到的请求报文数的值,所述攻击判断单元判断收到的比值是否小于预 先设定的比值阈值,如果小于,则确定目标主机受到CC攻击;或者,所述比值计算单元计算的比值为目标主机收到的请求报文数除以 目标主机发出的响应报文数的值,所述攻击判断单元判断收到的比值是否大 于预先设定的比值阈值,如果大于,则确定目标主机受到CC攻击。该装置进一步包括重定向单元,用于分别计算各个向目标主机发送请 求报文的客户端收到的响应报文数与发出的请求报文数间的比值,在确定目 标主机受到CC攻击后,对所述比值满足预定要求的客户端执行重定向操作。该装置进一步包括阻断单元,用于在目标主机发出的响应报文数与收到的请求报文数间的比值达到预先设定的阻断阈值后,对收到的响应报文数 与发出的请求报文数间的比值满足预定要求的客户端进行阻断。所述阻断单元进一步用于,统计被阻断的客户端在当前统计周期内发送 的请求报文数量,在目标主机发出的响应报文数与收到的请求报文数间的比 值恢复正常后,解除对统计的请求报文数小于设定报文阈值的客户端的阻 断。该装置位于HTTP代理服务器或网关设备中。由此可见,本发明充分利用了目标主机在遭受CC攻击后性能逐渐下降, 目标主机发出的响应报文数与收到的请求报文数之间的差距逐渐增大的特 性,提出了一种有效的CC攻击防范方案,即计算目标主机发出的响应报文 数与收到的请求报文数间的比值,根据计算得到的比值与预先设定的比值阈 值之间的大小关系确定目标主机是否受到CC攻击。利用本发明所提供的技 术方案,可以准确地识别CC攻击,为有效保护目标主机奠定坚实基础。并且,进一步地,本发明还可以通过统计各个客户端收到的响应报文tt 与发出的请求报文数间的比值,来确定哪些客户端是最有可能发送恶意流量 的客户端,从而对这些恶意客户端执行重定向操作或者阻断操作,以保护目 标主机不受恶意客户端的CC攻击。
图1为CC攻击的典型模式示意图。图2为本发明实施例中的CC攻击防范方法流程图。图3为本发明实施例中的CC攻击防范装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举 实施例,对本发明作进一步详细说明。本发明提供了一种CC攻击防范方法,其基本思想是统计目标主机发
出的响应报文(RESPONSE)数与目标主机收到的请求报文(GET )数间的 比值,根据该比值的变化来确定目标主机是否受到CC攻击。比如,计算目 标主机发出的响应报文数除以目标主机收到的请求报文数的值(下称目标主 机的RESPONSE/GET值),并预先设定一个比值阈值(该比值阈值小于1 ), 然后,判断计算得到的比值是否小于预先设定的比值阈值,如果小于,则确 定目标主机受到CC攻击。由于CC攻击与其它普通的DDoS攻击不同,其不是通过构造大量攻击 报文使目标主机在极短的时间内处于瘫痪状态,而是通过持续不断地发送性 能消耗比较大的请求报文使目标主机的性能逐渐下降,目标主机从遭受CC 攻击到被攻击瘫痪需要一定的时间,因此,虽然本发明检测到目标主机 RESPONSE/GET值变小确定发生CC攻击的时候,目标主机已经遭受了 CC 攻击,但鉴于CC攻击的特性,此时再及时采取相应的处理措施,还是可以 寸呆护目标主才凡的。另外,当目标主机遭受CC攻击时,不仅目标主机发出的响应报文数与 目标主机收到的请求报文数的比值会变小,同理,客户端收到的响应报文数 与客户端发出的请求报文数的比值(下称客户端的RESPONSE/GET值)同 样也会变小。并且,客户端发出的请求报文数越多,其收到的响应报文数与 发出的请求报文数的比值就相对越小。鉴于攻击主机是通过持续不断地向目 标主机发送耗性能的请求报文来消耗目标主机的资源的,其发出的请求报文 数比合法主机要多,因此,当发生CC攻击时,客户端的RESPONSE/GET 值越小,该客户端是攻击主机的嫌疑就越大。也就是说,本发明不仅可以通 过统计目标主机的RESPONSE/GET值来判断是否发生了 CC攻击,进一步 地,还可以通过统计客户端的RESPONSE/GET值来确定哪些客户端是发出 恶意流量的攻击主机。其中,所述统计目标主机RESPONSE/GET值并确定是否发生CC攻击, 以及统计客户端RESPONSE/GET值并确定攻击主机的操作,可以由位于被 保护的目标主机前端的安全设备(如位于目标主机和客户端之间的HTTP代理服务器或网关设备等)来完成。为更加清楚起见,下面结合图2对本发明中的CC攻击防范方法进行详 细阐述。如图2所示,该方法主要包括以下步骤步骤201 : 在目标主才几负荷正常的情况下,统计目标主才几 RESPONSE/GET的比值阈值。比如,在预先设定的统计时间内,安全设备以一分钟为一个统计周期, 统计处于正常负荷状态下的目标主才几在构成统计时间的每个统计周期发出 的响应报文数与收到的请求报文数的比值即RESPONSE/GET值,并从中选 取最小的比值作为比值阈值。需要说明的是,所述统计周期可以根据实际需 求自行设置,而不限于以分钟为单位进行。其中,统计目标主机在每个统计周期发出的响应报文数与收到的请求报 文数的比值的具体过程包括在该统计周期内,目标主机每收到一个请求报 文(即安全设备每向目标主机转发一个来自客户端的请求报文),安全设备 就将目标主机收到的请求报文数加1;目标主才几每发出 一个响应报文(即安 全设备每向客户端转发一个来自目标主机的响应报文),安全设备就将目标 主机发出的响应报文数加1;最后,安全设备计算在该统计周期内目标主才几 发出的响应报文总数与目标主机收到的请求报文总数的比值,将该比值作为 该统计周期的RESPONSE/GET值。并且,安全设备持续一段时间(如8小 时)反复执行上述统计操作,并在构成该时间段即统计时间的各个统计周期 中,取其中最小的RESPONSE/GET值作为目标主机RESPONSE/GET的比 值阈值。较佳地,所述统计时间应该包括目标主才几的典型应用时段,即如果 目标主机应用最繁忙的时段是20:00 22:00 ,则统计时间就应该包含 20:00-22:00这个时段。假设目标主片儿192.168.1.1在统计时间内的各个统计周期中统计的 RESPONSE/GET值如表1所示,且在这些统计周期中,比值最小的是0.8, 那么,目标主机RESPONSE/GET的比值阈值将会被设置成0.8。表 1步骤202:实时统计目标主机的RESPONSE/GET值,同时,统计向目 标主机发送请求报文的各个客户端的RESPONSE/GET值,并在每个统计周 期,判断当前统计周期内统计的目标主机的RESPONSE/GET值是否小于步 骤201中确定的比值阈值,如果小于,则确定目标主机遭受CC攻击,执行 步骤203;否则,继续执行步骤202。其中,步骤202所述实时统计周期与确定比值阈值时的统计周期相同, 在本实施例中,均是以分钟为单位,即安全i殳备每分钟统计一次目标主机的 RESPONSE/GET值和客户端的RESPONSE/GET值。统计客户端的 RESPONSE/GET值是针对各个不同的客户端分别进行的,即安全设备分别 为各个客户端统计RESPONSE/GET值,其具体操作过程如下在当前统计 周期内,客户端每发出一个请求报文(即安全设备每向目标主机转发一个来 自客户端的请求报文),安全设备就将该客户端发出的请求报文数加1;该 客户端每收到一个响应报文(即安全设备每向该客户端转发一个来自目标主 机的响应报文),安全设备就将该客户端收到的响应报文数加1;最后,安 全设备计算当前统计周期内该客户端收到的响应报文总数与发出的请求报 文总数的比值,将该比值作为该客户端在当前统计周期内的 RESPONSE/GET值。步骤203:在确定目标主机遭受CC攻击后,安全设备根据步骤202中 统计的各个客户端的当前RESPONSE/GET值,确定最有可能是攻击主机的 客户端,并执行相应处理措施,对目标主机进行保护。
比如,假设安全设备维护的当前统计周期内各个客户端的RESPONSE/GET值如表2所示。由于客户端的RESPONSE/GET值越小,是 攻击主机的嫌疑就越大,因此,安全设备在确定目标主机遭受CC攻击后, 可以从表2中选取RESPONSE/GET值最小的几个客户端(如IO个)或者选 取RESPONSE/GET值低于预设值的客户端,在收到来自这些被选择的客户 端的请求报文后,不立即转发给目标主机,而是向这些客户端发送重定向报 文,要求这些客户端重新发送请求报文,这样可以延迟将来自这些客户端的 请求报文发向目标主机,从而降低目标主机的处理压力,防止目标主机某个 时刻流量特别大而造成误判。客户端RESPONSE/GET192.168.1.20.8192.168.1.30.710.1.1.10.9表 2在执行重定向操作后,安全设备依然对目标主机和客户端的 RESPONSE/GET值进行统计,如果目标主机的RESPONSE/GET值继续减 少,低于预先设定的阻断阈值(如0.75),则安全设备可以对当前统计周期 内RESPONSE/GET值较小的几个客户端(如10个)进行阻断,不允许这些 客户端向目标主机发送请求报文,以消除对目标主机的CC攻击,其中,所 述阻断阈值小于比值阈值。并且,对于被阻断的客户端,安全设备分别统计它们在每个统计周期内 发送的请求报文数量,在目标主机的RESPONSE/GET值恢复到正常值(如 0.8)后一定时间(如2分钟),如果安全设备统计的当前统计周期内被阻 断的某个客户端发送的请求报文数量小于预先设定的报文阈值(如8个), 则安全设备解除对该客户端的阻断。
在以上实施例中,对根据目标主机的RESPONSE/GET值来确定目标主 机是否受到CC攻击,以及根据客户端的RESPONSE/GET值来确定最有可 能是攻击主机的客户端并采取相应处理措施的方案进行了详细说明。需要说 明的是,本发明不仅可以通过计算目标主机的RESPONSE/GET值来确定目 标主机是否受到CC攻击,还可以通过计算目标主机的GET/RESPONSE值 来确定目标主机是否受到CC攻击,即计算目标主机收到的请求报文数除以 目标主机发出的响应报文数的值,并判断计算得到的比值是否大于预先设定 的比值阈值(该比值阈值大于1),如果大于,则确定目标主机受到CC攻 击。与步骤201中确定比值阚值的过程同理,这里的比值阈值也可以通过以 下方式获得在统计时间内,以分钟为单位,统计处于正常负荷状态下的目 标主机每分钟收到的请求报文数与发出的响应报文数的比值即 GET/RESPONSE值,并从中选取最大的值作为比值阈值。另外,在确定目标主才几受到CC攻击后,不<又可以对收到的响应番艮文数 与发出的请求报文数的比值即RESPONSE/GET值满足预定要求的客户端执 行重定向或阻断操作,也可以对发出的请求报文数与收到的响应报文^:的比 值即GET/RESPONSE值满足预定要求的客户端执行重定向或阻断操作。比 如,从所有向目标主机发送请求报文的客户端中,选取GET/RESPONSE值 最大的5个客户端或者选取GET/RESPONSE值超过预设值的客户端,对它 们执行重定向或阻断操作。与本发明提供的CC攻击防范方法相对应,本发明还提供了一种CC攻 击防范装置,该装置可位于HTTP代理服务器或网关设备中,其结构参见图 3所示,主要包括比值计算单元和攻击判断单元,其中,比值计算单元,用于计算目标主机发出的响应报文数与目标主机收到的 请求报文数间的比值,并将计算得到的比值发送给攻击判断单元;攻击判断单元,用于根据收到的比值与预先设定的比值阈值之间的大小 关系确定目标主机是否受到CC攻击。
较佳地,所述比值计算单元计算的比值为目标主机发出的响应报文数除 以目标主机收到的请求报文数的值,所述攻击判断单元判断收到的比值是否
小于预先设定的比值阈值,如果小于,则确定目标主机受到CC攻击;
或者,所述比值计算单元计算的比值为目标主机收到的请求报文数除以 目标主机发出的响应报文数的值,所述攻击判断单元判断收到的比值是否大
于预先设定的比值阈值,如果大于,则确定目标主机受到CC攻击。
如图3所示,该装置可进一步包括重定向单元,用于分别计算各个向 目标主机发送请求报文的客户端收到的响应报文数与发出的请求报文数间 的比值,在确定目标主机受到CC攻击后,对所述比值满足预定要求的客户 端执行重定向操作。
另外,该装置还可进一步包括阻断单元,用于在目标主机发出的响应 报文数与收到的请求报文数间的比值达到预先设定的阻断阈值后,对收到的 响应报文数与发出的请求报文数间的比值满足预定要求的客户端进行阻断。 所述阻断单元还可进一步用于,统计被阻断的客户端在当前统计周期内 发送的请求报文数量,在目标主机发出的响应报文数与收到的请求报文数间 的比值恢复正常后,解除对统计的请求报文数小于设定报文阈值的客户端的 阻断。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说 明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原 则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
权利要求
1、一种CC攻击防范方法,其特征在于,该方法包括计算目标主机发出的响应报文数与目标主机收到的请求报文数间的比值;根据计算得到的比值与预先设定的比值阈值之间的大小关系确定目标主机是否受到CC攻击。
2、 根据权利要求1所述的方法,其特征在于,所述比值为目标主机发出的 响应报文数除以目标主机收到的请求报文数的值;所述根据计算得到的比值与预先设定的比值阔值之间的大小关系确定目标 主机是否受到CC攻击包括判断计算得到的比值是否小于预先设定的比值阔 值,如果小于,则确定目标主机受到CC攻击。
3、 根据权利要求2所述的方法,其特征在于,所述比值阈值通过以下方式 获得在统计时间内,以分钟为单位,统计处于正常负荷状态下的目标主机每 分钟发出的响应报文数除以收到的请求报文数的值,并从中选取最小的值作为 比值阈值。
4、 根据权利要求1所述的方法,其特征在于,所述比值为目标主机收到的 请求报文数除以目标主机发出的响应报文数的值;所述根据计算得到的比值与预先设定的比值阈值之间的大小关系确定目标 主机是否受到CC攻击包括判断计算得到的比值是否大于预先设定的比值阈 值,如果大于,则确定目标主机受到CC攻击。
5、 根据权利要求4所述的方法,其特征在于,所述比值阈值通过以下方式 获得在统计时间内,以分钟为单位,统计处于正常负荷状态下的目标主机每 分钟收到的请求报文数除以发出的响应报文数的值,并从中选取最大的值作为 比值阈值。
6、 根据权利要求1所述的方法,其特征在于,该方法进一步包括 分别计算各个向目标主机发送请求报文的客户端收到的响应报文数与发出的请求报文数间的比值,在确定目标主机受到CC攻击后,对所述比值满足预定要求的客户端执行重定向操作。
7、 根据权利要求6所述的方法,其特征在于,所ii^户端收到的响应报文 数与发出的请求报文数间的比值为客户端收到的响应报文数除以客户端发出的 请求报文数的值,所述被执行重定向操作的客户端为所述比值相对较小或低于预设值的客户端;或者,所述客户端收到的响应报文数与发出的请求报文数间的比值为客户 端发出的请求报文数除以客户端收到的响应报文数的值,所述被执行重定向操 作的客户端为所述比值相对较大或超过预设值的客户端。
8、 根据权利要求1或7所述的方法,其特征在于,该方法进一步包括 设置阻断阈值,在目标主机发出的响应报文数与收到的请求报文数间的比值达到阻断阈值后,对收到的响应报文数与发出的请求报文数间的比值满足预 定要求的客户端进行阻断。
9、 根据权利要求8所述的方法,其特征在于,该方法进一步包括 统计被阻断的客户端在当前统计周期内发送的请求报文数量,在目标主机发出的响应报文数与收到的请求报文数间的比值恢复正常后,解除对统计的请 求报文数小于设定报文阈值的客户端的阻断。
10、 一种CC攻击防范装置,其特征在于,包括比值计算单元和攻击判 断单元,其中,比值计算单元,用于计算目标主机发出的响应报文数与目标主机收到的请 求报文数间的比值,并将计算得到的比值发送给攻击判断单元;攻击判断单元,用于根据收到的比值与预先设定的比值阈值之间的大小关 系确定目标主机是否受到CC攻击。
11、根据权利要求IO所述的装置,其特征在于,所述比值计算单元计算的 比值为目标主机发出的响应报文数除以目标主机收到的请求报文数的值,所述 攻击判断单元判断收到的比值是否小于预先设定的比值阈值,如果小于,则确 定目标主机受到CC攻击;或者,所述比值计算单元计算的比值为目标主机收到的请求报文数除以目 标主机发出的响应报文数的值,所述攻击判断单元判断收到的比值是否大于预先设定的比值阈值,如果大于,则确定目标主机受到cc攻击。
12、 根据权利要求IO所述的装置,其特征在于,该装置进一步包括 重定向单元,用于分别计算各个向目标主机发送请求报文的客户端收到的响应报文数与发出的请求报文数间的比值,在确定目标主机受到CC攻击后, 对所述比值满足预定要求的客户端执行重定向操作。
13、 根据权利要求10至12任一项所述的装置,其特征在于,该装置进一 步包括阻断单元,用于在目标主机发出的响应报文数与收到的请求报文数间的比 值达到预先设定的阻断阈值后,对收到的响应报文数与发出的请求报文数间的 比值满足预定要求的客户端进行阻断。
14、 根据权利要求13所述的装置,其特征在于,所述阻断单元进一步用于, 统计被阻断的客户端在当前统计周期内发送的请求报文数量,在目标主机发出 的响应报文数与收到的请求报文数间的比值恢复正常后,解除对统计的请求报 文数小于设定报文阈值的客户端的阻断。
15、 根据权利要求IO所述的装置,其特征在于,该装置位于HTTP代理服 务器或网关设备中。
全文摘要
本发明提供了一种CC攻击防范方法,该方法包括计算目标主机发出的响应报文数与目标主机收到的请求报文数间的比值;根据计算得到的比值与预先设定的比值阈值之间的大小关系确定目标主机是否受到CC攻击。另外,本发明还提供了一种CC攻击防范装置。利用本发明提供的技术方案,可以准确识别CC攻击,从而实现对目标主机的有效保护。
文档编号H04L29/06GK101150586SQ200710177720
公开日2008年3月26日 申请日期2007年11月20日 优先权日2007年11月20日
发明者宇 高 申请人:杭州华三通信技术有限公司