Proxy Object Detouring for Third-Party Script Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing online advertising systems face challenges in securing personal user data when allowing third-party advertisers to display content on web pages, as current solutions either restrict ad aesthetics or compromise browser performance and security.

Innovation Solution

The implementation of a detouring system that generates proxy objects to manage third-party code, restricting its access and operations within a web page, allowing secure execution of dynamic content while maintaining user privacy and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the host allows advertisers access to all web page information for displaying advertisements, then the advertisement can be dynamically and aesthetically pleasing, but the personal user data contained in the web page becomes vulnerable to unauthorized access

Engineering Contradiction:
Improvead aestheticsVSAvoiddata security
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a proxy object as an intermediary between the advertiser's code and the web page data. This proxy object mediates all data access requests, allowing the advertiser to view data through controlled interfaces while preventing direct access to personal information. The proxy acts as a security barrier that enables aesthetic advertising functionality without compromising data security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If the host restricts advertiser access to only simple data like selectable links, then user data security is maintained, but the advertisement becomes aesthetically unpleasing and lacks interactivity

Engineering Contradiction:
Improvedata securityVSAvoidad aesthetics
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

The patent segments data access into different categories: public data (like product information) that advertisers can access directly, and private data (like personal user information) that requires proxy mediation. This segmentation allows advertisers to access necessary data for creating aesthetically pleasing advertisements while maintaining security boundaries around sensitive personal information.

Inventive Principle:
Principle #1Segmentation

3Object-affected harmful factors

If the host uses iframes to display advertisements, then some data access control is achieved, but browser performance is negatively impacted and security remains compromised

Engineering Contradiction:
Improvedata access controlVSAvoidbrowser performance
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

Instead of using iframes which create separate rendering contexts and impact performance, the patent uses a proxy object as a software intermediary that operates within the existing DOM structure. This approach maintains single-page application performance while providing fine-grained data access control through the proxy's mediation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9038020B2Detouring in scripting systems
Publication Date: 2015.05.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9038020B2 patent drawing
  • US9038020B2 patent drawing
  • US9038020B2 patent drawing

AI summary

A system described herein includes a receiver component that receives third party code for execution in a host environment, wherein the third party code corresponds to a dynamic programming language, and wherein the third party code has at least one object reference to a first object that is used by the third party code. A detouring component automatically replaces the first object referenced by the third party code with a proxy object such that the third party code at runtime calls the proxy object instead of the first object.