Host Control of Partial Trust Accessibility for Software Libraries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing framework environments lack adequate control over partial trust accessibility for libraries, particularly in scenarios where hosting applications like database engines or web servers may not have appropriate administrator settings, leading to potential security risks.

Innovation Solution

A framework that allows libraries to be identified as 'partial trust callers allowed' or 'partial trust callers enabled', enabling hosting applications to determine and adjust accessibility, with notifications through callbacks or entry into loaded libraries, ensuring secure access from partially trusted code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If libraries are allowed to execute from all environments by default, then accessibility and ease of operation are improved, but security risks increase when hosting applications run in reduced security zones

Engineering Contradiction:
Improvelibrary accessibilityVSAvoidsecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by differentiating library accessibility based on the trust level of the hosting application. Libraries are marked with attributes indicating their partial trust caller status, and the framework selectively applies different accessibility rules to different libraries based on the security context of the hosting application. This resolves the contradiction by allowing broadly accessible libraries in trusted environments while restricting access to sensitive libraries in reduced security zones.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic control by allowing the hosting application to receive notifications when libraries are loaded and to dynamically adjust partial trust accessibility settings. The framework can enable or disable partial trust callers for specific libraries at runtime based on the hosting application's security requirements, rather than using static configuration only. This dynamic approach allows libraries to be accessible when needed while maintaining security constraints when appropriate.

Inventive Principle:
Principle #15Dynamics

2Reliability

If administrator settings control library accessibility, then security is improved, but adaptability to different hosting scenarios deteriorates when administrators cannot configure appropriate settings

Engineering Contradiction:
Improvesecurity controlVSAvoidhosting scenario flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies self-service by enabling hosting applications to autonomously control their own library accessibility settings without requiring external administrator configuration. The framework provides hosting applications with the capability to receive notifications about loaded libraries and to independently make decisions about partial trust accessibility based on their specific security requirements and hosting scenarios. This resolves the contradiction by making security control adaptive to each hosting application's needs rather than requiring centralized administrator management.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If partial trust accessibility is enabled by default for libraries, then ease of operation is improved, but the need for host control and security management increases complexity

Engineering Contradiction:
Improvedefault library accessVSAvoidaccess control management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-marking libraries with attributes that indicate their partial trust caller status (e.g., partial trust callers allowed, partial trust callers enabled, partial trust callers denied) before execution. This preliminary classification allows the framework to automatically apply appropriate accessibility rules without requiring complex runtime analysis or configuration. The complexity is reduced by performing the security classification work in advance during library compilation or deployment, rather than during runtime execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8402532B2Host control of partial trust accessibility
Publication Date: 2013.03.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8402532B2 patent drawing
  • US8402532B2 patent drawing
  • US8402532B2 patent drawing

AI summary

Various technologies and techniques are disclosed for providing host control of partial trust accessibility. A framework allows libraries to be identified as partial trust callers allowed to indicate that the libraries are allowed to be called from partially trusted code by default. The framework allows libraries to be identified as partial trust callers enabled to indicate the libraries could be called from partially trusted code, but not by default. A hosting application is notified that a particular library has been loaded. If the particular library has been identified as partial trust callers allowed, then a determination is received from the hosting application on whether to remove or keep partial trust accessibility for the particular library. If the particular library has been identified as partial trust callers enabled, then a determination is received from the hosting application on whether or not to enable partial trust accessibility for the particular library.