(12)发明专利申请
(10)申请公布号 CN 110381049 A(43)申请公布日 2019.10.25
(21)申请号 201910631100.7(22)申请日 2019.07.12
(71)申请人 浙江智贝信息科技有限公司
地址 310053 浙江省杭州市滨江区六合路
368号一幢(北)二楼B2090室(72)发明人 陈兴军 周正达 田婷 曹耀和 (74)专利代理机构 杭州华进联浙知识产权代理
有限公司 33250
代理人 张勇(51)Int.Cl.
H04L 29/06(2006.01)
权利要求书2页 说明书5页 附图3页
(54)发明名称
一种WEB动态安全防御方法和系统(57)摘要
本发明揭露了一种WEB动态安全防御方法和系统,本发明基于移动目标防御技术思路,提供一种面向WEB服务系统的主动动态防御机制,在受保护的WEB应用服务系统未受到攻击时,主动变换服务入口或资源地址,不但有效隐藏保护了服务器后台的信息,而且通过随机化动态编码技术方式实现了系统受攻击面的动态化和不确定性,提高了网络攻击实施的难度,有效加强了WEB应用服务系统的抗攻击能力。
CN 110381049 ACN 110381049 A
权 利 要 求 书
1/2页
1.一种WEB动态安全防御方法,用于对网络服务入口以及资源地址等相关信息随机化动态编码,其中所述相关信息包括服务入口、资源地址、URI(统一资源标识符)、文件信息、页面信息、目录、网络地址中的至少一种,其特征在于,包括如下步骤:
S01、WEB终端(10)向服务端发起WEB请求,所述服务端包括WEB反向代理(20)和WEB应用服务端(30),所述WEB请求在传送至服务端时先经WEB反向代理(20)接收处理;
S02、所述WEB反向代理(20)接收所述WEB请求,通过安全编码模块(21)完成对WEB请求数据包的解析和译码处理工作,并转发至WEB应用服务端(30);
S03、WEB应用服务端(30)接收到所述WEB请求数据包,根据原有应用逻辑完成请求资源或者数据的处理,并完成WEB响应数据包的创建;
S04、WEB应用服务端(30)将WEB响应数据包向所述WEB终端(10)发送返回前,安全插件(31)和安全编码模块(21)将截取所述WEB响应数据包,完成数据包的解析、随机化动态编码以及重打包处理工作;
S05、所述WEB响应数据包完成S04步骤处理后通过所述WEB反向代理(20)发送至WEB终端(10);
S06、所述WEB终端(10)接收随机化动态编码后的响应数据包,并通过WEB浏览器或者其它WEB数据包解析器,完成响应数据包的解析和显示等操作,其中显示内容包括所述随机化动态虚拟资源地址和信息。
2.根据权利要求1所述的一种WEB动态安全防御方法,其特征在于,所述S02步骤中针对WEB请求数据包的解析和译码处理工作包括如下步骤:
S021、所述WEB反向代理(20)中,安全编码模块(21)取所述WEB请求数据包;S022、所述安全编码模块(21)析提取网络服务入口以及资源地址等相关信息;S023、所述安全编码模块(21)提取信息进行译码操作,译码后的编码可以被WEB应用服务端(30)识别;
S024、如果译码成功,将完成编码替换、并完成所述WEB请求数据包的重打包处理,转发至WEB应用服务端(30);
S025、如果译码失败将标识错误信息,并进行安全异常记录和分析处理,同时根据系统设置,可选择向所述WEB终端(10)发送错误告警页面,或者静默拦截所述WEB请求,中断处理流程。
3.根据权利要求1所述的一种WEB动态安全防御方法,其特征在于,所述的S04步骤中,所述随机化动态编码将网络服务入口以及资源地址等相关信息转化为一次性可用的编码,所述的编码只对当前会话有效。
4.根据权利要求1所述的一种WEB动态安全防御方法,其特征在于,在所述S04步骤中,包括如下步骤:
S041、所述安全插件(31)和/或所述安全编码模块(21)将截取所述WEB响应数据包;S042、对所述WEB响应数据包进行解析,提取网络服务入口以及资源地址等相关信息;S043、对提取的网络服务入口以及资源地址等相关信息进行随机化动态编码;S044、对所述WEB响应数据包中网络服务入口以及资源地址等相关信息进行编码替换,并完成重打包处理,发送至所述WEB终端(10)。
5.根据权利要求1所述的一种WEB动态安全防御方法,其特征在于,在所述S03或S04步
2
CN 110381049 A
权 利 要 求 书
2/2页
骤中,编码和译码过程可以采用查表映射的方式或者编码计算方式(如采用加密算法等)实现,使得所述随机化处理后的文件信息、代码、URI(统一资源标识符)和目录可被解析。
6.一种WEB动态安全防御系统,包括:WEB反向代理(20)和安全插件(31),其中所述WEB反向代理(20)包含WEB代理(22)和安全编码模块(21),其中WEB代理(22)根据WEB终端(10)的请求向后端所述WEB应用服务端获取资源,并将获取的资源转发给WEB终端;其中安全编码模块(21)可以拦截、解析与重写请求/响应数据包,并实现随机化动态编码以及相关译码功能。
7.根据权利要求5所述的所述一种WEB动态安全防御系统,其特征在于,所述的WEB反向代理(20)可以对WEB响应数据包中网络服务入口以及资源地址等相关信息进行随机化动态编码,并且编码后响应数据包发送至所述WEB终端(10),随机化动态编码后的响应数据包不会影响所述WEB终端(10)中WEB浏览器或者其它WEB数据包解析处理结果。
3
CN 110381049 A
说 明 书
一种WEB动态安全防御方法和系统
1/5页
技术领域
[0001]本发明涉及信息安全领域,特别是一种WEB动态安全防御方法和系统。
背景技术[0002]信息安全的重要性已经上升到国家战略层面。虽然传统信息安全设备商与服务商提供了诸多解决方案,国家的法律法规以及相关标准也规定了严格的安全管理制度,但是信息安全问题仍然无法杜绝。例如,网页防篡改事件,网站挂马事件,网站数据加密勒索事件等时有发生并造成经济损失以及恶劣的社会影响。[0003]剖析网络安全现状,造成信息安全领域“易攻难守”局面的原因,主要是传统的WEB应用安全的防护方案存在“短板”。现有信息安全采取的是“查漏补缺”的防御方式,而安全漏洞往往具有不可预知性。“事后补救”安全防御机制造成了的信息防御态势被动的局面。因此,传统的边界防御安全机制,对已知的为威胁和漏洞具备防御效果,但是对未知缺陷和威胁如未知漏洞后门、未知病毒木马等造成的系统脆弱性)缺乏良好防御手段,陷入“治标不治本”的困境。因此需要一种有效的安全机制,打破漏洞与安全间的因果关系,做到“有没有漏洞,都能确保安全”,扭转信息安全防御被动的态势。
[0004]目前WEB应用安全往往采用应用防火墙或者入侵防御设备进行防护,这些设备采用传统的基于规则匹配的防御方式,无法实现对漏洞完备防御,一方面,对未知缺陷和威胁缺乏有效的防御手段,在攻防态势上完全被动,无法主动防御新出现的漏洞及威胁风险,如果相关补丁不及时极易造成“零天攻击”风险。另一方面,传统的应用防火墙WAF)在安全规则全开的情况下,性能下降严重,甚至于宕机的情况出现,而在现实中,应用系统的相关漏洞随着时间推移会不断暴露积累,不可避免造成传统防御产品种规则库不断增大扩容,考虑到性能可行性因素,使得应用系统的维护将陷入安全与运行之间的两难境地。[0005]因此设计一种可以有效地隐藏后台真实资源地址,对资源地址的动态化处理,使得网络攻击者的攻击目标动态化,从而提高WEB应用抗攻击能力的系统具有重要的现实意义和广阔的应用前景。
发明内容
[0006]本发明其中一个目的在于提供一种WEB动态安全防御方法和系统,所述方法采用动态主动防御的方式,本发明优选地在采用代理服务器的方式对原有WEB应用服务系统实施防护。
[0007]本发明在不影响业务流程以及用户体验的前提下,实现了WEB资源地址的虚拟化以及一次性编码变换,使得网络攻击者的攻击目标动态化、无法预测攻击切入口,并且有效隐藏服务器后台信息。
[0008]本发明实现一种主动防护机制和动态防御机制,在受保护的WEB应用服务系统未受到攻击时,主动变换服务入口或资源地址,并通过随机化动态编码技术方式实现了系统受攻击面的动态化和不确定性,提高了网络攻击实施的难度,有效加强了WEB应用服务系统
4
CN 110381049 A
说 明 书
2/5页
的抗攻击能力。
[0009]本发明提供一种WEB动态安全防御方法,用于对网络服务入口以及资源地址等相关信息随机化动态编码,其中所述相关信息包括服务入口、资源地址、URI统一资源标识符、文件信息、页面信息、目录、网络地址中的至少一种,包括如下步骤:
S01、WEB终端10向服务端发起WEB请求,所述服务端包括WEB反向代理20和WEB应用服务端30,所述WEB请求在传送至服务端时先经WEB反向代理20接收处理;
S02、所述WEB反向代理20接收所述WEB请求,通过安全编码模块21完成对WEB请求数据包的解析和译码处理工作,并转发至WEB应用服务端30;
S03、WEB应用服务端30接收到所述WEB请求数据包,根据原有应用逻辑完成请求资源或者数据的处理,并完成WEB响应数据包的创建;
S04、WEB应用服务端30将WEB响应数据包向所述WEB终端10发送返回前,安全插件31和安全编码模块21将截取所述WEB响应数据包,完成数据包的解析、随机化动态编码以及重打包处理工作;
S05、所述WEB响应数据包完成S04步骤处理后通过所述WEB反向代理20发送至WEB终端10;
S06、所述WEB终端10接收随机化动态编码后的响应数据包,并通过WEB浏览器或者其它WEB数据包解析器,完成响应数据包的解析和显示等操作,其中显示内容包括所述随机化动态虚拟资源地址和信息。
[0010]为了实现上述发明目的本发明进一步提供一种WEB动态安全防御系统,所述系统包括:WEB反向代理20和安全插件31,其中所述WEB反向代理20包含WEB代理22和安全编码模块21,其中WEB代理22根据WEB终端10的请求向后端所述WEB应用服务端获取资源,并将获取的资源转发给WEB终端;其中安全编码模块21可以拦截、解析与重写请求/响应数据包,并实现随机化动态编码以及相关译码功能。
[0011]所述的WEB反向代理20可以对WEB响应数据包中网络服务入口以及资源地址等相关信息进行随机化动态编码,并且编码后响应数据包发送至所述WEB终端10,随机化动态编码后的响应数据包不会影响所述WEB终端10中WEB浏览器或者其它WEB数据包解析处理结果。
[0012]所述随机化动态编码处理过程中,包含编码和译码的处理过程,该过程可以采用查表映射的方式或者编码计算方式如采用加密算法等实现,使得所述随机化处理后的网络服务入口以及资源地址等相关信息可被解析,其中所述相关信息可包括服务入口、资源地址、URI统一资源标识符、文件信息、页面信息、目录。
[0013]所述随机化动态编码将网络服务入口以及资源地址等相关信息转化为一次性可用的编码,所述的编码只对当前会话有效。
[0014]本发明可显著提高针对受保护WEB应用服务系统的攻击实施难度,通过对网络服务入口以及资源地址等相关信息随机化动态处理,实现了系统受攻击面的动态化,使得攻击侧难以定位实施攻击的入口和目标。
[0015]本发明通过对网络服务入口以及资源地址等相关信息虚拟化处理,隐藏后台关键信息,使得攻击者无法通过逆向工程分析网络后台,从而可以有效地避免漏洞被发现攻击的风险,提高了受保护WEB应用服务系统运行的安全性。
5
CN 110381049 A
说 明 书
3/5页
附图说明
[0016]图1显示的是本发明一种WEB动态安全防御方法的流程示意图。
[0017]图2显示的是本发明一种WEB动态安全防御方法的WEB请求数据包解析流程示意图。
[0018]图3显示的是本发明一种WEB动态安全防御方法的WEB响应数据包随机化动态处理流程示意图。
[0019]图4显示的是本发明一种WEB动态安全防御系统示意图。[0020]其中,10-WEB终端,20-WEB反向代理端, 30-WEB应用服务端,21-安全编码模块, 22-WEB代理,31-安全插件,32-WEB应用。具体实施方式
[0021]以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。[0022]由图4可知,一种WEB动态安全防御系统,包括:WEB反向代理20和安全插件31,其中所述WEB反向代理20包含WEB代理22和安全编码模块21,其中WEB代理22根据WEB终端10的请求向后端所述WEB应用服务端获取资源,并将获取的资源转发给WEB终端10;其中安全编码模块21可以拦截、解析与重写请求/响应数据包,并实现了随机化动态编码以及相关译码功能。
[0023]由附图1-4可知,该WEB动态安全防御系统通过反向代理部署方式实现了对所述WEB应用32安全防护;所述WEB终端10通过所述WEB反向代理端20的请求/响应数据包转发,实现与所述WEB应用服务端30的连接和交互。
[0024]所述WEB终端10的请求数据包经所述WEB反向代理端20预处理后转发至所述WEB应用服务端30,完成所述WEB应用32的逻辑处理。所述WEB应用32产生的响应数据包经所述WEB反向代理端20预处理后转发至所述WEB终端10。
[0025]所述的WEB反向代理20可以对WEB响应数据包中网络服务入口以及资源地址等相关信息进行随机化动态编码,并且编码后响应数据包发送至所述WEB终端10,随机化动态编码后的响应数据包不会影响所述WEB终端10中WEB浏览器或者其它WEB数据包解析处理结果。所述随机化动态编码将网络服务入口以及资源地址等相关信息转化为一次性可用的编码,所述的编码只对当前会话有效。
[0026]所述WEB动态安全防御方法的流程包括如下步骤,如图1所示:
S01、WEB终端10向服务端发起WEB请求,所述服务端包括WEB反向代理20和WEB应用服务端30,所述WEB请求在传送至服务端时先经WEB反向代理20接收处理;
S02、所述WEB反向代理20接收所述WEB请求,通过安全编码模块21完成对WEB请求数据包的解析和译码处理工作,并转发至WEB应用服务端30;
S03、WEB应用服务端30接收到所述WEB请求数据包,根据原有应用逻辑完成请求资源或者数据的处理,并完成WEB响应数据包的创建;
S04、WEB应用服务端30将WEB响应数据包向所述WEB终端10发送返回前,安全插件31和
6
CN 110381049 A
说 明 书
4/5页
安全编码模块21将截取所述WEB响应数据包,完成数据包的解析、随机化动态编码以及重打包处理工作;
S05、所述WEB响应数据包完成S04步骤处理后通过所述WEB反向代理20发送至WEB终端10;
S06、所述WEB终端10接收随机化动态编码后的响应数据包,并通过WEB浏览器或者其它WEB数据包解析器,完成响应数据包的解析和显示等操作,其中显示内容包括所述随机化动态虚拟资源地址和信息。
[0027]所述的一种WEB动态安全防御方法,所述S02步骤中针对WEB请求数据包的解析和译码处理工作包括如下步骤,如图2所示:
S021、所述WEB反向代理20中,安全编码模块21获取所述WEB请求数据包;S022、所述安全编码模块21解析提取网络服务入口以及资源地址等相关信息;S023、所述安全编码模块21对提取信息进行译码操作,译码后的编码可以被WEB应用服务端30识别;
S024、如果译码成功,将完成编码替换、并完成所述WEB请求数据包的重打包处理,转发至WEB应用服务端30;
S025、如果译码失败将标识错误信息,并进行安全异常记录和分析处理,同时根据系统设置,可选择向所述WEB终端10发送错误告警页面,或者静默拦截所述WEB请求,中断处理流程。
[0028]所述的一种WEB动态安全防御方法,在所述S04步骤中,包括如下步骤,如图3所示:
S041、所述安全插件31和/或所述安全编码模块21将截取所述WEB响应数据包;S042、对所述WEB响应数据包进行解析,提取网络服务入口以及资源地址等相关信息;S043、对提取的网络服务入口以及资源地址等相关信息进行随机化动态编码;S044、对所述WEB响应数据包中网络服务入口以及资源地址等相关信息进行编码替换,并完成重打包处理,发送至所述WEB终端10。
[0029]所述随机化动态编码将网络服务入口以及资源地址等相关信息转化为一次性可用的编码,所述的编码只对当前会话有效。
[0030]所述安全编码模块21将对所述随机化对象进行随机化动态编码和译码处理,信息编码范围设定在正常编码范围内,从而编码替换存入数据包或者文件后出现兼容性错误。[0031]所述安全编码模块21或者安全插件31可对随机化对象进行译码操作,译码方式可以采用解密译码计算或者反向映射查表方式实现。其中解密译码计算采用白盒加密或者代码混淆技术手段进行安全保护,反向查表方式可采用加密算法或者专业密码设备确保映射表的安全性。
[0032]所述WEB应用服务端30中安全插件31可根据中间件的种类实现方式进行适配性调整。WEB应用服务端30在响应请求过程中,安全插件31可用对响应数据包进行截获和分析,完成对资源地址标识;响应数据包传至WEB反向代理后,安全编码模块21根据资源地址标识获取随机化对象,完成随机化编码变换操作。[0033]在随机化编码处理中,可采用密码算法对称加密算法、单向加密算法等)或者直接采用随机数进行处理。其中算法的随机源可以采用物理随机源或者采用伪随机函数实现。[0034]特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机
7
CN 110381049 A
说 明 书
5/5页
软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。[0035]附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0036]本发明可以有效地隐藏后台真实资源地址,通过该技术手段对资源地址的动态化处理,使得网络攻击者的攻击目标动态化,从而实现WEB应用抗攻击能力。[0037]本发明中加密编码服务可采用硬件或软件的方式实现。[0038]本发明可使用至少一随机源,用以加密编码服务,其中所述随机源可采用物理真随机源或伪随机源,所述伪随机源采用包括但不仅选于CPU频率特征、时间特征等作为随机因子。
[0039]本发明采用安全代理的方式实现对WEB应用的安全防护。
8
CN 110381049 A
说 明 书 附 图
1/3页
图1
9
CN 110381049 A
说 明 书 附 图
2/3页
图2
图3
10
CN 110381049 A
说 明 书 附 图
3/3页
图4
11
因篇幅问题不能全部显示,请点此查看更多更全内容