Hardware-Assisted Return Address Prediction for ROP Attack Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need for improved techniques to detect and prevent return-oriented programming attacks in networked computing environments, as existing methods are inadequate in effectively mitigating these threats.

Innovation Solution

The implementation of hardware-assisted filtering of an import address table, which includes configuring a computing environment to detour function calls through stubs, using an import address table and address space layout randomization to randomize function locations, and generating return address predictions to detect deviations from predicted behavior, thereby identifying and mitigating return-oriented programming attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If return address prediction is implemented to detect deviations, then detection accuracy of return-oriented programming attacks is improved, but device complexity increases due to additional prediction mechanisms and instrumentation

Engineering Contradiction:
Improvedetection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-configuring return address prediction mechanisms and detouring function calls to stubs before attacks occur. The import address table is instrumented in advance to establish expected return address patterns, enabling the system to detect deviations without adding complex runtime analysis mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Programming stubs serve as intermediaries between function calls and the import address table. These stubs intercept function calls, verify return addresses against predictions, and redirect malicious calls without requiring complex direct analysis of all return addresses, thereby simplifying the overall detection architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If import address table is instrumented to detour function calls through stubs, then detection capability is improved, but processing overhead increases due to additional function call interceptions

Engineering Contradiction:
Improvedetection capabilityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies local quality by instrumenting only specific function calls that are critical for return-oriented programming attack detection. Rather than intercepting all function calls uniformly, the import address table selectively detours only those calls that would indicate suspicious return address patterns, reducing unnecessary processing overhead while maintaining detection capability.

Inventive Principle:
Principle #3Local quality

3Object-affected harmful factors

If address space layout randomization is used to randomize function locations, then security against attacks is improved, but difficulty in accessing functions increases

Engineering Contradiction:
Improvesecurity protectionVSAvoidfunction access difficulty
Core Design Contradiction:
Object-affected harmful factorsVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements feedback mechanisms where the import address table maintains mappings between randomized function locations and their expected return addresses. When function calls are detoured through stubs, the system verifies return addresses against these mappings, providing feedback that confirms legitimate calls while identifying malicious deviations, thus resolving the access difficulty introduced by randomization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11853414B2Mitigation of return-oriented programming attacks
Publication Date: 2023.12.26 SOPHOS LTD
  • US11853414B2 patent drawing
  • US11853414B2 patent drawing
  • US11853414B2 patent drawing

AI summary

Trampoline and return-oriented programming attacks employ a variety of techniques to maliciously execute instructions on a device in a manner different from a legitimate programmer's original intent. By instrumenting a device to detect deviations from predicted behavior, these exploits can be identified and mitigated.