首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 请求 / 一种处理客户端请求的方法和装置

一种处理客户端请求的方法和装置

阅读:1038发布:2020-06-23

专利汇可以提供一种处理客户端请求的方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种处理客户端 请求 的方法和装置,能够降低DDoS攻击下的WEB 服务器 的负荷。本发明的处理客户端请求的方法包括:WEB服务器的代理服务器截取客户端发送的HTTP 访问 请求;所述代理服务器从预设的 算法 库中随机选择一项计算任务,将包含该计算任务的响应代码发送给所述客户端;所述代理服务器截取所述客户端发送的包含执行该计算任务的结果的跳转请求,然后判断该结果是否正确,若正确则将该跳转请求发送给所述WEB服务器,否则拒绝所述跳转请求。,下面是一种处理客户端请求的方法和装置专利的具体信息内容。

1.一种处理客户端请求的方法,其特征在于,包括:
WEB服务器的代理服务器截取客户端发送的HTTP访问请求;
所述代理服务器从预设的算法库中随机选择一项计算任务,将包含该计算任务的响应代码发送给所述客户端;
所述代理服务器截取所述客户端执行该计算任务后发送的包含执行该计算任务的结果的跳转请求,然后判断该结果是否正确,若正确则将该跳转请求发送给所述WEB服务器,否则拒绝所述跳转请求。
2.根据权利要求1所述的方法,其特征在于,在将所述响应代码发送给所述客户端之前,还包括:所述代理服务器对所述响应代码进行阅读混淆处理。
3.根据权利要求1所述的方法,其特征在于,在将所述响应代码发送给所述客户端之前,还包括:所述代理服务器对所述响应代码进行加密。
4.根据权利要求1,2或3中任一项所述的方法,其特征在于,所述算法库中包括如下的一个或多个计算任务集,每个计算任务集包含多个计算任务:
算术四则运算任务集,要求对生成的随机数进行算术四则运算;
数值计算任务集:要求对生成的随机数按指定方式进行数值计算;
图像处理方法集:要求对指定的图像按指定方式进行处理。
5.一种处理客户端请求的装置,其特征在于,包括:
第一截取模块,用于截取客户端发送的HTTP访问请求;
选择模块,用于从预设的算法库中随机选择一项计算任务;
响应模块,用于将包含所述计算任务的响应代码发送给所述客户端;
第二截取模块,用于截取所述客户端执行该计算任务后发送的包含执行所述计算任务的结果的跳转请求;
判断处理模块,用于判断所述结果是否正确,若正确则将该跳转请求发送给WEB服务器,否则拒绝所述跳转请求。
6.根据权利要求5所述的装置,其特征在于,所述响应模块还用于在将所述响应代码发送给所述客户端之前,对所述响应代码进行阅读混淆处理。
7.根据权利要求5所述的装置,其特征在于,所述响应模块还用于在将所述响应代码发送给所述客户端之前,对所述响应代码进行加密。
8.根据权利要求5,6或7中任一项所述的装置,其特征在于,还包括存储模块,用于保存算法库,所述算法库中包括如下的一个或多个计算任务集,每个计算任务集包含多个计算任务:
算术四则运算任务集,要求对生成的随机数进行算术四则运算;
数值计算任务集:要求对生成的随机数按指定方式进行数值计算;
图像处理方法集:要求对指定的图像按指定方式进行处理。

说明书全文

一种处理客户端请求的方法和装置

技术领域

[0001] 本发明涉及计算机网络安全技术领域,特别地涉及一种处理客户端请求的方法和装置。

背景技术

[0002] 当今互联网业务中,Web服务占据了相当大的比例,尤其是智能终端设备比如手机等的大面积普及,使得通过Web提供和获取信息的公司和用户呈爆炸性增长,Web服务的安全问题也日益成为人们的一大关注点。超文本传输协议(Hyper Text Transfer Protocol,HTTP)作为Web应用的核心协议,经常被黑客利用来实施分布式拒绝服务攻击(Distributed Denial of Service,DDoS)。在实施DDoS时,黑客发动大量的HTTP请求,使服务器的主要资源在短时间内被用来处理这些HTTP请求从而被几乎耗尽,无法提供其他服务。由于这些HTTP请求非常接近于用户行为,让一般防火墙等防御工具无法区分其为黑客行为还是用户正常访问,所以很难检测和防御。
[0003] 黑客发动在实施DDoS攻击前,先通过特殊手段按分级治理(黑客主机控制主僵尸,主僵尸控制从僵尸,从僵尸发动攻击)的方式来控制大批散落于互联网各处的可运行程序的计算机或智能设备,这些可运行程序的设备被统称为“肉鸡”,通过操纵数量众多的“肉鸡”,黑客能够在短时间发起大量的HTTP请求,即实施DDoS攻击。
[0004] 挑战/回复(Challenge/Response)是应对DDoS的一种技术,该种技术一般将真正提供Web服务的服务器隐藏起来,暴露在访问者面前的是守护真正提供Web服务的代理服务器,挑战(Challenge)就发生在访问者与中间的代理服务器之间。
[0005] 访问者请求首先被代理服务器截住,然后代理服务器利用Cookies技术和HTTP访问跳转技术构造一个响应并返回给访问者,访问者收到这个响应后,通常会先执行一段代码(该步骤可选),然后利用Cookies携带结果并跳转到新的URL上,代理服务器再次截住这个请求,对携带的Cookies值进行校验,如果通过校验,则请求将发送到真正的Web服务器;否则将再次返回之前构造的响应,并记录重试次数,如此循环往复,如超过重试次数,就拒绝访问者。
[0006] 上述过程中用到的HTTP访问跳转技术一般包括:
[0007] 1.302/307等HTTP状态码;
[0008] 2.HTML语言中关于跳转的META标签;
[0009] 3.利用JavaScript的Document.location.href语法或基于JavaScript定制的模板。
[0010] Challenge/Response的基本过程如下:
[0011] 步骤1.访问者请求真正提供Web服务的URL;
[0012] 步骤2.代理服务器截住该请求,然后利用Cookies技术和HTTP访问跳转技术构造响应,并将之返回给访问者;
[0013] 步骤3.访问者收到该响应后,先执行响应内容中的一段代码,然后利用跳转请求中的Cookies携带计算结果然后发送给代理服务器以进行跳转;
[0014] 步骤4.代理服务器截住该跳转请求,对其中的Cookies值进行校验,如果校验成功,则将请求直接发送给真正的Web服务器;否则,将之前构造的响应再次返回给访问者,并记录重试次数;
[0015] 步骤5.循环往复1-4步骤,直到超过重试次数,代理服务器拒绝访问者。
[0016] 对于现有的挑战/回复技术,黑客能够通过人工或计算机辅助的方式另行分析出步骤2中的响应的源代码得出其中的计算结果,然后将计算结果直接附加在跳转请求中的Cookies内,对于每一台“肉鸡”来说,都通过该方式直接生成跳转请求从而避免由攻击程序进行计算,因此在进行DDoS攻击时仍能够向WEB服务器施加相当大的负荷。

发明内容

[0017] 有鉴于此,本发明提供一种处理客户端请求的方法和装置,能够降低DDoS攻击下的WEB服务器的负荷。
[0018] 为实现上述目的,根据本发明的一个方面,提供了一种处理客户端请求的方法。
[0019] 本发明的处理客户端请求的方法包括:WEB服务器的代理服务器截取客户端发送的HTTP访问请求;所述代理服务器从预设的算法库中随机选择一项计算任务,将包含该计算任务的响应代码发送给所述客户端;所述代理服务器截取所述客户端执行该计算任务后发送的包含执行该计算任务的结果的跳转请求,然后判断该结果是否正确,若正确则将该跳转请求发送给所述WEB服务器,否则拒绝所述跳转请求。
[0020] 可选地,在将所述响应代码发送给所述客户端之前,还包括:所述代理服务器对所述响应代码进行阅读混淆处理。
[0021] 可选地,在将所述响应代码发送给所述客户端之前,还包括:所述代理服务器对所述响应代码进行加密。
[0022] 可选地,所述算法库中包括如下的一个或多个计算任务集,每个计算任务集包含多个计算任务:算术四则运算任务集,要求对生成的随机数进行算术四则运算;数值计算任务集:要求对生成的随机数按指定方式进行数值计算;图像处理方法集:要求对指定的图像按指定方式进行处理。
[0023] 根据本发明的另一方面,提供了一种处理客户端请求的装置。
[0024] 本发明的处理客户端请求的装置包括:第一截取模,用于截取客户端发送的HTTP访问请求;选择模块,用于从预设的算法库中随机选择一项计算任务;响应模块,用于将包含所述计算任务的响应代码发送给所述客户端;第二截取模块,用于截取所述客户端执行该计算任务后发送的包含执行所述计算任务的结果的跳转请求;判断处理模块,用于判断所述结果是否正确,若正确则将该跳转请求发送给WEB服务器,否则拒绝所述跳转请求。
[0025] 可选地,所述响应模块还用于在将所述响应代码发送给所述客户端之前,对所述响应代码进行阅读混淆处理。
[0026] 可选地,所述响应模块还用于在将所述响应代码发送给所述客户端之前,对所述响应代码进行加密。
[0027] 可选地,还包括存储模块,用于保存算法库,所述算法库中包括如下的一个或多个计算任务集,每个计算任务集包含多个计算任务:算术四则运算任务集,要求对生成的随机数进行算术四则运算;数值计算任务集:要求对生成的随机数按指定方式进行数值计算;图像处理方法集:要求对指定的图像按指定方式进行处理。
[0028] 根据本发明的技术方案,从算法库中选择挑战问题,使黑客无法在跳转请求中直接添加问题答案从而避免攻击程序进行问题的解答计算;在黑客改进攻击程序的情况下,其可控的“肉鸡”数量相应减少,从而降低了DDoS攻击下的WEB服务器的负荷。附图说明
[0029] 附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0030] 图1是根据本发明实施例的处理客户端请求的方法的主要步骤的示意图;
[0031] 图2是根据本发明实施例的处理客户端请求的装置的主要模块的示意图。

具体实施方式

[0032] 以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0033] 图1是根据本发明实施例的处理客户端请求的方法的主要步骤的示意图。如图1所示,本发明实施例的处理客户端请求的方法主要包括如下步骤:
[0034] 步骤S11:WEB服务器的代理服务器截取客户端发送的HTTP访问请求。
[0035] 步骤S12:代理服务器从预设的算法库中随机选择一项计算任务,将包含该计算任务的响应代码发送给客户端。本步骤即为发起“挑战”的步骤,其中的计算任务是从算法库中随机选择。客户端必须执行该计算任务,并将结果包含在接下来的跳转请求中。
[0036] 步骤S13:代理服务器截取客户端发送的包含执行该计算任务的结果的跳转请求。
[0037] 步骤S14:代理服务器判断跳转请求中包含的执行上述计算任务的结果是否正确,若正确则进入S15,否则进入步骤S16。
[0038] 步骤S15:代理服务器将跳转请求发送给WEB服务器。
[0039] 步骤S16:代理服务器拒绝上述跳转请求。
[0040] 需要说明的是,正常用户对于WEB服务器的访问,同样需接受上述挑战,这些用户使用的终端设备例如个人计算机仍需对挑战问题进行计算。所以算法库中的挑战问题必须仔细设置,使主流配置的终端设备进行计算所需的时间不影响用户体验。
[0041] 对于设置好的挑战问题,可以进一步得出一些与其耗时比较接近的等价问题。例如,一个挑战问题是计算自然数1至10000的和,其等价问题例如将其分成10个计算问题,分别是计算自然数1至1000的和,再计算1001至2000的和……直至计算到9001至10000的和。
[0042] 可以对算法库中的计算任务进行分类以便维护。这样,算法库中包括一个或多个计算任务集,每个计算任务集包含多个计算任务。计算任务集例如:
[0043] 算术四则运算任务集,要求对生成的随机数进行算术四则运算;
[0044] 数值计算任务集:要求对生成的随机数按指定方式进行数值计算;
[0045] 图像处理方法集:要求对指定的图像按指定方式进行处理。
[0046] 每种计算任务集有一个唯一值标识,每个计算任务集中的每个等价方法也用一个唯一值标识,这样各个具体的计算任务就可以分别用一个二元组<计算任务集标识,计算任务标识>来区分。
[0047] 如果黑客试图破解算法库中的所有问题,则可以再对上述的步骤S12中的响应代码做进一步处理。因为黑客在破解挑战问题时会人工分析该响应代码,所以对响应代码做进一步处理时主要是对其进行阅读混淆处理。阅读混淆处理是使代码变得不适宜人工阅读的一种处理方式,目前通常的做法是去除网页源代码中的帮助人类阅读的内容,例如注释、有层级的缩进量、空行等,使该源代码难以阅读,也可以在源代码中加入大量空白篇幅以干扰阅读。本实施例中,还可以在源代码中添加无效代码,无效代码是在执行源代码时不被执行的代码,但它们能够占用无效代码的篇幅,为分析者带来阅读和分析的困难。另外还可以对响应代码进行加密,使其难以由人工直接阅读,这里的加密例如自定义变量名,使变量名替换为不常见的形式从而干扰阅读和分析。
[0048] 图2是根据本发明实施例的处理客户端请求的装置的主要模块的示意图。如图2所示,处理客户端请求的装置20主要包括:第一截取模块21、选择模块22、响应模块23、第二截取模块24、以及判断处理模块25。
[0049] 第一截取模块21用于截取客户端发送的HTTP访问请求;选择模块22用于从预设的算法库中随机选择一项计算任务;响应模块23用于将包含该计算任务的响应代码发送给客户端;第二截取模块24用于截取客户端发送的包含执行该计算任务的结果的跳转请求;判断处理模块25用于判断该结果是否正确,若正确则将该跳转请求发送给WEB服务器,否则拒绝该跳转请求。
[0050] 响应模块23还可用于在将响应代码发送给客户端之前,对上述响应代码进行阅读混淆处理。
[0051] 响应模块23还可用于在将响应代码发送给客户端之前,对该响应代码进行加密。
[0052] 处理客户端请求的装置20还可包括存储模块,用于保存算法库,该算法库中包括如下的一个或多个计算任务集,每个计算任务集包含多个计算任务:算术四则运算任务集,要求对生成的随机数进行算术四则运算;数值计算任务集:要求对生成的随机数按指定方式进行数值计算;图像处理方法集:要求对指定的图像按指定方式进行处理。
[0053] 采用本发明实施例的技术方案,有助于减轻在DDoS攻击下的WEB服务器的负荷,以下做一分析。
[0054] 对于黑客应对挑战/回复技术的策略,首先分析出挑战问题的答案,然后将其附加在跳转请求中以避免由攻击程序进行计算。但是按上述步骤,挑战问题是从算法库中随机选择,因此不同的“肉鸡”中的攻击程序遇到的挑战问题不相同,同一“肉鸡”在不同的访问请求后遇到的挑战问题也不同,因此黑客即使得出一个挑战问题的答案,该答案也不适用于另一挑战问题。
[0055] 如果黑客放弃对挑战问题的分析,直接由他开发的攻击程序进行计算,则DDoS攻击的效果将大打折扣。本实施例的上述步骤还基于如下原因:黑客通常会尽可能地使用简单的攻击程序,使计算资源配置较低的“肉鸡”也能够运行该攻击程序,这样就能有尽可能多的“肉鸡”能够参与到攻击中。但通过调整算法库中的挑战问题的难度,能够使黑客的攻击程序无法计算出该挑战问题从而攻击失败。黑客也许会提高其攻击程序的性能以能够应对挑战问题,但这一方面增加其开发成本,对于一些黑客则无开发,另一方面攻击程序的复杂使得其可控制的“肉鸡”数量减少,从而降低了DDoS攻击下的WEB服务器的负荷。
[0056] 以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件固件软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
[0057] 因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。
[0058] 还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0059] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
相关专利内容
标题 发布/更新时间 阅读量
处理请求 2020-05-11 728
跟踪服务器请求 2020-05-13 186
自动再发送请求 2020-05-13 356
自动再发送请求 2020-05-13 271
请求式定位 2020-05-11 958
请求路由 2020-05-11 819
请求路由 2020-05-11 143
请求开关 2020-05-11 561
请求式定位 2020-05-11 1039
处理请求 2020-05-11 189
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈