防范cc攻击的方法和设备的制作方法

文档序号:7719634阅读:156来源:国知局
专利名称:防范cc攻击的方法和设备的制作方法
技术领域
本发明涉及网络安全技术,特别涉及防范挑战黑洞(CC :ChalIengeCollapsar)攻 击的方法和设备。
背景技术
随着计算机网络尤其是因特网(Internet)在全球的普及和深入,计算机网络技 术在各行各业中得到推广和普及。然而,网络应用的快速发展以及网络规模的急剧膨胀,使 得网络中的安全漏洞无处不在,网络攻击正是利用这些存在的安全漏洞对目标服务器进行 攻击。近年来流行的CC攻击就是网络攻击的一种。所谓CC攻击是一种基于页面的分布式拒绝服务(DDOS :DistributedDenial of Service)攻击,其通过不断发送耗性能的请求报文来消耗目标服务器的性能资源,CC攻击 的原理如图1所示,攻击者利用网络中的多台代理服务器多次向目标服务器发送耗性能的 请求报文,导致目标服务器不断执行大量计算,很快达到自身的处理能力极限,从而拒绝所 有用户的服务请求。从单个CC攻击来看,CC攻击者对目标服务器的攻击与合法用户发送请求报文访 问目标服务器完全一样。如此,目标服务器并不能正确区分接收的请求报文哪些是CC攻 击者发送的请求报文,哪些是合法用户发送的请求报文。针对这种情况,现有的防范CC攻 击的方法是在被保护的目标服务器之前设置安全设备,由安全设备控制单位时间内访问目 标服务器的请求报文的个数,即在单位时间内只允许预设值N个请求报文来访问目标服务 器。但是,这种现有的防范CC攻击的方法中,如果N比较大,就可能会导致过多的CC攻击 者发送的请求报文混入,如此,不能对CC攻击进行有效的防范;而如果N比较小,就会导致 合法用户的访问受到限制,达到了攻击者让服务器拒绝服务的目的。可以看出,一种有效防范CC攻击的方法是当前亟待解决的技术问题。

发明内容
本发明提供了一种防范CC攻击的方法和设备,以便有效防范CC攻击,实现对目标 服务器的有效保护。—种防范CC攻击的方法,在客户端和被保护的目标服务器之间设置安全设备;所 述安全设备执行以下步骤A,接收到来自客户端发送的请求报文时,确定该接收的请求报文所携带的动作标 识1 ;B,从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的 阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单位时间 内是否要将所述请求报文发送给目标服务器,如果是,在当前单位时间内将所述请求报文 发送给所述目标服务器;否则,在当前单位时间内丢弃所述请求报文。一种防范CC攻击的设备,该设备设置在被保护的目标服务器之前,包括动作标识确定单元、判断单元、发送单元和丢弃单元;
所述动作标识确定单元用于接收来自客户端发送的请求报文,确定该接收的请求 报文所携带的动作标识1 ;所述判断单元用于从预先配置的动作标识和目标服务器单位时间内执行动作标 识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判 断当前单位时间内是否要将所述请求报文发送给目标服务器;所述发送单元用于在所述判断单元的判断结果为是时,在当前单位时间内发送所 述请求报文给所述目标服务器;所述丢弃单元用于在所述判断单元的判断结果为否时,在当前单位时间内丢弃所 述请求报文。由以上技术方案可以看出,本发明提供的防范CC攻击的方法和设备中,在客户端 和被保护的目标服务器之间设置安全设备;当安全设备接收到来自客户端发送的请求报文 时,确定该接收的请求报文所携带的动作标识1 ;从预先配置的动作标识和目标服务器单 位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈 值,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器,如果 是,在当前单位时间内将所述请求报文发送给所述目标服务器;否则,在当前单位时间内丢 弃所述请求报文。这种方式有针对性的对携带各个动作标识的各个请求报文进行限制,相 比于现有技术,能够有效防范CC攻击,实现对目标服务器的有效保护。


图1为现有技术中CC攻击的示意图;图2是本发明实施例中防范CC攻击的基本流程图;图3a是本发明实施例中防范CC攻击的详细流程图;图北是本发明实施例中配置动作标识和目标服务器执行该动作标识对应的动作 的阈值之间对应关系的流程图;图4是本发明实施例中防范CC攻击的设备结构图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对 本发明进行详细描述。本发明实施例在客户端和被保护的目标服务器之间设置安全设备,该安全设备所 执行的主要方法可以如图2所示,主要包括以下步骤步骤201,接收到来自客户端发送的请求报文时,确定接收的请求报文携带的动作 标识。这里,请求报文携带的动作标识与目标服务器在接收到该动作标识时所执行的动 作对应。通常,动作标识可用数字代码或者关键字等来表示,比如,动作标识010201表示目 标服务器执行检索数据库的动作,动作标识010202表示目标服务器执行数据排序输出的 动作等。这里,为便于描述,将步骤201确定出的动作标识记为动作标识1。步骤202,从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单 位时间内是否要将所述请求报文发送给目标服务器,如果是,执行步骤203;否则,执行步 骤 204。这里,单位时间可为1秒或者为1分钟,本发明实施例并不具体限定。目标服务器单位时间内执行动作标识对应的动作的阈值具体实现时可有多种形 式,比如,可为目标服务器单位时间内执行动作标识对应的动作的个数阈值或者为用于表 示携带该动作标识的请求报文直接发送给目标服务器的标识值等,本发明实施例并不具体 限定,其中,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务 器的具体操作可参见图3a所示的步骤30 至步骤308a,这里不再详述。步骤203,在当前单位时间内将所述请求报文发送给所述目标服务器。这里,本步骤203中发送的请求报文携带了动作标识1。步骤204,在当前单位时间内丢弃所述请求报文。
至此,实现了本发明实施例提供的方法的基本流程。为使本发明实施例提供的方法更加清楚,下面结合具体实施例对上述方法进行详 细描述。参见图3a,图3a为本发明实施例提供的详细方法流程图。如图3a所示,该方法可 以包括以下步骤步骤301a,预先配置动作标识和目标服务器单位时间内执行动作标识对应的动作 的阈值之间的对应关系。这里,步骤301a中的对应关系的配置操作具体可参见图北所示,包括步骤301b,针对目标服务器能够执行的每一动作,判断目标服务器执行该动作 所耗费的时间是否大于等于预设的耗费时间,如果是,则执行步骤30 ;否则,执行步骤 302b。通常,目标服务器的管理员对目标服务器的性能都有一定的了解,比如,了解目标 服务器能够执行的各个动作(其中,该动作具体用动作标识来表示,比如表示该动作的特 征码或者关键字),以及执行各个动作所耗费的时间等,如此,本发明实施例中,可根据管理 员对目标服务器性能的了解确定出目标服务器能够执行的各个动作,以及执行各个动作时 所耗费的时间。之后,针对每一动作,判断目标服务器执行该动作所耗费的时间是否大于等 于预设的耗费时间,其中,预设的耗耗费时间可为预先获知的所有耗费时间的平均值,或者 为设定的一个固定值比如0. 001秒或者为其他值,本发明实施例并不具体限定。为便于描 述,这里将耗费时间大于等于预设的耗费时间的动作记为动态动作,而将耗费时间小于预 设的耗费时间的动作记为静态动作。步骤302b,配置该动作对应的动作标识和表示携带该动作标识的请求报文直接发 送给目标服务器的标识值之间的对应关系。这里,步骤302b是在步骤301b判断出该动作为静态动作时执行的。本步骤302b 之所以在确定出静态动作后,配置该静态动作的标识对应的阈值为表示携带该静态动作标 识的请求报文直接发送给目标服务器的标识值,是因为静态动作耗费目标服务器的时间比 较短,相应地,耗费目标服务器的性能资源也会比较少,通常攻击者为达到攻击目标服务器 的目的,不会发送由目标服务器执行静态动作的请求报文,因此,本实施例可在接收到携带静态动作标识的请求报文后,直接发送该请求报文给目标服务器,即设置该静态动作标识 对应的阈值为用于表示携带该静态动作标识的请求报文直接发送给目标服务器的标识值。 这里标识值可为数值“0”,也可为一个以上的字符,本发明实施例并不具体限定。至此,结束 与该动作有关的对应关系的配置。步骤30北,确定目标服务器单位时间内执行该动作的最大个数。之后,执行步骤 304b。这里,步骤30 是在步骤301b判断出该动作为动态动作时执行的。其中,目标服 务器单位时间内执行该动作的最大个数具体为单位时间与该动作的耗费时间的比值。比 如,若目标服务器能够执行的动态动作分别为动作1和动作2,其中,动作1和动作2的耗费 时间分别为0. 01秒和0. 005秒,如果单位时间为秒,则目标服务器每秒内最多执行1/0. 01 =100个动作1和1/0. 005 = 200个动作2,也就是说,目标服务器每秒内执行动作1的最 大个数为1/0. 01 = 100,执行动作2的最大个数为1/0. 005 = 200。步骤304b,按照单位时间内不使目标服务器的总性能资源完全被消耗的原则设置 单位时间内该动作占用目标服务器的性能资源值。这里,该动作的性能资源值为该动作单 位时间内被允许占用目标服务器的性能资源与目标服务器总性能资源的比值。比如,若目标服务器能够执行的动作分别为动作1和动作2,则可按照步骤304b中 的原则分别设置单位时间内动作1和动作2占用目标服务器的性能资源值,比如,设置动作 1单位时间内占用目标服务器的性能资源值为30%,设置动作2单位时间内占用目标服务 器的性能资源值为20%。这里,为保证目标服务器的灵活性,本步骤304b中,可设置单位时间内各个动作 占用目标服务器的性能资源值的总和小于100%。步骤30 ,确定目标服务器单位时间内执行该动作的最大个数和设置的该动作单 位时间内占用目标服务器的性能资源值的乘积为目标服务器单位时间内执行该动作的个 数阈值。比如,若目标服务器单位时间内执行动作1的最大个数为100,步骤304b中设置出 单位时间内动作1占用目标服务器的性能资源值为30%,则本步骤30 中目标服务器单位 时间内执行动作1的个数阈值为100*30%= 30,也就是说,目标服务器单位时间内最多只 能执行30个动作1。如此,通过上述步骤30 至步骤30 ,实现了目标服务器单位时间内执行各个动 态动作对应的个数阈值的操作。步骤306b,配置该动作对应的动作标识与目标服务器单位时间内执行该动作的个 数阈值之间的对应关系。至此,通过上述步骤30 至步骤306b实现了与动态动作有关的对应关系的配置。步骤30 ,安全设备接收到请求报文时,确定该请求报文携带的动作标识。本实施例中,为便于描述,将步骤30 确定的请求报文携带的动作标识记为动作 标识1。这里,请求报文的格式可与现有技术中HTTP请求报文的格式类似。为便于描述, 这里以请求报文为HTTP请求报文为例。需要说明的是,通常,有些客户端发送的HTTP请求报文可能没有携带动作标识,本实施例中,针对不携带动作标识的HTTP请求报文,可直接发送该HTTP请求报文给目标服 务器;或者,预先设置目标服务器单位时间内处理的请求报文的总数阈值,其中,该总数阈 值为目标服务器单位时间内处理的请求报文的最大个数,由网络带宽资源确定,目的是为 了保证网络不出现拥塞现象,如此,可先判断当前所处的单位时间内已发送给目标服务器 的HTTP请求报文的总数是否达到预设的总数阈值,如果是,则执行下述步骤307a,如果否, 在当前时间内将该接收的HTTP请求报文发送给目标服务器。步骤303a,判断步骤301a配置的对应关系中是否存在动作标识1,如果是,执行步 骤3(Ma ;否则,执行步骤309a。步骤30 ,确定动作标识1对应的阈值为目标服务器单位时间内执行动作标识1 对应的动作的个数阈值还是为用于表示携带动作标识1的请求报文直接发送给目标服务 器的标识值,如果是个数阈值,则执行步骤306a ;如果是标识值,则执行步骤30fe。步骤30 ,在当前单位时间内将携带了动作标识1的HTTP请求报文发送给目标服务器。优选地,如果本实施例预先设置了目标服务器单位时间内处理的请求报文的总数 阈值,则本步骤30 具体为判断当前单位时间内已发送给目标服务器的所有HTTP请求报 文的总数是否达到预设的总数阈值,如果是,执行下述步骤307a,否则,发送该接收的携带 了动作标识1的HTTP请求报文给目标服务器。至此,结束当前接收的报文访问目标服务器 的流程。步骤306a,判断当前所处的单位时间内已发送给目标服务器的携带了动作标识1 的HTTP请求报文的个数是否达到所述对应关系中动作标识1对应的个数阈值,如果是,执 行步骤307a ;否则,执行步骤308a。需要说明的是,本领域技术人员知道,CC攻击者为隐蔽身份,通常经由客户端和安 全设备之间设置的代理服务器发送HTTP请求报文,为有效防范CC攻击,本实施例步骤301a 中预先配置的对应关系中如果动作标识对应的阈值为目标服务器单位时间内执行动作标 识对应的动作的个数阈值,则该个数阈值具体可包含不经由代理服务器转发的携带该动作 标识的请求报文的第一个数阈值和经由代理服务器转发的携带该动作标识的请求报文的 第二个数阈值;其中,由于CC攻击者通常经由代理服务器发送HTTP请求报文,可设置第一 个数阈值大于等于第二个数阈值。这里,经由代理服务器发送的HTTP请求报文通常含有特征字段 Χ-Forwarded-FOR,而不经由代理服务器发送的HTTP请求报文一般不含有特征字 段X-Forwarded-FOR,因此,可根据当前接收的HTTP请求报文是否含有特征字段 Χ-Forwarded-FOR来确定经由代理服务器发送的HTTP请求报文和不经由代理服务器发送 的HTTP请求报文。如此,步骤306a可包括判断接收的携带了动作标识1的请求报文是经 由代理服务器发送的还是不经由代理服务器发送的,如果是经由代理服务器发送的,则判 断当前单位时间内已发送给目标服务器的动作标识1是否达到动作标识1对应的第二个数 阈值;如果是,执行步骤307a ;否则,执行步骤308a ;如果是不经由代理服务器发送的,则判 断当前单位时间内已发送给目标服务器的动作标识1是否达到动作标识1对应的第一个数 阈值,如果是,执行步骤307a ;否则,执行步骤308a。步骤307a,在当前单位时间内丢弃接收的HTTP请求报文。至此,结束当前接收的报文访问目标服务器的流程。步骤308a,在当前单位时间内发送HTTP请求报文给目标服务器。如果本实施例预先设置了目标服务器单位时间内处理的请求报文的总数阈值,则 本步骤308a具体包括判断当前所处的单位时间内已发送给目标服务器的所有请求报文 的总数是否达到预设的总数阈值,如果是,执行上述步骤307a的操作;否则,发送该接收的 HTTP请求报文给目标服务器。其中,在发送接收的HTTP请求报文给目标服务器时,安全设 备为便于获知当前单位时间内已发送给目标服务器的HTTP请求报文的个数和动作标识1 的个数,还可进一步对发送的HTTP请求报文携带的动作标识1和对发送的HTTP请求报文 进行计数。至此,结束当前接收的报文访问目标服务器的流程。步骤309a,记录接收到该HTTP请求报文的时间,之后,将该HTTP请求报文发送给 目标服务器。执行到本步骤309a时,如果本实施例预先设置了目标服务器单位时间内处理的 请求报文的总数阈值,则本步骤309a还需要判断当前所处的单位时间内已发送给目标服 务器的所有请求报文的总数是否达到预设的总数阈值,如果是,丢弃该接收的HTTP请求报 文给目标服务器;否则,发送该接收的HTTP请求报文给目标服务器。这里以当前所处的单 位时间内已发送给目标服务器的所有请求报文的总数还未达到预设的总数阈值为例进行 描述。如此,目标服务器可接收到HTTP请求报文,之后,根据该HTTP请求报文携带的动作 标识1执行相应的动作,当完成该HTTP请求报文携带的动作标识1对应的动作后,返回该 HTTP请求报文对应的响应报文。本步骤309a是在步骤303a判断出步骤301a配置的对应关系中不存在动作标识 1时执行的,之所以出现这种情况,主要是因为根据步骤301a中的描述可以知道步骤301a 配置的对应关系主要依赖于管理员对目标服务器的了解,如果管理员不了解目标服务器还 能执行动作标识1对应的动作,则步骤303a就会判断出步骤301a配置的对应关系中不存 在动作标识1,如此,执行本步骤309a。需要说明的是,如果本步骤309a中HTTP请求报文是CC攻击者发送的报文,由于 CC攻击者刚开始并不知道哪一动作比较消耗目标服务器的性能资源,因此,其需要通过发 送HTTP请求报文来学习哪一动作比较消耗目标服务器的性能资源;之后,根据学习的结果 才会连续不断地发送消耗目标服务器的性能资源比较大的请求报文。也就是说,CC攻击者 由于事先不知道消耗目标服务器性能资源比较大的动作,因此,在其学习过程中不可能连 续不断地发送HTTP请求报文,如此,本实施例可以趁攻击者学习的时机确定出耗性能比较 大的动作,并设置单位时间内该动作的个数阈值,具体参见步骤310a至步骤313a。步骤310a,接收目标服务器所返回的响应报文,记录接收到该响应报文的时间。步骤311a,根据记录的接收到响应报文的时间和与该响应报文对应的HTTP请求 报文的时间,计算目标服务器执行该HTTP请求报文携带的动作标识1对应的动作耗费的时 间。本步骤311a中,安全设备可按照现有技术确定出接收的HTTP响应报文与已接收 的哪一个HTTP请求报文对应,之后,查找到已记录的与该HTTP响应报文对应的HTTP请求 报文的时间。
这里,步骤311a中计算的动作标识1对应的动作的耗费时间具体可为记录的接收 到响应报文的时间和与该响应报文对应的且携带了动作标识1的HTTP请求报文的时间的差值。步骤312a,判断步骤311a计算出的耗费时间是否大于等于预设的耗费时间,如果 是,执行步骤313a ;否则,执行步骤3Ha。步骤313a,确定动作标识1和目标服务器单位时间内执行动作标识1对应的动作 的个数阈值之间的对应关系,将该得到的对应关系添加到预先配置的对应关系中。这里,步骤313a中确定对应关系的操作具体实现时可与图北所示的步骤30 至 步骤306b类似,具体包括步骤1,根据计算出的耗费时间确定目标服务器单位时间内执行该HTTP请求报文 携带的动作标识对应的动作的最大个数。这里,步骤313a中的确定操作与图北中的步骤30 中的操作类似,这里不再赘 述。步骤2,根据已设置的各个动作的性能资源值并按照单位时间内不使目标服务器 的性能资源完全被消耗的原则,设置接收的HTTP请求报文携带的动作标识1对应的动作的 性能资源值。这里,根据步骤304b中的描述,可以知道,配置对应关系时所设置的各个动作占 用目标服务器的性能资源值的总和并没有完全占用目标服务器的性能资源,因此,执行到 本步骤2时,可从目标服务器剩下的性能资源中设置接收的HTTP请求报文所携带的动作标 识1对应的动作的性能资源值。当然,若目标服务器剩下的性能资源中没有足够的性能资 源提供给接收的HTTP请求报文所携带的动作标识1对应的动作,则按照单位时间内不使目 标服务器的性能资源完全被消耗的原则重新设置对应关系中所有动作和动作标识1对应 的动作所占用的性能资源值;或者有选择性地从对应关系中比较空闲且不经常用的动作所 占用的性能资源值中抽取一部分性能资源给动作标识1对应的动作。具体情况具体分析, 这里并不限定。步骤3,将确定的最大个数和设置的性能资源值的乘积确定为请求报文携带的动 作标识1对应的个数阈值。需要说明的是,动作标识1对应的个数阈值也可由目标服务器的管理员手工设 置。如此,只需安全设备提供确定的目标服务器单位时间内执行该HTTP请求报文携带的动 作标识1对应的动作的最大个数和计算出的耗费时间给管理员;若需要同时提供多个HTTP 请求报文携带的动作标识对应的动作的最大个数和对应的耗费时间,则优选地,本发明实 施例可按照耗费时间的大小顺序提供。之后,管理员按照上述步骤1至步骤3确定动作标 识1对应的个数阈值。其中,在管理员进行设置时,可由该管理员在特定的客户端上设置, 之后,由该特定客户端将设置的信息加密,交由安全设备管理。步骤4,得到动作标识1和目标服务器单位时间内执行动作标识1对应的动作的个 数阈值之间的对应关系。至此,结束确定动作标识1和目标服务器单位时间内执行动作标 识1对应的动作的个数阈值之间的对应关系的操作。步骤314a,确定动作标识1和用于表示携带动作标识1的请求报文直接发送给目 标服务器的标识值之间的对应关系,将该确定的对应关系添加到预先配置的对应关系中。
如此,通过上述操作实现了本发明实施例提供的防范CC攻击的方法。需要说明的是,本领域技术人员知道,同一个合法用户通常不会连续发送多个含 有相同动作标识的HTTP请求报文,比如,如果单位时间为秒,即同一个合法用户通常不会 在每两秒发送2个以上含有相同动作标识的HTTP请求报文,因此,为进一步有效防范CC攻 击,可设置目标服务器处理来自同一源地址的且携带了同一动作标识的请求报文的时间间 隔,比如设置每隔两个单位时间处理1个来自源地址1,且携带了动作标识1的请求报文,因 此,在步骤30 和步骤308b执行发送HTTP请求报文操作时,针对当前要发送的HTTP请求 报文,比如该HTTP请求报文携带的源地址为源地址2,动作标识为动作标识2,则判断上一 次发送的携带了源地址2和动作标识2的HTTP请求报文的时间是否与当前时间相隔两个 单位时间,如果是,发送该HTTP请求报文;否则,不发送该HTTP请求报文。如此,通过上述 操作,对CC攻击进行了更进一步的防范。上述是对本发明实施例提供的方法进行的描述,下面对本发明实施例提供的设备 进行描述。参见图4,图4为本发明实施例提供的防范CC攻击的设备结构图。如图4所示,该 设备设置在被保护的目标服务器之前,包括动作标识确定单元401、判断单元402、发送单 元403和丢弃单元404。其中,动作标识确定单元401用于接收来自客户端发送的请求报文,确定该接收 的请求报文所携带的动作标识1 ;判断单元402用于从预先配置的动作标识和目标服务器单位时间内执行动作标 识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判 断当前单位时间内是否要将所述请求报文发送给目标服务器;发送单元403用于在判断单元402的判断结果为是时,在当前单位时间内发送携 带了动作标识1的请求报文给所述目标服务器;这里,如果本实施例预先设置了目标服务 器单位时间内处理的请求报文的总数阈值,则发送单元403首先判断当前所处的单位时间 内已发送给目标服务器的请求报文的总数是否达到预设的总数阈值,所述总数阈值为目标 服务器单位时间内处理的请求报文的最大个数,由网络带宽资源确定;如果否,在当前单位 时间内发送携带了动作标识1的请求报文给目标服务器;否则,触发丢弃单元404执行在当 前单位时间内丢弃确定单元401接收的携带了动作标识1的请求报文的操作。丢弃单元404用于在判断单元402的判断结果为否时,在当前单位时间内丢弃确 定单元401接收的携带了动作标识1的请求报文。本实施例中,预先配置的对应关系中动作标识对应的阈值具体为如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间大于等于 预设的耗费时间,则该动作标识对应的阈值为目标服务器单位时间内执行该动作标识对应 的动作的个数阈值;如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间 小于预设的耗费时间,则该动作标识对应的阈值为用于表示携带该动作标识的请求报文直 接发送给目标服务器的标识值。基于这种情况,如图4所示,本实施例提供了判断单元402 的一种结构图,如图4所示,判断单元402具体包括阈值确定模块4021、第一判断模块 4022和第二判断模块4023,其中,阈值确定模块4021,用于从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值;以及在第一判 断模块4022的判断结果为标识值时,或者在第二判断模块4023的判断结果为是时,确定当 前单位时间内将所述请求报文发送给目标服务器,在第二判断模块4023的判断结果为否 时,确定当前单位时间内不将所述请求报文发送给目标服务器。第一判断模块4022用于判断阈值确定模块4021确定的阈值为目标服务器单位时 间内执行动作标识1对应的动作的个数阈值还是为用于表示携带该动作标识的请求报文 直接发送给目标服务器的标识值;第二判断模块4023在第一判断模块4022的判断结果为个数阈值时,判断当前已 发送给目标服务器的动作标识1是否达到该动作标识1对应的个数阈值。本实施例中,这 里,动作标识1对应的个数阈值可包含不经由代理服务器转发的携带动作标识1的请求报 文的第一个数阈值和经由代理服务器转发的携带动作标识1的请求报文的第二个数阈值; 所述第一个数阈值大于等于第二个数阈值,所述不经由代理服务器转发的请求报文为不携 带特征字段X-Forwarded-FOR的请求报文,经由代理服务器转发的请求报文为携带特征字 段X-Forwarded-FOR的请求报文;如此,第二判断模块4023的判断具体为在接收的携带 了动作标识1的请求报文是不经由代理服务器发送时,判断当前单位时间内已发送给目标 服务器的动作标识1是否达到动作标识1对应的第一个数阈值;在接收的携带了动作标识 1的请求报文是经由代理服务器发送时,则判断当前单位时间内已发送给目标服务器的动 作标识1是否达到动作标识1对应的第二个数阈值。优选地,如图4所示,该设备还可包括耗费时间确定单元405和更新单元406。其中,耗费时间确定单元405用于在预先配置的对应关系中不存在动作标识确定 单元401确定的动作标识1时,确定目标服务器执行动作标识1对应的动作所耗费的时间, 这里,耗费时间确定单元405确定耗费时间的方法具体为记录接收到请求报文的时间,将 该请求报文发送给所述目标服务器;以及记录接收到所述目标服务器根据所述请求报文携 带的动作标识1完成相应的动作后返回的与该请求报文对应的响应报文的时间;根据记录 的接收到请求报文的时间和接收到与该请求报文对应的响应报文的时间计算所述目标服 务器执行该请求报文携带的动作标识1对应的动作所耗费的时间。更新单元406用于根据耗费时间确定单元405确定的耗费时间确定动作标识1和 目标服务器单位时间内执行动作标识1对应的动作的阈值之间的对应关系,将确定的对应 关系更新到所述预先配置的对应关系中。如图4所示,更新单元406具体可包括第三判断模块4061,用于判断耗费时间确定单元405确定的耗费时间是否大于等 于预设的耗费时间;第一对应关系确定模块4062,用于在第三判断模块4061的判断结果为是时,根据 确定的耗费时间确定目标服务器单位时间内执行所述动作标识1对应的动作的最大个数, 按照单位时间内不使目标服务器的性能资源完全被消耗的原则,设置单位时间内动作标识 1对应的动作占用目标服务器的性能资源值,所述动作标识1对应的动作占用目标服务器 的性能资源值为动作标识1对应的动作单位时间内占用目标服务器的性能资源与目标服 务器的总性能资源的比值;将确定的最大个数和设置的性能资源值的乘积确定为动作标识 1对应的个数阈值;得到动作标识1和对应的个数阈值之间的对应关系;
第二对应关系确定模块4063,用于在第三判断模块4061的判断结果为否时,确定 动作标识1和用于表示携带动作标识1的请求报文直接发送给目标服务器的标识值之间的 对应关系。由以上技术方案可以看出,本发明提供的防范CC攻击的方法和设备中,在客户端 和被保护的目标服务器之间设置安全设备;当安全设备接收到来自客户端发送的请求报文 时,确定该接收的请求报文所携带的动作标识1 ;从预先配置的动作标识和目标服务器单 位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈 值,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器,如果 是,在当前单位时间内将所述请求报文发送给所述目标服务器;否则,在当前单位时间内丢 弃所述请求报文。这种方式有针对性的对携带各个动作标识的各个请求报文进行限制,相 比于现有技术,能够有效防范CC攻击,实现对目标服务器的有效保护。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种防范CC攻击的方法,其特征在于,在客户端和被保护的目标服务器之间设置安 全设备;所述安全设备执行以下步骤A,接收到来自客户端发送的请求报文时,确定该接收的请求报文所携带的动作标识1 ;B,从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值 之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单位时间内是 否要将所述请求报文发送给目标服务器,如果是,在当前单位时间内将所述请求报文发送 给所述目标服务器;否则,在当前单位时间内丢弃所述请求报文。
2.根据权利要求1所述的方法,其特征在于,所述预先配置的对应关系中动作标识对 应的阈值为如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间大于等于预设 的耗费时间,则该动作标识对应的阈值为目标服务器单位时间内执行该动作标识对应的动 作的个数阈值;如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间小于预设的耗 费时间,则该动作标识对应的阈值为用于表示携带该动作标识的请求报文直接发送给目标 服务器的标识值。
3.根据权利要求2所述的方法,其特征在于,所述步骤B中根据确定的阈值判断当前单 位时间内是否要将请求报文发送给目标服务器包括判断确定的阈值为目标服务器单位时间内执行动作标识1对应的动作的个数阈值还 是为用于表示携带动作标识1的请求报文直接发送给目标服务器的标识值,如果是标识值,则确定当前单位时间内要将所述请求报文发送给目标服务器; 如果是个数阈值,则判断当前已发送给目标服务器的动作标识1是否达到该动作标识 1对应的个数阈值,如果是,确定当前单位时间内要将所述请求报文发送给目标服务器,否 则,确定当前单位时间内不将所述请求报文发送给目标服务器。
4.根据权利要求2所述的方法,其特征在于,所述步骤B中,如果预先配置的对应关系 中不存在动作标识1,则确定目标服务器执行动作标识1对应的动作所耗费的时间,包括Bi,记录接收到请求报文的时间,之后,发送该请求报文给所述目标服务器; B2,接收所述目标服务器返回的与该请求报文对应的响应报文,记录接收到该响应报 文的时间;B3,根据记录的接收到请求报文的时间和接收到与该请求报文对应的响应报文的时间 计算目标服务器执行动作标识1对应的动作所耗费的时间。
5.根据权利要求4所述的方法,其特征在于,在确定出动作标识1对应的动作所耗费的 时间后,进一步包括B4,根据确定的耗费时间确定动作标识1和目标服务器单位时间内执行动作标识1对 应的动作的阈值之间的对应关系,将确定的对应关系更新到所述预先配置的对应关系中。
6.根据权利要求5所述的方法,其特征在于,所述步骤B4中确定对应关系包括 B41,判断确定的耗费时间是否大于等于预设的耗费时间,如果是,执行步骤B42;否则,执行步骤B43;B42,确定动作标识1和目标服务器单位时间内执行动作标识1对应的动作的个数阈值之间的对应关系;B43,确定动作标识1和用于表示携带动作标识1的请求报文直接发送给目标服务器的 标识值之间的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述步骤B42包括Cl,根据确定的耗费时间确定目标服务器单位时间内执行动作标识1对应的动作的最 大个数;C2,按照单位时间内不使目标服务器的性能资源完全被消耗的原则,设置单位时间内 动作标识1对应的动作占用目标服务器的性能资源值,所述性能资源值为动作标识1对应 的动作单位时间内占用目标服务器的性能资源与目标服务器的总性能资源的比值;C3,将确定的最大个数和设置的性能资源值的乘积确定为动作标识1对应的个数阈 值;得到动作标识1和目标服务器单位时间内执行动作标识1对应的动作的个数阈值之间 的对应关系。
8.根据权利要求3所述的方法,其特征在于,所述动作标识1对应的个数阈值包含不 经由代理服务器转发的携带动作标识1的请求报文的第一个数阈值和经由代理服务器转 发的携带动作标识1的请求报文的第二个数阈值,所述第一个数阈值大于等于第二个数阈 值,所述不经由代理服务器转发的请求报文为不携带特征字段X-Forwarded-FOR的请求报 文,经由代理服务器转发的请求报文为携带特征字段X-Forwarded-FOR的请求报文;所述判断当前已发送给目标服务器的动作标识1是否达到该动作标识1对应的个数阈 值包括如果接收的携带了动作标识1的请求报文是不经由代理服务器发送的,则判断当前单 位时间内已发送给目标服务器的动作标识1是否未达到动作标识1对应的第一个数阈值; 如果接收的携带了动作标识1的请求报文是经由代理服务器发送的,则判断当前单位时间 内已发送给目标服务器的动作标识1是否未达到动作标识1对应的第二个数阈值。
9.根据权利要求1至8任一所述的方法,其特征在于,发送请求报文给目标服务器包括判断当前所处的单位时间内已发送给目标服务器的请求报文的总数是否达到预设的 总数阈值,所述总数阈值为目标服务器单位时间内处理的请求报文的最大个数,由网络带 宽资源确定;如果否,发送请求报文给目标服务器;否则,在当前所处的单位时间内不发送 该请求报文。
10.一种防范CC攻击的设备,其特征在于,该设备设置在被保护的目标服务器之前,包 括动作标识确定单元、判断单元、发送单元和丢弃单元;所述动作标识确定单元用于接收来自客户端发送的请求报文,确定该接收的请求报文 所携带的动作标识1 ;所述判断单元用于从预先配置的动作标识和目标服务器单位时间内执行动作标识对 应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当 前单位时间内是否要将所述请求报文发送给目标服务器;所述发送单元用于在所述判断单元的判断结果为是时,在当前单位时间内发送所述请 求报文给所述目标服务器;所述丢弃单元用于在所述判断单元的判断结果为否时,在当前单位时间内丢弃所述请求报文。
11.根据权利要求10所述的设备,其特征在于,所述预先配置的对应关系中动作标识 对应的阈值为如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间大于 等于预设的耗费时间,则该动作标识对应的阈值为目标服务器单位时间内执行该动作标识 对应的动作的个数阈值;如果目标服务器单位时间内执行该述动作标识对应的动作所耗费 的时间小于预设的耗费时间,则该动作标识对应的阈值为用于表示携带该动作标识的请求 报文直接发送给目标服务器的标识值;所述判断单元包括阈值确定模块、第一判断模块和第二判断模块;其中,所述阈值确定模块用于从预先配置的动作标识和目标服务器单位时间内执行动作标 识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值;以及在所述第一判 断模块的判断结果为标识值时,或者在所述第二判断模块的判断结果为是时,确定当前单 位时间内将所述请求报文发送给目标服务器,在所述第二判断模块的判断结果为否时,确 定当前单位时间内不将所述请求报文发送给目标服务器;所述第一判断模块用于判断所述阈值确定模块确定的阈值为目标服务器单位时间内 执行动作标识1对应的动作的个数阈值还是为用于表示携带该动作标识的请求报文直接 发送给目标服务器的标识值;第二判断模块在所述第一判断模块的判断结果为个数阈值时,判断当前已发送给目标 服务器的动作标识1是否达到该动作标识1对应的个数阈值。
12.根据权利要求11所述的设备,其特征在于,该设备还包括耗费时间确定单元,用于在预先配置的对应关系中不存在所述动作标识确定单元确定 的动作标识1时,确定目标服务器执行动作标识1对应的动作所耗费的时间;更新单元,用于根据所述耗费时间确定单元确定的耗费时间确定动作标识1和目标服 务器单位时间内执行动作标识1对应的动作的阈值之间的对应关系,将确定的对应关系更 新到所述预先配置的对应关系中。
13.根据权利要求12所述的设备,其特征在于,所述更新单元包括第三判断模块,用于判断所述耗费时间确定单元确定的耗费时间是否大于等于预设的 耗费时间;第一对应关系确定模块,用于在所述第三判断模块的判断结果为是时,根据确定的耗 费时间确定目标服务器单位时间内执行动作标识1对应的动作的最大个数,按照单位时间 内不使目标服务器的性能资源完全被消耗的原则,设置单位时间内动作标识1对应的动作 占用目标服务器的性能资源值,所述性能资源值为动作标识1对应的动作单位时间内占用 目标服务器的性能资源与目标服务器的总性能资源的比值;将确定的最大个数和设置的性 能资源值的乘积确定为动作标识1对应的个数阈值;得到动作标识1和目标服务器单位时 间内执行动作标识1对应的动作的个数阈值之间的对应关系;第二对应关系确定模块,用于在所述第三判断模块的判断结果为否时,确定动作标识1 和用于表示携带动作标识1的请求报文直接发送给目标服务器的标识值之间的对应关系。
14.根据权利要求11所述的设备,其特征在于,所述动作标识1对应的个数阈值包含不 经由代理服务器转发的携带动作标识1的请求报文的第一个数阈值和经由代理服务器转 发的携带动作标识1的请求报文的第二个数阈值;所述第一个数阈值大于等于第二个数阈值,所述不经由代理服务器转发的请求报文为不携带特征字段X-Forwarded-FOR的请求报 文,经由代理服务器转发的请求报文为携带特征字段X-Forwarded-FOR的请求报文;所述第二判断模块在接收的携带了动作标识1的请求报文是不经由代理服务器发送 时,判断当前单位时间内已发送给目标服务器的动作标识1是否达到动作标识1对应的第 一个数阈值;在接收的携带了动作标识1的请求报文是经由代理服务器发送时,则判断当 前单位时间内已发送给目标服务器的动作标识1是否达到动作标识1对应的第二个数阈 值。
全文摘要
本发明公开了一种防范CC攻击的方法和设备,在被保护的目标服务器之前设置安全设备;该安全设备执行以下步骤接收到来自客户端发送的请求报文时,确定该接收的请求报文所携带的动作标识1;从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器,如果是,在当前单位时间内将所述请求报文发送给所述目标服务器;否则,在当前单位时间内丢弃所述请求报文。采用本发明,能够有效防范CC攻击,实现对目标服务器的有效保护。
文档编号H04L9/00GK102045327SQ20091023581
公开日2011年5月4日 申请日期2009年10月9日 优先权日2009年10月9日
发明者韩艳辉 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1