一种挑战黑洞攻击防御方法及装置的制作方法

文档序号:7925873阅读:171来源:国知局

专利名称::一种挑战黑洞攻击防御方法及装置的制作方法
技术领域
:本方明涉及网络安全技术,尤其涉及一种挑战黑洞攻击防御方法及装置。
背景技术
:随着信息技术的迅速发展,计算机网络技术在全球各行各业中得到了广泛普及和推广,然而,网络应用的快速发展以及网络规模的急剧膨胀,在为企业带来生产经营效率的同时,也使得网络中的安全漏洞无处不在。这些安全漏洞为网络攻击提供了滋生的土i裏,近年来流行的CC(ChallengeCollapsar,又称挑战黑洞)攻击便是网络攻击中的一种。CC攻击是一种基于页面的分布式拒绝服务(DDoS,DistributedDenialofService)攻击,它通过发送耗性能的超文本传输协i义(HTTP,HypertextTransferProtocol)请求HTTPGET来消耗服务器资源。图1示出了CC攻击的典型模式示意图,攻击主机(attackerhost)多次通过网络中的代理服务器向目标主机(targethost)上开销比较大的动态页面发起HTTP请求,如数据库查询等,导致目标主机进行大量计算,很快达到处理能力极限,从而拒绝所有用户的服务请求。与普通的依靠大量报文进行攻击、导致目标主机瞬间瘫痪的DDoS攻击不同,CC攻击主要是通过多次访问目标主机上开销比较大的动态页面来实现目标主机的资源消耗的,其不需要过大的报文流量,具有很强的隐蔽性。并且,只需要一台主机,只要能找到足够数量的代理服务器,就能在任何时间,对目标发起大少见模的CC攻击,导致目标服务器的服务处于瘫痪状态。由于攻击原理的限制,CC攻击的目标服务器大多为需要进行大量数据库查询的服务器,如大型论坛,信息查询系统等。这些服务器辐射面广,实时性强,且大多数都与服务提供商的经济收入直接挂钩,所以一旦受到cc攻击,其损失将是巨大的。因此防御cc攻击有4艮大的现实意义。在实现本发明的过程中,发明人发现现有技术中至少存在如下问题现有的CC攻击防御方法虽然能够检测出目标主机遭受了CC攻击,但是不能针对攻击者的危害程度进行动态地过滤,甚至拒绝所有用户的服务请求,很容易造成资源的浪费。
发明内容本发明实施例提供一种挑战黑洞攻击防御方法及装置,可以针对攻击者的危害程度进行动态地过滤。本发明实施例提供一种基于用户请求可疑度的挑战黑洞攻击防御方法,该方法包括根据捕获的数据包判断用户请求的WEB页面是否是动态页面;如果是动态页面,则每个用户对应一个用户请求可疑度;根据所述用户请求可疑度对用户的动态页面请求进行过滤。本发明实施例还提供一种基于用户请求可疑度的挑战黑洞攻击防御装置,该装置包括第一判断模块,用于根据捕获的数据包判断用户请求的WEB页面是否是动态页面,如果是动态页面,则每个用户对应一个用户请求可疑度;用户请求可疑度计算模块,用于计算用户请求的可疑度值;防御处理模块,用于根据存储模块中存储的用户请求可疑度对用户的动态页面请求进行过滤。本发明实施例为每个请求动态页面的新用户建立一个可疑数据表,该可疑数据表用于存储用户请求可疑度,新用户的用户请求可疑度初始值是建立可疑数据表时系统自动赋予的,之后用户每次发出新的动态页面请求,其可疑度也发生变化,更新可疑数据表。所以在启动防御功能时,可以根据可疑数据表中用户可疑度的不同进行动态地过滤,高可疑度的用户先过滤,低可疑度的用户后过滤,这样可以提高CPU利用率,避免资源的浪费。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是挑战黑洞攻击的典型模式示意图2是本发明实施例一挑战黑洞攻击防御方法的流程示意图3是本发明实施例二挑战黑洞攻击防御方法的流程示意图4是本发明实施例二的防御处理方案流程图5是本发明实施例挑战黑洞攻击防御装置的结构示意图6是本发明实施例攻击发生及启动防御措施后CPU利用率变化示意图。具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。请参考图2,为本发明实施例一的流程示意图,其步骤包括步骤201、根据捕获的数据包判断所请求的页面是否是动态页面,如果是则进行步骤202;步骤202、判断该请求动态页面的用户是否是新用户,如果是则进行步骤203,否则进行步骤204;步骤203、为新用户建立可疑数据表,该数据表包括两个表项用户的源IP地址和用户请求可疑度,其中用户请求可疑度的初始值是建立数据表时系统自动赋予的;步骤204、计算用户请求可疑度,并更新可疑数据表;步骤205、根据可疑数据表中的用户可疑度值对用户进行过滤。本发明利用可疑数据表存储用户请求可疑度,新用户的用户请求可疑度初始值是建立可疑数据表时系统自动赋予的,之后用户每次发出新的动态页面请求,其可疑度也发生变化,所以在启动防御功能时,可以根据可疑数据表中用户可疑度的不同进行动态地过滤,高可疑度的用户先过滤,低可疑度的用户后过滤,这样可以提高CPU利用率,避免资源的浪费。请参考图3,为本发明实施例二的流程示意图,其步骤包括步骤301、捕获请求访问WEB服务器页面的数据包;步骤302、判断用户请求访问的页面是否是动态页面,动态网页多以.asp、.jsp、.php、.perl、.cgi、.aspx、.dcsp、.cfm等形式为后缀,并且在动态网页网址中有一个标志性的符号"?"。通过提取捕获数据包的URL字段,查看其中是否含有动态页面的后缀名,可以判断出请求页面是否为动态页面;如果是则进行步骤303,否则回到步骤301;步骤303、判断该请求动态页面的用户是否是新用户,根据捕获数据包的用户的IP地址可以判断出是否是新用户,如果是则进行步骤304,否则进行步骤305;步骤304、为新用户建立可疑数据表,该数据表可以是数据库的形式也可以是数据列表的形式。可疑数据表包括两个参数,从数据包釆集的用户源IP地址以及用户请求可疑度。用户请求可疑度的初始值是创建数据表的时候系统自动赋予的,比如O;步骤305、计算用户请求可疑度用户请求可疑度可以用可疑度函数T:f(t,n,…)计算,其中t为每个用户初次请求的响应时间,n为每个用户请求目标服务器上动态页面的次数,T与t和n成正比例关系。其中,响应时间t为收到服务器返回状态码的时刻减去发送请求的时刻;n,即每个用户请求目标服务器上动态页面的次数采用以下方法获得为每个初次访问用户设置访问次数计数器Nip(初始值为1),以后每当收到用户新的动态页面请求时,都将用户对应的Nip力。1,最后得到的Nip的值就是所述n。此外,还可以根据被保护服务器、网络的实际情况,增加或删除参数,从而提高防御效果。步骤306、用步骤305计算出的用户请求可疑度值替换可疑数据表中的原有的用户请求可疑度值;步骤307、监控服务器的CPU使用率是否到达警戒线,如果达到了进行步骤308。可以理解的是,步骤307并非是执行完步骤306之后才开始进行的,监控服务器的CPU使用率是否到达警戒线的动作可以是一直处于运行状态的,也可以在整个过程中的任一步骤前后启动。步骤308、启动防御处理功能。具体防御处理可有多种实施方式,本发明发明实施例的防御处理功能的具体步骤如下,如图4所示步骤3081、判断CPU使用率是否大于事先设定的第一阈值ul,比如50%,如果不大于50%则继续监控CPU使用率,如果超过50%则进行步骤3082;步骤3082、判断CPU使用率是否大于事先设定的第二阈值u2(第二阈值大于第一阈值),比如80%,如果超过80%,则进行步骤3083,如果不超过则进行步骤3084;步骤3083、阻止所有用户对动态页面的请求,包括新用户的请求;步骤3084、判断用户请求可疑度是否超过事先设定的第三阈值x,比如0.6,如果没有超过0.6服务器将继续响应该用户的动态页面请求,否则进行步骤3085;步骤3085、阻止该用户对动态页面的请求。另一种防御处理功能的具体步骤如下判断CPU使用率是否大于事先设定的第一阈值,比如50%,如果不大于50%则继续监控CPU使用率,如果超过50%则继续判断CPU使用率是否大于事先设定的第二阈值(第二阈值大于第一阈值),比如80%,如果超过80%,则阻止所有用户对动态页面的请求,包括新用户的请求,如果不超过则判断用户请求可疑度是否超过事先设定的第三阈值x,比如0.6,如果没有超过0.6服务器将继续响应该用户的动态页面请求,否则阻止该用户对动态页面的请求。需要注意的是这里的第三阈值x可以随着CPU使用率的变化而变化,比如随着CPU使用率的提高,第三阈值可能降为0.5,此时则只需过滤用户可疑度超过0.5的用户了。另一种防御处理功能的具体步骤如下判断CPU使用率是否大于事先设定的第一阈值,比如50%,如果不大于50%则继续监控CPU使用率,如果超过50%则继续判断CPU使用率是否大于事先设定的第二阈值(第二阈值大于第一阈值),比如80%,如果超过80%,则阻止所有用户对动态页面的请求,包括新用户的请求,如果不超过则过滤掉可疑数据表中用户请求可疑度值最大的用户请求,继续判断CPU使用率,如果使用率仍然在50%至80%之间,继续过滤掉可疑数据表中用户请求可疑度值最大的用户请求,直至CPU使用率小于50。/。。如下表所示用户请求可疑度CPU使用率<table>tableseeoriginaldocumentpage11</column></row><table>用户请求可疑度最大值为0.8,过滤掉该用户后,CPU使用率为75%,仍然大于50%,此时用户请求可疑度最大值为0.6,将该用户过滤掉,同时监控到CPU使用率下降为70%,但仍然超过50%,继续将用户请求可疑度最大的用户,即用户请求可疑度值为0.5的用户过滤掉,此时监控CPU使用率下降为45%,低于50%,说明服务器已经恢复正常,可以满足所有用户的请求了。本发明实施例通过实时监控CPU使用率,如果CPU使用率大于第二阈值,则拒绝所有用户的动态页面请求,包括新用户的请求,如果CPU使用率在第一阈值和第二阈值之间,则根据用户可疑度进行动态过滤,用户可疑度高的先过滤,可疑度低的后过滤,这样可以避免一味地阻止所有用户的请求,有利于资源的利用,提高CPU的利用率。CC攻击发生及启动本方案所提防雄卩措施后CPU利用率如图6所示从图中可以看到,攻击产生之后,CPU的使用程度陡然升高,使用率一直处于顶端,计算机处于瘫痪状态,采取防御措施以后,CPU使用率下降,利用率升高,计算机恢复到正常状态。本发明实施例CC攻击防御装置如图5所示,包括第一判断模块501、第二判断模块502、存储模块503、用户可疑度计算模块504、第三判断模块505和防御处理模块506。第一判断模块501,用于判断用户请求的WEB页面是否是动态页面,第一判断模块501之前还包括一个数据包捕获处理模块507,用于捕获流入和流出目标服务器的数据包。第二判断模块502,用于判断该请求用户是否是新用户,根据数据包中用户的IP地址可以进行判断,如果该用户为新用户则在存^^莫块503里为其创建一个可疑数据表,否则利用用户请求可疑度计算模块504计算用户请求可疑度;存储模块503,用于存储每个用户的源IP地址及其用户请求可疑度,用户请求可疑度的初始值是创建数据表时系统自动赋予的;用户请求可疑度计算模块504,用于计算用户请求可疑度值;第三判断模块505,用于判断是否需要启动防御功能。实时监控WEB服务器CPU使用率,将CPU使用率与事先设定的第一阈值和第二阈值(第一阈值小于第二阈值)进行比较,如果CPU使用率大于笫一阈值并且小于第二阈值则根据所述存储模块中用户请求可疑度的不同进行过滤,如果CPU使用率小于第一阈值则不启动防御处理模块506,满足所有用户的动态页面请求,如果CPU使用率大于第二阈值则启动过滤模块5062过滤所有用户的动态页面请求,包括新用户的请求。防御处理模块506,用于根据存储模块503中可疑数据表中的信息对用户请求进行过滤。防御处理模块506包括第四判断模块5061和过滤模块5062。第四判断模块5061用于判断用户请求可疑度是否大于事先设定的第三阈值,如果是则启动过滤模块5062阻止该用户对动态页面的请求。同时,防御处理模块506也可以只包括过滤模块5062。当CPU使用率大于第一阈值小于第二阈值时,启动过滤模块5062过滤掉用户可疑度值最大的用户的请求,然后继续启动第三判断模块505判断CPU使用率是否仍然大于第一阈值小于第二阈值,如果是则继续启动过滤模块5062过滤掉此时用户可疑度值最大的用户请求,直至CPU使用率小于第一阈值。本发明实施例CC攻击防范装置位于WEB服务器或者网络的边界路由器上。本发明实施例可以准确地识别CC攻击,并且利用防御处理模块506动态地采用相应的防雄卩措施,从而实现对目标主机的有效保护。可以通过程序来指令相关的硬件来完成,所述程序可以存储于计算机可读取存储介质中,所述存储介质为ROM/RAM、磁碟、光盘等。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。权利要求1、一种挑战黑洞攻击防御方法,其特征在于,包括以下步骤:根据捕获的数据包判断用户请求的WEB页面是否是动态页面;如果是动态页面,则每个用户对应一个用户请求可疑度;根据所述用户请求可疑度对用户的动态页面请求进行过滤。2、根据权利要求1所述的挑战黑洞攻击防御方法,其特征在于所述步骤如果是动态页面,则每个用户对应一个用户请求可疑度包括如果是动态页面则判断是否是新用户,如果是新用户为该用户赋用户请求可疑度初始值,如果不是新用户,计算用户请求可疑度。3、根据权利要求1所述的挑战黑洞攻击防御方法,其特征在于所述用户请求可疑度用可疑数据表存储。4、根据权利要求1所述的挑战黑洞攻击防御方法,其特征在于所述用户请求可疑度使用可疑度函数计算,所述可疑度函数使用用户初次请求的响应时间及用户请求目标服务器上动态页面的次数计算用户请求可疑度。5、根据权利要求4所述的挑战黑洞攻击防御方法,其特征在于所述用户初次请求的响应时间为收到服务器返回状态码的时刻减去发送请求的时刻。6、根据权利要求4所述的挑战黑洞攻击防御方法,其特征在于所述用户请求目标服务器上动态页面的次数采用以下方法获得为每个初次访问用户设置访问次数计数器,并设置初始值Nip,当收到用户新的动态页面请求时,将用户对应的Nip加1,所得到的Nip的值为所述用户请求目标服务器上动态页面的次数。7、根据权利要求1所述的挑战黑洞攻击防御方法,其特征在于所述根据所述可疑数据表中用户请求可疑度的不同对用户请求进行过滤步骤之前包括判断是否需要启动防御功能,若判断需要启动防御功能,则执行所述根据所述可疑数据表中的用户请求可疑度对用户的动态页面请求进行过滤的步骤。8、根据权利要求7所述的挑战黑洞攻击防御方法,其特征在于,所述判断是否需要启动防御功能的步骤包括实时监控WEB服务器CPU使用率,将CPU使用率与事先设定的第一阈值和第二阈值进行比较,其中第一阈值小于第二阈值,如果CPU使用率大于第一阈值并且小于第二阔值则根据所述可疑数据表中用户请求可疑度的不同对用户的动态页面请求进行过滤。9、根据权利要求1或8所述的挑战黑洞攻击防御方法,其特征在于,包括将用户可疑度与事先设定的第三阈值进行比较,如果用户可疑度大于该第三阈值则将这些用户的动态页面请求过滤掉,否则不过滤。10、根据权利要求9所述的挑战黑洞攻击防御方法,其特征在于,所述第三阈值随着CPU使用率的不同而发生变化。11、根据权利要求10所述的挑战黑洞攻击防御方法,其特征在于,所述第三阈值随着CPU使用率的变化而变化是指,CPU使用率升高,第三阈值增大,CPU使用率降低,第三阈值减小。12、根据权利要求8所述的挑战黑洞攻击防御方法,其特征在于,所述根据可疑数据表中用户可疑度的不同对用户的动态页面请求进行过滤进一步包括首先过滤掉可疑数据表中用户请求可疑度值最大的用户的动态页面请求,继续监控CPU使用率,如果该使用率大于第一阔值小于第二阈值,则过滤掉可疑数据表中用户请求可疑度值最大的用户的动态页面请求。13、一种挑战黑洞攻击防御装置,其特征在于,包括第一判断模块,用于根据捕获的数据包判断用户请求的WEB页面是否是动态页面,如果是动态页面,则每个用户对应一个用户请求可疑度;用户请求可疑度计算模块,用于计算用户请求的可疑度值;防御处理模块,用于根据存储模块中存储的用户请求可疑度对用户的动态页面请求进行过滤。14、根据权利要求13所述的装置,其特征在于还包括一个数据包捕获处理模块,用于捕获流入和流出目标服务器的数据包。15、根据权利要求13所述的装置,其特征在于还包括存储模块,用于存储所述用户请求可疑度计算模块计算的用户请求可疑度。16、根据权利要求13所述的装置,其特征在于还包括第二判断模块,用于判断所述请求用户是否是新用户,如果是则启动用户请求可疑度计算模块给该新用户赋用户请求可疑度初始值,否则启动用户请求可疑度计算模块计算当前用户请求可疑度,在存储模块中更新所述用户请求可疑度。17、根据权利要求13所述的装置,其特征在于,还包括第三判断模块,用于判断是否需要启动防御功能,若判断需要启动防御功能则启动所述防御处理模块。18、根据权利要求17所述的装置,其特征在于,所述第三判断模块用于实时监控WEB服务器CPU使用率,将CPU使用率与事先设定的第一阈值和第二阈值进行比较,其中第一阈值小于第二阈值,如果CPU使用率大于第一阈值并且小于第二阈值,则启动所述防御处理模块进行部分过滤,如果CPU使用率大于第二阈值则启动所述防御处理模块过滤所有用户的动态页面讀-,泉。19、根据权利要求18所述的装置,其特征在于,所述防御处理模块包括第四判断模块和过滤模块,其中第四判断模块用于判断用户请求可疑度是否大于事先设定的第三阈值,如果是则启动用户请求过滤模块阻止该用户对动态页面的请求;过滤模块用于过滤用户对目标服务器的动态页面请求。20、根据权利要求19所述的装置,其特征在于所述第三阈值随着CPU使用率的变化而变化。21、根据权利要求20所述的装置,其特征在于所述第三阈值随着CPU使用率的变化而变化是指,CPU使用率升高,第三阈值增大,CPU使用率降低,第三阈值减小。22、根据权利要求17所述的装置,其特征在于,所述防御处理模块还用于启动过滤模块过滤用户可疑度值最大的用户的动态页面请求,然后启动所述第三判断模块。23、根据权利要求13所述的装置,其特征在于,该装置位于WEB服务器或者网络的边界路由器上。全文摘要本发明实施例提供了一种挑战黑洞攻击防御方法,包括以下步骤根据捕获的数据包判断用户请求的WEB页面是否是动态页面;如果是动态页面,则每个用户对应一个用户请求可疑度;根据所述用户请求可疑度对用户的动态页面请求进行过滤。另外,本发明实施例还提供了一种挑战黑洞攻击防御装置。利用本发明实施例的技术方案,可以准确地识别挑战黑洞攻击,并且动态地采用相应的防御措施,从而实现对目标主机的有效保护。文档编号H04L29/06GK101383832SQ20081021668公开日2009年3月11日申请日期2008年10月7日优先权日2008年10月7日发明者烜张,莉杨,杨亚涛,谷勇浩,阳辛申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1