Host Server Intercepts Cross-Assembly Calls for Identity-Based Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security models in managed code environments, such as the .NET Framework, rely on Code Access Security (CAS) for access control, which does not account for user identity-based permissions, leading to potential security vulnerabilities when cross-assembly calls occur, especially in scenarios like mobile devices where malicious code can exploit access rights.

Innovation Solution

Implementing an identity-based security access permission model that intercepts cross-assembly calls and determines access rights based on user identity-based security rules, ensuring that access from one managed assembly to another is regulated according to both CAS permissions and user identity-based access rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cross-assembly calls are allowed between managed assemblies, then application functionality and integration are improved, but security vulnerabilities increase as malicious code can exploit access rights to interfere with other applications

Engineering Contradiction:
Improveapplication functionalityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The host server acts as an intermediary between assemblies, intercepting cross-assembly calls and evaluating them against security rules before allowing execution. This mediator approach enables functionality while preventing malicious code from directly accessing other assemblies without proper authorization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Security rules are established in advance before any cross-assembly calls occur. The host server pre-configures permission sets and security policies that automatically evaluate incoming calls, preventing malicious actions before they can execute rather than reacting after damage occurs.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If Code Access Security (CAS) permission checks are performed on all cross-assembly calls, then security is improved, but system performance deteriorates due to the overhead of constant permission verification

Engineering Contradiction:
ImprovesecurityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Different security evaluation approaches are applied to different assemblies based on their trust levels and security requirements. High-trust assemblies may have simplified verification while sensitive assemblies undergo rigorous checks, optimizing the balance between security and performance for each specific case.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The security evaluation process dynamically adjusts verification depth and permission check intensity based on assembly characteristics, call context, and risk assessment. This parameter-based approach allows the system to maintain high security where needed while reducing overhead in lower-risk scenarios.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the host server intercepts and evaluates every cross-assembly call against security rules, then security control is improved, but system complexity increases due to the additional interception and evaluation layers

Engineering Contradiction:
Improvesecurity controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The security system is divided into modular components: assembly registration modules, call interception modules, rule evaluation modules, and permission management modules. Each component handles a specific aspect of security control, making the overall complex system manageable through clear separation of concerns and independent module development.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7770202B2Cross assembly call interception
Publication Date: 2010.08.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7770202B2 patent drawing
  • US7770202B2 patent drawing
  • US7770202B2 patent drawing

AI summary

A host intercepts calls between two executables and determines whether the calls are permissible according to the host's security model which can be identify based, such as user identity based—for instance, mapping access rights within a specific data base user context to database object access. Such an identity security model differs from a common language runtime security model where managed code uses Code Access Security to prevent managed assemblies from performing certain operations. Managed assemblies registered with the host are host objects from the host's perspective for which access rights can be defined via security rules, such as are defined for individual user identities. A host can decide access between managed executables based on the host's identity based access rules by trapping any cross assembly calls and deciding whether such calls should proceed or be blocked from taking place based on the corresponding identity security settings.