云后缀代理及其方法技术

技术编号:13394252 阅读:25 留言:0更新日期:2016-07-23 11:29
用来修改至少一个云应用的网络地址的方法和系统。所述方法包括接收从该至少一个云应用发送至客户端设备的网页,其中网页指定在运行时期间被加载至客户端设备的至少一个脚本;将代码片段注入该网页;通过被注入的代码片段,接收加载所述至少一个脚本中的每个脚本的尝试;通过对在所述至少一个脚本上指定的每个网络地址添加预定义网络地址作后缀来修改所述至少一个脚本;以及将经修改的至少一个脚本发送至客户端设备,其中经修改的至少一个脚本在客户端设备上的运行时执行导致从客户端设备至云应用的将来请求重定向至被添加后缀的网络地址。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2014年9月12日提交的美国临时申请第62/049,473号的权益。本申请还是2014年11月12日提交的美国专利申请第14/539,980号的部分延续,该专利申请的内容通过引用结合于此。
本申请一般涉及通过监视和保护通信来保护通信网络和系统,尤其是通过使用后缀代理。背景近年来,越来越多的供应商提供在云中创建计算环境的能力。例如,AmazonWebServicesTM(也被称为AWS)在2006年推出一种提供给用户配置针对在云平台上执行的应用定制的整个环境的能力的服务。一般而言,此类服务允许开发可缩放的应用,其中利用计算资源来支持应用的高效执行。开发、提供或以其他方式维护基于云的应用的组织和企业变得习惯于依赖这些服务且实现从复杂的网站到作为软件即服务(SaaS)递送模型来提供的应用和服务的各种类型的环境。此类服务和应用被统称为“云应用”。云应用通常由使用客户端设备的用户经由web浏览器访问。云应用尤其包括:电子商务应用、社交媒体应用、企业应用、游戏应用、媒体共享应用、存储应用、软件开发应用等等。许多个人用户、公司以及企业转向云应用来代替在本地安装和管理的“传统”软件应用。例如,企业可使用对于电子邮箱账户的365在线服务,而不是拥有由企业维护的服务器。企业越来越多地采用基于云的SaaS供应。这些服务经受各种网络安全风险。用于保护这些网络的已知系统通过检测运行SaaS的服务器与用户操作的端点之间的流量来操作。这些已知网络安全系统通常需要端点的复杂配置,端点的复杂配置增加了系统复杂性。此外,在许多情况下,端点可能不在企业的完全控制之下、可能完全非受管或以其他方式不可配置。除了配置和管理用户控制的端点中的固有难点之外,在网络地址被动态生成时难以确保整个会话的流量捕捉。此外,诸如Apps平台的现代web/云应用,利用大量客户机侧代码(JavaScript)。这可使后缀代理实现更具挑战性得多,因为基本代理功能不足且需要客户机侧代码中的进一步干预。因此提供克服用于HTTP通信的捕捉和重构的现有技术中的不足的解决方案将是有利的。概述下面是本公开的若干示例实施例的概述。此概述是出于方便读者以提供此类实施例的基本理解的目的而提供的,而不完全定义本公开的广度。本概述不是所有构想的实施例的详尽概览,既不旨在确定所有实施例的重要或关键元素也不旨在描述任何或所有实施例的范围。其唯一目的是以简化的形式呈现一个或多个实施例的一些概念,作为后面给出的更加详细的描述的序言。为方便起见,术语一些实施例在本文中可被用来指本公开的单个实施例或多个实施例。本公开的一些实施例涉及用于修改至少一个云应用的网络地址的方法。所述方法包括接收从该至少一个云应用发送至客户端设备的网页,其中网页指定在运行时期间被加载至客户端设备的至少一个脚本;将代码片段注入该网页;通过被注入的代码片段,接收加载所述至少一个脚本中的每个脚本的尝试;通过对在所述至少一个脚本上指定的每个网络地址添加预定义网络地址作后缀来修改所述至少一个脚本;以及将经修改的至少一个脚本发送至客户端设备,其中经修改的至少一个脚本在客户端设备上的运行时执行导致从客户端设备至云应用的将来请求重定向至被添加后缀的网络地址。本公开的一些实施例涉及用于修改至少一个云应用的网络地址的系统。所述系统包括处理器;以及包含指令的存储器,当所述指令被处理器执行时,将系统配置为:接收从该至少一个云应用发送至客户端设备的网页,其中网页指定在运行时期间被加载至客户端设备的至少一个脚本;将代码片段注入该网页;通过注入的代码片段,接收加载所述至少一个脚本中的每个脚本的尝试;通过对在所述至少一个脚本上指定的每个网络地址添加预定义的网络地址后缀来修改所述至少一个脚本;以及将经修改的至少一个脚本发送至客户端设备,其中经修改的至少一个脚本在客户端设备上的运行时执行导致从客户端设备至云应用的将来请求重定向至被添加后缀的网络地址。附图简述本文所公开的主题在本说明书的结束部分的权利要求书中被特别地指出且清楚地声明。通过下面结合附图的详细描述,将更清楚所公开的实施例的前述和其他目标、特征和优点。图1是被用来描述各公开的实施例的联网系统图示。图2是例示出根据一个实施例的安全沙箱的操作的流程图。图3是示出根据一个实施例的用于控制对DOM的改变的方法的流程图。图4是根据一个实施例实现的后缀代理的框图。详细描述重要的是注意到本文所公开的实施例仅仅是本文的创新性教导的许多有益用途的示例。通常,本申请的说明书中所做的表述不必然限制各个所要求保护的实施例中的任何实施例。此外,一些表述可应用至一些创造性特征但不能应用至其他创造性特征。通常,除非另外指明,在不丧失通用性的情况下,单数元素可为复数且反之亦然。在附图中,相似的附图标记在多个附图中指代相似的部分。通过示例的方式,可配置各公开的实施例对基于网络的软件即服务(SaaS)供应商与客户机之间的网络流量进行操作。如将在下文中更详细地讨论的,公开的实施例允许定向至所述SaaS供应商的非侵入式加后缀以及去后缀的网络地址。图1是被用来描述各公开的实施例的联网系统100的示例性和非限制性图示。联网系统100包括云计算平台110,云计算平台110可为给其中执行的应用或服务提供计算资源的私有云、公有云或混合云。在一实施例中,所述云计算平台110可属于SaaS平台。开发、提供或以其他方式维护基于云的应用的组织和企业变得习惯于依赖这些服务且实现从复杂的网站到作为SaaS递送模型来提供的应用和服务的各种类型的环境。此类服务和应用被统称为“云应用115”。云应用115通常由使用客户端设备的用户经由web浏览器访问。云应用115尤其包括:电子商务应用、社交媒体应用、企业应用、游戏应用、媒体共享应用、存储应用、软件开发应用等等。许多个人用户、公司以及企业转向云应用来代替在本地安装和管理的“传统”软件应用。例如,企业可使用对于电子邮箱账户的365在线服务,而不是拥有由企业维护的服务器。所述联网系统100进一步包括被通信地连接至网络150的受管网络代理120、客户端设备130-1至130-N以及后缀代理140。网络150可为,例如,广域网(WAN)、局域网(LAN)、因特网等。所述客户端设备130中的每一个可包括,例如,个人计算机、膝上型计算机本文档来自技高网...

【技术保护点】
一种用来修改至少一个云应用的网络地址的方法,包括:接收从所述至少一个云应用发送至客户端设备的网页,其中网页指定在运行时期间被加载至所述客户端设备的至少一个脚本;将代码片段注入所述网页;通过被注入的代码片段,接收加载所述至少一个脚本中的每个脚本的尝试;通过对在所述至少一个脚本中指定的每个网络地址添加预定义网络地址作后缀来修改所述至少一个脚本;以及将被修改的至少一个脚本发送至所述客户端设备,其中所述被修改的至少一个脚本在所述客户端设备上的运行时执行导致从所述客户端设备至所述云应用的将来请求重定向至被添加后缀的网络地址。

【技术特征摘要】
【国外来华专利技术】2014.09.12 US 62/049,473;2014.11.12 US 14/539,9801.一种用来修改至少一个云应用的网络地址的方法,包括:
接收从所述至少一个云应用发送至客户端设备的网页,其中网页指定在运行
时期间被加载至所述客户端设备的至少一个脚本;
将代码片段注入所述网页;
通过被注入的代码片段,接收加载所述至少一个脚本中的每个脚本的尝试;
通过对在所述至少一个脚本中指定的每个网络地址添加预定义网络地址作后
缀来修改所述至少一个脚本;以及
将被修改的至少一个脚本发送至所述客户端设备,其中所述被修改的至少一
个脚本在所述客户端设备上的运行时执行导致从所述客户端设备至所述云应用的
将来请求重定向至被添加后缀的网络地址。
2.如权利要求1所述的方法,其特征在于,进一步包括:
修改在被接收的网页中指定的每个静态网络地址。
3.如权利要求2所述的方法,其特征在于,对静态网络地址加后缀进一步包
括:
解析所述网页以标识所述静态网络地址;以及
对在所述至少一个脚本中指定的每个被标识的静态网络地址添加所述预定义
网络地址作后缀。
4.如权利要求3所述的方法,其特征在于,要被修改的所述网络地址中的每
个网络地址都被包括在网络地址列表中。
5.如权利要求4所述的方法,其特征在于,要被修改的所述网络地址中的每
个网络地址至少是统一资源定位符(URL)。
6.如权利要求1所述的方法,其特征在于,修改所述至少一个脚本进一步包
括:
解析被请求的内容以标识可能被配置为生成网络地址的可执行指令;以及
包装所述每个被标识的指令以调用替代指令,其中所述替代指令可能被配置
为将所述预定义网络地址添加至所述生成的地址作后缀。
7.如权利要求6所述的方法,其特征在于,进一步包括:
在运行时期间,检测不影响所述网络地址的至少一个被包装的指令;以及
忽略被应用在不影响所述网络地址的所述至少一个被包装的指令上的相应的
包装器。
8.如权利要求6所述的方法,其特征在于,所述至少一个脚本是以下各项中
的任一个:JavaScript代码和层叠样式表(CSS)文件。
9.如权利要求6所述的方法,其特征在于,包装所述每个被标识的指令进一
步包括:
将所述至少一个脚本转换成抽象语法树;
递归遍历所述抽象语法树;以及
包装所述抽象语法树的节点以生成经打补丁的抽象语法树。
10.如权利要求6所述的方法,其特征在于,进一步包括:
重建来自所述经打补丁的抽象语法树的所述被修改的至少一个脚本。
11.如权利要求6所述的方法,其特征在于,进一步包括:
高速缓存所述至少一个脚本以及所述被修改的脚本。
12.如权利要求1所述的方法,进一步包括:
在标识加载所述至少一个脚本的请求时确定是否至少一个被修改的脚本已被
高速缓存。
将被高速缓存的被修改的脚本发送至所述客户端设备而不从正在执行所述至
少一个云应用的远程服务器检索所请求的内容。
13.如权利要求1所述的方法,其特征在于,所述方法被执行而不需要任何对
默认客户端设备配置的修改。
14.如权利要求6所述的方法,其特征在于,进一步包括:
在沙箱中执行所述至少一个脚本以监视改变所述网页的DOM的任何尝试;
在运行时给对所述DOM的网络地址的任何写入加后缀;以及
在运行时,给从所述DOM的任何网络地址读取去后缀。
15.如权利要求14所述的方法,其特征在于,进一步包括:
监视对所述DOM的访问;以及
阻止能修改所述DOM的至少一个操作。
16.如权利要求15所述的方法,其特征在于,所述至少一个操作包括以下各
项中的任一个:加载插件至所述客户端设备、跨域访问以及在所述网页和所述web

\t服务器之间的异步请求。
17.如权利要求1所述的方法,其特征在于,所述方法由...

【专利技术属性】
技术研发人员:G·维什涅波利斯基L·莫耶斯
申请(专利权)人:阿道罗姆技术股份有限公司
类型:发明
国别省市:美国;US

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1