Selective Export Address Table Filtering for Shellcode Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to effectively prevent unauthorized access and control of devices by malicious shellcode, which often use linear search methods to identify APIs in operating systems, differing from authorized applications' binary search processes.

Innovation Solution

An address table filtering module is loaded into the memory space of a target process to identify and modify the memory addresses of exported function names, registering an exception handler to detect and respond to access violations, thereby filtering out unauthorized access attempts by modifying only a subset of function name RVAs to point to protected memory locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory addresses of all exported function names are modified to point to protected memory locations, then security against unauthorized access is improved, but processing overhead and system performance deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by selectively modifying only certain memory addresses of exported function names rather than all addresses. Specifically, it modifies addresses based on local characteristics such as whether they fall within vulnerable API ranges or exhibit patterns consistent with linear search exploitation, thereby providing targeted security without universal overhead

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by modifying a subset of function name RVAs (relative virtual addresses) rather than the complete set. The exception handler selectively intervenes only when access patterns suggest exploitation attempts, allowing legitimate binary search operations to proceed unimpeded while blocking malicious linear search access to critical APIs

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If exception handlers are registered to process all accesses to exported function names, then detection precision of exploit attempts is improved, but computational overhead increases

Engineering Contradiction:
Improvedetection precisionVSAvoidcomputational overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-modifying selected function name RVAs to point to protected memory locations before exploitation attempts occur. This proactive setup allows the exception handler to quickly detect violations without performing complex analysis during actual access, reducing real-time computational overhead while maintaining high detection precision

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses protected memory locations as intermediaries between the exception handler and actual API implementations. When access violations occur, the intermediary protected memory intercepts the attempt and redirects to the exception handler, enabling precise detection without requiring the handler to directly monitor all function accesses

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all function name RVAs are modified to point to protected memory locations, then unauthorized access prevention is improved, but system performance and execution speed deteriorate

Engineering Contradiction:
Improveunauthorized access preventionVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies local quality by modifying only specific function name RVAs that are most vulnerable to exploitation, such as those within known vulnerable API ranges or that exhibit patterns consistent with linear search attacks. This selective approach prevents unauthorized access to critical functions while avoiding overhead on frequently accessed legitimate APIs

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the set of function name RVAs into protected and unprotected subsets based on vulnerability assessment. By dividing the address space and applying different protection levels to different segments, the system achieves strong security for critical APIs while maintaining high execution speed for legitimate operations in unprotected segments

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240176875A1Selective import/export address table filtering
Publication Date: 2024.05.30 OPEN TEXT CORPORATION
  • US20240176875A1 patent drawing
  • US20240176875A1 patent drawing
  • US20240176875A1 patent drawing

AI summary

Examples of the present disclosure describe systems and methods for selective export address table filtering. In aspects, the relative virtual address (RVA) of exported function names may be modified to point to a protected memory location. An exception handler may be registered to process exceptions relating to access violations of the protected memory location. If an exception is detected that indicates an attempt to access the protected memory location, the instruction pointer of the exception may be compared to an allowed range of memory addresses. If the instruction pointer address is outside the boundaries, remedial action may occur.