一种攻击请求处理方法和装置制造方法及图纸

技术编号:15959583 阅读:103 留言:0更新日期:2017-08-08 09:57
本发明专利技术提供一种攻击请求处理方法和装置,其中方法包括:在接收到调用业务接口的业务请求时,获取相邻两次请求的时间间隔;根据熔断系数和所述时间间隔确定熔断值;其中,随着业务请求次数的增加,所述熔断值向熔断条件值靠近,且所述熔断系数是服务端反馈的根据所述业务接口的性能数据生成的系数;当在单位时间内所统计的所述熔断值满足所述熔断条件值时,则确定受到攻击请求,阻塞对所述业务接口的业务请求,其中,所述熔断值向所述熔断条件值靠近的过程中,任意两次业务请求的时间间隔均小于预定间隔。本发明专利技术可以有效避免加剧服务端的负载。

【技术实现步骤摘要】
一种攻击请求处理方法和装置
本专利技术涉及计算机技术,特别涉及一种攻击请求处理方法和装置。
技术介绍
随着移动应用APP的逐渐普及,时刻都面临着各种恶意手段的潜在威胁。比如,客户端可能遭受针对RPC(RemoteProcedureCallProtocol,远程过程调用协议)接口请求时的恶意攻击,该攻击会以较高的频率连续发送业务请求,致使服务端的负载加大,严重时甚至造成服务端运行异常。因此,需要对这种连续频繁的进行业务请求的恶意攻击进行识别和阻断。相关技术中,一种可以采取的控制方式是,在客户端内置业务接口请求白名单,该名单上可以设置需要监控的业务接口及对应的请求次数阈值,客户端在监测到单位时间内对该接口的请求次数超过阈值时,可以屏蔽该接口的业务请求。但是这种方式的缺陷是,名单的变更依赖于客户端应用的版本升级,不够灵活和快速。另一种方式是可以在服务端监控,当服务端监测到某个业务接口的请求次数超过阈值时,屏蔽所有对该接口的业务请求。该方式的缺陷是,可能会因为一个客户端的恶意请求而影响对该接口访问的所有客户端。
技术实现思路
有鉴于此,本专利技术提供一种攻击请求处理方法和装置,以使得对恶意攻击的业务请求的控制更加灵活、快速和精准。具体地,本专利技术是通过如下技术方案实现的:第一方面,提供一种攻击请求处理方法,所述方法包括:在接收到调用业务接口的业务请求时,获取相邻两次请求的时间间隔;根据熔断系数和所述时间间隔确定熔断值;其中,随着业务请求次数的增加,所述熔断值向熔断条件值靠近,且所述熔断系数是服务端反馈的根据所述业务接口的性能数据生成的系数;当在单位时间内所统计的所述熔断值满足所述熔断条件值时,则确定受到攻击请求,阻塞对所述业务接口的业务请求,其中,所述熔断值向所述熔断条件值靠近的过程中,任意两次业务请求的时间间隔均小于预定间隔。第二方面,提供一种攻击请求处理方法,所述方法包括:根据业务接口对应的性能数据,生成熔断系数;将所述熔断系数发送至客户端,以使得客户端根据所述熔断系数确定用于阻塞对所述业务接口的攻击请求的熔断值。第三方面,提供一种攻击请求处理装置,所述装置包括:时间获取模块,用于在接收到调用业务接口的业务请求时,获取相邻两次请求的时间间隔;数值确定模块,用于根据熔断系数和所述时间间隔确定熔断值;其中,随着业务请求次数的增加,所述熔断值向熔断条件值靠近,且所述熔断系数是服务端反馈的根据所述业务接口的性能数据生成的系数;请求处理模块,用于当在单位时间内所统计的所述熔断值满足所述熔断条件值时,则确定受到攻击请求,阻塞对所述业务接口的业务请求,其中,所述熔断值向所述熔断条件值靠近的过程中,任意两次业务请求的时间间隔均小于预定间隔。第四方面,提供一种攻击请求处理装置,所述装置包括:系数生成模块,用于根据业务接口对应的性能数据,生成熔断系数;系数发送模块,用于将所述熔断系数发送至客户端,以使得客户端根据所述熔断系数确定用于阻塞对所述业务接口的攻击请求的熔断值。本专利技术的攻击请求处理方法和装置,通过在客户端利用熔断机制识别和阻断恶意攻击,相对于在服务端侧控制,基本不会对其他客户端的正常请求造成影响,如果某个客户端受到了对接口的攻击请求,在该客户端侧阻断请求即可,其他客户端仍然可以照常调用该接口进行访问;并且,相对于传统方式中单独在客户端根据名单和阈值控制的方式,本方案采用熔断机制符合攻击请求的特点,可以更快的识别到攻击请求,而且该方法还结合了服务端侧提供的熔断系数,在考虑攻击请求自身的特点的基础上还综合考虑了服务端的负载情况,当服务端性能较差时,可以通过熔断系数使得客户端侧更快的熔断,从而有效避免加剧服务端的负载。附图说明图1是本专利技术实施例提供的一种攻击表现形式;图2是本专利技术实施例提供的一种攻击表现形式;图3是本专利技术实施例提供的一种攻击请求处理方法的流程图;图4是本专利技术实施例提供的一种服务端侧的处理流程;图5是本专利技术实施例提供的一种客户端侧的处理流程;图6是本专利技术实施例提供的一种攻击请求处理装置的结构示意图;图7是本专利技术实施例提供的一种攻击请求处理装置的结构示意图。具体实施方式移动应用通常由客户端和服务端支撑其正常运行,例如,客户端通指安装在智能终端上的应用软件,服务端则通指安装在服务器上支撑客户端应用软件正常运行的系统。客户端可以通过RPC协议远程调用服务端提供的业务接口,使得服务端运行的各种业务规则能够展现在客户端使用。一些恶意攻击可以模拟客户端的操作,频繁连续的调用业务接口,从而导致服务端的接口压力较大,导致运行异常,甚至宕机,比如,正常情况下,单位时间内如1s内用户发送业务请求1次,而恶意的攻击请求可能达到1s内发送业务请求成千上万次。本申请提供的攻击请求处理方法,可以用于识别到对于某个业务接口调用的业务请求是否是攻击请求,并在确定为攻击请求时,及时阻断该请求。请结合参见图1所示,根据实验验证,如果客户端侧发生了恶意攻击,即单位时间内密集完成接口调用,那么将呈现一种欠阻尼运动的形式。如图1的示例,纵轴表示振幅,横轴表示时间,如果单位时间内连续进行业务请求,且任意两次请求之间的时间间隔均小于预定间隔t_interval,则随着业务请求次数的增加,最终振幅将达到0。而继续参见图2,假设在振幅随着业务请求次数增加而不断下降的过程中,出现一次两个业务请求的时间间隔超过了t_interval,则振幅将恢复到初始值。根据图1和图2的特点,可以借用阻尼公式来识别攻击请求。例如,阻尼公式可以是:x=Ae-δtcos(ωt),其中,Ae-δt为振幅,A根据实际经验可以取值为1.5,δ为阻尼系数,可以为1;ω代表角频率取值为0;t随单位时间内的业务请求次数的增加而累积,每接收到一次业务请求,可以产生一个累积增量,该增量可以是本次业务请求与上一次请求之间的时间间隔。根据上述的阻尼公式,如果在统计的单位时间内(可以是1s,甚至更小的时间片),任意两次业务请求的时间间隔均小于t_interval,则t可以一直累积,当持续点击达到一定量时,x将小于或等于0。本申请的方法中,可以将x小于或等于0作为确定攻击请求的条件,即如果出现了x小于或等于0,则表明在单位时间内已经出现了一定量的持续频繁的业务请求,可以认为是恶意的攻击请求。当然,在其他例子中,也可以采用非阻尼公式的其他方式。此外,仍以上述的客户端利用阻尼公式的计算确定攻击请求为例,本申请的攻击请求处理方法中,客户端在使用阻尼公式时,还可以结合一个参数“熔断系数”,该熔断系数可以是服务端反馈给客户端,并且可以是服务端根据业务请求所调用的业务接口的性能数据(例如,CPU、内存等)计算得到,能够反映业务接口当前的负载情况。例如,如果业务接口负载较大,内存占用较多,则熔断系数可以较高,反之,如果业务接口负载较低,熔断系数可以较低。该熔断系数可以作为阻尼公式中的t的累积基数t_dumping,那么可以得到,假设单位时间内同样进行一定量的持续频繁业务请求,不同的累积基数,阻尼公式中的x达到临界值0的时间不同,如果累积基数t_dumping较高,x将更快的下降到0。如果在确定攻击请求后及时采取阻断对接口的业务请求的处理,可以将这种对业务接口请求的阻断称为“熔断”(即相当于对该接口进行限流),相应的,如本文档来自技高网...

【技术保护点】
一种攻击请求处理方法,其特征在于,所述方法包括:在接收到调用业务接口的业务请求时,获取相邻两次请求的时间间隔;根据熔断系数和所述时间间隔确定熔断值;其中,随着业务请求次数的增加,所述熔断值向熔断条件值靠近,且所述熔断系数是服务端反馈的根据所述业务接口的性能数据生成的系数;当在单位时间内所统计的所述熔断值满足所述熔断条件值时,则确定受到攻击请求,阻塞对所述业务接口的业务请求,其中,所述熔断值向所述熔断条件值靠近的过程中,任意两次业务请求的时间间隔均小于预定间隔。

【技术特征摘要】
1.一种攻击请求处理方法,其特征在于,所述方法包括:在接收到调用业务接口的业务请求时,获取相邻两次请求的时间间隔;根据熔断系数和所述时间间隔确定熔断值;其中,随着业务请求次数的增加,所述熔断值向熔断条件值靠近,且所述熔断系数是服务端反馈的根据所述业务接口的性能数据生成的系数;当在单位时间内所统计的所述熔断值满足所述熔断条件值时,则确定受到攻击请求,阻塞对所述业务接口的业务请求,其中,所述熔断值向所述熔断条件值靠近的过程中,任意两次业务请求的时间间隔均小于预定间隔。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若获取到的相邻两次请求的时间间隔大于预定间隔,则将所述熔断值清零。3.根据权利要求1所述的方法,其特征在于,所述根据熔断系数和所述时间间隔确定熔断值,包括:根据阻尼公式计算所述熔断值,其中,所述时间间隔是所述阻尼公式中的累积增量,所述熔断系数是所述阻尼公式中的累积基数。4.根据权利要求1所述的方法,其特征在于,在阻塞对所述业务接口的业务请求之后,所述方法还包括:向服务端发送接口请求阻塞通知;接收所述服务端反馈的更新的熔断系数。5.根据权利要求1所述的方法,其特征在于,在阻塞对所述业务接口的业务请求之后,所述方法还包括:向服务端发送接口请求阻塞通知;接收所述服务端发送的熔断时间,并在所述熔断时间之后停止阻塞。6.一种攻击请求处理方法,其特征在于,所述方法包括:根据业务接口对应的性能数据,生成熔断系数;将所述熔断系数发送至客户端,以使得客户端根据所述熔断系数确定用于阻塞对所述业务接口的攻击请求的熔断值。7.根据权利要求6所述的方法,其特征在于,所述根据业务接口对应的性能数据,生成熔断系数,之前还包括:由业务接口灰名单中获取所述业务接口、以及对应业务接口的性能阈值;采集所述业务接口的性能数据;判断所述性能数据是否高于所述性能阈值,并且判断结果为是。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若所述性能数据低于所述性能阈值,则屏蔽对于所述业...

【专利技术属性】
技术研发人员:丁伟伟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1