# US 9,438,565 B2 · Cloud service security broker and proxy

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,438,565 B2
- Document ID: US9438565B2
- Status: Granted
- Kind: B2
- Application number: 14/539,980
- Filed: 2014-11-12
- Published: 2015-05-14
- Granted: 2016-09-06
- Earliest claimed: 2013-11-11
- Assignees: Adallom Technologies Ltd.
- Applicants: Adallom, Inc.
- Inventors: Aviram Cohen; Liran Moysi; Ami Luttwak; Roy Reznik; Greg Vishnepolsky
- Web page: https://patentgrep.com/patent/US9438565B2

## CPC

- H04L 63/0281: {Proxies}
- G06F 8/51: Source to source
- G06F 9/5072: {Grid computing}
- G06F 16/9574: {of access to content, e.g. by caching}
- G06F 21/128: {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}
- G06F 21/554: {involving event detection and direct action}
- G06Q 10/10: Office automation; Time management
- H04L 41/5032: {Generating service level reports}
- H04L 63/1408: {by monitoring network traffic (monitoring network traffic per se H04L43/00)}
- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- H04L 63/1433: {Vulnerability analysis}
- H04L 63/168: {above the transport layer}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L 67/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04L 41/5096: {wherein the managed service relates to distributed or central networked applications}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION 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

## Abstract

This application relates generally to a system operating on network traffic between a network-based software as a service (SaaS) provider and a client. The system can be configured as a managed communications network proxy and take action on the network traffic based on predefined policies and rules. The system can include a suffix proxy configured for captive page processing by processing SaaS server responses so that subsequent requests are handled by the suffix proxy dependent on file type and response type.

## Claims

### Claim 1

A method for processing instructions to modify a future request for content, comprising:
receiving, at a proxy server configured as a suffix proxy, a request for content including executable instructions, wherein the requested content includes a script;
retrieving the requested content from a server hosting a cloud-based application and storing the requested content at the proxy server;
parsing the requested content to identify at least one executable instruction of the executable instructions configured for generating a uniform resource locator (URL) address of the cloud-based application;
modifying the requested content by wrapping the at least one identified instruction to call an alternative instruction, wherein the alternative instruction is configured to suffix identification of a suffix proxy to the URL to create a suffixed URL;
storing, at the proxy server, the modified content including the at least one wrapped instruction;
transmitting the modified content including the at least one wrapped instruction to a client device; and
monitoring, at the proxy server, run-time changes to a Document Object Model (DOM) performed by the client device to control and read and write run-time access to the DOM when at least reading and writing to the suffixed URL.

### Claim 2 (depends on 1)

The method of claim 1, wherein the script is any of: JavaScript and a Cascading Style Sheets (CSS) file.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining if the requested content as modified including the wrapped instruction is stored on the proxy server; and
sending the modified content to the client device without retrieving the requested content from the server, when the requested content as modified including the at least one wrapped instruction is stored on the proxy server.

### Claim 4

A system operating as a suffix proxy for processing instructions to modify a future request for content, comprising:
a processor; and
a memory, the memory containing said instructions that, when executed by the processor, configured the system to:
receive a request for content including executable instructions, wherein the requested content includes a script;
retrieve the requested content from a server hosting a cloud-based application; store the requested content;
parse the requested content to identify at least one executable instruction of the executable instructions configured for generating a uniform resource locator (URL) address of the cloud-based application;
modify the requested content by wrapping the at least one identified instructions to call an alternative instruction, wherein the alternative instruction is configured to suffix identification of a suffix proxy to the URL to create a suffixed URL;
store the modified content including the at least one wrapped instruction;
transmit the modified content including the at least one wrapped instruction to a client device; and
monitor run-time changes to a Document Object Model (DOM) performed by the client device to control any read and write run-time access to the DOM when at least reading and writing to the suffixed URL.

### Claim 5 (depends on 4)

The system of claim 4, wherein the script is any of: JavaScript, and a Cascading Style Sheets (CSS) file.

### Claim 6 (depends on 4)

The system of claim 4, wherein the system is further configured to:
determine if the requested content as modified including the wrapped instruction is stored on the proxy server; and
send the modified content to the client device without retrieving the requested content from the server, when the requested content as modified including the at least one wrapped instruction is stored on the proxy server.
