一种CC攻击的处理方法及装置与流程

文档序号:15358353发布日期:2018-09-05 00:18阅读:165来源:国知局

本发明涉及人网络通信技术领域,尤其涉及一种cc攻击的处理方法及装置。



背景技术:

攻击者借助代理服务器生成指向受害主机的合法请求,实现ddos和伪装就叫:cc(challengecollapsar),而这样的攻击我们称为cc攻击。

cc攻击一般是用来攻击一些web接口的。在一次正常的通讯中,一般涉及以下三个步骤:客户端发起请求,服务端接收请求并处理,服务端返回处理后的结果。但是某些请求是非常消耗服务器资源的,即服务器接收到此类请求后需要进行大量的运算才能计算出需要返回的结果。正常的请求速度,服务器处理这些请求造成的资源消耗在服务器的处理能力范围之内,但是恶意攻击者却是在瞬间模拟多个用户,并且不断向受害服务器请求大运算量的服务。瞬间涌进的海量请求使得服务器产生巨大的运算压力,而这压力已经超出了服务器自身所能承受的最大能力范围,这个时候如果没有做任何的防护措施,服务器就会因为不堪重负而宕机崩溃。

市场上的cc攻击大多采用相同的攻击方式:攻击者用少数自己的机器伪造一些攻击的请求数据,通过大量的代理服务器发送到受害者机器。这种攻击方式产生的攻击效果理想,并且成本低廉,因此这种攻击方式被大多数攻击者所应用。

在现有的技术中,cc防御主要分限制单个ip地址的线程数、限制每个客户端ip地址的访问速率、token认证、黑名单机制,以及购买cdn(全称是contentdeliverynetwork,即内容分发网络)等加速服务等几种防御方式。在一般的cc防御中,一般企业采用一种或者多种上述的防御方式,在对应一些常规的cc攻击或者试探性攻击上,效果还是比较明显的。

虽然上述的防御方法对常规的cc攻击能取到不错的效果,但是,缺点也比较突出,对于如地方性棋牌等竞争性非常强烈的业务来说,上述的防御方式就显得有点不足了,下面将分开进行详细说明。

上述大部分的防御方法都是基于ip进行防御和控制的,这种方式很容易被绕过。因为目前的攻击者基本不会用自己的服务器直接攻击受害机器,而是用少数自己的机器伪造一些攻击的请求数据,通过大量的代理服务器发送到受害者机器。由于受害者的机器只能看到代理的ip地址而没有办法找到攻击者真正的ip地址,所以这类方法效果不大,只能在一定程度上缓解攻击带来的伤害。

而想通过购买加速服务来实现防御的,也是不可能的。因为节点服务器只会看到相同的请求才会读取缓存里面的信息返回给客户,而不同的请求是不会读取缓存里面的信息的,所以如果攻击者在伪造攻击请求的时候在请求中加入无关的参数,就可以轻易绕过缓存了。虽然说加速服务有负载的作用,但是最终的运算量还是会去到真正的受害服务器,所以通过这种办法来实现防御是不可行的。

在当前的cc防御中,token认证结合黑名单机制来防御是被各大公司广泛使用的一种防御方式。但是这种方式也存在一个致命的漏洞,即在里面起着关键作用的认证算法的源码如果泄露,那么整个认证机制也就崩溃。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供cc攻击的处理方法及装置,通过加大cc攻击端的运算压力,使得cc攻击端无法在短时间内计算出大量合法的返回值,因此无法在短时间内发起大量的攻击从而在源端直接消除攻击的威胁。

为了解决上述技术问题,本发明实施例提供了一种cc攻击的处理方法,包括如下步骤:

根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端;

采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果;

将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。

进一步地,所述初始值为触发所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算的初始条件;所述提交条件为根据所述初始值设定的作为验证每一次迭代循环运算结果的条件。

进一步地,所述内置算法为由服务提供者设计并放置于所述cc攻击端以供所述cc攻击端调用对所述初始值进行运算的一种算法;所述内置算法为消息摘要算法;所述提交条件为由服务提供者设计并放置于用户端和服务端;所述用户端包括cc攻击端,所述服务端包括目标主机。

进一步地,所述采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,具体为:

采用预设的内置算法对所述初始值进行运算,得到运算结果,并判断该运算结果是否符合所述提交条件;若否,则执行下一步骤;

将该运算结果作为新的初始值,重复执行上一步骤,直至得到的运算结果符合所述提交条件,并将符合所述提交条件的运算结果作为最终运算结果。

本发明实施例还提供了一种cc攻击的处理方法,包括如下步骤:

接收cc攻击端根据相关的控制指令发送的服务请求,并根据所述服务请求将预设的初始值和预设的提交条件返回给所述cc攻击端,以使所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果;

接收所述cc攻击端发送的最终运算结果,并根据所述最终运算结果将访问许可指令返回给所述cc攻击端。

进一步地,所述初始值为触发所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算的初始条件;所述提交条件为根据所述初始值设定的作为验证每一次迭代循环运算结果的条件。

进一步地,所述内置算法为由服务提供者设计并放置于所述cc攻击端以供所述cc攻击端调用对所述初始值进行运算的一种算法;所述内置算法为消息摘要算法;所述提交条件为由服务提供者设计并放置于用户端和服务端;所述用户端包括cc攻击端,所述服务端包括目标主机。

进一步地,所述采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,具体为:

采用预设的内置算法对所述初始值进行运算,得到运算结果,并判断该运算结果是否符合所述提交条件;若否,则执行下一步骤;

将该运算结果作为新的初始值,重复执行上一步骤,直至得到的运算结果符合所述提交条件,并将符合所述提交条件的运算结果作为最终运算结果。

本发明实施例还提供了一种cc攻击的处理装置,包括:

服务请求模块,用于根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端;

迭代循环运算模块,用于采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,并将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。

进一步地,所述初始值为触发所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算的初始条件;所述提交条件为由服务提供者设计并放置于用户端和服务端,并根据所述初始值设定的作为验证每一次迭代循环运算结果的条件;所述用户端包括cc攻击端,所述服务端包括目标主机;所述内置算法为由服务提供者设计并放置于所述cc攻击端以供所述cc攻击端调用对所述初始值进行运算的一种算法。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的一种cc攻击的处理方法及装置,所述方法包括:根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端;采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果;将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。本发明通过加大cc攻击端的运算压力,使得cc攻击端无法在短时间内计算出大量合法的返回值,因此无法在短时间内发起大量的攻击从而在源端直接消除攻击的威胁。

附图说明

图1是本发明第一实施例提供的一种cc攻击的处理方法的流程示意图;

图2是本发明第二实施例提供的一种cc攻击的处理方法的流程示意图;

图3是本发明第三实施例提供的一种cc攻击的处理装置图的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本发明涉及客户端(包括cc攻击端)、装设有客户端的终端以及作为目标主机的服务器(服务端),所述终端与服务端通过无线网络或有线网络连接,并基于网络连接在两者之间进行信息传输和交互。所述终端可以包括智能手机、台式机、笔记本、个人数字助理、平板电脑等终端设备中的至少一种。可以理解的是,本实施例的目标主机仅以服务器为例进行说明,还可以是pc(personalcomputer,个人计算机)或平板电脑等智能终端。

服务器,运行有向客户端提供各种服务的服务端,该服务端可通过网络向客户端提供各种服务,如ftp(filetransferprotocol,文件传输协议)、游戏端口、聊天房间、网页论坛等。

本发明第一实施例:

请参阅图1,图1是本发明第一实施例提供的一种cc攻击的处理方法的流程示意图。

一种cc攻击的处理方法,包括如下步骤:

s101、根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端。

其中,所述初始值为触发所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算的初始条件;所述提交条件为根据所述初始值设定的作为验证每一次迭代循环运算结果的条件。

在本实施例中,提交条件可以是客户端预先设定好的是统一的静态的提交条件,也可以是服务器随初始值传递到用户客户端的,是动态的匹配条件。

s102、采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果。

其中,所述内置算法为由服务提供者设计并放置于所述cc攻击端以供所述cc攻击端调用对所述初始值进行运算的一种算法;所述内置算法为消息摘要算法;所述提交条件为由服务提供者设计并放置于用户端和服务端;所述用户端包括cc攻击端,所述服务端包括目标主机。

可以理解的是,运算所述内置算法的目的还是要消耗大量的本地资源(cc攻击端),由于所述内置算法的步骤无法简化,且无法通过初始值和最后的匹配条件逆推到最终的结果,类似的现成算法有如md5(消息摘要算法第五版)。cc攻击端在运算对初始值运算内置算法的时候产生巨大的压力而消耗cc攻击端的硬件资源。其中,匹配条件(提交条件)为提供服务的设计者根据自己设计的内置算法的运算特点而设计。

其中,所述采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,具体为:

采用预设的内置算法对所述初始值进行运算,得到运算结果,并判断该运算结果是否符合所述提交条件;若否,则执行下一步骤;

将该运算结果作为新的初始值,重复执行上一步骤,直至得到的运算结果符合所述提交条件,并将符合所述提交条件的运算结果作为最终运算结果。

在本实施例中,通过使cc攻击端在攻击服务器时,采用预设的内置算法对所述初始值进行迭代循环运算而产生巨大的运算压力,从而削弱攻击造成的伤害或使攻击者服务器宕机。由于在正常的客户端计算该初始值值并不频繁,所以对正常使用者的客户端没有影响。

s103、将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。

在本实施例中,无论是正常的服务还是服务器被攻击之前,都必须先由用户客户端向应用程序的服务端发送服务请求(可用于认证客户端的真实性)。应用程序的服务端收到请求后给用户客户端返回初始值或初始值和最终的提交条件,且每次返回的初始值都不同,每个用户返回的初始值也不同。客户端接收到初始值后,必须用内置算法对该初始值进行运算得到运算结果,再判断该运算结果是否符合提交条件。若不符合提交条件,则把得到的运算结果赋值给初始值或对运算结果进行特定处理后赋值给初始值,再次利用内置算法对初始值进行计算,如此重复循环,直到得到计算的运算结果符合提交条件为止。其目的在于能在用户客户端产生不定时并且压力巨大的运算。当运算结果符合了提交条件,客户端则把最终计算的运算结果提交到服务器进行校对,如果服务器判断通过了,那么就允许访问,否则拒绝该请求。本发明实施例指在在客户端进行不定次数的循环计算,让客户端造成大量的时间和本地资源消耗,从而使得攻击方服务器无法在短时间内计算出大量合法的返回值,而直接从源端消除攻击威胁。

本实施例提供的一种cc攻击的处理方法,根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端;采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果;将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。本实施例通过加大cc攻击端的运算压力,使得cc攻击端无法在短时间内计算出大量合法的返回值,因此无法在短时间内发起大量的攻击从而在源端直接消除攻击的威胁。

本发明第二实施例:

请参阅图2,图2是本发明第二实施例提供的一种cc攻击的处理方法的流程示意图。

一种cc攻击的处理方法,包括如下步骤:

s201、接收cc攻击端根据相关的控制指令发送的服务请求,并根据所述服务请求将预设的初始值和预设的提交条件返回给所述cc攻击端,以使所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果。

其中,所述初始值为触发所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算的初始条件;所述提交条件为根据所述初始值设定的作为验证每一次迭代循环运算结果的条件。

在本实施例中,提交条件可以是客户端预先设定好的是统一的静态的提交条件,也可以是服务器随初始值传递到用户客户端的,是动态的匹配条件。

其中,所述内置算法为由服务提供者设计并放置于所述cc攻击端以供所述cc攻击端调用对所述初始值进行运算的一种算法;所述内置算法为消息摘要算法;所述提交条件为由服务提供者设计并放置于用户端和服务端;所述用户端包括cc攻击端,所述服务端包括目标主机。

可以理解的是,运算所述内置算法的目的还是要消耗大量的本地资源(cc攻击端),由于所述内置算法的步骤无法简化,且无法通过初始值和最后的匹配条件逆推到最终的结果,类似的现成算法有如md5(消息摘要算法第五版)。cc攻击端在运算对初始值运算内置算法的时候产生巨大的压力而消耗cc攻击端的硬件资源。其中,匹配条件(提交条件)为提供服务的设计者根据自己设计的内置算法的运算特点而设计。

其中,所述采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,具体为:

采用预设的内置算法对所述初始值进行运算,得到运算结果,并判断该运算结果是否符合所述提交条件;若否,则执行下一步骤;

将该运算结果作为新的初始值,重复执行上一步骤,直至得到的运算结果符合所述提交条件,并将符合所述提交条件的运算结果作为最终运算结果。

在本实施例中,通过使cc攻击端在攻击服务器时,采用预设的内置算法对所述初始值进行迭代循环运算而产生巨大的运算压力,从而削弱攻击造成的伤害或使攻击者服务器宕机。由于在正常的客户端计算该初始值值并不频繁,所以对正常使用者的客户端没有影响。

s202、接收所述cc攻击端发送的最终运算结果,并根据所述最终运算结果将访问许可指令返回给所述cc攻击端。

在本实施例中,无论是正常的服务还是服务器被攻击之前,都必须先由用户客户端向应用程序的服务端发送服务请求(可用于认证客户端的真实性)。应用程序的服务端收到请求后给用户客户端返回初始值或初始值和最终的提交条件,且每次返回的初始值都不同,每个用户返回的初始值也不同。客户端接收到初始值后,必须用内置算法对该初始值进行运算得到运算结果,再判断该运算结果是否符合提交条件。若不符合提交条件,则把得到的运算结果赋值给初始值或对运算结果进行特定处理后赋值给初始值,再次利用内置算法对初始值进行计算,如此重复循环,直到得到计算的运算结果符合提交条件为止。其目的在于能在用户客户端产生不定时并且压力巨大的运算。当运算结果符合了提交条件,客户端则把最终计算的运算结果提交到服务器进行校对,如果服务器判断通过了,那么就允许访问,否则拒绝该请求。本发明实施例指在在客户端进行不定次数的循环计算,让客户端造成大量的时间和本地资源消耗,从而使得攻击方服务器无法在短时间内计算出大量合法的返回值,而直接从源端消除攻击威胁。

本实施例提供的一种cc攻击的处理方法,根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端;采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果;将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。本实施例通过加大cc攻击端的运算压力,使得cc攻击端无法在短时间内计算出大量合法的返回值,因此无法在短时间内发起大量的攻击从而在源端直接消除攻击的威胁。

本发明第三实施例:

请参阅图3,图3是本发明第三实施例提供的一种cc攻击的处理装置图的结构示意图。

一种cc攻击的处理装置,包括:

服务请求模块301,用于根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端。

其中,所述初始值为触发所述cc攻击端采用预设的内置算法对所述初始值进行迭代循环运算的初始条件;所述提交条件为根据所述初始值设定的作为验证每一次迭代循环运算结果的条件。

在本实施例中,提交条件可以是客户端预先设定好的是统一的静态的提交条件,也可以是服务器随初始值传递到用户客户端的,是动态的匹配条件。

迭代循环运算模块302,用于采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,并将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。

其中,所述内置算法为由服务提供者设计并放置于所述cc攻击端以供所述cc攻击端调用对所述初始值进行运算的一种算法;所述内置算法为消息摘要算法;所述提交条件为由服务提供者设计并放置于用户端和服务端;所述用户端包括cc攻击端,所述服务端包括目标主机。

可以理解的是,运算所述内置算法的目的还是要消耗大量的本地资源(cc攻击端),由于所述内置算法的步骤无法简化,且无法通过初始值和最后的匹配条件逆推到最终的结果,类似的现成算法有如md5(消息摘要算法第五版)。cc攻击端在运算对初始值运算内置算法的时候产生巨大的压力而消耗cc攻击端的硬件资源。其中,匹配条件(提交条件)为提供服务的设计者根据自己设计的内置算法的运算特点而设计。

其中,所述采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果,具体为:

采用预设的内置算法对所述初始值进行运算,得到运算结果,并判断该运算结果是否符合所述提交条件;若否,则执行下一步骤;

将该运算结果作为新的初始值,重复执行上一步骤,直至得到的运算结果符合所述提交条件,并将符合所述提交条件的运算结果作为最终运算结果。

在本实施例中,通过使cc攻击端在攻击服务器时,采用预设的内置算法对所述初始值进行迭代循环运算而产生巨大的运算压力,从而削弱攻击造成的伤害或使攻击者服务器宕机。由于在正常的客户端计算该初始值值并不频繁,所以对正常使用者的客户端没有影响。

在本实施例中,无论是正常的服务还是服务器被攻击之前,都必须先由用户客户端向应用程序的服务端发送服务请求(可用于认证客户端的真实性)。应用程序的服务端收到请求后给用户客户端返回初始值或初始值和最终的提交条件,且每次返回的初始值都不同,每个用户返回的初始值也不同。客户端接收到初始值后,必须用内置算法对该初始值进行运算得到运算结果,再判断该运算结果是否符合提交条件。若不符合提交条件,则把得到的运算结果赋值给初始值或对运算结果进行特定处理后赋值给初始值,再次利用内置算法对初始值进行计算,如此重复循环,直到得到计算的运算结果符合提交条件为止。其目的在于能在用户客户端产生不定时并且压力巨大的运算。当运算结果符合了提交条件,客户端则把最终计算的运算结果提交到服务器进行校对,如果服务器判断通过了,那么就允许访问,否则拒绝该请求。本发明实施例指在在客户端进行不定次数的循环计算,让客户端造成大量的时间和本地资源消耗,从而使得攻击方服务器无法在短时间内计算出大量合法的返回值,而直接从源端消除攻击威胁。

本实施例提供的一种cc攻击的处理装置,根据相关的控制指令,发送服务请求至目标主机,以使所述目标主机根据所述服务请求将预设的初始值和预设的提交条件返回给cc攻击端;采用预设的内置算法对所述初始值进行迭代循环运算,直至得到符合所述提交条件的最终运算结果;将所述最终运算结果发送至所述目标主机,以使所述目标主机根据所述最终运算结果将访问许可指令返回给所述cc攻击端。本实施例通过加大cc攻击端的运算压力,使得cc攻击端无法在短时间内计算出大量合法的返回值,因此无法在短时间内发起大量的攻击从而在源端直接消除攻击的威胁。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1