CN102045327A - 防范cc攻击的方法和设备 - Google Patents
防范cc攻击的方法和设备 Download PDFInfo
- Publication number
- CN102045327A CN102045327A CN2009102358123A CN200910235812A CN102045327A CN 102045327 A CN102045327 A CN 102045327A CN 2009102358123 A CN2009102358123 A CN 2009102358123A CN 200910235812 A CN200910235812 A CN 200910235812A CN 102045327 A CN102045327 A CN 102045327A
- Authority
- CN
- China
- Prior art keywords
- action
- action identification
- destination server
- request message
- unit interval
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种防范CC攻击的方法和设备,在被保护的目标服务器之前设置安全设备;该安全设备执行以下步骤:接收到来自客户端发送的请求报文时,确定该接收的请求报文所携带的动作标识1;从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器,如果是,在当前单位时间内将所述请求报文发送给所述目标服务器;否则,在当前单位时间内丢弃所述请求报文。采用本发明,能够有效防范CC攻击,实现对目标服务器的有效保护。
Description
技术领域
本发明涉及网络安全技术,特别涉及防范挑战黑洞(CC:ChallengeCollapsar)攻击的方法和设备。
背景技术
随着计算机网络尤其是因特网(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攻击的详细流程图;
图3b是本发明实施例中配置动作标识和目标服务器执行该动作标识对应的动作的阈值之间对应关系的流程图;
图4是本发明实施例中防范CC攻击的设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明实施例在客户端和被保护的目标服务器之间设置安全设备,该安全设备所执行的主要方法可以如图2所示,主要包括以下步骤:
步骤201,接收到来自客户端发送的请求报文时,确定接收的请求报文携带的动作标识。
这里,请求报文携带的动作标识与目标服务器在接收到该动作标识时所执行的动作对应。通常,动作标识可用数字代码或者关键字等来表示,比如,动作标识010201表示目标服务器执行检索数据库的动作,动作标识010202表示目标服务器执行数据排序输出的动作等。这里,为便于描述,将步骤201确定出的动作标识记为动作标识1。
步骤202,从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器,如果是,执行步骤203;否则,执行步骤204。
这里,单位时间可为1秒或者为1分钟,本发明实施例并不具体限定。
目标服务器单位时间内执行动作标识对应的动作的阈值具体实现时可有多种形式,比如,可为目标服务器单位时间内执行动作标识对应的动作的个数阈值或者为用于表示携带该动作标识的请求报文直接发送给目标服务器的标识值等,本发明实施例并不具体限定,其中,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器的具体操作可参见图3a所示的步骤304a至步骤308a,这里不再详述。
步骤203,在当前单位时间内将所述请求报文发送给所述目标服务器。
这里,本步骤203中发送的请求报文携带了动作标识1。
步骤204,在当前单位时间内丢弃所述请求报文。
至此,实现了本发明实施例提供的方法的基本流程。
为使本发明实施例提供的方法更加清楚,下面结合具体实施例对上述方法进行详细描述。
参见图3a,图3a为本发明实施例提供的详细方法流程图。如图3a所示,该方法可以包括以下步骤:
步骤301a,预先配置动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系。
这里,步骤301a中的对应关系的配置操作具体可参见图3b所示,包括:
步骤301b,针对目标服务器能够执行的每一动作,判断目标服务器执行该动作所耗费的时间是否大于等于预设的耗费时间,如果是,则执行步骤303b;否则,执行步骤302b。
通常,目标服务器的管理员对目标服务器的性能都有一定的了解,比如,了解目标服务器能够执行的各个动作(其中,该动作具体用动作标识来表示,比如表示该动作的特征码或者关键字),以及执行各个动作所耗费的时间等,如此,本发明实施例中,可根据管理员对目标服务器性能的了解确定出目标服务器能够执行的各个动作,以及执行各个动作时所耗费的时间。之后,针对每一动作,判断目标服务器执行该动作所耗费的时间是否大于等于预设的耗费时间,其中,预设的耗耗费时间可为预先获知的所有耗费时间的平均值,或者为设定的一个固定值比如0.001秒或者为其他值,本发明实施例并不具体限定。为便于描述,这里将耗费时间大于等于预设的耗费时间的动作记为动态动作,而将耗费时间小于预设的耗费时间的动作记为静态动作。
步骤302b,配置该动作对应的动作标识和表示携带该动作标识的请求报文直接发送给目标服务器的标识值之间的对应关系。
这里,步骤302b是在步骤301b判断出该动作为静态动作时执行的。本步骤302b之所以在确定出静态动作后,配置该静态动作的标识对应的阈值为表示携带该静态动作标识的请求报文直接发送给目标服务器的标识值,是因为静态动作耗费目标服务器的时间比较短,相应地,耗费目标服务器的性能资源也会比较少,通常攻击者为达到攻击目标服务器的目的,不会发送由目标服务器执行静态动作的请求报文,因此,本实施例可在接收到携带静态动作标识的请求报文后,直接发送该请求报文给目标服务器,即设置该静态动作标识对应的阈值为用于表示携带该静态动作标识的请求报文直接发送给目标服务器的标识值。这里标识值可为数值“0”,也可为一个以上的字符,本发明实施例并不具体限定。至此,结束与该动作有关的对应关系的配置。
步骤303b,确定目标服务器单位时间内执行该动作的最大个数。之后,执行步骤304b。
这里,步骤303b是在步骤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%。
步骤305b,确定目标服务器单位时间内执行该动作的最大个数和设置的该动作单位时间内占用目标服务器的性能资源值的乘积为目标服务器单位时间内执行该动作的个数阈值。
比如,若目标服务器单位时间内执行动作1的最大个数为100,步骤304b中设置出单位时间内动作1占用目标服务器的性能资源值为30%,则本步骤305b中目标服务器单位时间内执行动作1的个数阈值为100*30%=30,也就是说,目标服务器单位时间内最多只能执行30个动作1。
如此,通过上述步骤303b至步骤305b,实现了目标服务器单位时间内执行各个动态动作对应的个数阈值的操作。
步骤306b,配置该动作对应的动作标识与目标服务器单位时间内执行该动作的个数阈值之间的对应关系。
至此,通过上述步骤303b至步骤306b实现了与动态动作有关的对应关系的配置。
步骤302a,安全设备接收到请求报文时,确定该请求报文携带的动作标识。
本实施例中,为便于描述,将步骤302a确定的请求报文携带的动作标识记为动作标识1。
这里,请求报文的格式可与现有技术中HTTP请求报文的格式类似。为便于描述,这里以请求报文为HTTP请求报文为例。
需要说明的是,通常,有些客户端发送的HTTP请求报文可能没有携带动作标识,本实施例中,针对不携带动作标识的HTTP请求报文,可直接发送该HTTP请求报文给目标服务器;或者,预先设置目标服务器单位时间内处理的请求报文的总数阈值,其中,该总数阈值为目标服务器单位时间内处理的请求报文的最大个数,由网络带宽资源确定,目的是为了保证网络不出现拥塞现象,如此,可先判断当前所处的单位时间内已发送给目标服务器的HTTP请求报文的总数是否达到预设的总数阈值,如果是,则执行下述步骤307a,如果否,在当前时间内将该接收的HTTP请求报文发送给目标服务器。
步骤303a,判断步骤301a配置的对应关系中是否存在动作标识1,如果是,执行步骤304a;否则,执行步骤309a。
步骤304a,确定动作标识1对应的阈值为目标服务器单位时间内执行动作标识1对应的动作的个数阈值还是为用于表示携带动作标识1的请求报文直接发送给目标服务器的标识值,如果是个数阈值,则执行步骤306a;如果是标识值,则执行步骤305a。
步骤305a,在当前单位时间内将携带了动作标识1的HTTP请求报文发送给目标服务器。
优选地,如果本实施例预先设置了目标服务器单位时间内处理的请求报文的总数阈值,则本步骤305a具体为:判断当前单位时间内已发送给目标服务器的所有HTTP请求报文的总数是否达到预设的总数阈值,如果是,执行下述步骤307a,否则,发送该接收的携带了动作标识1的HTTP请求报文给目标服务器。至此,结束当前接收的报文访问目标服务器的流程。
步骤306a,判断当前所处的单位时间内已发送给目标服务器的携带了动作标识1的HTTP请求报文的个数是否达到所述对应关系中动作标识1对应的个数阈值,如果是,执行步骤307a;否则,执行步骤308a。
需要说明的是,本领域技术人员知道,CC攻击者为隐蔽身份,通常经由客户端和安全设备之间设置的代理服务器发送HTTP请求报文,为有效防范CC攻击,本实施例步骤301a中预先配置的对应关系中如果动作标识对应的阈值为目标服务器单位时间内执行动作标识对应的动作的个数阈值,则该个数阈值具体可包含不经由代理服务器转发的携带该动作标识的请求报文的第一个数阈值和经由代理服务器转发的携带该动作标识的请求报文的第二个数阈值;其中,由于CC攻击者通常经由代理服务器发送HTTP请求报文,可设置第一个数阈值大于等于第二个数阈值。
这里,经由代理服务器发送的HTTP请求报文通常含有特征字段X-Forwarded-FOR,而不经由代理服务器发送的HTTP请求报文一般不含有特征字段X-Forwarded-FOR,因此,可根据当前接收的HTTP请求报文是否含有特征字段X-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;否则,执行步骤314a。
步骤313a,确定动作标识1和目标服务器单位时间内执行动作标识1对应的动作的个数阈值之间的对应关系,将该得到的对应关系添加到预先配置的对应关系中。
这里,步骤313a中确定对应关系的操作具体实现时可与图3b所示的步骤303b至步骤306b类似,具体包括:
步骤1,根据计算出的耗费时间确定目标服务器单位时间内执行该HTTP请求报文携带的动作标识对应的动作的最大个数。
这里,步骤313a中的确定操作与图3b中的步骤303b中的操作类似,这里不再赘述。
步骤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的请求报文,因此,在步骤305b和步骤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攻击,实现对目标服务器的有效保护。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种防范CC攻击的方法,其特征在于,在客户端和被保护的目标服务器之间设置安全设备;所述安全设备执行以下步骤:
A,接收到来自客户端发送的请求报文时,确定该接收的请求报文所携带的动作标识1;
B,从预先配置的动作标识和目标服务器单位时间内执行动作标识对应的动作的阈值之间的对应关系中确定出动作标识1对应的阈值,根据确定的阈值判断当前单位时间内是否要将所述请求报文发送给目标服务器,如果是,在当前单位时间内将所述请求报文发送给所述目标服务器;否则,在当前单位时间内丢弃所述请求报文。
2.根据权利要求1所述的方法,其特征在于,所述预先配置的对应关系中动作标识对应的阈值为:
如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间大于等于预设的耗费时间,则该动作标识对应的阈值为目标服务器单位时间内执行该动作标识对应的动作的个数阈值;
如果目标服务器单位时间内执行该动作标识对应的动作所耗费的时间小于预设的耗费时间,则该动作标识对应的阈值为用于表示携带该动作标识的请求报文直接发送给目标服务器的标识值。
3.根据权利要求2所述的方法,其特征在于,所述步骤B中根据确定的阈值判断当前单位时间内是否要将请求报文发送给目标服务器包括:
判断确定的阈值为目标服务器单位时间内执行动作标识1对应的动作的个数阈值还是为用于表示携带动作标识1的请求报文直接发送给目标服务器的标识值,
如果是标识值,则确定当前单位时间内要将所述请求报文发送给目标服务器;
如果是个数阈值,则判断当前已发送给目标服务器的动作标识1是否达到该动作标识1对应的个数阈值,如果是,确定当前单位时间内要将所述请求报文发送给目标服务器,否则,确定当前单位时间内不将所述请求报文发送给目标服务器。
4.根据权利要求2所述的方法,其特征在于,所述步骤B中,如果预先配置的对应关系中不存在动作标识1,则确定目标服务器执行动作标识1对应的动作所耗费的时间,包括:
B1,记录接收到请求报文的时间,之后,发送该请求报文给所述目标服务器;
B2,接收所述目标服务器返回的与该请求报文对应的响应报文,记录接收到该响应报文的时间;
B3,根据记录的接收到请求报文的时间和接收到与该请求报文对应的响应报文的时间计算目标服务器执行动作标识1对应的动作所耗费的时间。
5.根据权利要求4所述的方法,其特征在于,在确定出动作标识1对应的动作所耗费的时间后,进一步包括:
B4,根据确定的耗费时间确定动作标识1和目标服务器单位时间内执行动作标识1对应的动作的阈值之间的对应关系,将确定的对应关系更新到所述预先配置的对应关系中。
6.根据权利要求5所述的方法,其特征在于,所述步骤B4中确定对应关系包括:
B41,判断确定的耗费时间是否大于等于预设的耗费时间,如果是,执行步骤B42;否则,执行步骤B43;
B42,确定动作标识1和目标服务器单位时间内执行动作标识1对应的动作的个数阈值之间的对应关系;
B43,确定动作标识1和用于表示携带动作标识1的请求报文直接发送给目标服务器的标识值之间的对应关系。
7.根据权利要求6所述的方法,其特征在于,所述步骤B42包括:
C1,根据确定的耗费时间确定目标服务器单位时间内执行动作标识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对应的第二个数阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102358123A CN102045327B (zh) | 2009-10-09 | 2009-10-09 | 防范cc攻击的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102358123A CN102045327B (zh) | 2009-10-09 | 2009-10-09 | 防范cc攻击的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102045327A true CN102045327A (zh) | 2011-05-04 |
CN102045327B CN102045327B (zh) | 2013-11-27 |
Family
ID=43911103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102358123A Expired - Fee Related CN102045327B (zh) | 2009-10-09 | 2009-10-09 | 防范cc攻击的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102045327B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078910A (zh) * | 2012-12-27 | 2013-05-01 | 华为技术有限公司 | 一种网页分割的方法及装置 |
CN104023024A (zh) * | 2014-06-13 | 2014-09-03 | 中国民航信息网络股份有限公司 | 网络防御方法及装置 |
CN105009529A (zh) * | 2013-06-14 | 2015-10-28 | 华为技术有限公司 | 一种处理报文的方法和转发器 |
CN105656843A (zh) * | 2014-11-11 | 2016-06-08 | 腾讯数码(天津)有限公司 | 基于验证的应用层防护方法、装置及网络设备 |
CN106911808A (zh) * | 2017-04-28 | 2017-06-30 | 福建中金在线信息科技有限公司 | 一种http请求的处理方法、装置和网络设备 |
WO2017148263A1 (zh) * | 2016-02-29 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 网络攻击的防控方法、装置及系统 |
CN108833410A (zh) * | 2018-06-19 | 2018-11-16 | 网宿科技股份有限公司 | 一种针对HTTP Flood攻击的防护方法及系统 |
CN113794692A (zh) * | 2021-08-24 | 2021-12-14 | 杭州迪普科技股份有限公司 | 攻击溯源装置、方法与系统及代理链路表学习装置和方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959313A (zh) * | 2016-06-29 | 2016-09-21 | 杭州迪普科技有限公司 | 一种防范http代理攻击的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150586A (zh) * | 2007-11-20 | 2008-03-26 | 杭州华三通信技术有限公司 | Cc攻击防范方法及装置 |
WO2009074070A1 (fr) * | 2007-12-07 | 2009-06-18 | Huawei Technologies Co., Ltd. | Procede et equipement de telechargement amont de contenu multimedia en temps reel |
CN101478540A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种防御挑战黑洞攻击的方法及装置 |
-
2009
- 2009-10-09 CN CN2009102358123A patent/CN102045327B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150586A (zh) * | 2007-11-20 | 2008-03-26 | 杭州华三通信技术有限公司 | Cc攻击防范方法及装置 |
WO2009074070A1 (fr) * | 2007-12-07 | 2009-06-18 | Huawei Technologies Co., Ltd. | Procede et equipement de telechargement amont de contenu multimedia en temps reel |
CN101478540A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种防御挑战黑洞攻击的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078910A (zh) * | 2012-12-27 | 2013-05-01 | 华为技术有限公司 | 一种网页分割的方法及装置 |
CN103078910B (zh) * | 2012-12-27 | 2016-03-30 | 华为技术有限公司 | 一种网页分割的方法及装置 |
CN105009529A (zh) * | 2013-06-14 | 2015-10-28 | 华为技术有限公司 | 一种处理报文的方法和转发器 |
US9998364B2 (en) | 2013-06-14 | 2018-06-12 | Huawei Technologies Co., Ltd. | Method for processing packet and forwarder |
CN109218111A (zh) * | 2013-06-14 | 2019-01-15 | 华为技术有限公司 | 一种处理报文的方法和转发器 |
CN104023024A (zh) * | 2014-06-13 | 2014-09-03 | 中国民航信息网络股份有限公司 | 网络防御方法及装置 |
CN105656843A (zh) * | 2014-11-11 | 2016-06-08 | 腾讯数码(天津)有限公司 | 基于验证的应用层防护方法、装置及网络设备 |
CN105656843B (zh) * | 2014-11-11 | 2020-07-24 | 腾讯数码(天津)有限公司 | 基于验证的应用层防护方法、装置及网络设备 |
WO2017148263A1 (zh) * | 2016-02-29 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 网络攻击的防控方法、装置及系统 |
CN106911808A (zh) * | 2017-04-28 | 2017-06-30 | 福建中金在线信息科技有限公司 | 一种http请求的处理方法、装置和网络设备 |
CN108833410A (zh) * | 2018-06-19 | 2018-11-16 | 网宿科技股份有限公司 | 一种针对HTTP Flood攻击的防护方法及系统 |
CN113794692A (zh) * | 2021-08-24 | 2021-12-14 | 杭州迪普科技股份有限公司 | 攻击溯源装置、方法与系统及代理链路表学习装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102045327B (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045327B (zh) | 防范cc攻击的方法和设备 | |
Mishra et al. | Defense mechanisms against DDoS attack based on entropy in SDN-cloud using POX controller | |
Lau et al. | Distributed denial of service attacks | |
US11916955B2 (en) | Systems and methods of propagating data packets in a network of nodes | |
EP3753220B1 (en) | Blockchain-based methods and device for propagating data in a network | |
KR101425107B1 (ko) | 네트워크 도메인간 보안정보 공유 장치 및 방법 | |
CN101036369B (zh) | 分组的脱机分析 | |
CN100425025C (zh) | 应用服务器安全法与网络安全法的安全系统与方法 | |
CN1783809B (zh) | 网络放大攻击的缓解方法及其网络子系统 | |
US20160299971A1 (en) | Identifying Search Engine Crawlers | |
JP2023159363A (ja) | ノードのネットワークにおいてデータ・パケットを伝搬するための方法 | |
Di Paola et al. | Protecting against DNS reflection attacks with Bloom filters | |
Kandhoul et al. | An efficient and secure data forwarding mechanism for opportunistic IoT | |
CN108667782B (zh) | 一种用于DNS服务的DDoS攻击防御方法及系统 | |
CN1503952A (zh) | 限制外来访问的方法和系统 | |
Rao et al. | A secure framework to prevent three-tier cloud architecture from malicious malware injection attacks | |
Zekri et al. | Mitigating economic denial of sustainability attacks to secure cloud computing environments | |
Gil | MULTOPS: A data structure for denial-of-service attack detection | |
Nakashima et al. | Implementation of the performance evaluation and observation system for web server under attacks | |
EP1658713A1 (en) | Method for protecting against attacks in a high-speed network | |
Kumar et al. | Simulation Analysis of DDoS Attack in IoT Environment | |
Verma et al. | Trust Oriented Security Framework for Ad Hoc Network | |
Cho et al. | Distributed IDS for efficient resource management in wireless sensor network | |
Carlsson | Model of network attack on the cloud platform OpenStack | |
Paul et al. | SYN FLOODING ATTACK PREVENTION USING A NOVEL APPROACH: HRTE ALGORITHM AND COMPARATIVE ANALYSIS WITH OPTIMIZING ALGORITHM |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131127 Termination date: 20201009 |
|
CF01 | Termination of patent right due to non-payment of annual fee |