CN110875899A - 数据处理方法、***以及网络*** - Google Patents
数据处理方法、***以及网络*** Download PDFInfo
- Publication number
- CN110875899A CN110875899A CN201811003787.1A CN201811003787A CN110875899A CN 110875899 A CN110875899 A CN 110875899A CN 201811003787 A CN201811003787 A CN 201811003787A CN 110875899 A CN110875899 A CN 110875899A
- Authority
- CN
- China
- Prior art keywords
- request
- browser
- information
- firewall
- data
- 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.)
- Granted
Links
Images
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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
- H04L63/306—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
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)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据处理方法、***以及网络***。其中,该方法包括:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址,并将第二请求暂存在待发队列中。本申请解决了现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
Description
技术领域
本申请涉及网络安全领域,具体而言,涉及一种数据处理方法、***以及网络***。
背景技术
机器流量,又可称为自动化程序流量,是自动化工具运行时所产生的流量,其中,自动化工具为自动化执行的程序,通常可执行简单重复的任务,例如,自动检索网站的爬虫机器人、自动抢火车票的抢票程序、自动投票的刷票程序等。
虽然自动化工具为人们的生活和工作带来了便利,但自动化工具也为网络安全造成了威胁,例如,CC(Challenge Collapsar,挑战黑洞)攻击借助自动化工具对网络造成威胁。因此,对机器流量进行拦截可有效提高网络的安全性。
现有的拦截机器流量的方案,大多需要对网站的业务逻辑进行改造。例如,通过重写网络API(Application Program Interface,即应用程序接口)方式实现机器流量的拦截。当业务方调用网络请求时,该网络请求首先被安全脚本拦截,然后经过签名、加密等处理后,再发送到网络上。然而,该方法无法全面覆盖所有的网络请求,并且还存在较大的风险。
针对现有的重写应用程序接口拦截流量的方式导致网络安全性能低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法、***以及网络***,以至少解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
根据本发明实施例的另一方面,还提供了一种数据处理方法,包括:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
根据本发明实施例的另一方面,还提供了一种数据处理***,包括:代理模块和页面功能模块,其中,代理模块,用于截获浏览器产生的第一请求,对第一请求进行复制处理,得到第二请求;接收页面功能模块发送的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中;代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行;页面功能模块,用于产生密钥数据,并将密钥数据发生至代理模块。
根据本发明实施例的另一方面,还提供了一种网络***,包括:客户端设备、防火墙设备和业务服务器;客户端设备,用于提供浏览器的运行环境,客户端设备包括:代理模块,用于截获浏览器产生的第一请求,对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至防火墙设备,并将第二请求暂存在待发队列中;代理模块所对应的进程为浏览器的服务进程,且代理模块对应的进程支持脱机运行;页面功能模块,用于产生密钥数据,并将密钥数据发生至代理模块,以截获浏览器产生的第一请求;防火墙设备,用于对第三请求进行验证,并在验证通过时,将第三请求发送至业务服务器;业务服务器,用于在接收到第三请求后,将第三请求所对应的业务数据发送至客户端设备。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行数据处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行数据处理方法。
根据本发明实施例的另一方面,还提供了一种数据处理***,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
在本发明实施例中,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,对第一请求进行复制处理,得到第二请求,然后再获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求,最后将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
在上述过程中,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址仍可对复制后的其他请求进行验证处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种网络***的结构示意图;
图3是根据本申请实施例的一种客户端设备的结构示意图;
图4是根据本申请实施例的一种数据处理方法的流程图;
图5是根据本申请实施例的一种可选的截获请求的交互示意图;
图6是根据本申请实施例的一种可选的基于数据处理方法的交互图;
图7是根据本申请实施例的一种可选的基于数据处理方法的交互图;
图8是根据本申请实施例的一种数据处理方法的流程图;
图9是根据本申请实施例的一种计算机终端的结构框图;以及
图10是根据本申请实施例的一种数据处理方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
WAF,Web Application Firewall,Web应用防火墙。
Service Worker,一种脱离网页、在浏览器后台运行的服务进程,该进程可拦截网页所产生的HTTP请求,并可返回自定义的结果。
实施例1
根据本申请实施例,还提供了一种数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的数据处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机终端(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在本实施例中,图2示出了一种网络***的结构示意图,在图2所示的网络***中可执行数据处理方法。由图2可知,本申请所提供的网络***包括:客户端设备201、防火墙设备203和业务服务器205。其中,防火墙设备可以为WAF,客户端设备用于提供网页所在浏览器的运行环境。可选的,图3示出了一种可选的客户端设备的结构示意图,由图3可知,客户端设备可以包括代理模块301和页面功能模块303,其中,代理模块可以为ServiceWorker服务进程。
需要说明的是,图3中的代理模块可执行本实施例所提供的数据处理方法。具体的,图4是根据本申请实施例的数据处理方法的流程图,由图4可知,本申请所提供的数据处理方法包括如下步骤:
步骤S402,截获浏览器产生的第一请求。
在上述步骤S402中,代理模块可对浏览器产生的第一请求进行截获,其中,浏览器产生的第一请求包括操作网页页面产生的请求(例如,HTTP请求)以及应用程序触发产生的请求。
可选的,图5示出了一种可选的截获请求的交互示意图,由图5所示,浏览器产生的第一请求的截获过程如下:
步骤S50,在浏览器接入防火墙设备之后,用户通过客户端设备访问网站的任意网页。
步骤S51,确定用户所要访问的网页之后,客户端设备向业务服务器发送请求,以请求访问业务服务器中的网页页面。
步骤S52,业务服务器将客户端设备请求访问的网页页面返回至客户端设备。
步骤S53,防火墙设备可接收到业务服务器返回的网页页面,然后在网页页面中***JS脚本,并将***JS脚本的网页页面返回至客户端设备。需要说明的是,该JS脚本由两部分组成,即页面功能部分以及服务进程部分。
步骤S54,客户端设备运行JS脚本,初始化页面功能部分,并检测客户端设备是否安装有代理模块。其中,如果检测到客户端设备未安装有代理模块,则客户端设备继续执行步骤S55,否则,执行步骤S56。
步骤S55,客户端设备对代理模块的启动文件进行注册,其中,启动文件可以为sw.js文件,该文件由防火墙设备提供。
步骤S56,客户端设备向防火墙设备请求启动文件。
步骤S57,防火墙设备返回启动文件。
步骤S58,客户端设备对代理模块初始化成功,启动代理模块,至此,代理模块可拦截网页所产生的所有流量。
步骤S404,对第一请求进行复制处理,得到第二请求。
需要说明的是,在通过浏览器发送请求的过程中,每个请求仅能发送一次,为了使得请求能够重复发送,在确定是否对浏览器产生的第一请求进行拦截之前,首先对第一请求进行复制处理。可选的,在步骤S404中,代理模块将浏览器产生的第一请求进行复制得到两个请求,即第一请求和第二请求,其中,第一请求和第二请求完全相同。
步骤S406,获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求。
可选的,在对第一请求进行签名处理之前,代理模块首先判断浏览器产生的第一请求是否需要安全防护。其中,在确定客户端设备请求的仅是普通的资源,则代理模块确定该请求无需安全防护,并对第一请求进行签名处理;如果确定客户端设备请求的是用户数据的动态接口,则代理模块确定该请求需要安全防护,然后代理模块对第一请求进行防护处理,并将防护处理后的第一请求进行签名处理。
需要说明的是,在第一请求请求访问较为重要的动态接口的情况下,首先对第一请求进行防护处理,可以有效保证数据访问的安全性和可靠性。另外,客户端设备存储有不同资源的防护等级,在获取浏览器产生的第一请求之后,根据第一请求所对应的防护等级来确定是否进行安全防护以及安全防护所采取的方案。
此外,还需要说明的是,客户端设备的页面功能模块可确定密钥数据,并将密钥数据发送至代理模块,代理模块在浏览器到密钥数据之后,对第一请求进行签名处理。其中,代理模块可采用私有的、混淆过的算法对第一请求进行签名处理,以得到第三请求。
步骤S408,将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
需要说明的是,目标地址用于指示防火墙所在的地址。
可选的,在代理模块将第三请求发送至目标地址之后,目标地址指示的防火墙对第三请求进行解析,得到包含密钥数据的字段进行校验,在校验成功的情况下,将解析后的第三请求发送至业务服务器,以对业务服务器中对应的资源进行访问。如果校验失败,可对待发队列中的第二请求再次进行验证,其中,待发队列可以为代理模块中临时存储数据的存储队列。
由此可见,步骤S408可实现校验失败时对请求的二次校验,实现了对请求的重放。在二次校验通过后,代理模块可重新发送网页产生的原始请求,由此可使得请求的验证工作对于上层业务来说是完全透明的,减少了对业务逻辑的改造,降低了改造成本。
基于上述步骤S402至步骤S408所限定的方案,可以获知,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,对第一请求进行复制处理,得到第二请求,然后再获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求,最后将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中。
容易注意到的是,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址指示的防火墙进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址指示的防火墙仍可对复制后的其他请求进行验证处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
在一种可选的方案中,可通过浏览器中的代理模块截获请求,其中,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。可选的,该代理模块可以为Service Worker。
需要说明的是,在代理模块所对应的环境中仅存在少量的API,因此,如果仅使用代理模块难以实现信息采集、安全对抗等操作。而网页环境下具有丰富的API,其更适合进行安全相关的工作,因此,采用代理模块来截获浏览器产生的第一请求,可以使两者扬长避短。另外,代理模块支持整个网站的HTTP请求的拦截,因此,对于代理模块而言,其不存在请求无法完全覆盖的情况。最后,代理模块可拦截各种类型的网络请求,包括通过网络API发送的请求,以及通过网页DOM元素所加载的请求。
在一种可选的方案中,代理模块对第一请求进行复制处理,得到第二请求,并基于来自浏览器的密钥数据对第一请求进行签名处理,得到第三请求。其中,代理模块对第一请求进行签名处理的方法可以包括如下步骤:
步骤S4060,接收浏览器基于以下至少之一信息确定的密钥数据:用户行为信息、浏览器的环境信息、浏览器的调试信息;
步骤S4062,依据密钥数据对第一请求进行签名处理。
具体的,客户端设备的网页功能模块可对用户行为信息(例如,点击链接)、浏览器的环境信息(例如,浏览器的版本信息)以及浏览器的调试信息进行收集,并将收集到的用户行为信息、浏览器的环境信息、浏览器的调试信息与签名数据进行结合,使用私有的、混淆过的算法进行加密,得到密钥数据,然后,客户端设备的网页功能模块将密钥数据发送至代理模块,代理模块在接收到密钥数据之后,对第一请求进行签名处理。可选的,代理模块将密钥数据附加在第一请求的头部的F字段中,得到第三请求,并将第三请求发送至目标地址指示的防火墙。
需要说明的是,在上述过程中,代理模块可将请求对应的URL参数以消息的形式发送至浏览器上,由网页功能模块对请求对应的URL参数进行处理,得到签名数据。
另外,在防火墙接收到第三请求之后,防火墙读取第三请求中头部的F字段,并对F字段进行验证。可选的,第三请求通过以下方式确定是否通过验证:在响应数据中存在用于指示验证失败的指示信息时,确定第三请求验证失败;在响应数据中不存在指示信息时,确定第三请求通过验证。
在第三请求通过验证时,说明防火墙验证通过,此时目标地址指示的防火墙返回的响应数据为第一请求对应的业务数据,代理模块从待发队列中删除第二请求,并将业务数据发送至网页功能模块,由网页功能模块对业务数据进行展示;如果验证失败,则目标地址指示的防火墙生成响应数据,并将响应数据发送至代理模块。代理模块在接收到响应数据之后,可执行如下步骤:
步骤S10,接收目标地址指示的防火墙对第三请求的响应数据;
步骤S12,在第三请求验证失败时,将响应数据中的挑战信息发送至浏览器,并通过浏览器展示挑战信息;
步骤S14,接收对挑战信息的应答信息,并将应答信息发送至目标地址指示的防火墙,以对应答信息进行验证。
具体的,在第三请求验证失败的情况下,目标地址指示的防火墙生成第三请求的响应数据,并将响应数据发送至代理模块。该响应数据中包含挑战信息,其中,挑战信息可以为但不限于图形验证码、工作量证明等。由于代理模块不具备操作界面的能力,因此,代理模块无法对防火墙模块发送的挑战信息进行回复。此时,代理模块将挑战信息发送至客户端设备的网页功能模块,由网页功能模块展示挑战信息以及用户对挑战信息的应答信息,例如,在挑战信息为图形验证码的情况下,用户对挑战信息的应答信息为用户输入网页的图形验证码中的文字、数字和字母等。在网页功能模块得到应答信息之后,代理模块获取应答信息,并将应答信息发送至目标地址指示的防火墙,由防火墙对应答信息进行验证。
进一步的,防火墙在接收到应答信息之后,对应答信息进行验证。如果应答信息验证失败,则防火墙重新生成挑战信息,并将挑战信息发送至代理模块,由代理模块再次执行上述步骤S10至步骤S14,直至防火墙对应答信息验证成功。如果应答信息通过验证,则防火墙再次生成响应数据,并将响应数据发送至代理模块。
在一种可选的方案中,图6示出了一种可选的基于数据处理方法的交互图。由图6可知,该过程包括如下步骤:
步骤S600,网页功能模块向代理模块发送请求。
步骤S601,代理模块拦截请求,并确定是否需要安全防护。如果确定不需要安全防护,则发送请求至业务服务器,此时业务服务器可接收到请求;如果确定需要安全防护,则执行步骤S602。
步骤S602,代理模块将采集到的用户行为信息、浏览器的环境信息、浏览器的调试信息发送至网页功能模块。
步骤S603,网页功能模块将用户行为信息、浏览器的环境信息、浏览器的调试信息通过私有的、混淆的算法进行加密,生成密钥数据。
步骤S604,网页功能模块发送密钥数据至代理模块。
步骤S605,代理模块对请求进行复制处理,得到第二请求,并基于密钥数据对第一请求进行签名处理,得到第三请求。其中,第二请求暂存在待发队列中。
步骤S606,代理模块发送第三请求至防火墙。
步骤S607,防火墙接收第三请求,并对第三请求进行验证。
步骤S608,防火墙验证第三请求通过,即验证成功,防火墙将第三请求发送至业务服务器。
步骤S609,防火墙返回响应数据。
步骤S610,代理模块根据响应数据判断第三请求是否验证成功。其中,当响应数据指示验证成功时,代理模块从待发队列删除第二请求。
步骤S611,当响应数据指示验证失败时,代理模块将响应数据中的挑战信息发送至网页功能模块,获取网页功能模块得到应答信息,并将应答信息发送至防火墙,由防火墙对应答信息进行验证。在应答信息通过验证时,代理模块将暂存在待发队列中的第二请求发送至防火墙。
可选的,在将暂存在待发队列中的第二请求发送至防火墙之前,代理模块从响应数据中提取令牌信息,并将令牌信息添加至第二请求中,并将添加了令牌信息的第二请求发送至目标地址指示的防火墙。优选的,与密钥数据类似,令牌信息同样附加在第二请求的头部字段中。
进一步的,在接收到第二请求之后,防火墙验证第二请求头部字段中的令牌信息是否有效。其中,在验证令牌信息有效的情况下,将第二请求发送至业务服务器;在验证令牌信息无效的情况下,防火墙生成响应数据,同样的,该响应数据中也包含挑战信息。代理模块将响应数据中的挑战信息发送至网页,并通过网页展示挑战信息,然后再接收用户对挑战信息的应答信息,并将应答信息发送至防火墙,以对应答信息进行验证。
需要说明的是,在代理模块将第二请求信息发送至防火墙之前,代理模块对第二请求进行复制处理,得到备份请求,其中,该备份请求用于第二请求验证失败时可再次发送。
此外,还需要说明的是,待发队列中的请求为在第一请求处理失败后所要发送的请求,其中,处理失败包括:对第三请求进行多次验证失败,多次验证失败中包括:对第三请求进行挑战认证。
在一种可选的方案中,图7示出了一种可选的基于数据处理方法的交互图。由图7可知,该过程包括如下步骤:
步骤S700,代理模块向网页功能模块发送挑战信息。
步骤S701,网页功能模块从挑战信息中获取应答信息。
步骤S702,网页功能模块发送应答信息至代理模块。
步骤S703,代理模块发送应答信息至防火墙设备。
步骤S704,防火墙设备对应答信息进行验证。如果验证失败,则继续执行上述步骤S700至步骤S703;如果验证成功,则执行步骤S705。
步骤S705,防火墙设备返回响应数据至代理模块,其中,响应数据中包含令牌信息。
步骤S706,代理模块从待发队列中获取第二请求,并将响应数据中的令牌信息附加在第二请求的头部。
步骤S707,代理模块发送附加令牌信息后的第二请求至防火墙设备。
步骤S708,防火墙设备对第二请求进行验证。
步骤S709,第二请求验证成功,防火墙设备将第二请求发送至业务服务器。
步骤S710,业务服务器将业务数据返回至代理模块。
步骤S711,代理模块将业务数据发送至网页功能模块,由网页功能模块进行展示。
容易注意到的是,由于代理模块将业务数据返回至客户端设备中的网页功能模块,在这个过程中,通过备份请求、重发请求的方案使得***的安全验证过程透明化。在整个过程中,虽然进行多次验证,上层的业务逻辑无感知。即由上层网页来看,其仅发送过一次请求,并仅接收到一个响应,由此,避免了因安全问题而迫使业务重发数据的问题,并且整个过程中网站的业务逻辑无需改造。
需要说明的是,在本申请所提供的方案中,代理模块支持整个站点的HTTP请求的拦截,因此不存在某些请求覆盖不到的情况。另外,代理模块能够拦截各种类型的网络请求,包括通过网络API发送的网络请求以及通过网页DOM元素加载的网络请求。此外,由于代理模块的框架本身是异步的,因此,在本申请所提供的方案中的任何一个环节均可使用异步API,以实现“先把上游请求挂起,然后进行安全校验甚至多次验证,之后再返回结果给上游”的效果。最后,代理模块运行于独立的进程中,即使在处理请求的过程中出现错误,浏览器仍会发送原始请求,由此,避免了API重写的侵入性较强,出现错误时业务崩溃的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种数据处理方法,如图8所示,该方法包括如下步骤:
步骤S802,截获浏览器产生的第一请求。
在上述步骤S802中,图3中的代理模块301可对浏览器产生的第一请求进行截获,其中,浏览器产生的第一请求包括操作网页页面产生的请求(例如,HTTP请求)以及应用程序触发产生的请求。
需要说明的是,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。
步骤S804,对第一请求进行复制处理,得到第二请求。
需要说明的是,在通过浏览器发送第一请求的过程中,每个请求仅能发送一次,为了使得请求能够重复发送,在确定是否对浏览器产生的第一请求进行拦截之前,首先对第一请求进行复制处理。可选的,在步骤S804中,代理模块将浏览器产生的第一请求进行复制得到两个请求,即第一请求和第二请求,其中,第一请求和第二请求完全相同。
步骤S806,对第一请求进行签名处理,得到第三请求。
在步骤S806中,代理模块可通过获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,以得到第三请求。
可选的,代理模块接收浏览器基于以下至少之一信息确定的密钥数据:用户行为信息、浏览器的环境信息、浏览器的调试信息,并依据密钥数据对第一请求进行签名处理。
需要说明的是,在对第一请求进行签名处理之前,代理模块首先判断浏览器产生的第一请求是否需要安全防护。其中,在确定客户端设备请求的仅是普通的资源,则代理模块确定该请求无需安全防护,并对第一请求进行签名处理;如果确定客户端设备请求的是用户数据的动态接口,则代理模块确定该请求需要安全防护,然后代理模块对第一请求进行防护处理,并将防护处理后的第一请求进行签名处理。
另外,在第一请求请求访问较为重要的动态接口的情况下,首先对第一请求进行防护处理,可以有效保证数据访问的安全性和可靠性。另外,客户端设备存储有不同资源的防护等级,在获取浏览器产生的第一请求之后,根据该请求所对应的防护等级来确定是否进行安全防护以及安全防护所采取的方案。
此外,还需要说明的是,客户端设备的页面功能模块可确定密钥数据,并将密钥数据发送至代理模块,代理模块在接收到密钥数据之后,对第一请求进行签名处理。其中,代理模块可采用私有的、混淆过的算法对第一请求进行签名处理,以得到第三请求。
步骤S808,将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
需要说明的是,目标地址用于指示防火墙所在的地址。待发队列中的请求为在第一请求处理失败后所要发送的请求,其中,处理失败包括:对第三请求进行多次验证失败,多次验证失败中包括:对第三请求进行挑战认证。
可选的,在代理模块将第三请求发送至防火墙之后,防火墙对第三请求进行解析,得到包含密钥数据的字段进行校验,在校验成功的情况下,将解析后的第三请求发送至业务服务器,以对业务服务器中对应的资源进行访问。如果校验失败,可对待发队列中的第二请求再次进行验证,其中,待发队列可以为代理模块中临时存储数据的存储队列。
由此可见,步骤S808可实现校验失败时对请求的二次校验,实现了对请求的重放。在二次校验通过后,代理模块可重新发送浏览器产生的原始请求,由此可使得请求的验证工作对于上层业务来说是完全透明的,减少了对业务逻辑的改造,降低了改造成本。
基于上述步骤S802至步骤S808所限定的方案,可以获知,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,对第一请求进行复制处理,得到第二请求,然后对第一请求进行签名处理,得到第三请求,最后将第三请求发送至目标地址,并将第二请求暂存在待发队列中。
容易注意到的是,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址指示的防火墙进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址指示的防火墙仍可对复制后的其他请求进行验证处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
在一种可选的方案中,代理模块还可接收防火墙对第三请求的响应数据,并在第三请求验证失败时,将响应数据中的挑战信息发送至浏览器,并通过浏览器展示挑战信息。然后,代理模块接收对挑战信息的应答信息,并将应答信息发送至防火墙,以对应答信息进行验证。其中,在应答信息通过验证时,将暂存在待发队列中的第二请求发送至防火墙。
可选的,第三请求通过以下方式确定是否通过验证:在响应数据中存在用于指示验证失败的指示信息时,确定第三请求验证失败;在响应数据中不存在指示信息时,确定第三请求通过验证。
另外,在将暂存在待发队列中的第二请求发送至目标地址指示的防火墙之前,代理模块还从响应数据中提取令牌信息,然后将令牌信息添加至第二请求中,并将添加了令牌信息的第二请求发送至目标地址指示的防火墙。
可选的,在第三请求通过验证时,代理模块从待发队列中删除第二请求。
实施例3
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理***,如图3所示,该***包括:代理模块301和页面功能模块303。
其中,代理模块301,用于截获浏览器产生的第一请求,对第一请求进行复制处理,得到第二请求;接收页面功能模块发送的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中;代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行;页面功能模块303,用于产生密钥数据,并将密钥数据发生至代理模块。
需要说明的是,代理模块和页面功能模块内置于网页的脚本中。
由上可知,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,代理模块对第一请求进行复制处理,得到第二请求,然后再接收浏览器发送的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求,最后将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中,页面功能模块产生密钥数据,并将密钥数据发生至代理模块。其中,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。
容易注意到的是,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址指示的防火墙进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址指示的防火墙仍可对复制后的其他请求进行处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
实施例4
根据本申请实施例,还提供了一种用于实施上述数据处理方法的流量的网络***,如图2所示,该网络***包括:客户端设备201、防火墙设备203和业务服务器205。
其中,客户端设备,用于提供浏览器的运行环境,由图3所示的客户端设备的结构示意图可知,客户端设备包括:代理模块和页面功能模块。
具体的,代理模块,用于截获浏览器产生的第一请求,对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至防火墙设备,并将第二请求暂存在待发队列中;代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行;页面功能模块,用于产生密钥数据,并将密钥数据发生至代理模块,以截获浏览器产生的第一请求;防火墙设备,用于对第三请求进行验证,并在验证通过时,将第三请求发送至业务服务器;业务服务器,用于在接收到第三请求后,将第三请求所对应的业务数据发送至客户端设备。
在一种可选的方案中,防火墙设备,用于向客户端设备发送针对第三请求的响应数据;客户端设备,还用于在第三请求验证失败时,将响应数据中的挑战信息发送至页面功能模块,并通过页面功能模块展示挑战信息,以及接收对挑战信息的应答信息,并将应答信息发送至防火墙设备;防火墙设备,还用于对应答信息进行验证,并在应答信息通过验证时,将暂存在待发队列中的第二请求发送至防火墙。
需要说明的是,代理模块、页面功能模块、防火墙设备以及业务服务器之间的交互如图6和图7所示,在此不再赘述。
由上可知,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,代理模块对第一请求进行复制处理,得到第二请求,然后再获取浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求,最后将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中,页面功能模块产生密钥数据,并将密钥数据发生至代理模块。目标地址指示的防火墙设备对第三请求进行验证,并在验证通过时,将第三请求发送至业务服务器,业务服务器在接收到第三请求后,将第三请求所对应的业务数据发送至客户端设备。其中,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。
容易注意到的是,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址指示的防火墙进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址指示的防火墙设备仍可对复制后的其他请求进行处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
实施例5
根据本申请实施例,还提供了一种用于实施上述数据处理的数据处理***,该***包括:处理器以及存储器
其中,存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:
截获网页产生的第一请求;对请求进行复制处理,得到第二请求;接收网页发送的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至防火墙,并将第二请求暂存在待发队列中。
由上可知,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,对第一请求进行复制处理,得到第二请求,然后再获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求,最后将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中。
容易注意到的是,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址指示的防火墙进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址指示的防火墙设备仍可对复制后的其他请求进行处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
实施例6
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的数据处理方法中以下步骤的程序代码:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中。
可选地,图9是根据本申请实施例的一种计算机终端的结构框图。如图9所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器902、存储器904以及传输装置906。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中。
可选的,上述处理器还可以执行如下步骤的程序代码:通过浏览器中的代理模块截获第一请求,其中,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。
可选的,上述处理器还可以执行如下步骤的程序代码:接收目标地址指示的防火墙对第三请求的响应数据;在第三请求验证失败时,将响应数据中的挑战信息发送至浏览器,并通过浏览器展示挑战信息;接收对挑战信息的应答信息,并将应答信息发送至目标地址指示的防火墙,以对应答信息进行验证。
可选的,上述处理器还可以执行如下步骤的程序代码:在应答信息通过验证时,将暂存在待发队列中的第二请求发送至目标地址指示的防火墙。
可选的,上述处理器还可以执行如下步骤的程序代码:从响应数据中提取令牌信息;将令牌信息添加至第二请求中,并将添加了令牌信息的第二请求发送至目标地址指示的防火墙。
可选的,上述处理器还可以执行如下步骤的程序代码:接收浏览器基于以下至少之一信息确定的密钥数据:用户行为信息、浏览器的环境信息、浏览器的调试信息;依据密钥数据对第一请求进行签名处理。
可选的,上述处理器还可以执行如下步骤的程序代码:在第三请求通过验证时,从待发队列中删除第二请求。
可选的,上述处理器还可以执行如下步骤的程序代码:在响应数据中存在用于指示验证失败的指示信息时,确定第三请求验证失败;在响应数据中不存在指示信息时,确定第三请求通过验证。
可选的,上述处理器还可以执行如下步骤的程序代码:待发队列中的请求为在第一请求处理失败后所要发送的请求,其中,处理失败包括:对第三请求进行多次验证失败,多次验证失败中包括:对第三请求进行挑战认证。
本领域普通技术人员可以理解,图9所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:截获浏览器产生的第一请求;对第一请求进行复制处理,得到第二请求;获取来自浏览器的密钥数据,并基于该密钥数据对第一请求进行签名处理,得到第三请求;将第三请求发送至目标地址指示的防火墙,并将第二请求暂存在待发队列中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过浏览器中的代理模块截获第一请求,其中,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收目标地址指示的防火墙对第三请求的响应数据;在第三请求验证失败时,将响应数据中的挑战信息发送至浏览器,并通过浏览器展示挑战信息;接收对挑战信息的应答信息,并将应答信息发送至目标地址指示的防火墙,以对应答信息进行验证。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在应答信息通过验证时,将暂存在待发队列中的第二请求发送至目标地址指示的防火墙。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从响应数据中提取令牌信息;将令牌信息添加至第二请求中,并将添加了令牌信息的第二请求发送至目标地址指示的防火墙。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收浏览器基于以下至少之一信息确定的密钥数据:用户行为信息、浏览器的环境信息、浏览器的调试信息;依据密钥数据对第一请求进行签名处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在第三请求通过验证时,从待发队列中删除第二请求。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在响应数据中存在用于指示验证失败的指示信息时,确定第三请求验证失败;在响应数据中不存在指示信息时,确定第三请求通过验证。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:待发队列中的请求为在第一请求处理失败后所要发送的请求,其中,处理失败包括:对第三请求进行多次验证失败,多次验证失败中包括:对第三请求进行挑战认证。
实施例8
根据本申请实施例,还提供了一种数据处理方法,如图10所示,该方法包括如下步骤:
步骤S1002,截获浏览器产生的第一请求。
在上述步骤S1002中,图3中的代理模块301可对浏览器产生的第一请求进行截获,其中,浏览器产生的第一请求包括操作网页页面产生的请求(例如,HTTP请求)以及应用程序触发产生的请求。
需要说明的是,代理模块所对应的进程为浏览器的后台所运行的服务进程,且代理模块对应的进程支持脱机运行。
步骤S1004,对第一请求进行复制处理,得到第二请求。
需要说明的是,在通过浏览器发送第一请求的过程中,每个请求仅能发送一次,为了使得请求能够重复发送,在确定是否对浏览器产生的第一请求进行拦截之前,首先对第一请求进行复制处理。可选的,在步骤S1004中,代理模块将浏览器产生的第一请求进行复制得到两个请求,即第一请求和第二请求,其中,第一请求和第二请求完全相同。
步骤S1006,将第一请求发送至目标地址,并将第二请求暂存在待发队列中。
在步骤S1006中,代理模块通过获取来自浏览器的秘钥数据,并基于该密钥数据对第一请求进行签名处理得到的第三请求,并将处理后的第一请求(即第三请求)发送至目标地址。可选的,代理模块接收浏览器基于以下至少之一信息确定的密钥数据:用户行为信息、浏览器的环境信息、浏览器的调试信息,并依据密钥数据对第一请求进行签名处理。
另外,目标地址用于指示防火墙所在的地址。待发队列中的请求为在第一请求处理失败后所要发送的请求,其中,处理失败包括:对第三请求进行多次验证失败,多次验证失败中包括:对第三请求进行挑战认证。
需要说明的是,在对第一请求进行签名处理之前,代理模块首先判断浏览器产生的第一请求是否需要安全防护。其中,在确定客户端设备请求的仅是普通的资源,则代理模块确定该请求无需安全防护,并对第一请求进行签名处理;如果确定客户端设备请求的是用户数据的动态接口,则代理模块确定该请求需要安全防护,然后代理模块对第一请求进行防护处理,并将防护处理后的第一请求进行签名处理。
另外,在第一请求请求访问较为重要的动态接口的情况下,首先对第一请求进行防护处理,可以有效保证数据访问的安全性和可靠性。另外,客户端设备存储有不同资源的防护等级,在获取浏览器产生的第一请求之后,根据该请求所对应的防护等级来确定是否进行安全防护以及安全防护所采取的方案。
此外,还需要说明的是,客户端设备的页面功能模块可确定密钥数据,并将密钥数据发送至代理模块,代理模块在接收到密钥数据之后,对第一请求进行签名处理。其中,代理模块可采用私有的、混淆过的算法对第一请求进行签名处理,以得到第三请求。在得到第三请求之后,防火墙对第三请求进行解析,得到包含密钥数据的字段进行校验,在校验成功的情况下,将解析后的第三请求发送至业务服务器,以对业务服务器中对应的资源进行访问。如果校验失败,可对待发队列中的第二请求再次进行验证,其中,待发队列可以为代理模块中临时存储数据的存储队列。
由此可见,步骤S1006可实现校验失败时对请求的二次校验,实现了对请求的重放。在二次校验通过后,代理模块可重新发送浏览器产生的原始请求,由此可使得请求的验证工作对于上层业务来说是完全透明的,减少了对业务逻辑的改造,降低了改造成本。
基于上述步骤S1002至步骤S1006所限定的方案,可以获知,采用对浏览器产生的第一请求进行拦截的方式,在截获浏览器产生的第一请求之后,对第一请求进行复制处理,得到第二请求,然后将第一请求发送至目标地址,并将第二请求暂存在待发队列中。
容易注意到的是,在得到浏览器产生的第一请求之后,对第一请求进行复制处理,并对复制后的第一请求进行签名处理,将加密后的第一请求(即第三请求)送至目标地址指示的防火墙进行验证,避免了对网络请求的重写,提高了网络安全性。进一步地,由于对浏览器产生的第一请求进行了复制处理,因此,在对复制后的请求进行处理的过程中出现错误,目标地址指示的防火墙仍可对复制后的其他请求进行验证处理,从而保证了网络运行的可靠性。
由上述内容可知,本申请所提供的方案可以解决现有的重写应用程序接口拦截流量的方式导致网络安全性能低的技术问题。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (18)
1.一种数据处理方法,包括:
截获浏览器产生的第一请求;
对所述第一请求进行复制处理,得到第二请求;
获取来自所述浏览器的密钥数据,并基于该密钥数据对所述第一请求进行签名处理,得到第三请求;
将所述第三请求发送至目标地址,并将所述第二请求暂存在待发队列中。
2.根据权利要求1所述的方法,其中,截获浏览器产生的第一请求,包括:
通过所述浏览器中的代理模块截获所述第一请求,其中,所述代理模块所对应的进程为所述浏览器的后台所运行的服务进程,且所述代理模块对应的进程支持脱机运行。
3.根据权利要求1所述的方法,其中,所述方法还包括:
接收所述目标地址指示的防火墙对所述第三请求的响应数据;
在所述第三请求验证失败时,将所述响应数据中的挑战信息发送至所述浏览器,并通过所述浏览器展示所述挑战信息;
接收对所述挑战信息的应答信息,并将所述应答信息发送至所述目标地址指示的防火墙,以对所述应答信息进行验证。
4.根据权利要求3所述的方法,其中,所述方法还包括:
在所述应答信息通过验证时,将暂存在所述待发队列中的第二请求发送至所述目标地址指示的防火墙。
5.根据权利要求4所述的方法,其中,将暂存在所述待发队列中的第二请求发送至所述目标地址指示的防火墙之前,所述方法还包括:
从所述响应数据中提取令牌信息;
将所述令牌信息添加至所述第二请求中,并将添加了所述令牌信息的第二请求发送至所述目标地址指示的防火墙。
6.根据权利要求1所述的方法,其中,对所述第一请求进行签名处理包括:
接收所述浏览器基于以下至少之一信息确定的密钥数据:用户行为信息、所述浏览器的环境信息、所述浏览器的调试信息;
依据所述密钥数据对所述第一请求进行签名处理。
7.根据权利要求1所述的方法,其中,在所述第三请求通过验证时,所述方法还包括:从所述待发队列中删除所述第二请求。
8.根据权利要求1至7中任意一项所述的方法,其中,所述第三请求通过以下方式确定是否通过验证:
在所述响应数据中存在用于指示验证失败的指示信息时,确定所述第三请求验证失败;
在所述响应数据中不存在所述指示信息时,确定所述第三请求通过验证。
9.根据权利要求1至7中任意一项所述的方法,其中,所述待发队列中的请求为在所述第一请求处理失败后所要发送的请求,其中,所述处理失败包括:对所述第三请求进行多次验证失败,所述多次验证失败中包括:对所述第三请求进行挑战认证。
10.一种数据处理方法,包括:
截获浏览器产生的第一请求;
对所述第一请求进行复制处理,得到第二请求;
对所述第一请求进行签名处理,得到第三请求;
将所述第三请求发送至目标地址,并将所述第二请求暂存在待发队列中。
11.一种数据处理方法,包括:
截获浏览器产生的第一请求;
对所述第一请求进行复制处理,得到第二请求;
将所述第一请求发送至目标地址,并将所述第二请求暂存在待发队列中。
12.一种数据处理***,包括:代理模块和页面功能模块,其中,
所述代理模块,用于截获浏览器产生的第一请求,对所述第一请求进行复制处理,得到第二请求;接收所述页面功能模块发送的密钥数据,并基于该密钥数据对所述第一请求进行签名处理,得到第三请求;将所述第三请求发送至目标地址指示的防火墙,并将所述第二请求暂存在待发队列中;所述代理模块所对应的进程为所述浏览器的后台所运行的服务进程,且所述代理模块对应的进程支持脱机运行;
所述页面功能模块,用于产生所述密钥数据,并将所述密钥数据发生至所述代理模块。
13.根据权利要求12所述的***,其中,所述代理模块和所述页面功能模块内置于所述浏览器的脚本中。
14.一种网络***,包括:客户端设备、防火墙设备和业务服务器;
所述客户端设备,用于提供浏览器的运行环境,所述客户端设备包括:
代理模块,用于截获所述浏览器产生的第一请求,对所述第一请求进行复制处理,得到第二请求;获取来自所述浏览器的密钥数据,并基于该密钥数据对所述第一请求进行签名处理,得到第三请求;将所述第三请求发送至防火墙设备,并将所述第二请求暂存在待发队列中;所述代理模块所对应的进程为所述浏览器的后台所运行的服务进程,且所述代理模块对应的进程支持脱机运行;
页面功能模块,用于产生所述密钥数据,并将所述密钥数据发生至所述代理模块,以截获所述浏览器产生的第一请求;
所述防火墙设备,用于对所述第三请求进行验证,并在验证通过时,将所述第三请求发送至所述业务服务器;
所述业务服务器,用于在接收到所述第三请求后,将所述第三请求所对应的业务数据发送至所述客户端设备。
15.根据权利要求14所述的***,其中,
所述防火墙设备,用于向所述客户端设备发送针对所述第三请求的响应数据;
所述客户端设备,还用于在所述第三请求验证失败时,将所述响应数据中的挑战信息发送至所述页面功能模块,并通过所述页面功能模块展示所述挑战信息,以及接收对所述挑战信息的应答信息,并将所述应答信息发送至所述防火墙设备;
所述防火墙设备,还用于对所述应答信息进行验证,并在所述应答信息通过验证时,将暂存在所述待发队列中的第二请求发送至所述防火墙。
16.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至9中任意一项所述的数据处理方法。
17.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任意一项所述的数据处理方法。
18.一种数据处理***,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
截获浏览器产生的第一请求;
对所述第一请求进行复制处理,得到第二请求;
获取来自所述浏览器的密钥数据,并基于该密钥数据对所述第一请求进行签名处理,得到第三请求;
将所述第三请求发送至目标地址,并将所述第二请求暂存在待发队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811003787.1A CN110875899B (zh) | 2018-08-30 | 2018-08-30 | 数据处理方法、***以及网络*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811003787.1A CN110875899B (zh) | 2018-08-30 | 2018-08-30 | 数据处理方法、***以及网络*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110875899A true CN110875899A (zh) | 2020-03-10 |
CN110875899B CN110875899B (zh) | 2022-06-28 |
Family
ID=69715212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811003787.1A Active CN110875899B (zh) | 2018-08-30 | 2018-08-30 | 数据处理方法、***以及网络*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110875899B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040268A (zh) * | 2020-08-11 | 2020-12-04 | 福建天泉教育科技有限公司 | 支持自定义drm的视频播放方法、存储介质 |
CN112040279A (zh) * | 2020-08-11 | 2020-12-04 | 福建天泉教育科技有限公司 | 自定义drm的音视频播放方法、存储介质 |
CN113905092A (zh) * | 2021-09-28 | 2022-01-07 | 盐城金堤科技有限公司 | 一种确定可复用代理队列的方法、装置、终端及存储介质 |
CN114465960A (zh) * | 2022-02-07 | 2022-05-10 | 北京沃东天骏信息技术有限公司 | 流量切换方法、装置和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010017849A (ko) * | 1999-08-16 | 2001-03-05 | 정선종 | 월드와이드웹에서의 보안 기능 지원을 위한 데이터 송수신 방법 |
CN1771488A (zh) * | 2002-11-27 | 2006-05-10 | 李树软件公司 | Web服务器点击倍增器和转向器 |
CN101616008A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 保护网络应用数据的方法和*** |
CN103647747A (zh) * | 2013-11-08 | 2014-03-19 | 陈明 | 一种多智能终端设备与服务器数据通信*** |
CN104735090A (zh) * | 2015-04-17 | 2015-06-24 | 北京汉柏科技有限公司 | 一种web服务器网页防篡改的方法和*** |
CN105359157A (zh) * | 2013-07-09 | 2016-02-24 | 国际商业机器公司 | 网络安全*** |
CN107209830A (zh) * | 2014-11-13 | 2017-09-26 | 克丽夫有限公司 | 用于识别并抵抗网络攻击的方法 |
CN107295017A (zh) * | 2017-08-10 | 2017-10-24 | 四川长虹电器股份有限公司 | 基于用户认证的cc防护方法 |
CN107911376A (zh) * | 2017-11-29 | 2018-04-13 | 南京莱斯信息技术股份有限公司 | 一种非入侵式的web***单点登录和访问控制实现方法 |
CN107979615A (zh) * | 2018-01-05 | 2018-05-01 | 新华三信息安全技术有限公司 | 报文加密发送、认证方法、装置、客户端及防火墙 |
CN108388802A (zh) * | 2018-03-21 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | 一种脚本注入攻击的告警方法及告警*** |
-
2018
- 2018-08-30 CN CN201811003787.1A patent/CN110875899B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010017849A (ko) * | 1999-08-16 | 2001-03-05 | 정선종 | 월드와이드웹에서의 보안 기능 지원을 위한 데이터 송수신 방법 |
CN1771488A (zh) * | 2002-11-27 | 2006-05-10 | 李树软件公司 | Web服务器点击倍增器和转向器 |
CN101616008A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 保护网络应用数据的方法和*** |
CN105359157A (zh) * | 2013-07-09 | 2016-02-24 | 国际商业机器公司 | 网络安全*** |
CN103647747A (zh) * | 2013-11-08 | 2014-03-19 | 陈明 | 一种多智能终端设备与服务器数据通信*** |
CN107209830A (zh) * | 2014-11-13 | 2017-09-26 | 克丽夫有限公司 | 用于识别并抵抗网络攻击的方法 |
CN104735090A (zh) * | 2015-04-17 | 2015-06-24 | 北京汉柏科技有限公司 | 一种web服务器网页防篡改的方法和*** |
CN107295017A (zh) * | 2017-08-10 | 2017-10-24 | 四川长虹电器股份有限公司 | 基于用户认证的cc防护方法 |
CN107911376A (zh) * | 2017-11-29 | 2018-04-13 | 南京莱斯信息技术股份有限公司 | 一种非入侵式的web***单点登录和访问控制实现方法 |
CN107979615A (zh) * | 2018-01-05 | 2018-05-01 | 新华三信息安全技术有限公司 | 报文加密发送、认证方法、装置、客户端及防火墙 |
CN108388802A (zh) * | 2018-03-21 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | 一种脚本注入攻击的告警方法及告警*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112040268A (zh) * | 2020-08-11 | 2020-12-04 | 福建天泉教育科技有限公司 | 支持自定义drm的视频播放方法、存储介质 |
CN112040279A (zh) * | 2020-08-11 | 2020-12-04 | 福建天泉教育科技有限公司 | 自定义drm的音视频播放方法、存储介质 |
CN112040279B (zh) * | 2020-08-11 | 2022-06-07 | 福建天泉教育科技有限公司 | 自定义drm的音视频播放方法、存储介质 |
CN113905092A (zh) * | 2021-09-28 | 2022-01-07 | 盐城金堤科技有限公司 | 一种确定可复用代理队列的方法、装置、终端及存储介质 |
CN113905092B (zh) * | 2021-09-28 | 2024-03-22 | 盐城天眼察微科技有限公司 | 一种确定可复用代理队列的方法、装置、终端及存储介质 |
CN114465960A (zh) * | 2022-02-07 | 2022-05-10 | 北京沃东天骏信息技术有限公司 | 流量切换方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110875899B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110875899B (zh) | 数据处理方法、***以及网络*** | |
US10574686B2 (en) | Security verification by message interception and modification | |
CN112019493B (zh) | 身份认证方法、身份认证装置、计算机设备和介质 | |
JP6545136B2 (ja) | ウェブページの暗号化送信のためのシステム及び方法 | |
CN112491776B (zh) | 安全认证方法及相关设备 | |
CN108038388B (zh) | Web页面***的实现方法和客户端、服务器 | |
CN104243419A (zh) | 基于安全外壳协议的数据处理方法、装置及*** | |
CN108900324B (zh) | 校验虚拟机通信性能的方法及装置 | |
CN104735086A (zh) | 一种文件的安全下载方法和装置 | |
CN106465076A (zh) | 一种控制短信息读取的方法和终端 | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
CN109889410B (zh) | 测试业务功能的方法、***、装置、代理设备和存储介质 | |
CN115412547A (zh) | 一种文件上传方法及文件上传*** | |
CN114024751B (zh) | 一种应用访问控制方法、装置、计算机设备及存储介质 | |
CN110647736A (zh) | 插件式坐席***登录方法、装置、计算机设备及存储介质 | |
CN114065093A (zh) | 数据防护方法、***、电子设备及计算机可读存储介质 | |
CN109495458A (zh) | 一种数据传输的方法、***及相关组件 | |
CN111858094B (zh) | 一种数据复制粘贴方法、***及电子设备 | |
CN107204959B (zh) | 验证码的验证方法、装置及*** | |
CN114448722B (zh) | 跨浏览器登录方法、装置、计算机设备和存储介质 | |
CN112769565B (zh) | 密码加密算法的升级方法、装置、计算设备和介质 | |
CN113992353A (zh) | 登录凭证的处理方法、装置、电子设备及存储介质 | |
CN112817703A (zh) | 访问虚拟机控制台的方法、装置及云管理平台 | |
CN112118105B (zh) | 电子文件签名的方法、装置及终端设备 | |
CN114745216B (zh) | 一种动态接入方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |