Host Configuration Data Structure for Managed Code Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managed computing environments face challenges in preventing inappropriate calls from assemblies that could destabilize the hosting environment, leading to reliability and robustness issues, and existing solutions lack a unified method to address different hosting requirements.

Innovation Solution

Implementing a host configuration data structure that selectively disallows resource access based on hosting rules, allowing hosts to control access to methods in shared managed libraries, using Code Access Security (CAS) to enforce permissions and identity-based trust, thereby preventing calls that could destabilize the environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Code Access Security (CAS) is used to prevent assemblies from performing certain operations, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidcomplexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a host configuration data structure as an intermediary layer between the CAS security system and the managed code environment. This data structure stores hosting rules that define which resource accesses are appropriate for different hosting environments, allowing the system to enforce security policies without directly modifying the CAS infrastructure. The host configuration acts as a mediator that translates security requirements into actionable hosting rules.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by pre-defining hosting rules in the host configuration data structure before managed code execution begins. These rules specify which resource accesses are appropriate for particular hosting environments in advance, allowing the system to quickly evaluate and enforce security decisions without complex runtime analysis. The hosting rules are established beforehand to guide security enforcement during code execution.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If hosting rules are implemented to prevent inappropriate resource access, then reliability is improved, but ease of operation deteriorates

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

Solution Approach 1:

The patent implements self-service by enabling the hosting environment to automatically enforce resource access restrictions through pre-defined hosting rules. The system autonomously evaluates whether managed code attempts to access inappropriate resources and blocks such access without requiring manual intervention or complex configuration during runtime. The host configuration data structure contains all necessary rules to guide automated enforcement decisions.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If a unified method is provided for different hosting requirements, then adaptability is improved, but device complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoidcomplexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the host configuration data structure to serve multiple hosting environments and requirements through a single unified mechanism. The same data structure and hosting rule evaluation process can accommodate different types of hosts (e.g., in-process hosts, out-of-process hosts, sandboxed environments) without requiring separate implementations. The hosting rules are defined in a general manner that can be applied across diverse hosting scenarios.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7647629B2Hosted code runtime protection
Publication Date: 2010.01.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7647629B2 patent drawing
  • US7647629B2 patent drawing
  • US7647629B2 patent drawing

AI summary

A host operating in a managed environment intercepts a call from a managed caller to a particular callee and determines whether the call is permissible according to the host's prior configuration of a plurality of callees. The particular callee, which provides access to a resource that the host can be protecting, can have been previously configured by the host to always allow the call to be made, to never allow the call to be made, or to allow the call to be made based upon the degree to which the host trusts the managed caller.