CN107566200A - 一种监控方法、装置及*** - Google Patents

一种监控方法、装置及*** Download PDF

Info

Publication number
CN107566200A
CN107566200A CN201610507478.2A CN201610507478A CN107566200A CN 107566200 A CN107566200 A CN 107566200A CN 201610507478 A CN201610507478 A CN 201610507478A CN 107566200 A CN107566200 A CN 107566200A
Authority
CN
China
Prior art keywords
data
client
network
tentation
code
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
Application number
CN201610507478.2A
Other languages
English (en)
Other versions
CN107566200B (zh
Inventor
万朝新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610507478.2A priority Critical patent/CN107566200B/zh
Publication of CN107566200A publication Critical patent/CN107566200A/zh
Application granted granted Critical
Publication of CN107566200B publication Critical patent/CN107566200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本文公开了一种监控方法、装置及***。所述监控***包括:客户端、服务端以及位于所述客户端和所述服务端之间的中间设备;中间设备,用于获取待发送给客户端的网络数据,在所述网络数据中添加数据采集代码,将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;所述客户端,用于接收携带数据采集代码的网络数据,执行所述数据采集代码采集预定数据,在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。通过上述技术方案实现对Web应用的监控。

Description

一种监控方法、装置及***
技术领域
本发明涉及网络安全领域,尤其涉及一种监控方法、装置及***。
背景技术
随着网络技术的不断发展,网络业务的安全越来越受到关注。目前,互联网公司可以通过接入互联网业务风控产品实现对网站的防护。互联网业务风控产品可以实现对应用层以上的具体互联网业务的保护,可以保障互联网公司的资产和业务免受风险和损失,能够防范业务上的刷库、网络爬虫、刷单、信息泄漏等威胁。但是,接入互联网业务风控产品的流程复杂,而且接入互联网业务风控产品对网站自身业务侵入过大。此外,普通的互联网业务风控产品无法对网站全部的接口做通用的防御。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种监控方法、装置及***,能够实现有效监控互联网(Web)应用。
本申请实施例提供一种监控***,包括:客户端、服务端以及位于所述客户端和所述服务端之间的中间设备;所述中间设备,用于获取待发送给客户端的网络数据,在所述网络数据中添加数据采集代码,将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;所述客户端,用于接收携带数据采集代码的网络数据,执行所述数据采集代码采集预定数据,在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
可选地,所述监控***还包括:网络风险检测服务器;所述中间设备,还用于在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;将所述预定数据发送给网络风险检测服务器;所述网络风险检测服务器,用于根据所述预定数据进行网络风险检测;所述中间设备,还用于当所述网络风险检测服务器根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端,当所述网络风险检测服务器根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
本申请实施例还提供一种监控***,包括:客户端以及服务端,所述服务端,用于在待发送给客户端的网络数据中添加数据采集代码;将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;所述客户端,用于接收网络数据,其中,所述网络数据携带数据采集代码;执行所述数据采集代码采集预定数据;在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
本申请实施例还提供一种监控***,包括:客户端以及服务端,所述服务端用于发送数据采集指令,以触发客户端执行配置的数据采集代码;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;所述客户端用于接收数据采集指令;在所述数据采集指令的触发下,执行数据采集代码采集预定数据;在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
本申请实施例还提供一种监控装置,位于客户端与服务端之间,所述监控装置包括:获取模块,用于获取待发送给客户端的网络数据;处理模块,用于在所述网络数据中添加数据采集代码;发送模块,用于将添加了数据采集代码的网络数据发送给所述客户端。
可选地,所述处理模块用于在所述网络数据中注入数据采集代码。
可选地,所述数据采集代码还用于在所述客户端提交数据时添加采集到的预定数据。
可选地,所述待发送给客户端的网络数据为所述服务端发送给所述客户端的网络数据,或者,所述中间设备发送给所述客户端的网络数据。
可选地,所述处理模块,用于在服务端返回的应答数据添加数据采集代码,其中,所述应答数据对应于所述客户端的请求。
可选地,所述监控装置还包括:提取模块,用于在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;风险检测模块,用于根据所述预定数据进行网络风险检测,或者,所述预定数据发送模块还用于将所述预定数据发送给网络风险检测服务器,由所述网络风险检测服务器根据所述预定数据进行网络风险检测。
可选地,所述监控装置还包括:阻断模块,用于当根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端;数据发送模块,用于当根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
可选地,所述监控装置还包括:数据获取模块,用于获取来自客户端的数据;数据检测模块,用于根据用户配置信息,确定所述来自客户端的数据是否直接转发给所述服务端。
本申请实施例提供一种服务器,包括:添加模块,用于在待发送给客户端的网络数据中添加数据采集代码;发送模块,用于将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
本申请实施例提供一种客户端计算设备,包括:接收模块,用于接收网络数据,其中,所述网络数据携带数据采集代码;处理模块,用于执行所述数据采集代码采集预定数据;上传模块,用于在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
本申请实施例提供一种客户端计算设备,包括:接收模块,用于接收数据采集指令;处理模块,用于在所述数据采集指令的触发下,执行数据采集代码采集预定数据;添加模块,用于在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
本申请实施例还提供一种监控方法,应用于位于客户端和服务端之间的中间设备,所述监控方法包括:获取待发送给客户端的网络数据;在所述网络数据中添加数据采集代码;将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
可选地,所述在所述网络数据中添加数据采集代码,包括:在所述网络数据中注入数据采集代码。
可选地,所述在所述网络数据中注入数据采集代码,包括:在所述网页数据的头标签中注入所述数据采集代码,使被注入的数据采集代码成为头标签的第一个元素,所述数据采集代码为Javascript脚本。
可选地,所述数据采集代码还用于在所述客户端提交数据时添加采集到的预定数据。
可选地,所述待发送给客户端的网络数据为所述服务端发送给所述客户端的网络数据,或者,所述中间设备发送给所述客户端的网络数据。
可选地,所述在所述网络数据中添加数据采集代码,包括:在服务端返回的应答数据添加数据采集代码,其中,所述应答数据对应于所述客户端的请求。
可选地,所述监控方法还包括:在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;根据所述预定数据进行网络风险检测,或者,将所述预定数据发送给网络风险检测服务器,由所述网络风险检测服务器根据所述预定数据进行网络风险检测。
可选地,所述监控方法还包括:当根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端;当根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
可选地,所述监控方法还包括:获取来自客户端的数据;根据用户配置信息,确定所述来自客户端的数据是否直接转发给所述服务端。
本申请实施例提供一种监控方法,包括:在待发送给客户端的网络数据中添加数据采集代码;将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
本申请实施例还提供一种监控方法,包括:发送数据采集指令,以触发客户端执行配置的数据采集代码;其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
本申请实施例还提供一种监控方法,应用于客户端,所述监控方法包括:接收网络数据,其中,所述网络数据携带数据采集代码;执行所述数据采集代码采集预定数据;在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
可选地,在所述客户端上传数据时,包括:在所述客户端发送请求时。
可选地,所述执行所述数据采集代码采集预定数据,包括:在渲染网页数据时,执行所述数据采集代码采集预定数据。
可选地,所述监控方法还包括:在获知所述待上传的数据被阻断后,提示用户进行风险判断,在用户通过风险判断后,再次发送所述提交的请求,其中,所述再次发送的请求携带签名串,所述签名串是在用户通过风险判断时生成的。
可选地,所述预定数据包括设备信息以及用户行为信息;所述执行所述数据采集代码采集预定数据,包括:执行所述数据采集代码采集设备信息,并挂钩前端事件监听,捕获用户行为信息;所述在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中,包括:在所述客户端上传数据时,将所述设备信息和所述用户行为信息组合加密后添加到所述提交的数据。
本申请实施例还提供一种监控方法,应用于客户端,所述监控方法包括:接收数据采集指令;在所述数据采集指令的触发下,执行数据采集代码采集预定数据;在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
此外,本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述任一种监控方法。
在本申请实施例中,客户端和服务端之间的中间设备获取来自服务端的网络数据,并在所述网络数据中添加数据采集代码后,将所述网络数据发送给客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传。如此,中间设备可以基于来自客户端的预定数据进行网络风险检测,再根据网络风险检测结果进行相应处理,从而可以实现对Web应用风险进行业务透明的监控、检测和风险阻断,实现有效地防控Web应用的业务风险。而且,本申请实施例中,可以实现对客户端的透明处理,无需用户在客户端执行数据采集所需的操作,提升了用户体验。
可选地,在本申请实施例中,在中间设备根据来自客户端的预定数据检测到网络风险后,中间设备可以通知客户端,客户端可以提示用户进行风险判断,在用户通过风险判断后,客户端自动恢复数据的提交,有助于提升用户体验。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1为本申请实施例一的监控***的示意图;
图2为本申请实施例一的监控方法的流程图;
图3为本申请实施例二的监控***的示意图;
图4为本申请实施例二的监控方法的流程图;
图5为本申请实施例三的监控***的示意图;
图6为本申请实施例三的服务器的示意图;
图7为本申请实施例四的监控***的示意图;
图8为本申请实施例七的监控装置的示意图;
图9为本申请实施例七的客户端计算设备的示意图;
图10为本申请实施例八的客户端计算设备的示意图;
图11为本申请实施例九的监控方法的流程图;
图12为本申请实施例十的监控方法的流程图;
图13为本申请实施例十一的监控方法的流程图;
图14为本申请实施例十二的监控方法的流程图。
具体实施方式
以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
术语定义:
Javascript:是一种网络脚本语言。
互联网应用防火墙(WAF,Web Application Firewall):用于通过执行一系列针对超文本传送协议(HTTP,Hypertext Transfer Protocol)/HTTPS的安全策略来专门为互联网(Web)应用提供保护,能够给Web应用提供入侵防护。
WAF的反向代理(Reverse Proxy)模式:是指WAF作为代理服务器接收来自客户端的网络请求,转发网络请求,接收服务端返回的结果,并将所述结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。
实施例一
如图1所示,本申请实施例提供一种监控***,包括:客户端101、服务端103以及位于客户端101和服务端103之间的中间设备102。
于本实施例中,客户端可以指客户端计算设备或者客户端计算设备上的应用程序(APP)(例如,浏览器)。服务端可以指服务器或者服务器上运行的虚拟机。本申请对此并不限定。
于本实施例中,中间设备102可以为单独设置的服务器,例如,反向代理模式的WAF设备。然而,本申请对此并不限定。于其他实施例中,中间设备102还可以为其他网络设备。
如图1所示,于本实施例中,中间设备102包括通信处理单元1021以及网络风险检测单元1022。于此,客户端101与服务端103之间的信息交互通过中间设备102的通信处理单元1021进行。其中,客户端101与服务端103之间的全部信息交互可以通过通信处理单元1021进行,也可以部分信息交互通过信息处理单元1021进行。本申请对此并不限定。
下面,中间设备以反向代理模式的WAF设备为例、客户端以浏览器为例,服务端以业务服务器为例,说明本实施例提供的监控方法。
如图2所示,所述WAF设备包括通信处理单元以及网络风险检测单元,网络风险检测单元用于进行网络风险检测。本实施例中的网络风险以业务风险(例如,业务上的刷库、刷单等情况)为例进行说明。于本实施例中,数据采集代码为Javascript脚本。可选地,所述数据采集代码也可以为其他语言的脚本程序。
如图2所示,本实施例的监控方法包括以下步骤:
步骤201:用户通过浏览器请求访问页面,浏览器发送页面访问请求;例如,用户在浏览器的地址栏输入淘宝首页地址,浏览器发送携带淘宝首页的统一资源定位符(URL,Uniform Resource Locator)信息的访问请求;
步骤202:WAF设备的通信处理模块获取到上述页面访问请求,转发该页面访问请求给业务服务器,并接收业务服务器针对该页面访问请求返回的网页数据;
其中,WAF设备在获取到来自浏览器的请求后,可以根据WAF设备上预先配置的信息,确定是否将所述来自浏览器的请求直接转发给业务服务器。可选地,WAF设备上预先配置的信息可以由互联网企业用户根据需要进行设置,从而可以针对性地对相关页面进行监控和业务风险判断。
可选地,WAF设备预先配置风险判断请求列表,所述风险判断请求列表包括需要进行网络风险检测的URL地址,WAF设备在检测到所述来自浏览器的请求携带的目的URL信息没有存在于所述风险判断请求列表中,可以确定来自浏览器的请求是针对无需业务风险判断的页面的请求,将该来自浏览器的请求直接转发给业务服务器;WAF设备在检测到所述来自浏览器的请求携带的目的URL信息存在于所述风险判断请求列表中,则确定来自浏览器的请求是针对需要业务风险判断的页面的请求,不将所述来自浏览器的请求直接转发给业务服务器。
可选地,WAF设备预先配置风险判断请求列表,所述风险判断请求列表包括不需要进行网络风险检测的URL地址,WAF设备在检测到所述来自浏览器的请求携带的目的URL信息存在于所述风险判断请求列表中,可以确定来自浏览器的请求是针对无需业务风险判断的页面的请求,将该来自浏览器的请求直接转发给业务服务器;WAF设备在检测到所述来自浏览器的请求携带的目的URL信息没有存在于所述风险判断请求列表中,则确定来自浏览器的请求是针对需要业务风险判断的页面的请求,不将所述来自浏览器的请求直接转发给业务服务器。可选地,在风险判断请求列表中配置一个或多个网站的首页URL信息。然而,本申请对此并不限定。
步骤203:WAF设备的通信处理单元在业务服务器返回的网页数据中注入Javascript脚本,并将注入Javascript脚本的网页数据返回给浏览器。
由于浏览器采用Javascript语言,因此,在网页数据中注入Javascript脚本能够实现在浏览器侧的自动执行。所述Javascript脚本用于在浏览器执行以采集预定数据。
其中,Javascript脚本注入在网页数据的头(head)标签,Javascript脚本在注入head标签后会成为head标签的第一个元素。以返回的网页数据为Google页面为例,在返回的网页数据中注入Javascript脚本之后的示例结构如下:
<head><script src=”//alicdn.com/brf.js”></script>……<title>Google</title>;
需要说明的是,上述示例仅示意Javascript脚本注入的位置,省略了其他信息。
另外,本申请对Javascript脚本的注入位置并不限定。于其他实施例中,还可以在网页数据的其它部分(例如网页数据的body标签之后)注入上述Javascript脚本。
于本实施例中,预定数据包括:设备信息以及用户行为信息。
其中,设备信息例如包括以下一项或多项:浏览器的代理(UserAgent)信息、浏览器链接到目前的网页所经过的网页、用户操作***信息、浏览器版本号、浏览器类型、屏幕分辨率、屏幕大小、浏览器安装的插件、浏览器语言、浏览器支持的字体、浏览器的时间信息、浏览器的窗口大小信息、浏览器的窗口在页面的偏移信息。用户行为信息例如包括以下一项或多项:鼠标移动信息(例如,鼠标移动位置、偏移时间等)、鼠标点击信息(例如,鼠标点击位置、点击时间等)、屏幕触摸事件(例如,屏幕触摸位置、屏幕触摸时间等)、键盘按键信息(例如,按键码、按键时间等)。然而,本申请对于设备信息以及用户行为信息的具体内容并不限定,于实际应用中,可根据需要通过Javascript脚本配置实现不同的设备信息及用户行为信息的采集。
步骤204:浏览器接收返回的网页数据后,在渲染网页时,Javascript脚本会挂钩(hook)前端事件监听,捕获用户行为信息,而且,Javascript脚本会采集设备信息;当用户在显示的网页进行操作,提交页面业务请求(例如GET请求、POST请求、Jsnop请求、Ajax请求)时,Javascript脚本将采集到的预定数据注入到该页面业务请求,并发送该页面业务请求。
其中,所述预定数据由采集到的设备信息以及捕获到的用户行为信息组合加密后形成。其中,预定数据包括的内容可以通过不同变量名进行识别,预定数据注入页面业务请求后,可以通过预定标识或者参数指示页面业务请求中携带了预定数据。本申请对此并不限定。
下面分别以页面业务请求为GET请求、POST请求、Jsnop请求或者Ajax请求为例进行说明。
针对GET请求,通过Javascript脚本监听网页(例如,淘宝首页)所有的点击(click)事件,判断click事件是否在超级文本标记语言(HTML,Hyper Text Markup Language)的A标签上触发;若在A标签触发,则将A标签的目标URL信息拼接预定数据,例如,URL信息为:
http://www.taobao.com/s?a=567,
该URL信息拼接预定数据之后,可以得到:
http://www.taobao.com/s?a=567&sec_info=dklajfklnvknkczxnio3jeoijwe1k2eklafd,从而达到在GET请求注入预定数据的目的。
针对POST请求,通过Javascript脚本遍历前端所有的表格(form)请求,并hook所有form请求的提交(submit)事件处理函数;在用户触发submit请求时将预定数据***form表单中,从而达到在POST请求注入预定数据的目的。
针对Ajax请求,通过替换原浏览器的XMLHttpRequest类,并且在新构建的XMLHttpRequest类中自定义相应的处理函数,在浏览器通过XMLHttpRequest类发起Ajax请求时,注入预定数据;
针对Jsonp请求,通过对网页的头(head)及体(body)的insertBefore及appendChild方法进行替换,新构建的insertBefore及appendChild方法在页面进行脚本(script)***发起Jsonp请求时,注入预定数据。
步骤205:WAF设备的通信处理单元在获取到来自浏览器的该页面业务请求后,检测到该请求携带预定数据,则从该页面业务请求中提取预定数据(例如包括设备信息和用户行为信息),将预定数据发送给网络风险检测单元,网络风险检测单元根据预定数据进行网络风险检测,并将检测结果反馈给通信处理单元。
其中,WAF设备可以检测获取的来自浏览器的请求是否携带预定标识或者预定变量或者预定参数,来确定该请求是否携带预定数据,例如在该请求携带预定标识时,可以确定该请求携带预定数据。
可选地,WAF设备的通信处理单元在获取到来自浏览器的请求后,可以先根据WAF设备上预先配置的信息,确定是否将所述来自浏览器的请求直接转发给业务服务器。该实现过程可以参照步骤202中的描述,故于此不再赘述。在确定所述来自浏览器的请求不能直接转发给业务服务器,且携带预定数据时,进行预定数据提取;在确定所述来自浏览器的请求不能直接转发给业务服务器,且没有携带预定数据时,则可以阻断该来自浏览器的请求。
其中,在网络风险检测单元根据预定数据检测到业务风险时,通信处理单元阻断该页面业务请求并通知浏览器;在网络风险检测单元根据预定数据没有检测到业务风险时,执行步骤206;
其中,网络风险检测单元上可以预先配置相关检测策略,根据该检测策略及提取到的预定数据进行业务风险检测;例如,根据浏览器的UserAgent信息等判断是否存在爬虫;根据鼠标点击信息、鼠标移动信息等判断是否存在刷单情况。然而,本申请对于检测策略的内容并不限定。
步骤206:在网络风险检测单元根据预定数据没有检测到业务风险时,通信处理单元将该页面访问请求转发给业务服务器,并获取业务服务器针对该页面访问请求返回的数据;
步骤207:通信处理单元将业务服务器返回的数据返回给浏览器。
在本实施例中,Javascript脚本的注入在WAF设备执行,且Javascript脚本注入在业务服务器返回的响应数据中,所述响应数据对应于浏览器的请求,而且,预定数据的采集和注入由执行Javascript脚本实现,Javascript脚本可以在浏览器自动执行,如此,本实施例提供的监控方法对于浏览器和业务服务器而言均是无感的,不会影响业务服务器和浏览器的正常执行,透明地实现了网络监控,提高了用户体验。
举例而言,业务服务器接入WAF设备,使得浏览器与业务服务器之间的信息交互均需要通过WAF设备实现,例如接入反向代理模式的WAF设备。用户打开客户端计算设备上的浏览器界面,在浏览器的地址栏中输入当前需要访问的页面地址(例如,淘宝首页地址)并点击回车,此时,浏览器会发送携带淘宝首页的URL信息的请求;WAF设备获取到该请求后,检测自身存储的预先设置的风险判断请求列表中是否存储该请求携带的目标URL信息(此时,为淘宝首页的URL信息);在没有检测到时,将该请求转发给业务服务器;业务服务器返回针对该请求的网页数据;WAF设备获取该网页数据后,在该网页数据的head标签中注入Javascript脚本,并将注入了Javascript脚本的网页数据返回给浏览器;浏览器在渲染该网页数据时,Javascript脚本可以自动执行以采集预定数据(例如设备信息和用户行为信息);当用户在淘宝首页面进行页面浏览操作(例如,评论、注册、登录等行为)时,浏览器会发送携带用户操作的目标URL信息的请求。WAF设备接收到来自浏览器的请求后,检测自身存储的预先设置的风险判断请求列表中是否存储该请求携带的目标URL信息;当在风险判断请求列表中查询到该目标URL信息时,则WAF设备检测该请求是否携带预定标识或者预定参数,若携带,则确定该请求携带预定数据,进而提取出预定数据进行网络风险检测,若没有携带,则确定该请求没有携带预定数据,则可以阻断该请求。若根据提取出的预定数据没有检测到网络风险,则将该请求转发给业务服务器;若根据提取出的预定数据检测到网络风险,则阻断该请求。
可选地,所述预定数据可以包括签名串。浏览器在获知发送的请求被阻断后,提示用户进行风险判断,在用户通过风险判断后,再次发送所述提交的请求,其中,所述再次发送的请求携带签名串,所述签名串是在用户通过风险判断时生成的。WAF设备的通信处理单元在检测到获取的来自浏览器的请求携带签名串时,可以从所述请求中提取签名串,并发送给网络风险检测单元,网络风险检测单元对所述签名串进行校验,并将校验结果通知通信处理单元。当所述签名串没有通过校验时,通信处理单元阻断所述请求并通知所述浏览器,当所述签名串通过校验时,通信处理单元将所述请求转发给业务服务器。如此,可以实现请求阻断后恢复提交,从而提升用户体验。
实施例二
如图3所示,本申请实施例提供一种监控***,包括:客户端301、中间设备302、位于客户端301和服务端303之间的中间设备302以及网络风险检测服务器304。
于本实施例中,客户端可以指客户端计算设备或者客户端计算设备上的应用程序(APP)(例如,浏览器)。服务端可以指服务器或者服务器上运行的虚拟机。本申请对此并不限定。
于本实施例中,中间设备302为单独设置的服务器,例如,反向代理模式的WAF设备。然而,本申请对此并不限定。于其他实施例中,中间设备302还可以为其他网络设备。
本实施例与实施例一的区别在于:于本实施例中,网络风险检测由网络风险检测服务器304执行,而在实施例一中网络风险检测由中间设备102的网络风险检测单元1022执行。
下面,中间设备以反向代理模式的WAF设备为例、客户端以浏览器为例,服务端以业务服务器为例,说明本实施例提供的监控方法。于本实施例中,数据采集代码为Javascript脚本。
如图4所示,本实施例的监控方法包括以下步骤:
步骤401至步骤403的实现可以参照实施例一的步骤201至步骤203,故于此不再赘述。
步骤404:浏览器接收返回的网页数据后,在渲染网页时,Javascript脚本会挂钩(hook)前端事件监听,捕获用户行为信息,而且,Javascript脚本会采集设备信息;当用户在显示的网页进行操作,提交页面业务请求(例如GET请求、POST请求、Jsnop请求、Ajax请求)时,Javascript脚本将采集到的预定数据注入到该页面业务请求,并发送该页面业务请求。
关于本步骤的具体描述可以参见实施例一中的步骤204,故于此不再赘述。
步骤405:浏览器发送注入预定数据的页面业务请求;其中,所述预定数据的说明可以参见实施例一所述,故于此不再赘述。
步骤406:WAF设备在获取到来自浏览器的该页面业务请求后,检测到该请求携带预定数据,则从该页面业务请求中提取预定数据(例如包括设备信息和用户行为信息)。本步骤与实施例一中的步骤205中的预定数据检测和提取过程类似,故于此不再赘述。
步骤407:WAF设备将提取到的预定数据发送给网络风险检测服务器,网络风险检测服务器根据接收到的预定数据进行业务风险检测,并将检测结果反馈给WAF设备。
步骤408:WAF设备根据网络风险检测服务器反馈的检测结果获知存在业务风险时,阻断该页面业务请求,并通知浏览器;
其中,针对GET请求和POST请求,WAF设备阻断请求后可以直接向浏览器返回阻断页面;针对Jsonp请求和Ajax请求,WAF设备阻断请求后可以直接向浏览器返回阻断标志。
步骤409:浏览器获知WAF设备阻断页面业务请求后,提示用户进行风险判断,在用户通过风险判断后,再次发送携带签名串的所述页面业务请求,其中,该签名串是在用户通过风险判断时生成的。
例如,浏览器显示图形验证码,用户通过图形验证码的验证后,浏览器自动再次提交之前被阻断的页面业务请求,其中,再次提交的页面业务请求携带签名串,该签名串是在用户通过图形验证码的验证时生成的。然而,本申请对提示用户进行风险判断的方式并不限定。
下面分别以页面业务请求为GET请求、POST请求、Jsnop请求或者Ajax请求为例进行说明。
针对GET请求,在GET请求被阻断后,浏览器会收到返回的阻断页面,同时将阻断恢复上下文数据存储在阻断页面的Javascript变量中,浏览器在用户通过阻断页面的风险判断后,Javascript脚本基于阻断恢复上下文数据自动发起原GET请求(请求中会携带用户通过风险判断时生成的签名串)恢复正常的业务交互流程。
针对POST请求,在POST请求被阻断后,浏览器会收到返回的阻断页面,同时将阻断恢复上下文数据存储在阻断页面的Javascript变量中,浏览器在用户通过阻断页面的风险判断后,Javascript脚本基于阻断恢复上下文数据自动发起原POST请求(请求中会携带用户通过风险判断时生成的签名串)恢复正常的业务交互流程。
针对Jsonp请求,由于没有页面跳转,所以Jsonp请求的阻断不会存在阻断页面;Javascript脚本在hook Jsonp请求时,将阻断恢复上下文数据存储在原页面的Javascript变量中;在WAF设备返回阻断标志时,Javascript脚本控制弹出浮层进行风险判断,在用户通过风险判断后,Javascript脚本基于阻断恢复上下文数据自动发起原Jsonp请求(请求中会携带用户通过风险判断时生成的签名串)恢复正常的业务交互流程。
针对Ajax请求,由于没有页面跳转,所以Ajax请求的阻断不会存在阻断页面;Javascript脚本在hook Ajax请求时,将阻断恢复上下文数据存储在原页面的Javascript变量中;在WAF设备返回阻断标志时,Javascript脚本控制弹出浮层进行风险判断,在用户通过风险判断后,Javascript脚本基于阻断恢复上下文数据自动发起原Ajax请求(请求中会携带用户通过风险判断时生成的签名串)恢复正常的业务交互流程。
步骤410:WAF设备在获取到该页面业务请求后,检测到该请求携带签名串,则从该页面业务请求中提取签名串;其中,WAF设备针对页面业务请求的检测以及签名串的检测过程可以参照实施例一,故于此不再赘述;
步骤411:WAF设备将提取到的签名串发送给网络风险检测服务器,网络风险检测服务器对签名串进行校验,并将校验结果反馈给WAF设备;
若校验失败,则返回步骤408,即阻断该页面业务请求,并通知浏览器;若校验成功,则执行步骤412;
步骤412:WAF设备将该页面业务请求转发给业务服务器,并获取业务服务器针对该页面访问请求返回的数据;
步骤413:WAF设备将业务服务器返回的数据返回给浏览器。
实施例三
如图5所示,本实施例提供的监控***包括:客户端501和服务端502,所述服务端502上配置WAF。
于本实施例中,服务端指服务器,客户端可以指客户端计算设备或者客户端计算设备上的应用程序(APP)(例如,浏览器)。
于本实施例中,服务端502的WAF在待发送给客户端501的网络数据中添加数据采集代码,将添加了数据采集代码的网络数据发送给客户端501,其中,数据采集代码用于在所述客户端501采集预定数据并上传。其中,所述数据采集代码例如为Javascript脚本,或者其他语言的程序脚本。预定数据的说明可以参见实施例一,故于此不再赘述。
客户端501接收携带数据采集代码的网络数据,执行所述数据采集代码采集预定数据;在所述客户端501上传数据时,将采集到的预定数据添加到待上传的数据中。
服务端502的WAF接收到来自客户端501的数据后,在检测到携带预定数据时,服务端502的WAF从所述来自客户端501的数据中提取预定数据,并根据预定数据进行网络风险检测。网络风险检测的过程可以参照实施例一,故于此不再赘述。
此外,本实施例还提供一种服务器,如图6所示,所述服务器,包括:
添加模块601,用于在待发送给客户端的网络数据中添加数据采集代码;
发送模块602,用于将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
下面,以客户端为浏览器,服务端为服务器为例,数据采集代码以Javascript脚本为例进行说明。
例如,用户通过浏览器请求访问页面,浏览器发送页面访问请求,用户在浏览器的地址栏输入淘宝首页地址,浏览器发送携带淘宝首页的统一资源定位符(URL,Uniform Resource Locator)信息的访问请求;配置在服务器的WAF获取到上述页面访问请求,转发该页面访问请求给服务器的数据处理单元,并接收服务器的数据处理单元针对该页面访问请求返回的网页数据。可选地,WAF在获取到来自浏览器的请求后,可以根据WAF上预先配置的信息,确定是否将所述来自浏览器的请求直接转发给服务器的数据处理单元。可选地,WAF上预先配置的信息可以由互联网企业用户根据需要进行设置,从而可以针对性地对相关页面进行监控和业务风险判断。关于根据预先配置的信息进行请求检测的过程可以参照实施例一,故于此不再赘述。
WAF在收到服务器的数据处理单元返回的网页数据后,在网页数据中注入Javascript脚本,并将注入Javascript脚本的网页数据返回给浏览器。其中,Javascript脚本可以注入在网页数据的头(head)标签,Javascript脚本在注入head标签后会成为head标签的第一个元素。然而,本申请对此并不限定。
后续浏览器通过Javascript脚本进行数据采集和信息注入的过程同实施例一,故于此不再赘述。
配置在服务器的WAF在获取到来自浏览器的页面业务请求后,检测到该请求携带预定数据,则从该页面业务请求中提取预定数据(例如包括设备信息和用户行为信息),根据预定数据进行网络风险检测,或者,将预定数据发送给服务器中的网络风险检测单元,网络风险检测单元根据预定数据进行网络风险检测,并将检测结果反馈给WAF,或者,将预定数据发送给网络风险检测服务器,网络风险检测服务器根据预定数据进行网络风险检测,并将检测结果反馈给WAF。本申请对此并不限定。其中,预定数据、预定数据的检测以及提取方式可以参照实施例一,故于此不再赘述。
实施例四
如图7所示,本实施例提供的监控***包括:客户端701、服务端702以及网络风险检测服务器703。
本实施例与实施例三的区别在于:本实施例中,网络风险检测由网络风险检测服务器703执行。
于本实施例中,服务端指服务器,客户端可以指客户端计算设备或者客户端计算设备上的应用程序(APP)(例如,浏览器)。
于本实施例中,服务端702的WAF在待发送给客户端701的网络数据中添加数据采集代码,将添加了数据采集代码的网络数据发送给客户端701,其中,数据采集代码用于在所述客户端701采集预定数据并上传。其中,所述数据采集代码例如为Javascript脚本,或者其他语言的程序脚本。预定数据的说明可以参见实施例一,故于此不再赘述。
客户端701接收携带数据采集代码的网络数据,执行所述数据采集代码采集预定数据;在所述客户端701上传数据时,将采集到的预定数据添加到待上传的数据中。
服务端702接收到来自客户端701的数据后,在检测到携带预定数据时,服务端702的WAF从所述来自客户端701的数据中提取预定数据,并将提取到的预定数据发送给网络风险检测服务器703,网络风险检测服务器603根据预定数据进行网络风险检测。其中,网络风险检测的过程可以参照实施例一,故于此不再赘述。
实施例五
本实施例提供的监控***包括:客户端、服务端以及位于客户端和服务端之间的中间设备。
于本实施例中,客户端可以指客户端计算设备或者客户端计算设备上的应用程序(APP)(例如,浏览器)。服务端可以指服务器或者服务器上运行的虚拟机。本申请对此并不限定。
于本实施例中,中间设备可以为单独设置的服务器,例如,反向代理模式的WAF设备。然而,本申请对此并不限定。于其他实施例中,中间设备还可以为其他网络设备。
于本实施例中,服务端或者中间设备发送数据采集指令,以触发客户端执行配置的数据采集代码;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;
客户端接收来自服务端或者中间设备的数据采集指令;在所述数据采集指令的触发下,执行数据采集代码采集预定数据;可选地,客户端预先配置有数据采集代码,或者,服务端或中间设备预先向客户端发送数据采集代码,客户端接收并保存数据采集代码,在接收到数据采集指令时才启动数据采集代码的执行。然而,本申请对此并不限定。
在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
中间设备接收到来自客户端的数据后,在检测到携带预定数据时,中间设备从所述来自客户端的数据中提取预定数据,并根据预定数据进行网络风险检测。其中,网络风险检测的过程可以参照实施例一,故于此不再赘述。
下面,以客户端为浏览器,服务端为服务器,中间设备为单独设置的WAF设备为例,数据采集代码以Javascript脚本为例进行说明。
例如,浏览器上预先配置数据采集代码,用户通过浏览器请求访问页面,浏览器发送页面访问请求;用户在浏览器的地址栏输入淘宝首页地址,浏览器发送携带淘宝首页的统一资源定位符(URL,Uniform Resource Locator)信息的访问请求;WAF设备获取到上述页面访问请求,在需要进行网络风险检测时,向浏览器发送数据采集指令,以触发浏览器执行数据采集代码。后续,数据采集代码会采集用户在淘宝首页进行的操作,并在用户提交后续请求时,将采集到的预定数据注入后续请求中上传。WAF设备接收到该后续请求后,可以从中提取预定数据,进行网络风险检测。
实施例六
本实施例提供的监控***包括:客户端和服务端,所述服务端上配置WAF。
于本实施例中,服务端指服务器,客户端可以指客户端计算设备或者客户端计算设备上的应用程序(APP)(例如,浏览器)。
于本实施例中,服务端发送数据采集指令,以触发客户端执行配置的数据采集代码;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;
客户端接收来自服务端的数据采集指令;在所述数据采集指令的触发下,执行数据采集代码采集预定数据;可选地,客户端预先配置有数据采集代码,或者,服务端预先向客户端发送数据采集代码,客户端接收并保存数据采集代码,在接收到数据采集指令时才启动数据采集代码的执行。然而,本申请对此并不限定。
在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
服务端的WAF接收到来自客户端的数据后,在检测到携带预定数据时,服务端的WAF从所述来自客户端的数据中提取预定数据,并根据预定数据进行网络风险检测。其中,网络风险检测的过程可以参照实施例一,故于此不再赘述。
可选地,本实施例提供的监控***还可以包括:网络风险检测服务器,服务端的WAF从所述来自客户端的数据中提取预定数据后,将预定数据发送给网络风险检测服务器,由网络风险检测服务器根据预定数据进行网络风险检测。
实施例七
如图8所示,本实施例提供一种监控装置,位于客户端与服务端之间,所述监控装置包括:获取模块801,用于获取待发送给客户端的网络数据;处理模块802,用于在所述网络数据中添加数据采集代码;发送模块803,用于将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
可选地,所述处理模块802用于在所述网络数据中注入数据采集代码。
可选地,所述数据采集代码还用于在所述客户端提交数据时添加采集到的预定数据。即,在客户端提交数据时,执行数据采集代码可以将采集到的预定数据添加到要提交的数据中。
可选地,所述待发送给客户端的网络数据为所述服务端发送给所述客户端的网络数据,或者,所述中间设备发送给所述客户端的网络数据。其中,中间设备可以获取服务端发送给客户端的网络数据,或者,中间设备可以获取自身需要发送给客户端的网络数据。
可选地,所述处理模块802,用于在服务端返回的应答数据添加数据采集代码,其中,所述应答数据对应于所述客户端的请求。
可选地,所述监控装置还包括:提取模块,用于在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;风险检测模块,用于根据所述预定数据进行网络风险检测;或者,预定数据发送模块还用于将所述预定数据发送给网络风险检测服务器,由所述网络风险检测服务器根据所述预定数据进行网络风险检测。
可选地,所述监控装置还包括:阻断模块,用于当根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端;数据发送模块,用于当根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
可选地,所述监控装置还包括:数据获取模块,用于获取来自客户端的数据;数据检测模块,用于根据用户配置信息,确定所述来自客户端的数据是否直接转发给所述服务端。
此外,本实施例还提供一种客户端计算设备,如图9所示,包括:接收模块901,用于接收网络数据,其中,所述网络数据携带数据采集代码;处理模块902,用于执行所述数据采集代码采集预定数据;上传模块903,用于在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
实施例八
如图10所示,本实施例提供一种客户端计算设备,包括:接收模块1001,用于接收数据采集指令;处理模块1002,用于在所述数据采集指令的触发下,执行数据采集代码采集预定数据;添加模块1003,用于在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
实施例九
如图11所示,本实施例提供一种监控方法,应用于位于客户端和服务端之间的中间设备,所述监控方法包括:
步骤1101:获取待发送给客户端的网络数据;
步骤1102:在所述网络数据中添加数据采集代码;
步骤1103:将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
可选地,中间设备可以获取服务端主动发送给客户端的网络数据,或者,获取自身主动发送给客户端的网络数据。
可选地,所述在所述网络数据中添加数据采集代码,包括:在所述网络数据中注入数据采集代码。
可选地,所述数据采集代码还用于在所述客户端提交数据时添加采集到的预定数据。
可选地,所述待发送给客户端的网络数据为所述服务端发送给所述客户端的网络数据,或者,所述中间设备发送给所述客户端的网络数据。
可选地,所述在所述网络数据中添加数据采集代码,包括:在服务端返回的应答数据添加数据采集代码,其中,所述应答数据对应于所述客户端的请求。
可选地,所述监控方法还包括:在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;根据所述预定数据进行网络风险检测,或者,将所述预定数据发送给网络风险检测服务器,由所述网络风险检测服务器根据所述预定数据进行网络风险检测。
可选地,所述监控方法还包括:当根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端;当根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
可选地,所述监控方法还包括:获取来自客户端的数据;根据用户配置信息,确定所述来自客户端的数据是否直接转发给所述服务端。
实施例十
如图12所示,本实施例提供一种监控方法,例如应用于服务端或者位于客户端和服务器之间的中间设备,包括:
步骤1201:在待发送给客户端的网络数据中添加数据采集代码;
步骤1202:将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
实施例十一
如图13所示,本实施例提供一种监控方法,应用于客户端,所述监控方法包括:
步骤1301:接收网络数据,其中,所述网络数据携带数据采集代码;
步骤1302:执行所述数据采集代码采集预定数据;
步骤1303:在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
可选地,在所述客户端上传数据时,包括:在所述客户端发送请求时。
可选地,所述执行所述数据采集代码采集预定数据,包括:在渲染网页数据时,执行所述数据采集代码采集预定数据。
可选地,所述监控方法还包括:在获知所述待上传的数据被阻断后,提示用户进行风险判断,在用户通过风险判断后,再次发送所述提交的请求,其中,所述再次发送的请求携带签名串,所述签名串是在用户通过风险判断时生成的。
可选地,所述预定数据包括设备信息以及用户行为信息;所述执行所述数据采集代码采集预定数据,包括:执行所述数据采集代码采集设备信息,并挂钩前端事件监听,捕获用户行为信息;所述在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中,包括:在所述客户端上传数据时,将所述设备信息和所述用户行为信息组合加密后添加到所述提交的数据。
实施例十二
本实施例提供一种监控方法,例如应用于服务端或者位于客户端和服务器之间的中间设备,包括:发送数据采集指令,以触发客户端执行配置的数据采集代码;其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
如图14所示,本实施例还提供一种监控方法,应用于客户端,所述监控方法包括:
步骤1401:接收数据采集指令;
步骤1402:在所述数据采集指令的触发下,执行数据采集代码采集预定数据;
步骤1403:在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例九至实施例十一中任一种监控方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。

Claims (23)

1.一种监控***,其特征在于,包括:客户端、服务端以及位于所述客户端和所述服务端之间的中间设备;
所述中间设备,用于获取待发送给客户端的网络数据,在所述网络数据中添加数据采集代码,将添加了数据采集代码的网络数据发送给所述客户端;其中,所述数据采集代码用于在所述客户端采集预定数据并上传;
所述客户端,用于接收携带数据采集代码的网络数据,执行所述数据采集代码采集预定数据,在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
2.根据权利要求1所述的监控***,其特征在于,所述监控***还包括:网络风险检测服务器;
所述中间设备,还用于在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;将所述预定数据发送给网络风险检测服务器;
所述网络风险检测服务器,用于根据所述预定数据进行网络风险检测;
所述中间设备,还用于当所述网络风险检测服务器根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端,当所述网络风险检测服务器根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
3.一种监控装置,其特征在于,位于客户端与服务端之间,所述监控装置包括:
获取模块,用于获取待发送给客户端的网络数据;
处理模块,用于在所述网络数据中添加数据采集代码;
发送模块,用于将添加了数据采集代码的网络数据发送给所述客户端。
4.一种服务器,其特征在于,包括:
添加模块,用于在待发送给客户端的网络数据中添加数据采集代码;
发送模块,用于将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
5.一种客户端计算设备,其特征在于,包括:
接收模块,用于接收网络数据,其中,所述网络数据携带数据采集代码;
处理模块,用于执行所述数据采集代码采集预定数据;
上传模块,用于在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
6.一种客户端计算设备,其特征在于,包括:
接收模块,用于接收数据采集指令;
处理模块,用于在所述数据采集指令的触发下,执行数据采集代码采集预定数据;
添加模块,用于在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
7.一种监控方法,其特征在于,应用于位于客户端和服务端之间的中间设备,所述监控方法包括:
获取待发送给客户端的网络数据;
在所述网络数据中添加数据采集代码;
将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
8.根据权利要求7所述的监控方法,其特征在于,所述在所述网络数据中添加数据采集代码,包括:在所述网络数据中注入数据采集代码。
9.根据权利要求8所述的监控方法,其特征在于,所述在所述网络数据中注入数据采集代码,包括:在所述网页数据的头标签中注入所述数据采集代码,使被注入的数据采集代码成为头标签的第一个元素,所述数据采集代码为Javascript脚本。
10.根据权利要求7所述的监控方法,其特征在于,所述数据采集代码还用于在所述客户端提交数据时添加采集到的预定数据。
11.根据权利要求7所述的监控方法,其特征在于,所述待发送给客户端的网络数据为所述服务端发送给所述客户端的网络数据,或者,所述中间设备发送给所述客户端的网络数据。
12.根据权利要求7所述的监控方法,其特征在于,所述在所述网络数据中添加数据采集代码,包括:在服务端返回的应答数据添加数据采集代码,其中,所述应答数据对应于所述客户端的请求。
13.根据权利要求7所述的监控方法,其特征在于,所述监控方法还包括:
在检测到所述来自客户端的数据携带预定数据时,从所述来自客户端的数据中提取所述预定数据;
根据所述预定数据进行网络风险检测,或者,将所述预定数据发送给网络风险检测服务器,由所述网络风险检测服务器根据所述预定数据进行网络风险检测。
14.根据权利要求13所述的监控方法,其特征在于,所述监控方法还包括:
当根据所述预定数据检测到网络风险时,阻断所述来自客户端的数据并通知所述客户端;
当根据所述预定数据没有检测到网络风险时,将所述来自客户端的数据转发给所述服务端。
15.根据权利要求13所述的监控方法,其特征在于,所述监控方法还包括:
获取来自客户端的数据;
根据用户配置信息,确定所述来自客户端的数据是否直接转发给所述服务端。
16.一种监控方法,其特征在于,包括:
在待发送给客户端的网络数据中添加数据采集代码;
将添加了数据采集代码的网络数据发送给所述客户端;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
17.一种监控方法,其特征在于,包括:
发送数据采集指令,以触发客户端执行配置的数据采集代码;
其中,所述数据采集代码用于在所述客户端采集预定数据并上传。
18.一种监控方法,其特征在于,应用于客户端,所述监控方法包括:
接收网络数据,其中,所述网络数据携带数据采集代码;
执行所述数据采集代码采集预定数据;
在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中。
19.根据权利要求18所述的监控方法,其特征在于,在所述客户端上传数据时,包括:在所述客户端发送请求时。
20.根据权利要求19所述的监控方法,其特征在于,所述执行所述数据采集代码采集预定数据,包括:在渲染网页数据时,执行所述数据采集代码采集预定数据。
21.根据权利要求18所述的监控方法,其特征在于,所述监控方法还包括:
在获知所述待上传的数据被阻断后,提示用户进行风险判断,在用户通过风险判断后,再次发送所述提交的请求,其中,所述再次发送的请求携带签名串,所述签名串是在用户通过风险判断时生成的。
22.根据权利要求18所述的监控方法,其特征在于,
所述预定数据包括设备信息以及用户行为信息;
所述执行所述数据采集代码采集预定数据,包括:执行所述数据采集代码采集设备信息,并挂钩前端事件监听,捕获用户行为信息;
所述在所述客户端上传数据时,将采集到的预定数据添加到待上传的数据中,包括:
在所述客户端上传数据时,将所述设备信息和所述用户行为信息组合加密后添加到所述提交的数据。
23.一种监控方法,其特征在于,应用于客户端,所述监控方法包括:
接收数据采集指令;
在所述数据采集指令的触发下,执行数据采集代码采集预定数据;
在所述客户端上传数据时,将采集到的预定数据添加到所述待上传的数据中。
CN201610507478.2A 2016-06-30 2016-06-30 一种监控方法、装置及*** Active CN107566200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610507478.2A CN107566200B (zh) 2016-06-30 2016-06-30 一种监控方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610507478.2A CN107566200B (zh) 2016-06-30 2016-06-30 一种监控方法、装置及***

Publications (2)

Publication Number Publication Date
CN107566200A true CN107566200A (zh) 2018-01-09
CN107566200B CN107566200B (zh) 2021-06-01

Family

ID=60968896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610507478.2A Active CN107566200B (zh) 2016-06-30 2016-06-30 一种监控方法、装置及***

Country Status (1)

Country Link
CN (1) CN107566200B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712430A (zh) * 2018-05-24 2018-10-26 网宿科技股份有限公司 一种发送表单请求的方法和装置
CN108769749A (zh) * 2018-04-13 2018-11-06 武汉斗鱼网络科技有限公司 一种确定盗刷数据的方法、客户端及服务器
CN108898020A (zh) * 2018-05-31 2018-11-27 深圳壹账通智能科技有限公司 基于代理端的漏洞检测方法、装置、移动终端和存储介质
CN109462621A (zh) * 2019-01-10 2019-03-12 国网浙江省电力有限公司杭州供电公司 网络安全保护方法、装置及电子设备
CN110198324A (zh) * 2018-02-26 2019-09-03 腾讯科技(深圳)有限公司 数据监控方法、装置、浏览器及终端
CN110275811A (zh) * 2019-05-24 2019-09-24 北京指掌易科技有限公司 一种移动端h5应用行为监控的方法
CN110381375A (zh) * 2018-04-13 2019-10-25 武汉斗鱼网络科技有限公司 一种确定盗刷数据的方法、客户端及服务器
CN110808897A (zh) * 2019-11-06 2020-02-18 深信服科技股份有限公司 代理访问方法、用户设备、存储介质、装置及***
WO2020263416A1 (en) * 2019-06-26 2020-12-30 Microsoft Technology Licensing, Llc File upload control for client-side applications in proxy solutions
CN113254312A (zh) * 2021-06-01 2021-08-13 康键信息技术(深圳)有限公司 前端异常监控与分析方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222349A (zh) * 2007-01-12 2008-07-16 中国电信股份有限公司 收集web用户行为及性能数据的方法及***
CN101937439A (zh) * 2009-06-30 2011-01-05 国际商业机器公司 用于收集用户访问相关信息的方法和***
CN102469113A (zh) * 2010-11-01 2012-05-23 北京启明星辰信息技术股份有限公司 一种安全网关及其转发网页的方法
CN104348803A (zh) * 2013-07-31 2015-02-11 深圳市腾讯计算机***有限公司 链路劫持检测方法、装置、用户设备、分析服务器及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222349A (zh) * 2007-01-12 2008-07-16 中国电信股份有限公司 收集web用户行为及性能数据的方法及***
CN101937439A (zh) * 2009-06-30 2011-01-05 国际商业机器公司 用于收集用户访问相关信息的方法和***
CN102469113A (zh) * 2010-11-01 2012-05-23 北京启明星辰信息技术股份有限公司 一种安全网关及其转发网页的方法
CN104348803A (zh) * 2013-07-31 2015-02-11 深圳市腾讯计算机***有限公司 链路劫持检测方法、装置、用户设备、分析服务器及***

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198324B (zh) * 2018-02-26 2021-12-14 腾讯科技(深圳)有限公司 数据监控方法、装置、浏览器及终端
CN110198324A (zh) * 2018-02-26 2019-09-03 腾讯科技(深圳)有限公司 数据监控方法、装置、浏览器及终端
CN110381375B (zh) * 2018-04-13 2022-06-21 武汉斗鱼网络科技有限公司 一种确定盗刷数据的方法、客户端及服务器
CN110381375A (zh) * 2018-04-13 2019-10-25 武汉斗鱼网络科技有限公司 一种确定盗刷数据的方法、客户端及服务器
CN108769749A (zh) * 2018-04-13 2018-11-06 武汉斗鱼网络科技有限公司 一种确定盗刷数据的方法、客户端及服务器
CN108769749B (zh) * 2018-04-13 2021-11-09 武汉斗鱼网络科技有限公司 一种确定盗刷数据的方法、客户端及服务器
WO2019223049A1 (zh) * 2018-05-24 2019-11-28 网宿科技股份有限公司 一种发送表单请求的方法和装置
CN108712430A (zh) * 2018-05-24 2018-10-26 网宿科技股份有限公司 一种发送表单请求的方法和装置
CN108898020A (zh) * 2018-05-31 2018-11-27 深圳壹账通智能科技有限公司 基于代理端的漏洞检测方法、装置、移动终端和存储介质
CN109462621A (zh) * 2019-01-10 2019-03-12 国网浙江省电力有限公司杭州供电公司 网络安全保护方法、装置及电子设备
CN110275811A (zh) * 2019-05-24 2019-09-24 北京指掌易科技有限公司 一种移动端h5应用行为监控的方法
WO2020263416A1 (en) * 2019-06-26 2020-12-30 Microsoft Technology Licensing, Llc File upload control for client-side applications in proxy solutions
US11405363B2 (en) 2019-06-26 2022-08-02 Microsoft Technology Licensing, Llc File upload control for client-side applications in proxy solutions
US11831617B2 (en) 2019-06-26 2023-11-28 Microsoft Technology Licensing, Llc File upload control for client-side applications in proxy solutions
CN110808897A (zh) * 2019-11-06 2020-02-18 深信服科技股份有限公司 代理访问方法、用户设备、存储介质、装置及***
CN113254312A (zh) * 2021-06-01 2021-08-13 康键信息技术(深圳)有限公司 前端异常监控与分析方法、装置、设备及存储介质
CN113254312B (zh) * 2021-06-01 2023-10-20 康键信息技术(深圳)有限公司 前端异常监控与分析方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107566200B (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN107566200A (zh) 一种监控方法、装置及***
US9509714B2 (en) Web page and web browser protection against malicious injections
US11132287B2 (en) Synthetic test recorder installed inline with a web portal
Gupta et al. PHP-sensor: a prototype method to discover workflow violation and XSS vulnerabilities in PHP web applications
US10102367B2 (en) Systems and methods for detecting and addressing HTML-modifying malware
CN102272757B (zh) 用于执行客户端浏览器状态的服务器端记录的方法和***
Ismail et al. A proposal and implementation of automatic detection/collection system for cross-site scripting vulnerability
CN104767775B (zh) 网页应用消息推送方法及***
US8448241B1 (en) Browser extension for checking website susceptibility to cross site scripting
US10165004B1 (en) Passive detection of forged web browsers
JP2014203464A (ja) クライアントベースローカルマルウェア検出方法
US10586045B2 (en) System and method for detecting malware in mobile device software applications
US10645117B2 (en) Systems and methods to detect and notify victims of phishing activities
CN111552854A (zh) 一种网页数据抓取方法、装置、存储介质和设备
CN104573520B (zh) 检测常驻式跨站脚本漏洞的方法和装置
CN106548075B (zh) 漏洞检测方法和装置
CN104834588B (zh) 检测常驻式跨站脚本漏洞的方法和装置
CN103647678A (zh) 一种网站漏洞在线验证方法及装置
CN104468459B (zh) 一种漏洞检测方法及装置
US20210092146A1 (en) Dynamic security test system
US11595436B2 (en) Rule-based dynamic security test system
CN110348210A (zh) 安全防护方法及装置
CN102780684A (zh) Xss防御***
CN112653709A (zh) 漏洞检测方法、装置、电子设备及可读存储介质
Dong et al. A comprehensive client-side behavior model for diagnosing attacks in ajax applications

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