Content Inspection for Untrusted Code Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current content inspection techniques fail to consider the developer's intentions when allowing remote content to access a computing device, often not specifying which instances of remote content are safe to access sensitive functionalities, and do not effectively prevent malicious executable code from gaining unauthorized access.

Innovation Solution

Implementing content inspection techniques that detect and inspect untrusted content before allowing it to access pre-specified code elements, allowing safe content to pass while blocking unsafe content, and enabling calls to certain code elements to opt out of inspection if the content is known to be safe.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If content inspection is applied to all untrusted content, then security is improved, but productivity is worsened due to inspection overhead

Engineering Contradiction:
ImprovesecurityVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies content inspection selectively based on the code element's sensitivity and the content's trust level. High-sensitivity code elements receive strict inspection, while low-sensitivity elements or content marked as trusted bypass inspection. This localized quality control resolves the contradiction by applying security measures only where necessary, maintaining productivity for trusted content paths.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary actions by establishing code element groups with predefined inspection policies before content processing occurs. By pre-categorizing code elements into sensitive and non-sensitive groups and pre-establishing inspection requirements, the system avoids redundant inspection overhead during actual content processing, thereby maintaining productivity while ensuring security.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If content inspection is applied to prevent malicious code, then security is improved, but ease of operation is worsened due to restricted access

Engineering Contradiction:
ImprovesecurityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements differentiated inspection policies based on code element groups. Sensitive code elements require inspection, while non-sensitive elements allow direct access. This local quality differentiation maintains ease of operation for trusted content paths while ensuring security for critical operations, resolving the contradiction between security and ease of operation.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The content inspection mechanism acts as an intermediary layer between untrusted content and code elements. For sensitive code elements, the intermediary inspects content before allowing access. For non-sensitive elements or trusted content, the intermediary allows direct passage. This intermediary approach maintains ease of operation by not blocking all access paths while still providing security where needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all remote content is blocked from accessing code elements, then security is improved, but adaptability is worsened

Engineering Contradiction:
ImprovesecurityVSAvoidadaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies selective inspection policies based on code element groups and content characteristics. Rather than blocking all remote content uniformly, the system allows inspected access to sensitive code elements while permitting uninspected access to non-sensitive elements. This local quality approach maintains adaptability by allowing trusted remote content to access appropriate code elements while preserving security for critical operations.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts inspection requirements based on the interaction context. When untrusted content accesses a sensitive code element group, inspection is activated. When the same content accesses non-sensitive elements or when trusted content is detected, inspection requirements are relaxed or eliminated. This dynamic adaptation resolves the contradiction by allowing adaptability where safe and maintaining security where necessary.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9223976B2Content inspection
Publication Date: 2015.12.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9223976B2 patent drawing
  • US9223976B2 patent drawing
  • US9223976B2 patent drawing

AI summary

Content inspection techniques are described. In one or more implementations, it is detected that an application executing on a computing device is calling a particular code element of a group of code elements to be used to process content. For example, the group of code elements can include a pre-specified group of code elements (e.g., functions and/or properties) that may enable access to particular functionalities of a computing device and thus are associated with a known security risk. It is then ascertained that the content is untrusted and, in response to ascertaining that the content is untrusted, the content is inspected to determine if the content is safe to be passed to the code element.