Late Binding Code Manager for Unauthorized DLL Loading Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer operating systems, such as 32-bit versions of Microsoft Windows, allow unknown and potentially malicious dynamic link libraries (DLLs) to be loaded into a process's address space, creating a security hole, and there is a need for methods to prevent unauthorized loading of late binding code.

Innovation Solution

A late binding code manager is implemented to detect and manage attempts to load late binding code into a process's address space, determining whether such attempts are permitted and executing steps to either permit, block, or modify the loading based on predefined criteria such as blacklists, whitelists, digital signatures, and trusted sources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If late binding code loading is enabled in Windows, then code flexibility and adaptability are improved, but security deteriorates due to vulnerability to malicious DLL loading

Engineering Contradiction:
Improvecode flexibilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a late binding code manager as an intermediary component between the existing Windows late binding mechanism and the loaded code. This manager intercepts and validates DLL loading attempts, acting as a mediator that enables flexible code loading while preventing malicious code execution by checking digital signatures and other security criteria before allowing loading to proceed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary security checks before the actual code loading occurs. The late binding code manager performs validation of digital signatures, verification of code source, and other security determinations in advance, so that only permitted code is allowed to load into the process address space, thereby preventing malicious code execution while maintaining legitimate code flexibility.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If all late binding code loading attempts are permitted, then ease of operation is improved, but system security deteriorates due to unauthorized code execution

Engineering Contradiction:
Improveloading simplicityVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The late binding code manager implements self-service security validation by automatically checking digital signatures and verifying code authorization status without requiring manual intervention. The system autonomously determines whether to permit or block loading based on predefined security criteria, maintaining ease of operation while ensuring security through automated decision-making.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where the late binding code manager continuously monitors loading attempts and provides feedback by either permitting or blocking based on security validation results. This feedback loop ensures that only authorized code executes while maintaining simple operation for legitimate use cases, as the security decisions are made automatically based on code properties.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If selective loading control is implemented, then security is improved, but device complexity increases due to additional management components

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The late binding code manager is designed as a universal component that handles multiple functions: it intercepts loading attempts, validates digital signatures, checks authorization status, and executes loading decisions. By consolidating these multiple security-related functions into a single multi-functional manager, the patent improves security through comprehensive control while minimizing the increase in system complexity compared to having separate components for each function.

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

Data Source

PatentUS7565686B1Preventing unauthorized loading of late binding code into a process
Publication Date: 2009.07.21 GEN DIGITAL INC
  • US7565686B1 patent drawing
  • US7565686B1 patent drawing
  • US7565686B1 patent drawing

AI summary

A late binding code manager prevents the unauthorized loading of late binding code into a process. The late binding code manager detects an attempt to load late binding code into a process's address space. Subsequently, the late binding code manager determines whether a detected attempt to load late binding code into a process's address space is permitted. Responsive to the results of a determination as to whether an attempt to load late binding code into a process's address space is permitted, the late binding code manager executes at least one additional step affecting the loading of the late binding code into the process's address space. Such a step can comprise permitting, blocking or modifying the attempt to load the late binding code.