Browser Protection via Instrumented Code Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Websites face vulnerabilities due to unrestricted access granted to third-party code, which can lead to malicious activities such as data theft, ad replacement, and user information harvesting, necessitating a system to restrict third-party code execution and monitor their activities in real-time.

Innovation Solution

The system employs instrumentation, intermittent execution, policy center, CORS-proxy, debugger, and flash-wrapper to limit third-party code permissions, monitor activities, and prevent unwanted behavior by generating instrumented code that can suspend and resume execution, and evades malicious actions without the third-party's knowledge.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If third-party code is allowed to execute freely on a website, then the website can provide desirable functionalities such as ad-serving, analytics, and social media integration, but the website becomes vulnerable to malicious activities including data theft, ad replacement, and user information harvesting

Engineering Contradiction:
Improvefunctionalities provided by third-party codeVSAvoidmalicious activities from third-party code
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a proxy server as an intermediary between the website and third-party code execution. The proxy server mediates all interactions by injecting instrumented code that monitors and controls third-party code behavior, allowing desirable functionalities while blocking malicious activities. The proxy acts as a gatekeeper that can suspend and resume code execution based on policy violations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the code execution environment into multiple isolated contexts: the original website code, the injected instrumented code, and the third-party code. Each operates in its own namespace with controlled access. The instrumented code is divided into monitoring components that track specific actions (data access, ad rendering, cookie creation) separately, enabling granular control over third-party code behavior.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system monitors and restricts third-party code execution in real-time, then website security is enhanced, but the complexity of the system increases due to instrumentation, intermittent execution, and policy enforcement mechanisms

Engineering Contradiction:
Improvewebsite securityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal proxy server framework that handles multiple security functions through a single unified system. The same proxy infrastructure performs code injection, instrumentation, monitoring, suspension, and policy enforcement across all third-party code regardless of source or type. This multi-functional approach consolidates complexity into one standardized component rather than requiring separate mechanisms for each security function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the execution state parameters of third-party code dynamically. The instrumented code monitors variables such as execution suspension status, policy violation flags, and monitoring mode. By altering these parameters based on detected behavior, the system can transition code between different execution states (normal execution, suspended, blocked) without fundamentally changing the code structure, managing complexity through state management rather than structural complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the system suspends and resumes third-party code execution intermittently to prevent malicious behavior, then security is improved, but the execution time and productivity of legitimate third-party functionalities may be reduced

Engineering Contradiction:
Improvesecurity against malicious behaviorVSAvoidexecution efficiency of third-party code
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic monitoring and evaluation of third-party code execution. Instead of continuous suspension, the system periodically checks code behavior against security policies, suspending execution only when violations are detected. The instrumented code performs intermittent security assessments at designated checkpoints, allowing legitimate code to execute efficiently while maintaining security through periodic verification rather than constant interruption.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies preliminary anti-action by pre-configuring security policies and instrumented code before third-party code execution begins. The system pre-identifies potential malicious behaviors (data access patterns, ad rendering attempts, cookie creation) and prepares corresponding blocking actions. When such behaviors are detected, the pre-prepared anti-actions are immediately applied, reducing the need for prolonged suspension and resumption cycles, thereby maintaining productivity while ensuring security.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS11170098B1System, method, and medium for protecting a computer browser from third-party computer code interference
Publication Date: 2021.11.09 SOURCE DEFENSE
  • US11170098B1 patent drawing
  • US11170098B1 patent drawing
  • US11170098B1 patent drawing

AI summary

Computer system, methods, and non-transitory storage medium for protecting a client device that is browsing a website from some undesired actions of third-party software. JavaScript Instrumenter to Secured Code (JISC) code (e.g. JavaScript/WebAssembly) is tailored per website that defines a set of policies of what each third-party code can and cannot do. The server also tracks and analyzes data reports from the websites, and provides reports and alerts to website administrators. Therefore, a browser on a client device visiting the website, and thus executing the JISC code that is tailored for that specific website, is protected from the third-party code, without hindering the proper action of the third-party software and without the third-party knowing that their code was monitored and controlled. Third-party activity can be monitored by the system via the combination of functionality for or more of the following: Instrumentation; Intermittent-Execution; Back-Pack; Policy-Center; Evasion; Debugger; CORS-Proxy; and Flash-Wrapper.