Browser Extension Vetting via Source Code Rewriting and Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Browser-executed web applications and extensions can pose security risks due to their increased permissions, making it challenging for online marketplaces and users to ensure the security and reliability of these applications, especially when malicious code is embedded within other executable code.

Innovation Solution

A method involving identifying program binary files on webpages, rewriting the source code of browser-executable web applications or extensions to include tracking code, and executing the rewritten code to determine if it violates predetermined conditions, thereby discouraging or disabling their download or execution on client devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If browser-executed web applications and extensions are granted increased permissions to access local resources, then their functionality is improved, but security risks increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary analysis of web applications and extensions before they are executed or installed on user devices. By rewriting the source code to include tracking code and executing it in a controlled browser environment beforehand, the system identifies potentially malicious behavior in advance, allowing legitimate applications with increased permissions to be approved while blocking malicious ones before they can harm users.

Inventive Principle:
Principle #10Preliminary action

2Object-affected harmful factors

If malicious web applications or extensions are detected and blocked, then security is improved, but the ability to distribute executable code outside marketplaces is restricted

Engineering Contradiction:
ImprovesecurityVSAvoiddistribution flexibility
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

Solution Approach 1:

The system introduces an intermediary analysis layer between the distribution of executable code and its execution on user devices. When a web application or extension is downloaded from outside a marketplace, the system intercepts it, rewrites the source code to include tracking code, executes it in a controlled browser environment, and analyzes its behavior. This intermediary process enables secure distribution from external sources by verifying the application's behavior before allowing it to run on user devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If source code is rewritten to include tracking code for behavior analysis, then detection accuracy is improved, but processing complexity increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Instead of analyzing the original source code directly, the system creates a copy by rewriting the source code to include tracking code. This rewritten version is then executed in a controlled browser environment while the original remains unchanged. The tracking code instruments the application to log its behavior, allowing detailed analysis of potentially malicious actions without modifying or risking the original application code.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9443077B1Flagging binaries that drop malicious browser extensions and web applications
Publication Date: 2016.09.13 GOOGLE LLC
  • US9443077B1 patent drawing
  • US9443077B1 patent drawing
  • US9443077B1 patent drawing

AI summary

A program binary file is identified as part of a webpage, where the file can be downloaded from the webpage for execution by a client. A browser-executable web application or browser extension that is installed on a client computing device as a consequence of executing the program binary is identified, where source code for the web application or browser extension includes scripting language code. The source code of the web application or browser extension is re-written to include tracking code to track behavior during execution of the re-written web application or browser extension. It is determined whether execution of the re-written web application or browser extension violates one or more predetermined conditions. Then, it is determined whether to discourage downloading the program binary from the webpage to the client computing device or whether to disable execution of the web application or browser extension on the client.