Secure Module Linking via Encrypted Function Proxies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing module linking technologies, whether statically or dynamically linked, lack sufficient security measures, allowing for unauthorized monitoring and modification of function calls due to exposed function addresses.

Innovation Solution

A shared function binding arrangement is introduced, including a preparation phase where function proxies and encrypted marker information are used to create a secure linkage between modules, allowing calls without exposing function details, and utilizing dynamic objects for indirect routing to enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If function addresses are exposed in import and export tables for module linking, then module calling functionality is enabled, but security is compromised allowing unauthorized monitoring and modification

Engineering Contradiction:
Improvemodule calling functionalityVSAvoidunauthorized access and modification
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces encrypted marker information as an intermediary between the import table and the actual function addresses. Instead of directly exposing function addresses in the export table, the system uses encrypted markers that act as a secure mediation layer. This allows module calling functionality to be maintained while preventing unauthorized access to the actual function addresses, as the encrypted markers cannot be directly interpreted without the decryption key.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates encrypted copies of function address information in the form of marker data. Rather than exposing the actual function addresses, the system generates encrypted marker information that replicates the necessary calling functionality while hiding the true addresses. This copying approach enables the import table to reference function locations without revealing the actual address information to potential attackers.

Inventive Principle:
Principle #26Copying

2Object-affected harmful factors

If encrypted marker information and function proxies are used for secure linkage, then security is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity against unauthorized accessVSAvoidlinking arrangement complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the function address information into multiple components: encrypted marker information stored in the importing module and corresponding decryption/interpretation capability in the shared module. This segmentation distributes the complexity across different modules rather than concentrating it in one place. The import table stores encrypted markers while the shared module contains the logic to decrypt and resolve these markers to actual function addresses, dividing the overall system complexity into manageable parts.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8516469B2Function binding method and system
Publication Date: 2013.08.20 FLEXERA SOFTWARE LLC
  • US8516469B2 patent drawing
  • US8516469B2 patent drawing
  • US8516469B2 patent drawing

AI summary

The present invention provides a process for generating a shared function binding arrangement comprising a first module and a shared module which includes a plurality of functions and having means for binding a function shared between the first module and the shared module. The process comprises a linking phase for creating the first module and the shared module, a preparation phase for preparing the first module for calling the shared module without exposing details of the call, and a loading phase for loading the modules and linking the first module to a respective function in the shared module without exposing details of the call. The invention also provides a method and system for binding a function shared between a first module and a shared module by means of a linking arrangement a linking arrangement that enables the first module to call a respective function in the shared module without exposing details of the call.