Browser Extension Security via Static Policy Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current browser extension security measures, such as community review and runtime privilege-checking, are inadequate in ensuring that browser extensions do not exceed their intended permissions, potentially leading to data breaches or misinformation.

Innovation Solution

An environment is created that includes a policy expressing fine-grained privileges for browser extensions, using metadata and permission predicates to specify access control and data flow, with static analysis tools to verify compliance, allowing for secure deployment and visualization of browser extensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If runtime privilege-checking is used to control browser extension permissions, then security is improved, but device complexity increases due to continuous monitoring and analysis requirements

Engineering Contradiction:
ImprovesecurityVSAvoidcomplexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing static analysis of the extension code before it is executed, and by pre-compiling security policies into the browser's security module. This allows the security checks to be performed in advance rather than continuously at runtime, reducing the complexity of ongoing monitoring while maintaining security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical system of continuous runtime privilege-checking with a static analysis approach using compilers and policy verification mechanisms. The security policy is compiled into a format that can be efficiently verified against extension code without requiring continuous interpretation and comparison during execution, thereby reducing operational complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If community review approach is used to approve browser extensions, then security is improved, but productivity decreases due to manual review time requirements

Engineering Contradiction:
ImprovesecurityVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements self-service by enabling automated static analysis tools to independently verify extension security policies without requiring manual intervention. The system automatically compiles extensions, generates security policies, verifies compliance, and approves or rejects extensions based on predefined criteria, making the review process autonomous and efficient.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent substitutes the manual community review process with automated compilation and verification mechanisms. Extensions are automatically compiled to an intermediate representation, security policies are automatically generated and verified, and compliance is automatically checked, replacing human review with machine-based automation that maintains security while dramatically improving productivity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If fine-grained policy specification is used to define extension privileges, then measurement precision is improved, but device complexity increases due to more comprehensive analysis requirements

Engineering Contradiction:
ImproveprecisionVSAvoidcomplexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming the security policy specification into a formalized intermediate representation with standardized predicates and constraints. This representation uses a controlled vocabulary of security-relevant parameters (such as data types, access levels, and resource types) that can be systematically verified, making the fine-grained precision manageable through structured parameterization rather than unstructured complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8978106B2Programming, verifying, visualizing, and deploying browser extensions with fine-grained security policies
Publication Date: 2015.03.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8978106B2 patent drawing
  • US8978106B2 patent drawing
  • US8978106B2 patent drawing

AI summary

An environment is described which enables the generation, analysis, and use of secure browser extensions. Each browser extension includes an extension body and a policy expressed in a logic-based specification language. The policy specifies the access control and dataflow privileges associated with the extension body in a fine-grained manner by leveraging the structure and content of resources that are accessible to the browser extension. A suite of analysis tools for testing the safety of the browser extension includes a visualization module identifies features of a resource that are accessible to the policy. A static analysis module uses a static analysis technique to determine whether the extension body satisfies the policy. The environment also includes a conversion module for converting the browser extension, once deemed safe, into a form for use by a particular type of browser. The browser can execute that extension without performing runtime safety checks.