Method Call Interception via Wrapper Objects for Secure Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security zone implementations in software systems are inadequate as they do not effectively restrict access to objects instantiated indirectly from untrusted sources, even when the primary object is deemed safe, potentially allowing access to unsafe methods.

Innovation Solution

Implement a method call interception mechanism that processes each call on a per-method basis, using an interface component to determine if the method is safe for execution, and utilize wrappers to track objects instantiated from a security zone, ensuring that only safe methods are accessed, regardless of direct or indirect instantiation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If objects are instantiated from a security zone with basic safety checks, then direct unsafe access is blocked, but indirect instantiation chains can still access unsafe methods

Engineering Contradiction:
Improvesecurity zone protectionVSAvoidobject access control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements wrapper objects that nest around actual objects in the instantiation chain. Each wrapper contains a reference to the next object in the chain, creating a nested structure that tracks the entire instantiation path from the security zone. This allows the system to monitor and control access at each level of nesting, preventing indirect access to unsafe methods while maintaining the ability to instantiate objects from untrusted sources.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces wrapper objects as intermediaries between the security zone and the actual objects. These wrappers intercept method calls and examine the instantiation chain to determine whether to allow or block access. The wrapper acts as a mediator that enforces security policies without requiring modifications to the underlying objects or the security zone implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If method calls are intercepted and processed before execution, then unsafe methods can be blocked, but this adds processing overhead to each call

Engineering Contradiction:
Improvemethod call securityVSAvoidmethod call processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs security checks in advance by tracking the instantiation chain during object creation. Wrappers are pre-configured with information about their position in the instantiation chain and the security context. When a method call is made, the wrapper can quickly determine whether to allow access based on pre-evaluated security conditions, rather than performing complex analysis at the time of each method call.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The wrapper objects are self-contained and carry all necessary security information within their structure. Each wrapper independently evaluates method calls based on its own state and the instantiation chain it represents, without requiring external security checks. This self-service approach eliminates the need for additional processing overhead beyond the initial wrapper creation.

Inventive Principle:
Principle #25Self-service

3Reliability

If developers must specifically implement safety mechanisms in each object, then security is more robust, but this increases development complexity and restricts use of existing objects

Engineering Contradiction:
Improveobject safety implementationVSAvoidobject implementation simplicity
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent creates a universal wrapper mechanism that can be applied to any object regardless of its specific type or implementation. The wrapper provides generic security functionality that works with existing objects without requiring them to be modified or re-implemented. This multi-functional approach allows the same security mechanism to protect diverse objects while maintaining their original behavior and interfaces.

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

Solution Approach 2:

The wrapper acts as an intermediary layer that provides safety mechanisms without requiring changes to the underlying objects. Developers can continue to use existing objects as-is, while the wrapper intercepts and controls access to ensure security policies are enforced. This separation of concerns allows robust security implementation while maintaining ease of object creation and use.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7818798B2Software system with controlled access to objects
Publication Date: 2010.10.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7818798B2 patent drawing
  • US7818798B2 patent drawing
  • US7818798B2 patent drawing

AI summary

A computer system configured to intercept method calls placed on an object. By intercepting method calls, processing may be performed on a method call-by-method call basis. As part of the processing, metadata for an object is consulted to partition the methods for that object into subsets. The processing performed in response to any specific method call may be based on the subset to which the method belongs. The type of metadata may depend on the desired operation of the computer system. Metadata representing a white list or black list may be used in a computer system that implements a security zone that allows access to methods deemed to be safe or to deny access to methods deemed to be unsafe. In a performance monitoring system, metadata may identify methods to be logged or methods for which execution cost are to be measured. Values returned by a method call may also be processed when the method calls are intercepted. The returned value may be wrapped with a wrapper that holds data useful in implementing a security zone or for performing other processing.