CN109617917A - 地址虚拟化Web应用安全防火墙方法、装置和系统 - Google Patents
地址虚拟化Web应用安全防火墙方法、装置和系统 Download PDFInfo
- Publication number
- CN109617917A CN109617917A CN201910051699.7A CN201910051699A CN109617917A CN 109617917 A CN109617917 A CN 109617917A CN 201910051699 A CN201910051699 A CN 201910051699A CN 109617917 A CN109617917 A CN 109617917A
- Authority
- CN
- China
- Prior art keywords
- url
- web
- request
- response message
- user terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种地址虚拟化Web应用安全防火墙方法、装置和系统。方法包括:接收用户终端对第一URL发起的第一Web请求;将该请求发送给Web服务器;接收Web服务器的第一响应信息;对该信息中与第一URL关联的第二URL进行加密得到第三URL,基于该URL生成第二响应信息;和将第二响应信息发送给用户终端,以显示与第一URL对应的页面,该页面中包含第三URL的链接。该方法能够对地址进行虚拟化处理,拦截对服务器的直接访问,使攻击者无法直接探测固定的URL地址,无法实施重放攻击,提高了漏洞被恶意利用的难度,对零日漏洞的防护尤其有效,解决了基于特征的传统Web应用安全防火墙对零日漏洞无能为力的问题。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种地址虚拟化Web应用安全防火墙方法、装置和系统。
背景技术
随着互联网的普及,网络安全变得越来越重要。各种针对应用层的攻击也层出不穷,从传统的SQL注入攻击、跨站脚本攻击(XSS)、命令执行到针对零日(0day)漏洞的攻击,攻击手段变得越来越复杂,攻击面也越来越广。特别是随着技术的发展,Web应用变得越来越复杂,页面链接也更多。系统越复杂,出现安全漏洞的概率就越大。开发的时限又决定了不可能将所有的安全漏洞都修补掉。因此可以说Web应用的安全漏洞是固有的。
目前主流的Web应用安全防护手段包括Web应用防火墙(Web ApplicationFirewall,WAF)、入侵检测系统(Intrusion Detection Systems,IDS)、模式识别和匹配等。传统的防火墙主要依靠特征来识别恶意流量。例如用某些具有SQL操作特征的正则表达式来匹配请求流量,如果匹配成功则说明请求中可能包含有SQL注入的流量,从而触发某些动作,例如拦截该流量。这种防护方法属于被动式防御,有一定的滞后性。如果出现了新的攻击方式,或者新的安全漏洞,显然用已有的特征是无法检测出来的。对于这种情况,传统防火墙的做法一般是更新特征库或者规则库。这属于一种事后补救的方法。对于大部分厂商而言很难在漏洞出现后及时做出补救措施,即使能够做到,也会大大提高运营成本。
此外,这种静态防护方式存在被绕过的可能性。特别是基于正则表达式的规则,其本身表达能力是有限的。这就意味着无法用正则表达式去描绘所有可能存在的情况。也就是说攻击者一定可以找到绕过特征匹配的攻击手段,使得防御功能实效。因此对于规则集防护之外的攻击就无能为力了,唯一可行的办法只能更新规则集或者说特征库,以软件升级的方式去防护。而这种方式的缺点也很明显:防护的滞后性以及高成本。
除了第三方防护工具,也有人提出了“应用自我保护”的概念。通过嵌入防护代码的方式来实施安全防护。具体的做法是将安全检测代码挂载在原有的代码中,这样就能知道代码具体的动作,例如对数据库进行了某些操作。这是一种面向动作的防御手段,即不关心流量的特征,而是关心代码具体的动作。这种防护手段的理念虽然更先进,但是由于要改造代码,而且会对原有的应用造成性能损失,所以迟迟无法大规模推广。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种地址虚拟化Web应用安全防火墙方法,包括:
第一请求接收步骤:接收用户终端对于第一URL发起的第一Web请求;
第一请求发送步骤:将所述第一Web请求发送给对应的Web服务器;
第一信息接收步骤:接收所述Web服务器返回的第一响应信息;
第一加密处理步骤:对所述第一响应信息中与所述第一URL相关联的至少一个第二URL进行加密处理得到第三URL,基于所述第三URL生成第二响应信息;
第一信息发送步骤:将所述第二响应信息发送给所述用户终端,以便在所述用户终端显示与所述第一URL相对应的页面,该页面中包括所述第三URL的链接。
该方法能够对地址进行虚拟化处理,通过对网页内URL的混淆加密处理,隐藏真实的URL路径,拦截对服务器URL地址的直接访问,该方法使得攻击者无法直接探测固定的URL地址,提高了漏洞被恶意利用的难度。该方法能够对地址进行虚拟化处理,通过对网页内URL的混淆加密处理,拦截对服务器地址的直接访问,使得攻击者无法直接探测固定的URL地址,无法实施重放攻击,大大提高了漏洞被恶意利用的难度,该方法对零日(0day)漏洞的防护尤其有效,解决了基于特征的传统Web应用安全防火墙对零日(0day)漏洞无能为力的问题。
可选地,在所述加密处理步骤中,所述第三URL是由以下元素中的一个或多个元素经过加密得到的:时间戳、唯一标识、超时时间、用户终端标识、经过编码的URL字符、加密字符串。
可选地,该方法还包括:
第二请求接收步骤:响应于用户对所述第三URL的链接的操作,接收用户终端发送的第二Web请求;
第二请求验证步骤:对所述第二Web请求中的所述第三URL进行解密和验证;
第二请求发送步骤:在通过验证的情况下,将所述第二Web请求发送给与所述第二URL对应的Web服务器。
可选地,在所述第二请求验证步骤中,出现下列的情形之一,则没有通过验证:
(1)对所述第三URL解密失败;
(2)对所述第三URL解密后得到的所述第二URL的请求超时;
(3)所述第二URL被重复访问;
(4)用户终端标识发生变化。
可选地,所述第三URL被重复访问包括:
在所述第三URL的唯一标识与记录表中的唯一标识重合的情况下,判断所述第三URL被重复访问,其中,所述记录列表记载了所有经过加密处理得到的URL的唯一标识。
可选地,所述第一请求发送步骤包括:
在检测第一Web请求为非恶意请求的情况下,将所述第一Web请求发送给对应的Web服务器。
可选地,在所述第二请求发送步骤后,该方法还包括:
第二信息接收步骤:接收该Web服务器返回的第二响应信息;
第二加密处理步骤:对所述第二响应信息中与所述第二URL相关联的至少一个第三URL进行加密处理得到第四URL,基于所述第四URL生成第三响应信息;
第二信息发送步骤:将所述第三响应信息发送给所述用户终端,以便在所述用户终端显示与所述第二URL相对应的页面,该页面中包括所述第四URL的链接。
可选地,所述第一信息接收步骤还包括:对所述第一响应信息的类型进行判断,在所述第一响应信息为本文信息的情况下,执行所述加密处理步骤。
根据本申请的第二个方面,还提供了一种地址虚拟化Web应用安全防火墙装置,包括:
第一请求接收模块,其配置成用于接收用户终端对于第一URL发起的第一Web请求;
第一请求发送模块,其配置成用于将所述第一Web请求发送给对应的Web服务器;
第一信息接收模块,其配置成用于接收所述Web服务器返回的第一响应信息;
第一加密处理模块,其配置成用于对所述第一响应信息中与所述第一URL相关联的至少一个第二URL进行加密处理得到第三URL,基于所述第三URL生成第二响应信息;
第一信息发送模块,其配置成用于将所述第二响应信息发送给所述用户终端,以便在所述用户终端显示与所述第一UR相对应的页面,该页面中包括所述第三URL的链接。
该装置能够对地址进行虚拟化处理,通过对网页内URL的混淆加密处理,隐藏真实的URL路径,拦截对服务器URL地址的直接访问,该方法使得攻击者无法直接探测固定的URL地址,提高了漏洞被恶意利用的难度。
根据本申请的第三个方面,还提供了一种地址虚拟化Web应用安全防火墙系统,包括:Web应用防火墙和与所述Web应用防火墙连接的至少一个Web服务器,其中,所述Web应用防火墙包括:存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,该计算机程序在由处理器执行时实现用于执行如上所述的地址虚拟化Web应用安全防火墙方法。
该系统在Web服务器与客户端增加了WAF,能够对Web服务器的地址进行虚拟化处理,通过对URL的混淆加密,拦截对Web服务器URL地址的直接访问,该方法使得攻击者无法直接探测固定的URL地址,提高了漏洞被恶意利用的难度,能够大大提高Web服务器的安全性和稳定性。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解的是,这些附图未必是按比例绘制的。在附图中:
图1是根据本申请的一个实施例的地址虚拟化Web应用安全防火墙系统的示意性结构图;
图2是根据本申请的WAF的计算机装置的硬件结构框图;
图3是根据本申请的一个实施例的地址虚拟化Web应用安全防火墙方法的示意性流程图;
图4是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙方法的示意性流程图;
图5是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙方法的示意性流程图;
图6是根据本申请的一个实施例的地址虚拟化Web应用安全防火墙装置的示意性框图;
图7是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙装置的示意性框图;
图8是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙系统的示意性框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供了一种地址虚拟化Web应用安全防火墙系统。图1是根据本申请的一个实施例的地址虚拟化Web应用安全防火墙系统的示意性结构图。参考图1,该系统可以包括:Web应用防火墙和与Web应用防火墙连接的至少一个Web服务器,其中,用户终端,也可称为客户端通过该Web应用防火墙与至少一个Web服务器进行通信。WAF可以通过反向代理模式部署到与Web服务器相同的子网内,所有通过域名访问Web服务器的请求流量都将经过WAF。
其中,WAF可以是计算机装置、移动装置或者类似的运算装置中执行。图2示出了一种用于本申请系统的WAF的计算机装置的硬件结构框图。如图2所示,计算机装置10可以包括一个或多个处理器(图中采用102a、102b,……,102n示出,处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机装置10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机装置10中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请下面实施例中的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机装置10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机装置10的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机装置10(或移动设备)的用户界面进行交互。
在上述系统架构下,本申请提供了一种地址虚拟化Web应用安全防火墙方法,该方法可以在运行在WAF上。图3是根据本申请的一个实施例的地址虚拟化Web应用安全防火墙方法的示意性流程图。参考图1和图3,该方法可以包括以下步骤中的一个或多个:
S110第一请求接收步骤:接收用户终端对于第一URL发起的第一Web请求;
S120第一请求发送步骤:将所述第一Web请求发送给对应的Web服务器;
S130第一信息接收步骤:接收所述Web服务器返回的第一响应信息;
S140第一加密处理步骤:对所述第一响应信息中与所述第一URL相关联的至少一个第二URL进行加密处理得到第三URL,基于所述第三URL生成第二响应信息;
S150第一信息发送步骤:将所述第二响应信息发送给所述用户终端,以便在所述用户终端显示与所述第一UR相对应的页面,该页面中包括所述第三URL的链接。
该方法能够对地址进行虚拟化处理,通过对网页内URL的混淆加密处理,隐藏真实的URL路径,拦截对服务器URL地址的直接访问,该方法使得攻击者无法直接探测固定的URL地址,提高了漏洞被恶意利用的难度。该方法对零日(0day)漏洞的防护尤其有效,解决了基于特征的传统Web应用安全防火墙对零日(0day)漏洞无能为力的问题。同时,通过对单一页面允许重复访问的次数的限制,提高了重放攻击实施难度。这种不完全依赖规则库、特征库的防护方法,不需要经常更新规则库、特征库,也不必针对不同站点对规则做动态调整,大大降低了运维成本,提高了产品效率。
可选地,在S110第一请求接收步骤中,用户终端发起一个Web服务器首页的请求,例如,该首页的第一URL为http://www.test.com,该Web请求被发往WAF。WAF以反向代理的方式接受此请求。
可选地,WAF接收到该Web请求后可以判断是否有恶意请求,例如,是否包括恶意流量请求。在一个可选实施方案中,所述S120第一请求发送步骤可以包括:在检测第一Web请求为非恶意请求的情况下,将所述第一Web请求发送给对应的Web服务器。在确认没有恶意请求后,将所述第一Web请求发送给与第一URL对应的Web服务器。该方法能够首先对恶意请求进行拦截,从而保护web服务器的安全。
该Web服务器基于第一Web请求返回第一响应信息,也可称为第一响应包,其可以包括第一Web请求对应的页面的内容以及页面中包括的所有URL链接。
可选地,所述S130第一信息接收步骤还可以包括:对所述第一响应信息的类型进行判断,在所述第一响应信息为本文信息的情况下,执行所述加密处理步骤。在该实施方案中,WAF接收到该响应包并做一些常规的类型检测。如果该响应包是上传下载类的,则直接将该响应包发送回用户终端,即不对上传下载类的内容做混淆加密处理。如果该响应包属于普通文本类型,例如html、text等类型,那么就对响应包里面的响应包体(responsebody)部分作加密处理。
可选地,在S140第一加密处理步骤中,加密处理可以是混淆加密处理。与所述第一URL相关联的第二URL可以是第一Web请求对应的页面中包括的所有URL链接。例如,可以遍历响应包体里面的所有URL,如果URL是属于www.test.com域名下的URL,就对该URL做混淆加密处理。例如,响应包体中存在如下第二URL:“<ahref=http://www.test.com/thread-123.html>”,这条URL属于www.test.com这一域名下的子域名,则对该第二URL进行混淆加密处理,得到第三URL,如:http://www.test.com/XKSIaq45pzMDUSYmf7Jhdj10HD=h.html。
可选地,所述第三URL是由以下元素中的一个或多个元素经过加密得到的:时间戳(timestamp)、唯一标识(token)、超时时间(timeout)、用户终端标识(user_uuid)、经过编码的URL字符(encode(URL))、加密字符串key。其中:(1)timestamp是当前是时间戳;(2)token是随机生成的字符串,具有唯一性;(3)timeout是该加密URL的超时时间,代表此加密URL的有效期;(4)user_uuid是每个访问者的唯一标识符,取自客户端Cookie里面的某些信息;(5)encode(URL)是经过编码的URL字符串;(6)key可以是将[URL,token,timestamp]三元字符串进行加密产生的新的字符串,加密算法采用可逆的对称加密算法。可以理解的是,对URL进行加密时,可以选择对上述6个元素进行加密,也可以选择其中若干个进行加密,本申请也不限制采用该6个元素以外的其他元素进行加密。
该方法采用虚拟地址替代真实地址,并且将该虚拟地址中增加了若干信息,从而能够能从时间、用户终端、访问次数等方面进行记录,由于加密后的URL具有唯一性,因此便于WAF对恶意请求进行识别和拦截,增强了web服务器的安全性。
在S150第一信息发送步骤中,WAF处理完响应包体后下发到客户端,客户端接收到Web首页的响应。发送到客户端的内容虽然是经过WAF加密的,但是在客户端看来,经过本发明方法处理后的页面与正常页面完全一致,不影响浏览器的正常解析,唯一区别在于页面源代码中所有该域名下的URL都经过了混淆加密处理。加密参数里面带有当前时间信息以及客户端浏览器Cookie的某些信息,因此具有唯一性,相同的URL每次加密后的结果均不同。
如果用户在客户端希望继续浏览,点击响应页面www.test.com里的任意一个URL,例如第三URL,则该客户端向WAF发起了第二web请求,此时第二web请求中的第三URL是经过WAF加密的,WAF接收到第二web请求后,WAF对该请求进行解密,获取与第三URL对应的原始URL,即第二URL,将请求发往后端的Web服务器。图4是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙方法的示意性流程图。在这种情况下,参考图4,该方法还可以包括以下步骤:
S160第二请求接收步骤:响应于用户对所述第三URL的链接的操作,接收用户终端发送的第二Web请求;
S170第二请求验证步骤:对所述第二Web请求中的所述第三URL进行解密和验证;
S180第二请求发送步骤:在通过验证的情况下,将所述第二Web请求发送给与所述第二URL对应的Web服务器。
该方法能够在请求发送给web服务器之前通过WAF进行判断和拦截,从而保证了web服务器的安全,由于加密后URL的唯一性和限制重复访问性,因此能够防止恶意用户利用Web服务器的漏洞并且加以利用和攻击。
可选地,在所述S170第二请求验证步骤中,出现下列的情形之一,则没有通过验证:
(1)对所述第三URL解密失败。WAF可以首先对原始的加密过的URL进行解密,若解密失败则验证失败。
(2)对所述第三URL解密后得到的所述第二URL的请求超时。如上文所述,如果混淆加密后的URL包含了timeout超时时间,若超时则验证失败。设置超时时间是为了防止URL加密方法被破解。
(3)所述第二URL被重复访问。例如,在所述第三URL的唯一标识与记录列表中的唯一标识重合的情况下,判断所述第三URL被重复访问,其中,所述记录列表记载了所有经过加密处理得到的URL的唯一标识。
如果第三URL已经被用户访问过一次,则该第三URL被WAF解密成功之后,第三URL里面的token会被加入到一个记录表中,若WAF再次接收到相同的token则证明此URL被重复访问,可能是受到重放攻击,验证失败。可选地,该记录表可以是计数器。
(4)用户终端标识发生变化。每个访问者的Cookie信息作为user_uuid,如果不一致则说明请求可能被篡改了,验证失败。
可选地,若验证失败,可以采用返回网站首页,或者显示无法访问等提示用户。
Web服务器收到该请求后,向WAF应答响应。WAF采用与上述加密处理步骤相同的处理方式,将加密后的响应包发送给客户端。用户如果需要继续浏览,则重复上述方法过程。图5是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙方法的示意性流程图。在上述情景下,参考图5,可选地,本申请的方法还包括以下步骤:
S210第二信息接收步骤:接收该Web服务器返回的第二响应信息;
S220第二加密处理步骤:对所述第二响应信息中与所述第二URL相关联的至少一个第三URL进行加密处理得到第四URL,基于所述第四URL生成第三响应信息;
S230第二信息发送步骤:将所述第三响应信息发送给所述用户终端,以便在所述用户终端显示与所述第二URL相对应的页面,该页面中包括所述第四URL的链接。
本申请的方法采用地址虚拟化处理方法,通过对网页内URL的混淆加密处理,隐藏真实的URL路径,对服务器URL原始地址的直接访问均失效。攻击者很难通过嗅探工具找到攻击点,也无法对攻击点实施重放攻击。
如果有攻击者试图发现Web服务器的漏洞并且加以利用。假设攻击者首先用工具进行页面嗅探,并且找到了可能存在的漏洞URL1。攻击者对该漏洞URL1做负载(payload)访问,试图发起攻击。此时由于URL1混淆加密后具有唯一性,如果设定了混淆加密后的URL只能被访问一次,那么攻击者的payload访问就会失败,因为此混淆加密后的URL1是唯一的,在页面嗅探时已经被访问过一次了,无法再次访问。此时,攻击者唯一能做的只有手动通过浏览器在页面上寻找可能存在的漏洞,即使找到了漏洞,也只能做一次重放攻击,成功的几率大大降低。
本申请的方法对于0day漏洞的防护效果尤其显著。因为大部分0day漏洞的路径不会出现在网站客户端的页面上。也就是说通过页面遍历的方式是无法访问此漏洞的。因此攻击者会直接请求该漏洞的URL,例如www.abc.com/admin/login.php。对于直接通过原始URL(未经过WAF混淆加密的URL)进行访问的请求,URL请求到达WAF之后,WAF会尝试去解密此URL,但是由于是原始的URL,WAF无法解密导致访问失败,攻击也就无法实施了。
对于一般的漏洞而言,由于这种混淆加密的URL具有唯一性,因此寻找漏洞的过程难度会大大增加。具体来说,常用的嗅探工具的工作机制是首先用爬虫扫描一遍网站,然后对扫描出来的URL做注入探测。但是本方法使得URL具有唯一性,扫描出来的URL,没有办法在注入探测时重新使用,所以无法通过类似的工具做漏洞嗅探,漏洞被发现的难度大大增加。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本申请还提供了一种地址虚拟化Web应用安全防火墙装置,该装置可以在设置在WAF上。图6是根据本申请的一个实施例的地址虚拟化Web应用安全防火墙装置的示意性框图。参考图6,该装置可以包括以下模块中的一个或多个:
第一请求接收模块110,其配置成用于接收用户终端对于第一URL发起的第一Web请求;
第一请求发送模块120,其配置成用于将所述第一Web请求发送给对应的Web服务器;
第一信息接收模块130,其配置成用于接收所述Web服务器返回的第一响应信息;
第一加密处理模块140,其配置成用于对所述第一响应信息中与所述第一URL相关联的至少一个第二URL进行加密处理得到第三URL,基于所述第三URL生成第二响应信息;
第一信息发送模块150,其配置成用于将所述第二响应信息发送给所述用户终端,以便在所述用户终端显示与所述第一UR相对应的页面,该页面中包括所述第三URL的链接。
该装置能够对地址进行虚拟化处理,通过对网页内URL的混淆加密处理,隐藏真实的URL路径,拦截对服务器URL地址的直接访问,使得攻击者无法直接探测固定的URL地址,提高了漏洞被恶意利用的难度,对0day攻击效果尤其显著。
在一个可选实施方案中,所述第一请求发送模块120可以用于:在检测第一Web请求为非恶意请求的情况下,将所述第一Web请求发送给对应的Web服务器。
可选地,所述第一信息接收模块130还可以用于:对所述第一响应信息的类型进行判断,在所述第一响应信息为本文信息的情况下,执行所述第一加密处理模块。
可选地,在第一加密处理模块140中,加密处理可以是混淆加密处理。与所述第一URL相关联的第二URL可以是第一Web请求对应的页面中包括的所有URL链接。
图7是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙装置的示意性框图。可选地,该装置还可以包括以下模块:
第二请求接收模块160,其配置成用于响应于用户对所述第三URL的链接的操作,接收用户终端发送的第二Web请求;
第二请求验证模块170,其配置成用于对所述第二Web请求中的所述第三URL进行解密和验证;
第二请求发送模块180,其配置成用于在通过验证的情况下,将所述第二Web请求发送给与所述第二URL对应的Web服务器。
该装置能够在请求发送给web服务器之前通过WAF进行判断和拦截,从而保证了web服务器的安全,由于加密后URL的唯一性和限制重复访问性,因此能够防止恶意用户利用Web服务器的漏洞并且加以利用和攻击。
可选地,在所述第二请求验证模块180中,出现下列的情形之一,则没有通过验证:
(1)对所述第三URL解密失败。WAF可以首先对原始的加密过的URL进行解密,若解密失败则验证失败。
(2)对所述第三URL解密后得到的所述第二URL的请求超时。如上文所述,如果混淆加密后的URL包含了timeout超时时间,若超时则验证失败。设置超时时间是为了防止URL加密方法被破解。
(3)所述第二URL被重复访问。例如,在所述第三URL的唯一标识与记录列表中的唯一标识重合的情况下,判断所述第三URL被重复访问,其中,所述记录列表记载了所有经过加密处理得到的URL的唯一标识。
(4)用户终端标识发生变化。每个访问者的Cookie信息作为user_uuid,如果不一致则说明请求可能被篡改了,验证失败。
参考图7,可选地,本申请的装置还包括以下模块:
第二信息接收模块210,其配置成用于接收该Web服务器返回的第二响应信息;
第二加密处理模块220,其配置成用于对所述第二响应信息中与所述第二URL相关联的至少一个第三URL进行加密处理得到第四URL,基于所述第四URL生成第三响应信息;
第二信息发送模块230,其配置成用于将所述第三响应信息发送给所述用户终端,以便在所述用户终端显示与所述第二URL相对应的页面,该页面中包括所述第四URL的链接。
本申请的装置采用地址虚拟化处理方法,通过对网页内URL的混淆加密处理,隐藏真实的URL路径,对服务器URL原始地址的直接访问均失效。攻击者很难通过嗅探工具找到攻击点,也无法对攻击点实施重放攻击。
本申请还提供了一种地址虚拟化Web应用安全防火墙系统。图8是根据本申请的另一个实施例的地址虚拟化Web应用安全防火墙系统的示意性框图。
参考图8,在一个可选的实施方案中,该系统可以包括:Web应用防火墙和与所述Web应用防火墙连接的至少一个Web服务器,其中,所述Web应用防火墙包括:存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,该计算机程序存储于存储器中的用于程序代码的空间,该计算机程序在由处理器执行时实现用于执行如上所述的地址虚拟化Web应用安全防火墙方法中的任一个。
在另一个可选的实施方案中,该系统可以包括:Web应用防火墙和与所述Web应用防火墙连接的至少一个Web服务器,其中,所述Web应用防火墙配置有如上所述的地址虚拟化Web应用安全防火墙装置中的任一个。其中,Web服务器可以为多个。
该系统在Web服务器与客户端增加了WAF,能够对Web服务器的地址进行虚拟化处理,通过对URL的混淆加密,拦截对Web服务器URL地址的直接访问,使得攻击者无法直接探测固定的URL地址,提高了漏洞被恶意利用的难度,能够大大提高Web服务器的安全性和稳定性。
本申请的实施例的一个方面还提供了一种计算机可读存储介质。该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本申请的地址虚拟化Web应用安全防火墙方法中的任一个,该程序被处理器执行。
本申请实施例的一个方面还提供了一种包含指令的计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算设备执行时,导致所述计算设备执行如上所述的地址虚拟化Web应用安全防火墙方法中的任一个。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时上述本申请实施例的顺序仅仅为了描述,不代表实施例的优劣。在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种地址虚拟化Web应用安全防火墙方法,包括:
第一请求接收步骤:接收用户终端对于第一URL发起的第一Web请求;
第一请求发送步骤:将所述第一Web请求发送给对应的Web服务器;
第一信息接收步骤:接收所述Web服务器返回的第一响应信息;
第一加密处理步骤:对所述第一响应信息中与所述第一URL相关联的至少一个第二URL进行加密处理得到第三URL,基于所述第三URL生成第二响应信息;和
第一信息发送步骤:将所述第二响应信息发送给所述用户终端,以便在所述用户终端显示与所述第一URL相对应的页面,该页面中包括所述第三URL的链接。
2.根据权利要求1所述的方法,其特征在于,在所述加密处理步骤中,所述第三URL是由以下元素中的一个或多个元素经过加密得到的:时间戳、唯一标识、超时时间、用户终端标识、经过编码的URL字符和加密字符串。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
第二请求接收步骤:响应于用户对所述第三URL的链接的操作,接收用户终端发送的第二Web请求;
第二请求验证步骤:对所述第二Web请求中的所述第三URL进行解密和验证;
第二请求发送步骤:在通过验证的情况下,将所述第二Web请求发送给与所述第二URL对应的Web服务器。
4.根据权利要求3所述的方法,其特征在于,在所述第二请求验证步骤中,出现下列的情形之一,则没有通过验证:
(1)对所述第三URL解密失败;
(2)对所述第三URL解密后得到的所述第二URL的请求超时;
(3)所述第二URL被重复访问;
(4)用户终端标识发生变化。
5.根据权利要求3所述的方法,其特征在于,所述第三URL被重复访问包括:
在所述第三URL的唯一标识与记录表中的唯一标识重合的情况下,判断所述第三URL被重复访问,其中,所述记录列表记载了所有经过加密处理得到的URL的唯一标识。
6.根据权利要求1所述的方法,其特征在于,所述第一请求发送步骤包括:
在检测第一Web请求为非恶意请求的情况下,将所述第一Web请求发送给对应的Web服务器。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述第二请求发送步骤后,该方法还包括:
第二信息接收步骤:接收该Web服务器返回的第二响应信息;
第二加密处理步骤:对所述第二响应信息中与所述第二URL相关联的至少一个第三URL进行加密处理得到第四URL,基于所述第四URL生成第三响应信息;和
第二信息发送步骤:将所述第三响应信息发送给所述用户终端,以便在所述用户终端显示与所述第二URL相对应的页面,该页面中包括所述第四URL的链接。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一信息接收步骤还包括:对所述第一响应信息的类型进行判断,在所述第一响应信息为本文信息的情况下,执行所述加密处理步骤。
9.一种地址虚拟化Web应用安全防火墙装置,包括:
第一请求接收模块,其配置成用于接收用户终端对于第一URL发起的第一Web请求;
第一请求发送模块,其配置成用于将所述第一Web请求发送给对应的Web服务器;
第一信息接收模块,其配置成用于接收所述Web服务器返回的第一响应信息;
第一加密处理模块,其配置成用于对所述第一响应信息中与所述第一URL相关联的至少一个第二URL进行加密处理得到第三URL,基于所述第三URL生成第二响应信息;和
第一信息发送模块,其配置成用于将所述第二响应信息发送给所述用户终端,以便在所述用户终端显示与所述第一UR相对应的页面,该页面中包括所述第三URL的链接。
10.一种地址虚拟化Web应用安全防火墙系统,包括:Web应用防火墙和与所述Web应用防火墙连接的至少一个Web服务器,其中,所述Web应用防火墙包括:存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,该计算机程序在由处理器执行时实现用于执行如权利要求1至7的任一项所述的地址虚拟化Web应用安全防火墙方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910051699.7A CN109617917A (zh) | 2019-01-21 | 2019-01-21 | 地址虚拟化Web应用安全防火墙方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910051699.7A CN109617917A (zh) | 2019-01-21 | 2019-01-21 | 地址虚拟化Web应用安全防火墙方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109617917A true CN109617917A (zh) | 2019-04-12 |
Family
ID=66018877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910051699.7A Pending CN109617917A (zh) | 2019-01-21 | 2019-01-21 | 地址虚拟化Web应用安全防火墙方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617917A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445794A (zh) * | 2019-08-13 | 2019-11-12 | 中科天御(苏州)科技有限公司 | 一种基于动态防御的工业互联网安全防护方法及系统 |
CN110881044A (zh) * | 2019-12-05 | 2020-03-13 | 北京宏达隆和科技有限公司 | 一种计算机防火墙动态防御安全平台 |
CN111970310A (zh) * | 2020-10-20 | 2020-11-20 | 云盾智慧安全科技有限公司 | 网络防护方法及系统、电子设备、计算机可读存储介质 |
CN112653671A (zh) * | 2020-12-10 | 2021-04-13 | 杭州安恒信息技术股份有限公司 | 一种客户端与服务端的网络通信方法、装置、设备及介质 |
CN113132299A (zh) * | 2019-12-30 | 2021-07-16 | 中国移动通信集团江西有限公司 | 一种能力开放方法、装置、存储介质和计算机设备 |
CN114938297A (zh) * | 2022-05-13 | 2022-08-23 | 杭州安恒信息技术股份有限公司 | 恶意信息处理方法、系统、电子装置和存储介质 |
CN115065537A (zh) * | 2022-06-16 | 2022-09-16 | 公安部第三研究所 | 针对web应用自动化攻击行为的防御系统及动态防御方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011087189A (ja) * | 2009-10-16 | 2011-04-28 | Nippon Telegr & Teleph Corp <Ntt> | 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム |
CN102946392A (zh) * | 2012-11-15 | 2013-02-27 | 亚信联创科技(中国)有限公司 | 一种url数据加密传输方法及系统 |
CN103229181A (zh) * | 2010-10-13 | 2013-07-31 | 阿卡麦科技公司 | 通过对url进行模糊处理来保护网站和网站用户 |
CN104378363A (zh) * | 2014-10-30 | 2015-02-25 | 中国科学院信息工程研究所 | 一种动态应用地址转换方法及其网关系统 |
CN105516208A (zh) * | 2016-01-28 | 2016-04-20 | 邱铭钗 | 一种有效防止网络攻击的web网站链接动态隐藏方法及装置 |
CN106101155A (zh) * | 2016-08-23 | 2016-11-09 | 北京信安世纪科技有限公司 | 一种保护网站的方法及装置 |
CN106657165A (zh) * | 2017-03-09 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种网络攻击的防御方法、服务器及终端 |
-
2019
- 2019-01-21 CN CN201910051699.7A patent/CN109617917A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011087189A (ja) * | 2009-10-16 | 2011-04-28 | Nippon Telegr & Teleph Corp <Ntt> | 転送制御方法、転送制御装置、転送制御システムおよび転送制御プログラム |
CN103229181A (zh) * | 2010-10-13 | 2013-07-31 | 阿卡麦科技公司 | 通过对url进行模糊处理来保护网站和网站用户 |
CN102946392A (zh) * | 2012-11-15 | 2013-02-27 | 亚信联创科技(中国)有限公司 | 一种url数据加密传输方法及系统 |
CN104378363A (zh) * | 2014-10-30 | 2015-02-25 | 中国科学院信息工程研究所 | 一种动态应用地址转换方法及其网关系统 |
CN105516208A (zh) * | 2016-01-28 | 2016-04-20 | 邱铭钗 | 一种有效防止网络攻击的web网站链接动态隐藏方法及装置 |
CN106101155A (zh) * | 2016-08-23 | 2016-11-09 | 北京信安世纪科技有限公司 | 一种保护网站的方法及装置 |
CN106657165A (zh) * | 2017-03-09 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种网络攻击的防御方法、服务器及终端 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445794A (zh) * | 2019-08-13 | 2019-11-12 | 中科天御(苏州)科技有限公司 | 一种基于动态防御的工业互联网安全防护方法及系统 |
CN110881044A (zh) * | 2019-12-05 | 2020-03-13 | 北京宏达隆和科技有限公司 | 一种计算机防火墙动态防御安全平台 |
CN110881044B (zh) * | 2019-12-05 | 2022-08-09 | 北京宏达隆和科技有限公司 | 一种计算机防火墙动态防御安全平台 |
CN113132299A (zh) * | 2019-12-30 | 2021-07-16 | 中国移动通信集团江西有限公司 | 一种能力开放方法、装置、存储介质和计算机设备 |
CN111970310A (zh) * | 2020-10-20 | 2020-11-20 | 云盾智慧安全科技有限公司 | 网络防护方法及系统、电子设备、计算机可读存储介质 |
CN111970310B (zh) * | 2020-10-20 | 2021-04-06 | 云盾智慧安全科技有限公司 | 网络防护方法及系统、电子设备、计算机可读存储介质 |
CN112653671A (zh) * | 2020-12-10 | 2021-04-13 | 杭州安恒信息技术股份有限公司 | 一种客户端与服务端的网络通信方法、装置、设备及介质 |
CN114938297A (zh) * | 2022-05-13 | 2022-08-23 | 杭州安恒信息技术股份有限公司 | 恶意信息处理方法、系统、电子装置和存储介质 |
CN115065537A (zh) * | 2022-06-16 | 2022-09-16 | 公安部第三研究所 | 针对web应用自动化攻击行为的防御系统及动态防御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709945B2 (en) | System and method for identifying network security threats and assessing network security | |
US10764313B1 (en) | Method and system for protection against network-based cyber threats | |
CN109617917A (zh) | 地址虚拟化Web应用安全防火墙方法、装置和系统 | |
US10574698B1 (en) | Configuration and deployment of decoy content over a network | |
Jackson et al. | Forcehttps: protecting high-security web sites from network attacks | |
US8869271B2 (en) | System and method for risk rating and detecting redirection activities | |
Velu et al. | Mastering Kali Linux for Advanced Penetration Testing: Secure your network with Kali Linux 2019.1–the ultimate white hat hackers' toolkit | |
CN105939326A (zh) | 处理报文的方法及装置 | |
US20140165177A1 (en) | Phishing and online fraud prevention | |
CN108259619B (zh) | 网络请求防护方法及网络通信系统 | |
CN108605037B (zh) | 传输数字信息的方法 | |
Shahriar et al. | PhishTester: automatic testing of phishing attacks | |
Nagunwa | Behind identity theft and fraud in cyberspace: the current landscape of phishing vectors | |
Milletary | Citadel trojan malware analysis | |
US20180302437A1 (en) | Methods of identifying and counteracting internet attacks | |
Calzavara et al. | Sub-session hijacking on the web: Root causes and prevention | |
CN109495458A (zh) | 一种数据传输的方法、系统及相关组件 | |
Garg et al. | Analysis of software vulnerability classification based on different technical parameters | |
Luvanda et al. | Identifying threats associated with man-in-the middle attacks during communications between a mobile device and the back end server in mobile banking applications | |
Velu | Mastering Kali Linux for advanced penetration testing | |
Tsow | Phishing with Consumer Electronics-Malicious Home Routers. | |
CN102027728B (zh) | 用于战胜中间人计算机黑客技术的方法和系统 | |
Jagannath et al. | Browser‐in‐the‐middle attacks: A comprehensive analysis and countermeasures | |
Vo et al. | Protecting web 2.0 services from botnet exploitations | |
Shanmugapriya | A study of network security using penetration testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |
|
RJ01 | Rejection of invention patent application after publication |