Surrogate Browser Isolating Malicious JavaScript

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users with outdated or legacy browsers are vulnerable to computer attacks due to unpatched browser vulnerabilities, as they lack the knowledge or skills to keep their browsers updated, and existing solutions do not fully eliminate the risk of zero-day and other attacks.

Innovation Solution

A surrogate browsing system that provides protection by rendering content on behalf of users, transcoding pages, and transmitting safe representations to the client browser, while intercepting and sanitizing third-party JavaScript and plugins, thereby isolating the client from potential threats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users rely on automatic patching mechanisms, then browser security is improved to some extent, but zero-day attacks and other sophisticated threats can still compromise the browser

Engineering Contradiction:
Improvebrowser securityVSAvoidzero-day attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a surrogate browser as an intermediary component that runs in a sandboxed environment between the user's client browser and the potentially malicious web content. This surrogate browser acts as a mediator that renders and executes JavaScript in an isolated environment, preventing direct interaction between malicious code and the user's actual browser, thereby blocking zero-day attacks from reaching the client system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the browsing functionality by separating the JavaScript execution environment into distinct layers: the user's client browser, a surrogate browser running in a sandboxed iframe or separate process, and the actual web content source. This segmentation isolates the harmful execution context from the vulnerable client browser, allowing untrusted JavaScript to run without compromising the user's system.

Inventive Principle:
Principle #1Segmentation

2Reliability

If users manually update their browsers regularly, then known vulnerabilities are patched, but users lacking technical knowledge or skills cannot maintain updates

Engineering Contradiction:
Improvebrowser vulnerability patchingVSAvoiduser ability to maintain browser updates
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service security by automatically deploying and managing surrogate browser instances without requiring user intervention. The surrogate browser automatically renders content, executes JavaScript in isolation, and sanitizes output, providing security services that protect users regardless of their technical knowledge or ability to manually update their browsers.

Inventive Principle:
Principle #25Self-service

3Reliability

If a surrogate browser renders and sanitizes all content before transmission, then client security is improved, but processing time and system complexity increase

Engineering Contradiction:
Improveclient protection from malicious contentVSAvoidsurrogate browsing system architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The surrogate browser is implemented as a nested structure within the client browser, using sandboxed iframes or embedded browser instances that operate within the existing browser architecture. This nesting approach allows the surrogate to function as a contained subsystem without requiring completely separate infrastructure, thereby reducing overall system complexity while maintaining security isolation.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11005819B1Secure surrogate cloud browsing
Publication Date: 2021.05.11 MENLO SECURITY INC
  • US11005819B1 patent drawing
  • US11005819B1 patent drawing
  • US11005819B1 patent drawing

AI summary

Surrogate browsing techniques are disclosed. A request for a page is received, from a client, by a surrogate. The specified page is requested by the surrogate from a site. Data received from the site in response to the request is rendered at the surrogate. A representation of the page is transmitted to the client.