CN106031118B - 云服务安全中介和代理 - Google Patents

云服务安全中介和代理 Download PDF

Info

Publication number
CN106031118B
CN106031118B CN201480061802.1A CN201480061802A CN106031118B CN 106031118 B CN106031118 B CN 106031118B CN 201480061802 A CN201480061802 A CN 201480061802A CN 106031118 B CN106031118 B CN 106031118B
Authority
CN
China
Prior art keywords
proxy
network
saas
user
suffix
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.)
Active
Application number
CN201480061802.1A
Other languages
English (en)
Other versions
CN106031118A (zh
Inventor
A·科恩
L·莫耶斯
A·勒特瓦克
R·列兹尼科
G·维什涅波利斯基
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.)
Adolome Co ltd
Original Assignee
Adolome Co 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 Adolome Co ltd filed Critical Adolome Co ltd
Publication of CN106031118A publication Critical patent/CN106031118A/zh
Application granted granted Critical
Publication of CN106031118B publication Critical patent/CN106031118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5032Generating service level reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本申请一般涉及一种对基于网络的软件即服务(SaaS)供应商与客户机之间的网络流量进行操作的系统。该系统可以被配置作为受管通信网络代理并基于预定策略和规则对网络流量采取行动。所述系统可以包括后缀代理,所述后缀代理被配置用于通过处理SaaS服务器响应的捕获页面处理,以便后续的请求由后缀代理依据文件类型和响应类型来处理。

Description

云服务安全中介和代理
相关申请的交叉引用
本申请要求在2013年11月11日提交的名为“Cloud Service Security Brokerand Proxy(云服务安全中介和代理)”的美国临时专利申请序列号61/902,786、在2013年11月11日提交的名为“Cloud Service Risk Analysis and Threat Detection(云服务风险分析和威胁检测)”的美国临时专利申请序列号61/902,787、在2013年11月11日提交的名为“Cloud Service Discovery(云服务发现)”的美国临时专利申请序列号61/902,789、在2014年9月12日提交的名为“Cloud Service Suffix Proxy(云服务后缀代理)”的美国临时专利申请序列号62/049,473的各申请的优先权,每个申请的内容通过整体引用被结合于此。
发明领域
本申请一般涉及通过监视和保护通信来保护通信网络和系统,尤其是通过使用后缀代理来保护通信网络和系统。
背景
企业越来越多地采用基于云的软件即服务供应。这些服务常遭受各种网络安全风险。已知的用于保护这些网络的系统通过检测运行软件即服务的服务器与用户操作的端点之间的流量来工作。这些已知网络安全系统通常需要复杂的端点配置,这增加了系统复杂性。此外,在许多情况下,端点可能不在企业的完全控制之下、可能完全不受管、或以其他方式不可配置。除了配置和管理用户控制的端点方面的固有困难之外,在网络地址被动态生成时难以确保整个会话的流量捕获(captivation)。
附图简述
图1示出示例体系架构和方法操作的示例概览。
图2示出具有多个代理节点的示例体系架构。
图3示出使用SAML的示例认证方法。
图4示出包括全局分布以减少等待时间的代理节点的多个不同的网络的示例。
图5示出显示了失效启动(fail-open)的路由的示例网络代理体系架构。
图6示出由负载平衡器群集和多个代理节点组成的示例代理节点。
图7示出了示例用户界面。
图8示出了示例用户界面。
图9示出了示例用户界面。
图10示出了示例用户界面。
图11示出了用于威胁检测的示例方法。
图12示出了示例参数集。
图13示出了发现软件即服务(SaaS)的环境的示例方法。
图14示出非高速缓存的后缀代理操作的示例方法。
图15示出高速缓存的后缀代理操作的示例方法。
详细描述
在此描述了一种用于监视并保护通信的体系架构。在此所述的系统和方法可以被用于透明地实现针对任何地方的用户的云流量安全和控制。所述系统可以被配置为保护公司的云服务账户中的任何或全部流量和活动。在一些实施例中,所述系统可以被配置以使得它不需要任何客户端侧或网络安装。所述系统可以包括由分布在世界上多个位置的独立的自主网络代理所构成的高复原性虚拟网络。
受管通信网络代理服务可被用来截取、监视、修改以及转发用户与基于网络的软件服务供应商之间的网络通信流量。受管网络代理服务可以被配置为操作以便检测和减轻网络威胁。作为非限制性示例,服务可以被配置为在各种模式下操作,包括应用防火墙模式;被动入侵检测(IDS)模式,以通知可疑的网络流量和行为;或入侵预防系统(IPS)模式,以阻止威胁。所述系统还可以被配置为执行应用控制、URL过滤以及针对网络流量的恶意软件防护。
体系架构
在此所述的系统可以被配置为对基于网络的软件即服务(SaaS)供应商与客户端之间的网络流量进行操作。在一些实施例中,在还未为客户端设备或网络设置任何控制或限制的情况下,当该客户端计算设备通过公共网络(例如因特网)被连接到SaaS供应商时,该系统能够被配置为对SaaS供应商与该客户端计算设备之间的这样的网络流量进行操作。在一些实施例中,无需对客户端设备的进行配置。
体系架构设计
所述系统的组件可以以受管通信网络代理的形式来实现。尽管在此提及的是代理,但可以理解所述代理可以以一个或多个网络设备的形式来实现。而且,受管网络代理可以被分散,并且受管网络代理的功能分布在不同的地理区域中的多个机器上。
在一些实施例中,网络代理可以被配置,以使得客户端设备和SaaS供应商之间的流量流过该网络代理。因为网络代理中介了该通信,因此它可以被用于监视这些点之间的网络流量并基于预定的策略和规则对网络流量采取行动。在图1中示出了示例体系架构和方法操作的概览。代理网络可以针对复原性而被优化,并且失效开启控制可以被用于如果代理网络故障则重新路由用户流量。如下详细描述地,在部署后,SaaS流量的通用流程如下:
从任何位置、在任何设备上,用户访问机构的云服务。流量被路由通过最近的受管网络代理节点。节点可以用作策略实施节点并提供对云活动的全面审核。在代理网络数据中心,在中央数据中心中事件被令牌化并被聚集在每个承租人的分开的数据库中。事件处理发生并且事故被报告(例如“未知设备访问敏感数据”)。可以提供用户界面,通过该用户界面,管理员可以访问控制台并且具有对云活动的可见性。而且,可以由代理节点来定义并实施策略。在图2中示出了具有多个代理节点的示例体系架构。
所述代理可以被配置为自主运作、确保跨不同的因特网服务供应商(ISPs)和地理的复原性和高可用性。在一些实施例中,星型体系架构可以被使用,其中所有的节点向中央数据中心发送信息(单向)。
该系统可以被配置成要么失效保护要么失效启动。如果外部主存解决方案被使用,万一其它装置故障,用户可以被路由到原始SaaS供应商。这确保了用户的无缝体验。
公共和私有云
私有云部署:代理服务器可以被部署在公司的私有云中以为公司数据提供额外的安全性。在这种布置中,元数据日志还是可以被发送到机构周界之外,而网络流量被包含在机构的网络内。
公共云部署:代理服务器可以被部署在公司的私有云之外。云本身可以是公共或私有云。
受管网络代理服务基础架构
在此所述的受管通信网络代理可以以各种代理模式被配置,包括(作为非限制性示例)正向代理、后缀代理或反向代理。
如果被配置作为正向代理,该网络代理可以使用代理自动配置(PAC)文件和/或被连接到代理链中的现有网络代理。如果被配置作为反向代理,可以通过机构的DNS服务器来完成部署。
在优选实施例中,受管网络代理可以被配置作为后缀代理。例如,作为后缀代理,http://www.salesforce.com可以通过http://www.salesforce.com.network-proxy-service.com被访问,其中network-proxy-service.com(网络-代理-服务.com)是用于受管网络代理的域名。在一些实施例中,后缀代理可以使用双因素认证,对在后缀代理处的认证中心以及对SaaS供应商两者都进行认证。
协议支持
受管网络代理可以被配置为支持任何任意的应用或协议。作为非限制性示例,下述协议可以被支持:HTTP和HTTPS、HTTP上的RPC、Outlook anywhere,WebDAV,FTP,以及专用厂商协议。
安全性:SaaS流量捕获
受管网络代理可以被配置为检查流量并检测SaaS因特网地址。在一些实施例中,受管网络代理可以被配置为检查因特网地址(例如统一资源定位符、统一资源标识符等)的网络流量。作为非限制性示例,所述网络代理可反编译、解构或分解网络流量以供检查。受管网络代理可以被配置为修改客户端设备和SaaS供应商之间的网络流量,以使得引导客户端设备绕过受管网络代理来直接访问SaaS资源的网络地址不被提供给客户端设备。如果检测到SaaS因特网地址,通过将网络代理服务的域名附加到原始网络地址,该地址可以被重写成在网络代理处的地址。
后缀代理可以被配置用于通过处理SaaS服务器响应来进行捕获页面处理,使得后续的请求由后缀代理来处理。所述处理可以取决于文件类型和响应类型。作为非限制性示例,经处理的文件类型可包括HTML或JavaScript而响应可包括压缩响应或分块响应。所述后缀代理可被配置为模拟任何内容,包括从SaaS供应商发送的网页。所述后缀代理可被配置为检查和/或反编译任何内容来标识在内容中存在的任何提到的页面和/或URL并重写那些URL。
在一些情况下,检查将要求执行在客户端和SaaS供应商之间传送的代码或脚本。例如,JavaScript可在所述后缀代理处被模拟以检测将会直接访问所述SaaS供应商的网络地址的生成。若在所述内容中标识出直接访问地址,所述内容可被修改以重写所述地址来指代所述网络代理。
安全性:SaaS服务锁定
所述系统可以被配置为限制仅通过受管网络代理访问SaaS服务。所述系统可以包括用于这种锁定的多种技术,并且所选的技术可以依赖于部署方法,如下将详细描述的。在创建会话时或在此后的任何时间可以锁定网络流量。会话的发起将在下面更详细地描述。
锁定方法1:凭证替代
在一些环境中,SaaS供应商可以使用安全断言标记语言(SAML)。在那些环境中,SAML令牌替代可以被用于锁定网络连接。例如,SAML令牌可以是5分钟有效的。当SAML代理被配置时,用户仅可以通过受管网络SAML代理来访问所述服务。
浏览器cookie替代可以被用于锁定网络连接。当用户认证SaaS供应商时,该SaaS供应商发送cookie给用户。被发送的cookie可以是由SaaS供应商所使用的指示该用户是否登录以及该用户用哪个账号登录的认证cookie。因为受管网络代理是在该用户和SaaS供应商之间,它可以截取并加密由SaaS供应商发送的用户浏览器cookie。随后,受管网络代理可以发送经加密的cookie给用户以供存储在用户的设备上。这样,该用户仅仅保留有cookie的经加密版本,该版本不能由原始SaaS站点上的客户端直接使用。当通过受管代理网络被使用时,所述cookie被从客户端设备发送到代理网络,在代理网络中被解密,并被发送给原始站点。在一些情况中,由SaaS供应商所生成的cookie可以被加密或包含经加密的内容。在这些情况中,受管网络代理可以在将cookie发送给客户端之前向它添加附加的加密层。
类似于浏览器cookies可被替代的方式,OAuth令牌(或任何其他持久的API令牌)也可以被内联替代。受管网络代理可以跟踪客户端对令牌(例如由移动应用所使用的OAuth令牌)的请求并用经加密的版本替换它们。这允许实施跨附加认证场景的服务锁定。
受管网络代理还可以代理用户密码。这种技术可以被应用到任何SaaS服务。在一些实施例中,当不支持SAML时,可以使用密码代理。为了实现这操作,SaaS服务密码可以被拆分成两个或更多部分。用户知道少于密码的所有部分的部分。受管网络代理服务保存该密码的剩余部分。在这种布置中,完整的密码可以仅当用户通过受管网络代理服务访问SaaS服务时才可被构成。所述技术不需要受管网络代理服务存储用户密码。例如,将散列后缀加入到所有密码要求仅仅存储单个散列密钥。
可以通过受管网络代理服务监视用户对改变SaaS应用中的密码的任何努力,并且用户可以被允许设置部分密码。在一些实施例中,用户仅被允许设置密码的一半。当密码被配置时,任何对密码的改变的请求(例如“忘记我的密码”链接)可以由网络代理来监视,并且网络代理可以被配置为对新密码进行散列。
锁定方法2:访问限制
在一些情况中,SaaS应用可以被配置为允许网际协议(IP)地址限制特征,并且因此将访问仅限于与网络代理服务相关联的网际协议(IP)地址。
附加安全性功能
受管网络代理服务可以被配置为支持附加安全性功能。作为非限制性示例,网络代理可以被用于执行用户活动的审核,由此,任何用户动作可以被解析和/或从流量流进行审核。网络代理可以在策略实施中使用。例如,代理服务可以被用于访问控制以禁止特定操作;用于通过基于用户的上下文、设备、位置、动作、内容和/或速度执行数据丢失保护(DLP)策略来进行数据丢失保护;用于动态掩码;以及用于加水印。还可以使用威胁特性逻辑来检测和/或阻止网络威胁。
受管网络代理服务可以被配置为提供增强的文件保护服务。在一些实施例中,网络代理服务可以支持与基于网络的文件存储服务的集成。这些类型的服务的非限制性示例包括GoogleTM Drive、DropboxTM等。网络代理协议可以被配置为防止用户从SaaS供应商检索文件并将它们本地地存储在用户的设备上。这可以被称为“总在云中”策略。在一些实施例中,这可以被配置为在用户会话期间动态地改变和重定向信息流,这样,文件不在SaaS应用和用户的设备之间或不在各SaaS应用之间被传送。在一些情况中,代替下载文件,可以将文件的版本显示给用户。
Web上的VPN
代理服务可以被配置为允许对企业内联网的安全访问。当在网络代理服务处认证了用户后,该用户可以(使用例如HTTP(S))访问web上的内联网站点。该方法不需要在设备上的专用VPN客户端。在发起连接后,网络代理服务打开VPN连接并用作用于HTTP(S)内联网站点的反向代理。诸如用户审核、警告和文件保护之类的其他特征可以在VPN连接上实施。
部署方法
所述系统可以通过任意各种手段、单独地或组合地被部署。在一些配置中,所述系统可以在无需任何客户端的配置的情况下被部署。在其他配置中,取代在SaaS处的配置或除了在SaaS处的配置之外,可以配置客户端。
透明部署方法
所述系统可以包括通过受管网络代理在用户和SaaS供应商之间透明地转发流量的技术。在这些实施例中,对SaaS应用的访问可以被限制为仅该代理的用户。这些技术允许在无需在用户设备或用户的局域网上安装的情况下的安全控制的操作。该技术可以以全局为基础被用于SaaS供应商所主存的所有应用。
A.透明认证代理(认证层)
通过利用对安全断言标记语言(SAML)的内建支持或云服务中的类似协议,用户可以被自动重定向到受管网络代理服务器,而无需客户端侧上的任何配置。例如,SAML是一种允许安全web域交换用户认证和授权数据的XML标准。使用SAML,在线服务供应商可以联系分开的在线身份供应商以认证正尝试访问安全内容的用户。
作为非限制性示例,这种技术可以与支持SAML的SaaS服务以及已经具有外部SAML供应商的公司一起使用。在这些情况中,受管通信网络代理可以被配置作为SAML供应商,并且代理服务随后使用原始的SAML供应商来执行所述认证。当成功认证后,用户通过由网络代理服务所提供的后缀代理被重定向到SaaS供应商。(后缀代理服务在以下更详细地描述。)
SaaS应用的访问控制特征可以被用于将访问限制于后缀代理的用户。SAML代理还可以被用于安装浏览器插件以取代重定向到后缀代理。在这种情况中,插件将把流量透明地引导到网络代理服务,并且将使用反向代理来取代后缀代理。除了SAML之外,受管通信网络代理可以被配置为与具有类似功能的其他协议互操作。例如,WS-FederationTM可以被用在与Office 365TM服务的连接中。
在图3中示出并描述了使用SAML的示例认证方法。
B.透明自IDP供应(认证层)
自IDP供应可以被用于取代单个签到解决方案。这是一种SAML代理方法的变形,其中用户被重定向到受管SAML代理服务,但认证过程由受管通信网络代理服务来执行。可使用登录代理。在用户登录请求之后,受管网络SAML代理查询原始SAAS服务以验证用户凭证。使用密码同步,通过安装密码同步工具,网络代理服务可以用作自组织SAML供应商,所述工具将来自活动目录(或任何其他LDAP目录)的用户密码与受管网络SAML代理同步。
C.透明网关代理(流量层)
该技术可以被应用到任何SaaS服务,并且在SaaS服务不支持SAML的情况下尤其适用。当访问SaaS服务时,用户可以被指令适用不同的URL。URL通过受管网络代理服务重定向所述用户。该配置可以适用SaaS应用的访问控制特征来将访问限制于后缀代理的用户。所述访问控制特征可以被允许为将访问限制到仅针对位于受管通信网络代理服务中的IP地址。
非-透明部署方法
通过使用对用户的设备的安装或配置改变以便通过受管通信网络代理服务重定向所述流量,可以单独地配置移动和桌面应用。
A.SAML代理:使用上述SAML代理,用户可以被重定向到请求用户安装和/或配置设备以与受管通信网络代理服务进行通信的页面。
B.桌面应用(流量层):大多数桌面应用支持所述系统代理配置。PAC文件可以针对受管设备被自动配置并针对未受管设备被用户配置。PAC受主要的操作系统(OSes)、浏览器和应用所支持,并且可以被部署在使用分组策略对象(GPO)的视窗域环境中。PAC文件可以被配置成仅允许通过受管代理网络平台的SaaS流量,并且用户因特网流量的剩余部分可以在无需改变的情况下被直接路由。
C.移动应用(流量层):类似于用于受管设备的PAC方法,移动设备可以要求在设备上的VPN或APN的安装以及受管代理网络证书。
应用专用解决方案:一些应用具有允许无缝重定向的特定配置选项。例如,使用Outlook自动发现特征,Outlook客户端被自动重定向到受管代理网络Outlook代理。
用于受管网络和设备的部署方法
在一些实施例中,受管网络代理可以被嵌入在用户场所上的设备中。在其他实施例中,受管网络代理功能可以通过web浏览器插件来实现。网络插件可以被配置为如同PAC文件那样工作,其中在浏览器中检测到SaaS应用后,流量被重定向到受管代理网络。
一些实施例可以被配置为使用代理链,由此,现有的机构代理被配置为通过受管通信网络代理服务基础构架转发SaaS-绑定请求。这些实施例可以可选地包括具有转发的请求的机构标识符(用户名和/或IP)。
在一些实施例中,可使用PAC文件。PAC可以通过机构被部署。PAC可以被用于将SaaS应用重定向到受管通信网络代理服务。这可以基于SaaS供应商的数据库。可以使用具有基于域名的域到树的经编译列表的有效PAC。
在上述这些配置中的任意配置中,平台可以被动态地部署在特定用户或用户组上,由此允许渐进部署。这可以基于SAML代理,例如,通过仅重新路由一些用户来完成。
系统可用性
如在图4中所示,平台可以包括多个不同的网络,所述网络包括全局分布(例如如所示的在5个中心中)以减少等待时间的代理节点。用户可以被路由到最近的节点或另一个最优节点。系统可以包括在节点之间的自动DNS故障转移。任何节点可以用作策略实施点并创建审核日志。作为非限制性示例,后端网络可以是包含中央数据库和后端服务器的AWS虚拟私有云(VPC)。
DNS高可用性
图5示出显示了失效启动路由的示例网络代理体系架构。代理节点网络可以使用DNS服务器来实现高可用性。DNS记录可以被设定一个非常短的生存时间(TTL)(例如30秒),迫使客户端有规律地查询DNS服务器以查找更新(查询时间可以依据浏览器高速缓存设置而变化)。服务器将客户端引导到最近的可用节点(Geo-DNS),并且在节点故障的情况下,可以检测问题并将客户端无缝地重定向到其他可用的节点。
DNS服务自身的可用性可以影响所述行为。例如,通过Amazon的Route53被认为是一种保证高可用性的成熟且高度可用的系统。在DNS服务器自身故障的情形中,该系统可以被配置为失效启动。
自主节点
可以在各种全局区域中成群地构建代理节点。一些或所有的所述节点可以同时在线并服务消费者。在故障的情况下,节点是无状态的,允许该系统在无需任何服务中断的情况下在节点之间移动用户。
节点可以是自主的且应变的。如图6所示,可由负载平衡器群集和多个(例如2或3个)代理节点组成代理节点。一些中央节点可以依赖于由允许甚至更大的复原性的云供应商自身所提供的外部负载平衡器(例如ELB和RackSpace)。每个节点可以在无需对平台的其他部件有任何依赖性的情况下自主地起作用。与后端网络的通信可以使用中介消息来执行并且被异步完成。在后端故障的情况下,消息可以被内部地存储在大小被封顶的队列(capped sized queue)中,并且节点自身的操作不受影响。在图6中所示的示例实施例中,可由负载平衡器群集和多个代理服务器组成每个节点。可以存在多个中央节点(例如美国西部、美国东部、欧洲和中东),所述中央节点使用具有内建的分布式拒绝服务(DDoS)保护的外部负载平衡器(例如AWS和Rackspace负载平衡器)(所述负载平衡器路由流量并且可能不执行SSL终止)。在DDoS攻击的情况下,流量可以被自动地路由到最接近的中央节点。
故障转移场景
所述系统可以被配置为处理许多不同的故障转移场景。一些可能的场景和解决方案如下所述。
单个机器故障转移:在这种情况中,DNS路由请求到最近节点。每个节点独立地工作并且内部地处理故障转移。
内部过程的故障:从机器层开始完整冗余,其中每个关键的过程由看门狗守卫并立刻被重启。关键过程具有一个不断运行的实例。所有的非关键操作被异步执行。
代理服务器的故障:将把流量驱使到节点中的其他代理。
负载平衡器服务器的故障:将使得所有的流量经过群集中的第二负载平衡器。
单个代理节点故障转移:单个节点故障可能是由数据中心停机或ISP连接性问题引起的。在节点响应失败的情况下,DNS故障转移将把流量路由到下一可用节点而无需用户干预。
区域故障转移:即使是在影响多个节点的区域问题的情况下,系统还将继续正常的操作。DNS故障转移将把流量路由到在其他区域中的剩余的运行节点。来自受影响区域的用户可能经历比普通情况下更高的等待时间,但程度上较轻。
中央节点故障转移:虽然DNS服务器执行在可用节点之间的负载破坏,但非寻常的波峰可能引起影响辅助节点的连锁反应。出于这个原因,在多个故障的情况下,流量被路由到中央节点,其被特别设计为处理非寻常的流量波峰。
附加特征
受管网络代理服务可以被配置为附加地提供与商业分析、采用统计、特征使用率、许可证利用率、用户参与以及服务级协定(SLA)监视有关的度量,作为非限制性示例。
所述服务还可以包括用于SaaS服务的命令和控制中心、警告中心以及使用统计中心。所述服务可以执行角色实施以根据用户的角色和邻域实施使得数据对每个用户可访问。服务可以根据预定日常使用模式执行动态SSL合并以维护到SaaS供应商的几个后端连接。
在图7-10中示出了用于受管网络代理服务和其他特征的示例管理控制台。
威胁检测逻辑
使用如上所述的系统和方法,在联网SaaS供应商和客户端设备之间的网络流量可以在代理节点处被截取。代理节点可以进一步被配置为使用威胁检测逻辑分析各种威胁指示符的流量。
在图11中示出了用于威胁检测的方法的概览。安全性网关(1011)可以被实现为在一个或多个代理节点(1010)中的算法例程,通过所述代理节点可以承载用户的网络流量。或者,安全性网关可以通过单独的设备来实现,所述设备承载流量。用户流量可以在任何连接到代理节点的源与目的地之间。用户的非限制性示例可以是场所用户、因特网用户、伴侣用户或移动用户。
安全性网关(1011)可以被配置为从用户流量中提取各种参数。提供了下述非限制性的示例。安全性网关可以被配置为提取描述用户设备的信息。作为非限制性示例,设备参数可以包括设备的类型,例如iPad或Surface平板,设备的操作系统,例如Windows RT或iOS、和/或正在使用的web浏览器,例如Chrome或Explorer。安全性网关可以被配置为提取描述用户设备的位置的信息。位置信息可以描述物理/地理位置和/或网络上的逻辑位置。安全性网关可以被配置为提取与正由用户采取的动作(例如对数据的请求)和/或SaaS平台的响应(例如发送所请求的数据)有关的信息。安全性网关还可以被配置为提取与用户的设备的身份(除了其类型之外)、用户的活动的时间以及用户的动作消费的带宽有关的信息。
安全性网关还可以被配置为检测并标识正由用户使用以连接到SaaS供应商的任何通信设备。设备标识可以与用户的访问历史相结合地被记入到日志,使得个体SaaS会话可以与用于该会话的特定设备相关联。存储的标识信息可以包括国际移动设备标识符(IMEI)、电话号码、媒体访问控制(MAC)地址、因特网(IP)协议地址或其他唯一或顺序唯一标识信息。该设备标识信息可以跨多个用户会话被跟踪和/或与相关联的用户简档相结合地存储。随后可以执行后续查询以确定哪个设备被给定用户用于在单个会话中或跨多个会话地访问给定的SaaS服务。
流量参数可以被输入到检测模块(1012)。检测模块还可以基于来自用户简档数据存储的用户简档信息接收输入。用户简档信息可以处理关于其流量正被分析的用户的信息。作为非限制性示例,用户信息可以源自检测模块。检测模块还可以从包括诸如关于特定安全性威胁的信息之类的其他信息的知识库接收输入。在优选实施例中,知识库可以包括作为组件的云服务索引(1015)。在一些实施例中,检测模块(1012)可以作为安全性网关(1011)的一个组件被包括。在替换实施例中,检测模块(1012)可以是与安全性网关(1011)通信的单独组件。
威胁检测模块(1012)可以包括简档创建引擎、基于距离的异常引擎以及基于统计的异常引擎。统计异常引擎可以被配置为基于短期和/或长期的统计信息做出威胁评估。每个引擎可以接收如上所述的任何或全部流量参数。每个引擎还可以接收源自其他引擎的输入。
异常引擎
所述异常引擎可以被配置为检测特定异常操作、一系列异常操作和/或异常操作的模式。例如,引擎可以被配置为基于正由SaaS供应商的用户所执行的特定操作被执行得比在它将被执行的学习时间预测上所获取的历史数据更加频繁(例如更高的操作频率)或所述连接具有新的源或目的地位置来确定它是否是可疑的。异常引擎也可以被配置为确定通过用户的操作序列是否是可疑的。在一些情况中,个体操作可能是非可疑的。但是,当该操作与另一个操作成序列执行时,该组操作可能是可疑的。例如用户可以与SaaS供应商进行认证,并随后开始向系统外传输文件。作为一个示例,异常引擎可以被配置为标识该序列为可疑的。这样,可疑流量的异常检测可以基于可能由许多操作构成的活动序列。异常引擎也可以被配置为确定非序列的操作的模式是否是可疑的。在可疑模式检测中,异常引擎可以被配置为检查序列外并在任意时间周期上所采取的行动。个体操作、操作序列以及操作的模式的可疑性可以基于在此所述的任何参数来确定。
可以基于将一个或多个参数与先前存储的简档信息进行比较来检测异常。作为非限制性示例,简档信息可以包括:位置、活动时间(一天中的小时、星期几等)、设备使用率、用户-代理(类型和版本)、行动/请求的频率、所执行的行动的类型、所执行的行动的顺序、所访问的信息的类型、流量带宽、会话特性(长度、空闲时间等)和/或HTTP请求特性(哪些资源被访问、方法、标题、大写等)。
云服务索引
威胁检测逻辑可以包括云服务索引(1015),该云服务索引包括将任何给定SaaS供应商的SaaS应用风险因子进行组合的参数集。示例参数集被示出在图12中。风险等级评估可以基于来自一些或所有源的信息,包括但不限于:
1.由SaaS供应商提供的关于源自(作为非限制性示例)白皮书、证书等的其安全性策略的信息。
2.独立的关于SaaS供应商、客户端和其他环境因子的搜索;和/或
3.由检测模块基于对由安全性网关所截取的流量的分析所标识的在客户端SaaS应用上的弱点和/或攻击的历史。
所述风险可以相对于一个或多个轴被测量,包括但不限于:
1.数据风险:强加在数据上的SaaS所具有的风险,例如多承租人和使用非加密数据;
2.用户/设备风险:由相连的用户和设备所强加的风险,包括例如认证质量、匿名使用能力等;
3.服务风险:强加在服务供应商网络上的风险,例如供应商所声称执行的安全性实践的质量、web应用安全性等级、弱点管理等;以及
4.商业风险:供应商允许给予其客户端的控制以及这些控制措施保护服务的使用的能力,包括例如审核能力、企业管理控制和操作实践。
示例风险因子的列表在图12中提供。如在表中所示,可以给予其轴、类别、属性、描述、属性值和/或索引值(例如分数或加权)被标识。
标识和简档创建引擎
威胁检测逻辑可以包括用于用户和设备标识和简档创建的模块(1013)。简档创建模块可以使用截取的凭证来标识当前用户。所述模块可以基于被动流量记录以标识一些或所有的下述特性来执行机构和用户简档创建:
机构层次和行为,包括单个用户使用模式;
公司角色,检测管理员、经理和/或不同的部门;
公司位置,检测不同的分部和/或办公室位置和/或雇员的家位置;
在该天的各小时、该周中的各天、该年中的各月以及公司层面和/或单个用户层面的特殊场合上的用户活动分布;以及
日常用户事务,包括日常位置、活动时间、应用和使用模式。
设备标识和简档创建模块还可以被配置为基于来自下述的信息跨会话和浏览器地区分并标识用户设备:
跟踪具有指定会话cookie的会话,所述指定会话cookie持有设备身份、用户身份以及用户登录到的任何SaaS应用的会话信息;
到页面的JavaScript植入,以便标识通过代理进行访问的设备;
从同一设备的不同浏览器管理的对链接会话的跨浏览器存储;以及
保持会话、设备和它们之间的链接的跟踪的统一身份数据库。
反馈
威胁特性逻辑可以包括构建用于安全性警告的受监督学习模型的方法。所述系统可以收集对警告的反馈、使IT和雇员两者都参与并通过查询可疑模式的用户来动态构建用户简档,和/或如果用户表现为可疑的(例如欺诈用户),使监督者参与。
虚拟网络
在优选实施例中,上述系统可以与单独的虚拟网络(1020)通信,在该虚拟网络中,模拟机构在各种SaaS应用上执行活动并由安全性网关进行监视。在该实施例中,虚拟网络可以是被维护用于研究和测试目的的隔离网络。在其他实施例中,虚拟网络可以被合并入操作网络监视和威胁检测系统。模拟机构特性和使用模式可以通过来自真实机构的信息被校准,随后由安全性网关记录。异常可以被随机插入到模拟流量中以测试检测模块。异常可以表示可疑的行为模式或攻击。可以从各种源收集异常,包括由安全性网关所记录的实际异常以及在自然环境下存在并被独立的研究所发现的异常。
虚拟网络可以被用于在将来的安全性特征上执行研究,并在压力下测试系统的不同组件并测量假肯定和假否定率。
虚拟网络可以包括虚拟客户端(1021)以及安全性网关(1022)、检测模块(1023)以及警告引擎(1024)的单独的安装。要在警告引擎(1014)中做出的改变可以首先在虚拟警告引擎(1024)中被测试。
风险/威胁加权
如在图12所提供的示例中所指示的,所标识的风险可以与云服务索引(1015)中的索引值相关联。该索引值可以被用于相对于彼此加权风险因子。在一些实施例中,多个风险因子可以被一起评估。作为非限制性示例,在网络流量中的一个时间周期上所标识的威胁的索引值可以相加在一起以提供数字值威胁指示符。
响应性行动
风险加权可以被提供给检测模块(1012)和/或警告引擎(1014)。检测模块随后可以完全或部分基于加权的信息在网络流量上采取行动,并且警告引擎可以随后对客户端(1001)或对SaaS供应商(1030)做出警告。在一些实施例中,检测模块可以基于检测模块(1012)的输出把丢弃正从SaaS供应商(1030)发送到客户端(1001)的包的指令提供给安全性网关(1011)。
发现模块体系架构
在一些实施例中,发现模块可以被配置为检测在基于网络的软件即服务(SaaS)供应商与客户机之间的网络流量。在这些实施例中,在还未为客户端设备或网络设置任何控制或限制的情况下,当该客户端计算设备通过公共网络(例如因特网)被连接到SaaS供应商时,该系统能够被配置为在SaaS供应商与该客户端计算设备之间的这样的流量上进行操作。在这些实施例的一些中,客户端设备的无配置是必需的。发现模块可以包括SaaS应用数据库,其内容在下面将更加详细地描述。
在这些实施例的一些中,发现模块可以以受管通信网络代理的形式被实现。尽管在此对代理做出参考,但可以理解所述代理可以以一个或多个网络设备的形式来实现。而且,受管网络代理可以被分散,并且受管网络代理的功能分布在不同的地理区域中的多个机器上。
在其他实施例中,发现模块可以不被配置为直接检测在基于网络的软件即服务(SaaS)供应商与客户端之间通过的网络流量。在这些实施例中,发现模块可以从网络上的任何设备发起SaaS发现活动。发现模块可以包括小程序(applet)服务器以及SaaS应用数据库,其内容在下面将更加详细地描述。
SaaS环境的发现
发现模块(无论是驻留在独立设备上还是在网络代理中)可以被配置为标识任何SaaS环境的访问和使用模式。如在此所使用的,SaaS环境可以包括SaaS平台、任何在该平台上执行或安装在该平台上的应用、存储在该平台上的数据和/或单独或与其他因子组合的配置参数。
图13示出了SaaS环境的发现的示例系统和方法。如所示,客户端计算机可以四管理者或具有执行发现功能的足够权限的类似用户类型。发现模块可以被实现为在客户端设备上的可执行指令,例如应用、小程序、插件或其他代码形式。在一些实施例中,客户端可以下载并执行被配置为在任何机构计算机上运行并产生截屏报告的应用(例如Java小程序)。附加地,系统可以配置用于使用服务的连续发现,所述服务在机构或客户端计算机的后台运行并允许联系监视SaaS。
所述系统可以包括用于存储表示宽范围且任意数目的SaaS应用和它们的特性的数据的SaaS应用数据库。作为非限制性示例,应用数据库可以包括,除了其他记录外,在任何平台上已知被使用的任何SaaS应用的记录。记录可以以定期基础(例如每天)从多个数据源被更新。
SaaS应用记录可以包括定义特定SaaS和/或SaaS应用的安全性等级的各种度量。作为非限制性示例,记录的度量可以包括:数据是否在空闲时被加密、SSL加密等级、内建安全性特征的存在或缺失、数据库和数据中心的位置等。
所述系统可以被配置为基于任何上述度量自动执行给定SaaS平台或应用的风险评估发现。云服务风险发现处理可以执行用于执行SaaS环境的被动发现和/或主动发现的过程。
被动发现
在一些实施例中,被动发现处理可以被用于确定哪个SaaS应用和/或哪个数据存储已经被用户访问或被致使已经由用户访问。
所述系统可以被配置为(基于公共DNS服务器的开放列表)确定本地配置的域名系统(DNS)服务器是公共的或机构的。如果是机构的,系统可以(非迭代地)查询企业DNS服务器以寻找特定SaaS域。基于响应,系统可以确定特定的应用、文件或数据集是否最近从该企业网络内被访问。如果查询成功,系统可以确定从企业做出过最近访问。否则,如果查询不成功,系统可以确定没有从企业做出过最近访问。
主动发现
所述系统可以被配置为使用指定目标的查询来测试某个SaaS是否在某个机构网络内可用,并且由此确定特定SaaS是否在机构网络内被阻塞。例如,发现模块可以尝试取得SaaS上的预定URL。如果取得尝试成功,那么SaaS可以被标记为未阻塞。如果取得尝试不成功,那么SaaS可以被标记为阻塞。
在一些实施例中,主动发现可以被用于检查配置问题。例如,管理员可能没有已经配置SaaS存储,但存储正在被消费。
警告
被动和/或主动发现过程的结果可以被发送给发现服务器或电子存储的其他位置。所述结果可以经受自动和/或手动分析。
基于发现过程的结果,可以生成自动的警告和云使用报告。例如,可以基于存储在数据库中的使用数据自动生成每周和/或每月的云使用报告。所使用的新的和趋势云服务可以被单独地或与详细的风险分析一起被示出。在一些实施例中,高风险的SaaS应用使用可以通过emil或其他手段触发自动警告。
SaaS流量捕获
后缀代理实现面临在客户端侧动态生成内容的问题。诸如Google App平台之类的现代web应用利用大量客户端侧代码(JavaScript)。这可使后缀代理实施更具挑战性的多,因为基本代理功能不足就需要在客户机侧进一步干预。
如在此所述,所述后缀代理可被用于在代理的控制下保持所代理的web网页的URL和web访问。这通过将后缀添加到页面上URL来完成。在静态页面(例如不包含客户端可执行JavaScript代码的那些页面)的上下文中,这可以在服务器侧通过代理完成。所述方法涉及解析HTML并使用正则表达式来取代页面上的URL。
受管网络代理可以被配置为检查流量并检测SaaS因特网地址。在一些实施例中,受管网络代理可以被配置为检查因特网地址(例如统一资源定位符、统一资源标识符等)的网络流量。作为非限制性示例,所述网络代理可为检查反编译、解构或分解网络流量。受管网络代理可以被配置为修改在客户机设备和SaaS供应商之间的网络流量,以使得下述网络地址不被提供给客户机设备:引导客户机设备绕过受管网络代理来直接访问SaaS资源。如果检测到SaaS因特网地址,通过将网络代理服务的域名附加到原始网络地址,该地址可以被重写成在网络代理处的地址。
后缀代理可以被配置用于捕获页面处理,所述处理通过处理SaaS服务器响应以便后续的请求由后缀代理来处理。所述处理可以依赖于文件类型和响应类型。作为非限制性示例,经处理的文件类型可包括HTML或JavaScript而响应可包括压缩响应或分块响应。所述后缀代理可被配置为模拟任何内容,包括从SaaS供应商发送的网页。所述后缀代理可被配置为检查和/或反编译任何内容来标识在内容中呈现的任何提到的页面和/或URL且重写那些URL。
在一些情况下,检查将要求执行在客户端和SaaS供应商之间传送的代码或脚本。例如,JavaScript可在所述后缀代理处被模拟以检测将会直接访问所述SaaS供应商的网络地址的生成。若在所述内容中标识出直接访问地址,所述内容可被修改以重写所述地址来指代所述网络代理。
使用即时JavaScript转换的代理
通过客户端侧JavaScript,对页面的文档对象模型(DOM)的运行时改变是可能的,并且因此,对于客户端浏览器来说,创建或修改具有无后缀URL的DOM元素是可能的(因为服务器侧代理没有机会替代它们)。下面描述用于将web应用JavaScript代码的访问限制到DOM的系统和方法。
所述限制的性质可为如此:对DOM中的来自原始JavaScript代码的web URL做出的改变将由代理的运行时组件来监视。通过高速缓存,可以减少对JavaScript代码的的运行时性能的任何影响。
可以针对对DOM元素的读和写访问调用监视代码,这样将URL写入到DOM被添加后缀,而从DOM的URL读取未添加后缀。因此,“用户”JavaScript代码(例如,所述web应用代码)所见的URL与浏览器自身(所述DOM,及其JavaScript表示)所见的URL之间可存在间隔。因此,原始JavaScript代码可以在代理环境内容被有效维护,使得与(代理周围的)原始服务器的通信被避免。
服务器侧代理实现
作为web应用的一部分被加载的JavaScript代码可以以几种方式中的任意方式从原始服务器获取,所述方式包括在HTML页面内的内联脚本以及JavaScript文件(通常具有"text/javascript"内容类型)。在此所述的系统还可以被配置为在其他类型的代码、脚本或内容(例如CSS)上操作。
通常,浏览器将首先加载主HTML页面,并且随后加载所有引用的和内联脚本。另外,JavaScript(或包含脚本的HTML)还可以由web应用来动态加载,例如,使用“eval”语句。
因为动态代码的加载最初是由静态加载的代码(或,一旦被加载,由其他的动态代码)执行的,在所述代理服务器上的页面下载阶段期间,所述系统可通过修改所述静态JavaScript代码来控制执行。对所述代码的修改可用此类方法执行:将来被动态地加载的代码将会在运行时期间被修改且对所述DOM的特定改变可被截取以实施上述规则,这将允许页面仍然在代理的控制中。
动态加载的代码的修改可以通过将动态评估的代码发送给代理或在用于处理的代理处接收动态评估的代码、并随后允许在客户端浏览器处加载新代码来实现。在图14中示出了非高速缓存的操作的示例方法。在一些实施例中,高速缓存可以被用于改善性能,如下将更加详细描述的且在图15中所示的。
作为非限制性示例,至少以下DOM元素与属性可被包装:
1.包含URL的HTML元素的属性:
a.所述元素:"IFRAME"、"STYLE(样式)"、"LINK(链接)"、"IMG(图像)"、"AUDIO(音频)"、"A"、"FORM(来自)"、"BASE(基础)"和"SCRIPT(脚本)"。
b.对于每个,在它们应用时,属性:"src"、"href"和"action(行动)"。
c.这些元素的getAttribute以及setAttribute方法也可被用来设置上述属性。
2.可包含DOM子树(即,多个HTML)的HTML元素的属性:
a."appendChild"方法可以用于动态添加元素(和代码)。
b."innerHTML"属性可以被用于添加额外代码。
3.包含URL或Hostnames(主机名)的“文档”对象的属性:
a."cookie"、“域”——两者都可以包含窗口的原始域。
b.可使用“write”方法来添加元素和代码至所述页面。
4.XMLHttpRequest对象的“open(打开)”方法包含请求URL。
5.“MessageEvent”对象的“origin(原始)”属性包含原始主机名。
6.“窗口”对象的方法和属性:
a.“location(位置)”——可以将所述帧重定向至另一个URL或确定所述帧的当前位置。
b.所述“postMessage(张贴消息)”方法——具有原始自变量。
c.所述“evaf”与“execScript”——被用来动态地加载代码。
其他此类元素与属性存在,且它们中的任何一个或全部可被包装。
JavaScript代码的静态挂钩(Hooking)
静态挂钩可以被用于多种类型的内容,包括内联脚本和文件。在代理服务器处,经代理的JavaScript代码可以被如下处理:
1.HTML中的内联脚本被提取并处理。
2.根据Mozilla解析器API规范使用开放源解析库将代码转换成抽象语法树(AST)。
3.所述AST是递归遍历的且对包装器的调用被插入在该AST的某些节点周围以允许挂钩。
4.代码可以从经修补的AST中重构并被发送给客户端浏览器。
5.可以执行对所得到的经处理的代码的高速缓存。
被插入的包装器可允许DOM的改变在运行时期间被截取。所述包装器可被应用至覆盖任何或全部可能的DOM访问。
作为非限制性示例,所述包装器可被应用至一些或全部以下AST节点:
1.MemberExpression(成员表达式):
a.包装对DOM对象的对象属性的可能的访问。
b.包装具有非文字键的订阅操作。
如果所述属性名匹配“感兴趣”属性的白名单,包装对特定属性(例如obj.src)的访问。
d.最终,运行时包装器决定任何改变是否是需要的。在大多数情况下——例如,“假肯定”——所述包装器将决定不做任何事。
2.Identifier(标识符):
a.对全局Identifier(其是窗口DOM对象的属性,例如,“location(位置)”)的白名单的可能的访问都被包装。
b.IdentifierAST节点可出现在所述树中的许多不相关的逻辑位置上。在其中Identifier表示对全局变量的访问的实例被包装。这是在遍历阶段期间通过检查父节点并消除全部其他情况而被确定的。
3.AssignmentExpression(赋值表达式):
a.对先前“标记的”MemberExpressions和Identifiers的赋值由另一个专门处理“set”访问的包装器来处理。
赋值运算符“=”与“+=”被包装,因为相关的DOM属性可能是字符串(URL)。
4.CallExpression(调用表达式):
a.其中先前“标记的”MemberExpression和Identifier是由专门处理函数调用的另一个包装器处理的被调用者。
b.针对对“eval”的调用存在一个特殊情况,“eval”与一个语句一样运作,但被表示为在所述AST中的函数调用。
在包装之前和之后的示例代码:
Figure BDA0000987299810000211
Figure BDA0000987299810000221
包装器的运行时行为
(根据在AST遍历阶段期间不同的包装情况)可以定义许多不同的包装器函数。
1.wrapped_get,wrapped_set,wrapped_call——根据不同的使用情况包装对MemberExpression的访问。
2.wrapped_name_get,wrapped_name_set,wrapped_name_call——根据不同的使用情况包装对全局Identifier的访问。
3.wrapped_eval_param——将通过的代码专门作为“eval”调用(“eval调用可影响局部作用域)的参数处理。
在一些实施例中,所述系统可以首先检测所述包装器是否在相关的对象或属性上被调用。
1.在“MemberExpression”包装器中,属性名称被对照白名单来检查,带下标的对象也是一样。
2.对于“Identifier”包装器,同样参照白名单。
3.对象被确定为某些类型(“Document(文档)”、“Window(窗口)”、HTML元素等等),还在适用时与全局实例相比较。
这些比较与查询可被高效地执行,在许多情况下对性能没有显著的影响。
包装器调用可使用各种过程中的任何一个来处理,包括,非限制性示例:
1.处理动态加载的代码:
a.新JavaScript代码被发送至所述代理的专用REST API端点以供转换和高速缓存,如下所述。
b.这可发生在“appendChHd”、“innerHTML”、“eval”、“execScript”以及“write”的包装器上。
2.后缀或不后缀URL或主机名。
3.检测假肯定包装器调用并恢复正常执行。
负责处理对与URL相关的属性或方法的DOM访问的包装器处理程序可被分成逻辑组,例如:
1.getters(获取器)——处理“get”包装器。这些将不后缀经处理的URL。
a.若方法(JavaScript类型“函数”)被访问,“decorator(装饰器)”被返回(见下)。
2.setters——这些处理“set”包装器。它们将后缀经处理的URL。
3.装饰器——这些处理“call”包装器。它们对被包装的方法返回匹配的装饰器函数,其将根据装饰方法是什么来给URL加后缀或不加后缀。
a.可使用JavaScript的“bind(绑定)”方法将此装饰器绑定至正确对象。在“Identifier”包装器的情况下,所述正确对象是全局对象(在一些情况下,窗口)。在“MemberExpression”包装器的情况下,这是正在被标下标的对象。
性能影响和优化
在一些情况下,由于JavaScript转换和在大量脚本上的AST遍历以及阻止JavaScript JIT编译器优化浏览器中的代码的运行时包装器,对运行在此所述的各处理可能存在有性能影响,这些处理中的一些可能由经代理的web-应用的用户经历。
为了改善转换阶段的开销,高速缓存可以实现:
1.在服务器侧上,经转换的JavaScript代码的元素(例如,内联脚本、文件或动态转换请求)在每个服务器上被本地高速缓存。
2.所述条目是以原始代码的密码散列为关键的。
3.这样,所述高速缓存跨所述代理的用户被共享。这样,仅每个服务器的第一个用户将经历共同加载的脚本的转换阶段的影响。
4.动态脚本转换REST端点也可被配置为接受客户机侧计算的散列且在正使用它的缓存中执行查找。这可减少所述代理的用户的上传带宽的使用。在这种配置中,被动态生成的脚本将几乎从不被实际发送至所述代理(除第一次外)。
5.另外,对动态转换请求(每个散列)的响应与“Cache-Control(高速缓存-控制)”和“Expires(到期)”HTTP首部一起被返回,使得该结果将由所述客户端浏览器来高速缓存。以此方式,对于相同的被动态生成的脚本,客户端将较不可能地需要查询所述代理服务器超过一次。
给定上述优化,可以从正常使用情况中大大减少转换阶段的影响。
通过下述一些或所有的项可以减轻包装器的运行时性能影响:
1.创建不相关/假肯定包装器调用的经优化的快速路径(在代码级)。这是通过编写具有有限JavaScript子集的基础包装器函数来实现的,所述基础包装器函数将很容易地由浏览器的JIT编译器优化。
2.手动维护接口,允许创建简档并检测具有最高高速缓存命中的代码路径,并且允许从代理的内部高速缓存中的经转换代码中(手动)移除某些包装器。
系统实现
在此所述的系统和方法可以在软件、硬件或其任意组合中实现。在此所述的系统和方法可以使用一个或多个计算设备来实现,所述计算设备可以或可以不彼此物理或逻辑地分开。另外,在此所述的方法的各个方面可以被组合或合并入其他功能。
在一些实施例中,系统元素可以被组合到单个硬件设备中或分散到多个硬件设备中。如果多个硬件设备被使用,硬件设备可以物理地位于彼此附近或彼此远离。
所述方法可以在计算机程序产品中被实现,所述计算机程序产品可从提供供计算机或任何指令执行系统使用或与其结合使用的程序代码的计算机可用或计算机可读存储介质访问。计算机可使用或计算机可读存储介质可以是可包含或存储供计算机或指令执行系统、装置或设备使用或与其结合使用的程序的任何装置。
适用于存储和/或执行对应的程序代码的数据处理系统可以包括与计算机化的数据存储设备(例如存储器元件)直接或间接耦合的至少一个处理器。输入/输出(I/O)设备(包括但不限于键盘、显示器、指点设备等)可以被耦合到系统。网络适配器还可以被耦合到所述系统以允许数据处理系统通过参与私有或公共网络变得与其他数据处理系统或远程打印机或存储设备相耦合。为了提供与用户的交互,各特征可在具有显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)、或用于显示信息给用户的其他类型的监视器)、键盘和用户能借此向计算机提供输入的输入设备(例如,鼠标或追踪球)的计算机上实现。
计算机程序可以是可在计算机中被直接或间接使用的一组指令。在此所述的系统和方法可以使用编程和/或标记语言(例如Perl,Python,JAVATM,C++,C,C#,VisualBasicTM,JavaScriptTM,PHP,FlashTM,XML,HTML等)或编程和/或标记语言的组合(包括经编译的或经解释的语言)来实现,并且可以以任何形式被部署,包括作为独立的程序或作为模块、组件、子例程、或其他适于在计算环境中使用的单元。所述软件可包括但不限于固件、驻留软件、微代码等。诸如SOAP/HTTP,JSON,SQL等的协议和标准可以用在实现编程模块之间的接口。在此所述的组件和功能可以在虚拟化或非虚拟化环境中执行的任何桌面或服务器操作系统上,使用任何适用于软件开发的编程语言(包括但不限于不同版本的MicrosoftTMWindowsTM,AppleTM MacTM,iOSTM,UnixTM/X-WindowsTM,LinuxTM等)来实现。
在一些实施例中,一个或多个服务器可以用作文件服务器和/或可以包括用于结合由运行在用户计算机和/或另一个服务器上的应用实现本发明的方法的一个或多个文件。或者,文件服务器可以包括一些或所有所需文件,允许这样的应用由用户计算机和/或服务器远程调用。相对于在此的各种服务器(例如应用服务器、数据库服务器、web服务器、文件服务器等)所描述的功能可以依据特定实现需求和参数由单个服务器和/或多个专用服务器来实现。
在一些实施例中,所述系统可以包括一个或多个数据库。数据库的位置是任意的。作为非限制性示例,数据库可以驻留在服务器(和/或用户计算机)本地(和/或驻留在其中)的存储介质上。或者,数据库可以远离任何或所有的计算设备,只要它能与这些设备中的一个或多个(例如通过网络)通信。在一些实施例中,数据库可以驻留在存储区域网络(SAN)中。SAN可以被实现为计算机化的数据存储设备组。用于执行归因于计算机的功能的一些或所有的所需文件可以被本地存储在相应计算机上和/或适当地被远程存储。在一些实施例中,数据库可以是关系型数据库,例如Oracle数据库,它适用于响应于SQL格式的命令存储、更新和检索数据。所述数据库可以由数据库服务器来控制和/或维护。
用于执行指令程序的合适的处理器包括,但不局限于,任何类型的计算机的通用和专用微处理器以及单独的处理器或多个处理器或核之一。处理器可以从计算机化数据存储设备(例如只读存储器、随机存取存储器、这两者、在此所述的数据存储设备的任何组合)中接收并存储指令和数据。处理器可以包括操作上控制电子设备的操作和性能的任何处理电路或控制电路。
处理器还可以包括一个或多个用于存储数据的数据存储设备或在操作上被耦合以与其通信。这样的数据存储设备可以包括,作为非限制性示例,磁盘(包括内部硬盘和可移动盘)、磁光盘、光盘、只读存储器、随机存取存储器和/或闪存存储。适用于有形实现计算机程序指令和数据的存储设备还可以包括非易失存储器的所有形式,包括,例如:半导体存储器设备,例如EPROM,EEPROM,以及闪存存储器设备;磁盘,例如内部硬盘和可移动盘;磁光盘;和/或CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充或被结合在ASIC中。
在此所述的系统、模块和方法可以在软件或硬件元件的任意组合中实现。在此所述的系统、模块和方法可以使用一个或多个单独工作的虚拟机或将它们彼此组合来实现。任何可应用的虚拟化解决方案可被用于将物理计算机器平台封装到虚拟机,所述虚拟机在运行在硬件计算平台或主机上的虚拟化软件的控制下执行。虚拟机可以具有虚拟系统硬件和客操作系统两者。
在此所述的系统和方法可在一种计算机系统中实现,所述计算机系统包括后端组件(例如,数据服务器)、或包括中间软件层组件(例如,应用服务器或因特网服务器)、或包括前端组件(例如,具有图形用户界面或因特网浏览器的客户端计算机)、或包括这样的后端、中间软件层或前端组件的任意组合。所述系统的各组件可通过任何形式或介质的数字数据通信(例如,通信网络)来连接。通信网络的示例包括但不限于:LAN、WAN、或形成因特网的任何网络。
本发明的一个或多个实施例可以在其他计算机系统配置中实施,包括手持式设备、微处理器系统、基于微处理器或可编程的消费电子产品、微型计算机、大型计算机等。本发明也可在分布式计算环境中实施,在所述分布式计算环境中任务是由通过网络链接的远程处理设备执行的。
尽管已经描述了本发明的一个或多个实施例,但它们的各种改变、添加、排列和等价物也包括在本发明的范围中。

Claims (3)

1.一种用于处理指令以修改对内容的将来请求的方法,所述方法包括:
在代理服务器处,接收对内容的请求,所述内容包括可执行指令,所述代理服务器被配置为后缀代理;
从服务器检索所请求的内容,并在所述代理服务器处存储所请求的内容;
解析所请求的内容以标识被配置用于生成URL的可执行指令;
通过包装所标识的指令以调用替代指令来修改所请求的内容,其中所述替代指令被配置为将所述后缀代理的标识附加到所生成的URL以创建具有后缀的URL;
在所述代理服务器处,存储包括所包装的指令的经修改的内容;
将包括所包装的指令的所述经修改的内容传送给客户端设备;以及
在所述代理服务器处,监视由所述客户端设备执行的对文档对象模型DOM的运行时改变以在对所述具有后缀的URL进行至少读和写时控制对所述DOM的任何读和写运行时访问。
2.如权利要求1所述的方法,其特征在于,所述内容包括JavaScript。
3.如权利要求1所述的方法,进一步包括:
确定被修改包括所包装的指令的所请求的内容是否被存储在所述代理服务器上;
如果被修改包括所包装的指令的所请求的内容被存储在所述代理服务器上,在无需从所述服务器检索所请求的内容的情况下,发送所述经修改的内容给所述客户端设备。
CN201480061802.1A 2013-11-11 2014-11-12 云服务安全中介和代理 Active CN106031118B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361902786P 2013-11-11 2013-11-11
US201361902787P 2013-11-11 2013-11-11
US201361902789P 2013-11-11 2013-11-11
US61/902,789 2013-11-11
US61/902,786 2013-11-11
US61/902,787 2013-11-11
US201462049473P 2014-09-12 2014-09-12
US62/049,473 2014-09-12
PCT/US2014/065305 WO2015070260A1 (en) 2013-11-11 2014-11-12 Cloud service security broker and proxy

Publications (2)

Publication Number Publication Date
CN106031118A CN106031118A (zh) 2016-10-12
CN106031118B true CN106031118B (zh) 2020-10-09

Family

ID=53042265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480061802.1A Active CN106031118B (zh) 2013-11-11 2014-11-12 云服务安全中介和代理

Country Status (15)

Country Link
US (2) US9438565B2 (zh)
EP (2) EP3734474A3 (zh)
JP (1) JP6514202B2 (zh)
KR (1) KR20160110913A (zh)
CN (1) CN106031118B (zh)
AU (1) AU2014346390B2 (zh)
CA (1) CA2930106A1 (zh)
CL (1) CL2016001116A1 (zh)
IL (1) IL245181B (zh)
MX (1) MX361791B (zh)
MY (1) MY181777A (zh)
PH (1) PH12016500808B1 (zh)
RU (1) RU2679549C2 (zh)
SG (1) SG11201603471XA (zh)
WO (1) WO2015070260A1 (zh)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9692789B2 (en) * 2013-12-13 2017-06-27 Oracle International Corporation Techniques for cloud security monitoring and threat intelligence
US11474767B1 (en) * 2014-05-28 2022-10-18 Amazon Technologies, Inc. Print from web services platform to local printer
US10114966B2 (en) 2015-03-19 2018-10-30 Netskope, Inc. Systems and methods of per-document encryption of enterprise information stored on a cloud computing service (CCS)
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
CN106302335B (zh) * 2015-05-22 2020-02-07 杭州海康威视数字技术股份有限公司 网络监控设备及重置其密码的方法、装置和系统、服务器
CN106487774B (zh) 2015-09-01 2019-06-25 阿里巴巴集团控股有限公司 一种云主机服务权限控制方法、装置和系统
CN105242533B (zh) * 2015-09-01 2017-11-28 西北工业大学 一种融合多信息的变导纳遥操作控制方法
US9740245B2 (en) 2015-10-05 2017-08-22 Microsoft Technology Licensing, Llc Locking mechanism
US20170118239A1 (en) * 2015-10-26 2017-04-27 Microsoft Technology Licensing, Llc. Detection of cyber threats against cloud-based applications
US10476886B2 (en) 2015-11-05 2019-11-12 Microsoft Technology Licensing, Llc Just-in-time access based on geolocation to maintain control of restricted data in cloud computing environments
US10484430B2 (en) 2015-11-05 2019-11-19 Microsoft Technology Licensing, Llc Just-in-time access based on screening criteria to maintain control of restricted data in cloud computing environments
US10560463B2 (en) 2015-11-05 2020-02-11 Microsoft Technology Licensing, Llc Incident management to maintain control of restricted data in cloud computing environments
WO2017083140A1 (en) * 2015-11-10 2017-05-18 Avanan Inc. Cloud services discovery and monitoring
US10728868B2 (en) 2015-12-03 2020-07-28 Mobile Tech, Inc. Remote monitoring and control over wireless nodes in a wirelessly connected environment
US10251144B2 (en) 2015-12-03 2019-04-02 Mobile Tech, Inc. Location tracking of products and product display assemblies in a wirelessly connected environment
US10517056B2 (en) 2015-12-03 2019-12-24 Mobile Tech, Inc. Electronically connected environment
US9906480B2 (en) * 2015-12-10 2018-02-27 Facebook, Inc. Techniques for ephemeral messaging with legacy clients
US10200330B2 (en) 2015-12-10 2019-02-05 Facebook, Inc. Techniques for ephemeral messaging with a message queue
US10320844B2 (en) 2016-01-13 2019-06-11 Microsoft Technology Licensing, Llc Restricting access to public cloud SaaS applications to a single organization
US20170206148A1 (en) * 2016-01-20 2017-07-20 Facebook, Inc. Cross-region failover of application services
US10382424B2 (en) 2016-01-26 2019-08-13 Redhat, Inc. Secret store for OAuth offline tokens
US10826973B2 (en) 2016-02-04 2020-11-03 Carrier Corporation Security system including business continuity provider
US10536478B2 (en) 2016-02-26 2020-01-14 Oracle International Corporation Techniques for discovering and managing security of applications
US11425169B2 (en) 2016-03-11 2022-08-23 Netskope, Inc. Small-footprint endpoint data loss prevention (DLP)
US11403418B2 (en) 2018-08-30 2022-08-02 Netskope, Inc. Enriching document metadata using contextual information
US9935955B2 (en) * 2016-03-28 2018-04-03 Zscaler, Inc. Systems and methods for cloud based unified service discovery and secure availability
US11363022B2 (en) 2016-03-28 2022-06-14 Zscaler, Inc. Use of DHCP for location information of a user device for automatic traffic forwarding
US11962589B2 (en) 2016-03-28 2024-04-16 Zscaler, Inc. Disaster recovery for a cloud-based security service
US11985129B2 (en) 2016-03-28 2024-05-14 Zscaler, Inc. Cloud policy enforcement based on network trust
US11533307B2 (en) 2016-03-28 2022-12-20 Zscaler, Inc. Enforcing security policies on mobile devices in a hybrid architecture
US12101318B2 (en) 2016-03-28 2024-09-24 Zscaler, Inc. Adaptive multipath tunneling in cloud-based systems
US11297058B2 (en) * 2016-03-28 2022-04-05 Zscaler, Inc. Systems and methods using a cloud proxy for mobile device management and policy
US10291636B2 (en) 2016-05-23 2019-05-14 International Business Machines Corporation Modifying a user session lifecycle in a cloud broker environment
RU2634181C1 (ru) * 2016-06-02 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных компьютерных систем
US10146609B1 (en) * 2016-07-08 2018-12-04 Splunk Inc. Configuration of continuous anomaly detection service
US10476907B2 (en) 2016-08-10 2019-11-12 Netskope, Inc. Systems and methods of detecting and responding to a data attack on a file system
US10305861B2 (en) 2016-08-29 2019-05-28 Microsoft Technology Licensing, Llc. Cross-tenant data leakage isolation
US10243946B2 (en) 2016-11-04 2019-03-26 Netskope, Inc. Non-intrusive security enforcement for federated single sign-on (SSO)
CN106506648B (zh) * 2016-11-10 2019-05-17 东软集团股份有限公司 负载均衡服务管理方法及系统
US11637907B2 (en) * 2016-11-16 2023-04-25 Verizon Patent And Licensing Inc. Systems and methods for tracking device IDs for virtualized applications
US10333936B2 (en) * 2017-01-24 2019-06-25 Box, Inc. Method and system for secure cross-domain login
US10511599B2 (en) 2017-03-13 2019-12-17 Microsoft Technology Licensing, Llc System to filter impossible user travel indicators
US10178096B2 (en) 2017-03-31 2019-01-08 International Business Machines Corporation Enhanced data leakage detection in cloud services
US10558641B2 (en) 2017-04-21 2020-02-11 Microsoft Technology Licensing, Llc Trigger system for databases using proxy
KR101980568B1 (ko) * 2017-04-24 2019-05-22 (주)유엠로직스 3-tier 클라우드 보안통제 브로커의 메타 데이터 기반 보안통제 중복수행 방지 방법
US10977359B2 (en) 2017-05-15 2021-04-13 Microsoft Technology Licensing, Llc Automatic takeover of applications installed on client devices in an enterprise network
US10794093B2 (en) 2017-05-19 2020-10-06 Microsoft Technology Licensing, Llc Method of optimizing memory wire actuator energy output
US11005864B2 (en) 2017-05-19 2021-05-11 Salesforce.Com, Inc. Feature-agnostic behavior profile based anomaly detection
US10505918B2 (en) * 2017-06-28 2019-12-10 Cisco Technology, Inc. Cloud application fingerprint
JP6717548B2 (ja) * 2017-07-21 2020-07-01 日本電信電話株式会社 トラヒック制御システム及び方法
US10834113B2 (en) 2017-07-25 2020-11-10 Netskope, Inc. Compact logging of network traffic events
CN107295008A (zh) * 2017-08-01 2017-10-24 广东云下汇金科技有限公司 一种企业混合云计算环境下的连接建立方法
LT3767493T (lt) 2017-08-28 2023-03-10 Bright Data Ltd. Būdas pagerinti turinio parsisiuntimą, naudojant tunelinius įrenginius
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US11470161B2 (en) * 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
EP3480753A1 (en) * 2017-11-02 2019-05-08 Lstech Ltd A computer implemented method, a system and a computer program for optimizing the operation of a cloud hosted software as a service (saas) system
US10630676B2 (en) * 2017-11-24 2020-04-21 Microsoft Technology Licensing, Llc Protecting against malicious discovery of account existence
CN107995273B (zh) * 2017-11-27 2021-02-09 北京酷我科技有限公司 一种iOS网络管理方法
US11055417B2 (en) 2018-04-17 2021-07-06 Oracle International Corporation High granularity application and data security in cloud environments
CN108718236B (zh) * 2018-05-21 2020-08-18 西安交通大学 互联网自组织汇流的数据传输方法
US11064013B2 (en) * 2018-05-22 2021-07-13 Netskope, Inc. Data loss prevention using category-directed parsers
US10951588B2 (en) 2018-07-26 2021-03-16 Palo Alto Networks, Inc. Object property getter and setter for clientless VPN
US10831836B2 (en) 2018-07-26 2020-11-10 Palo Alto Networks, Inc. Browser storage for clientless VPN
US11093574B2 (en) 2018-07-26 2021-08-17 Palo Alto Networks, Inc. Encoding-free javascript stringify for clientless VPN
JP6979494B2 (ja) * 2018-09-20 2021-12-15 エヌ・ティ・ティ・コミュニケーションズ株式会社 制御装置、制御方法、及びプログラム
US10944769B2 (en) 2018-09-25 2021-03-09 Oracle International Corporation Intrusion detection on load balanced network traffic
WO2020086575A1 (en) * 2018-10-25 2020-04-30 Mobile Tech, Inc. Proxy nodes for expanding the functionality of nodes in a wirelessly connected environment
US10771435B2 (en) * 2018-11-20 2020-09-08 Netskope, Inc. Zero trust and zero knowledge application access system
US11522832B2 (en) 2018-11-29 2022-12-06 Target Brands, Inc. Secure internet gateway
WO2020117684A1 (en) * 2018-12-03 2020-06-11 Salesforce.Com, Inc. Testing engine for automated operations management
US11416641B2 (en) 2019-01-24 2022-08-16 Netskope, Inc. Incident-driven introspection for data loss prevention
US11323454B1 (en) * 2019-01-30 2022-05-03 NortonLifeLock Inc. Systems and methods for securing communications
LT4075304T (lt) 2019-02-25 2023-07-25 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4027618B1 (en) 2019-04-02 2024-07-31 Bright Data Ltd. Managing a non-direct url fetching service
US11263201B2 (en) * 2019-04-12 2022-03-01 Servicenow, Inc. Interface for supporting integration with cloud-based service providers
US10873644B1 (en) * 2019-06-21 2020-12-22 Microsoft Technology Licensing, Llc Web application wrapper
US11586685B2 (en) 2019-10-31 2023-02-21 Citrix Systems, Inc. Systems and methods for generating data structures from browser data to determine and initiate actions based thereon
US20210160220A1 (en) * 2019-11-25 2021-05-27 Microsoft Technology Licensing, Llc Security service
US11568130B1 (en) * 2019-12-09 2023-01-31 Synopsys, Inc. Discovering contextualized placeholder variables in template code
CN111212077B (zh) * 2020-01-08 2022-07-05 中国建设银行股份有限公司 主机访问系统及方法
US11856022B2 (en) 2020-01-27 2023-12-26 Netskope, Inc. Metadata-based detection and prevention of phishing attacks
IL296198A (en) * 2020-03-03 2022-11-01 Kivera Corp A system and method for securing cloud-based services
US11356502B1 (en) * 2020-04-10 2022-06-07 Wells Fargo Bank, N.A. Session tracking
US11611629B2 (en) * 2020-05-13 2023-03-21 Microsoft Technology Licensing, Llc Inline frame monitoring
US20210360017A1 (en) * 2020-05-14 2021-11-18 Cynomi Ltd System and method of dynamic cyber risk assessment
US11356495B2 (en) 2020-10-29 2022-06-07 Microsoft Technology Licensing, Llc Restore URL context for proxies
CN112464175A (zh) * 2020-11-11 2021-03-09 中国建设银行股份有限公司 脚本审核执行方法、系统、设备和存储介质
US11431746B1 (en) 2021-01-21 2022-08-30 T-Mobile Usa, Inc. Cybersecurity system for common interface of service-based architecture of a wireless telecommunications network
US11546767B1 (en) * 2021-01-21 2023-01-03 T-Mobile Usa, Inc. Cybersecurity system for edge protection of a wireless telecommunications network
US11662716B2 (en) 2021-02-26 2023-05-30 Kla Corporation Secure remote collaboration for equipment in a manufacturing facility
US11190550B1 (en) 2021-04-22 2021-11-30 Netskope, Inc. Synthetic request injection to improve object security posture for cloud security enforcement
US11178188B1 (en) * 2021-04-22 2021-11-16 Netskope, Inc. Synthetic request injection to generate metadata for cloud policy enforcement
US11336698B1 (en) 2021-04-22 2022-05-17 Netskope, Inc. Synthetic request injection for cloud policy enforcement
US11184403B1 (en) 2021-04-23 2021-11-23 Netskope, Inc. Synthetic request injection to generate metadata at points of presence for cloud security enforcement
US11647052B2 (en) * 2021-04-22 2023-05-09 Netskope, Inc. Synthetic request injection to retrieve expired metadata for cloud policy enforcement
US11271973B1 (en) 2021-04-23 2022-03-08 Netskope, Inc. Synthetic request injection to retrieve object metadata for cloud policy enforcement
US11271972B1 (en) 2021-04-23 2022-03-08 Netskope, Inc. Data flow logic for synthetic request injection for cloud security enforcement
US20220377098A1 (en) 2021-05-21 2022-11-24 Netskope, Inc. Automatic detection of cloud-security features (adcsf) provided by saas applications
CN113190828A (zh) * 2021-05-25 2021-07-30 网宿科技股份有限公司 一种请求代理方法、客户端设备及代理服务设备
CN113391851A (zh) * 2021-06-03 2021-09-14 网宿科技股份有限公司 一种代理控制方法、客户端设备及代理服务设备
US11882155B1 (en) * 2021-06-09 2024-01-23 State Farm Mutual Automobile Insurance Company Systems and methods for cybersecurity analysis and control of cloud-based systems
US11475158B1 (en) 2021-07-26 2022-10-18 Netskope, Inc. Customized deep learning classifier for detecting organization sensitive data in images on premises
CN113704668B (zh) * 2021-09-01 2022-10-14 稿定(厦门)科技有限公司 用于网页开发的数据处理方法和装置
CN113704669B (zh) * 2021-09-01 2022-10-14 稿定(厦门)科技有限公司 用于网页运行的数据处理方法和装置
US11546358B1 (en) * 2021-10-01 2023-01-03 Netskope, Inc. Authorization token confidence system
US20230155983A1 (en) * 2021-11-16 2023-05-18 Capital One Services, Llc SYSTEMS AND METHODS FOR IMPLEMENTING TRANSPARENT SaaS PROXY ON AND OFF NETWORK
US20230222200A1 (en) * 2022-01-12 2023-07-13 Dell Products, L.P. Systems and methods for transfer of workspace orchestration
US11943260B2 (en) 2022-02-02 2024-03-26 Netskope, Inc. Synthetic request injection to retrieve metadata for cloud policy enforcement
CN114816558B (zh) * 2022-03-07 2023-06-30 深圳市九州安域科技有限公司 一种脚本注入方法、设备及计算机可读存储介质
US20240281341A1 (en) * 2023-01-31 2024-08-22 Hycu, Inc. Discovery of services in combination with enabling data protection and other workflows

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397246B1 (en) * 1998-11-13 2002-05-28 International Business Machines Corporation Method and system for processing document requests in a network system

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444785B2 (en) * 2000-06-23 2016-09-13 Cloudshield Technologies, Inc. Transparent provisioning of network access to an application
US8204082B2 (en) * 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US7571217B1 (en) * 2000-08-16 2009-08-04 Parallel Networks, Llc Method and system for uniform resource locator transformation
US7865569B1 (en) 2000-09-26 2011-01-04 Juniper Networks, Inc. Method and system for modifying script portions of requests for remote resources
US7631084B2 (en) * 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US8260964B2 (en) * 2003-10-02 2012-09-04 Google Inc. Dynamic content conversion
US7873707B1 (en) 2004-10-27 2011-01-18 Oracle America, Inc. Client-side URL rewriter
US20090077369A1 (en) 2004-11-12 2009-03-19 Justsystems Corporation Data Processing Device And Data Processing Method
US20060117388A1 (en) * 2004-11-18 2006-06-01 Nelson Catherine B System and method for modeling information security risk
US8543726B1 (en) 2005-04-08 2013-09-24 Citrix Systems, Inc. Web relay
US20060248575A1 (en) * 2005-05-02 2006-11-02 Zachary Levow Divided encryption connections to provide network traffic security
US8239939B2 (en) 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
US8316429B2 (en) * 2006-01-31 2012-11-20 Blue Coat Systems, Inc. Methods and systems for obtaining URL filtering information
CN101075240A (zh) * 2006-08-25 2007-11-21 腾讯科技(深圳)有限公司 跨域获取数据的方法和系统
WO2008048061A1 (en) * 2006-10-21 2008-04-24 Netpia.Com, Inc. Method for processing native language internet address and storage medium for saving program of executing the same
US7949716B2 (en) * 2007-01-24 2011-05-24 Mcafee, Inc. Correlation and analysis of entity attributes
AU2008286237A1 (en) * 2007-08-03 2009-02-12 Universal Vehicles Pty Ltd Evaluation of an attribute of an information object
US9548985B2 (en) 2007-09-20 2017-01-17 Oracle International Corporation Non-invasive contextual and rule driven injection proxy
US7958232B1 (en) * 2007-12-05 2011-06-07 Appcelerator, Inc. Dashboard for on-the-fly AJAX monitoring
US7664862B2 (en) * 2008-01-14 2010-02-16 International Business Machines Corporation Browser-based proxy server for customization and distribution of existing applications
US8365271B2 (en) 2008-02-27 2013-01-29 International Business Machines Corporation Controlling access of a client system to access protected remote resources supporting relative URLs
JP5151696B2 (ja) * 2008-05-30 2013-02-27 富士通株式会社 ユニフォームリソースロケータ情報を書き換えるプログラム
US8707439B2 (en) * 2008-12-19 2014-04-22 Microsoft Corporation Selecting security offerings
GB0909695D0 (en) 2009-06-05 2009-07-22 Maxymiser Ltd On page console
US8205035B2 (en) * 2009-06-22 2012-06-19 Citrix Systems, Inc. Systems and methods for integration between application firewall and caching
US8856869B1 (en) * 2009-06-22 2014-10-07 NexWavSec Software Inc. Enforcement of same origin policy for sensitive data
WO2011094807A1 (en) 2010-02-03 2011-08-11 John Norman Hedditch Presentation of an information object
WO2011109420A1 (en) * 2010-03-01 2011-09-09 Silver Tail Systems System and method for network security including detection of attacks through partner websites
US8370940B2 (en) 2010-04-01 2013-02-05 Cloudflare, Inc. Methods and apparatuses for providing internet-based proxy services
US20110289434A1 (en) * 2010-05-20 2011-11-24 Barracuda Networks, Inc. Certified URL checking, caching, and categorization service
US20110289588A1 (en) * 2010-05-20 2011-11-24 Anupam Sahai Unification of security monitoring and IT-GRC
CN102255935B (zh) * 2010-05-20 2016-06-15 中兴通讯股份有限公司 云服务消费方法、云服务中介及云系统
JP5581820B2 (ja) * 2010-06-04 2014-09-03 富士通株式会社 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
US8626853B2 (en) * 2010-07-28 2014-01-07 Unwired Planet, Llc Method and system for link-triggered link-translating proxying
US8938800B2 (en) * 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
WO2012063282A1 (ja) * 2010-11-10 2012-05-18 株式会社日立製作所 マッシュアップ・アプリケーションの動作方法およびシステム
EP2533161A1 (en) 2010-11-29 2012-12-12 Hughes Network Systems, LLC Computer networking system and method with javascript injection for web page response time determination
US9003552B2 (en) 2010-12-30 2015-04-07 Ensighten, Inc. Online privacy management
US9119017B2 (en) * 2011-03-18 2015-08-25 Zscaler, Inc. Cloud based mobile device security and policy enforcement
CA2775427A1 (en) * 2011-04-27 2012-10-27 Perspecsys Inc. System and method of data interception and conversion in a proxy
WO2013038320A1 (en) 2011-09-16 2013-03-21 Strangeloop Networks, Inc. Mobile resource accelerator
EP2610776B1 (en) * 2011-09-16 2019-08-21 Veracode, Inc. Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security
US8799994B2 (en) * 2011-10-11 2014-08-05 Citrix Systems, Inc. Policy-based application management
US8949993B2 (en) * 2011-10-17 2015-02-03 Mcafee Inc. Mobile risk assessment
US9391832B1 (en) 2011-12-05 2016-07-12 Menlo Security, Inc. Secure surrogate cloud browsing
WO2013091709A1 (en) 2011-12-22 2013-06-27 Fundació Privada Barcelona Digital Centre Tecnologic Method and apparatus for real-time dynamic transformation of the code of a web document
US8898796B2 (en) 2012-02-14 2014-11-25 International Business Machines Corporation Managing network data
JP2013196396A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 中継サーバ、中継プログラム及び中継方法
US9460222B2 (en) * 2012-05-17 2016-10-04 Oracle International Corporation System for rewriting dynamically generated uniform resource locators in proxied hyper text markup language content in accordance with proxy server rules
US8819772B2 (en) * 2012-06-25 2014-08-26 Appthority, Inc. In-line filtering of insecure or unwanted mobile device software components or communications
US8713633B2 (en) * 2012-07-13 2014-04-29 Sophos Limited Security access protection for user data stored in a cloud computing facility
US9154479B1 (en) * 2012-09-14 2015-10-06 Amazon Technologies, Inc. Secure proxy
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US9137131B1 (en) 2013-03-12 2015-09-15 Skyhigh Networks, Inc. Network traffic monitoring system and method to redirect network traffic through a network intermediary
US20140137273A1 (en) * 2012-11-13 2014-05-15 Appsense Limited System and method for securing the upload of files from a system server
US9009469B2 (en) * 2013-01-15 2015-04-14 Sap Se Systems and methods for securing data in a cloud computing environment using in-memory techniques and secret key encryption
US10686819B2 (en) * 2013-02-19 2020-06-16 Proofpoint, Inc. Hierarchical risk assessment and remediation of threats in mobile networking environment
US9197650B2 (en) * 2013-03-14 2015-11-24 Cisco Technology, Inc. Proxy that switches from light-weight monitor mode to full proxy
US9448826B2 (en) * 2013-03-15 2016-09-20 Symantec Corporation Enforcing policy-based compliance of virtual machine image configurations
CA2907583A1 (en) 2013-03-18 2014-09-25 Cloudmask Systems and methods for intercepting, processing, and protecting user data through web application pattern detection
US9124668B2 (en) 2013-05-20 2015-09-01 Citrix Systems, Inc. Multimedia redirection in a virtualized environment using a proxy server
EP3017393B1 (en) 2013-07-04 2020-12-09 JScrambler S.A. System and method for web application security
US20150066575A1 (en) * 2013-08-28 2015-03-05 Bank Of America Corporation Enterprise risk assessment
US9870349B2 (en) 2013-09-20 2018-01-16 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
JP6255091B2 (ja) * 2013-11-25 2017-12-27 マカフィー, エルエルシー プライベートデータを保護するセキュアプロキシ
US9576070B2 (en) 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
US9635041B1 (en) 2014-06-16 2017-04-25 Amazon Technologies, Inc. Distributed split browser content inspection and analysis
US9438625B1 (en) 2014-09-09 2016-09-06 Shape Security, Inc. Mitigating scripted attacks using dynamic polymorphism

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397246B1 (en) * 1998-11-13 2002-05-28 International Business Machines Corporation Method and system for processing document requests in a network system

Also Published As

Publication number Publication date
US20160112375A1 (en) 2016-04-21
CA2930106A1 (en) 2015-05-14
SG11201603471XA (en) 2016-05-30
CL2016001116A1 (es) 2017-04-21
MX2016006109A (es) 2017-03-03
IL245181B (en) 2019-03-31
RU2016117971A3 (zh) 2018-07-09
US9438565B2 (en) 2016-09-06
EP3734474A3 (en) 2021-01-20
US20150135302A1 (en) 2015-05-14
EP3734474A2 (en) 2020-11-04
JP2017504092A (ja) 2017-02-02
MX361791B (es) 2018-12-17
EP3069494A1 (en) 2016-09-21
US10091169B2 (en) 2018-10-02
AU2014346390B2 (en) 2018-06-21
IL245181A0 (en) 2016-06-30
PH12016500808A1 (en) 2016-06-13
WO2015070260A1 (en) 2015-05-14
CN106031118A (zh) 2016-10-12
EP3069494A4 (en) 2017-06-28
JP6514202B2 (ja) 2019-05-15
KR20160110913A (ko) 2016-09-22
RU2679549C2 (ru) 2019-02-11
MY181777A (en) 2021-01-06
PH12016500808B1 (en) 2016-06-13
EP3069494B1 (en) 2020-08-05
RU2016117971A (ru) 2017-11-15
AU2014346390A1 (en) 2016-05-19

Similar Documents

Publication Publication Date Title
CN106031118B (zh) 云服务安全中介和代理
US10812462B2 (en) Session management for mobile devices
US8782796B2 (en) Data exfiltration attack simulation technology
US11888871B2 (en) Man-in-the-middle (MITM) checkpoint in a cloud database service environment
US20170026401A1 (en) System and method for threat visualization and risk correlation of connected software applications
US20200342114A1 (en) Static Security Scanner for Applications in a Remote Network Management Platform
CA2868741A1 (en) Method and system for detecting unauthorized access to and use of network resources with targeted analytics
US11347871B2 (en) Dynamic cybersecurity protection mechanism for data storage devices
US20220027456A1 (en) Rasp-based implementation using a security manager
Berger et al. Security intelligence for cloud management infrastructures
Mundada et al. Silverline: preventing data leaks from compromised web applications
US12107826B2 (en) Cobalt Strike Beacon HTTP C2 heuristic detection
US20240348627A1 (en) Application access analyzer
Kothawade et al. Cloud Security: Penetration Testing of Application in Micro-service architecture and Vulnerability Assessment.
US20240039952A1 (en) Cobalt strike beacon https c2 heuristic detection
Udayakumar Design and Deploy Security for Infrastructure, Data, and Applications
WO2024216176A2 (en) Topological co-relation
Olurin Intrusions Detection in a Cloud Environment
Tarrasó Hueso Improving Security of Ericsson Cloud System
Valvis et al. Securing Mission-Critical Core Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1225187

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant