Processor ROP Detection via Event Counters and Heuristic Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer security systems are ineffective in detecting Return Oriented Programming (ROP) exploits, which can compromise system security by manipulating existing code snippets to create alternative execution sequences without injecting external code, leading to unintended behavior.

Innovation Solution

Implementing a set of event counters in a microprocessor to count control transfer events and perform heuristic checks when a threshold is reached, identifying potential ROP attacks by analyzing stack pivoting, instruction pointer ranges, and API function invocations, and providing an indication to security applications for further analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional security systems are used, then system simplicity is maintained, but detection capability against ROP attacks is insufficient

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

Solution Approach 1:

The security detection system is segmented into multiple specialized components: event counters for tracking control transfers, threshold comparison logic, heuristic check modules, and indication generation. Each component handles a specific aspect of ROP detection, allowing the system to achieve high detection precision while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Event counters serve as intermediary components that mediate between the complex internal control transfer operations and the security detection logic. By counting and thresholding control transfer events, these intermediaries simplify the detection process while maintaining accurate monitoring of potential ROP attacks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If event counters and heuristic checks are implemented, then detection accuracy improves, but processing overhead increases

Engineering Contradiction:
Improvedetection accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs heuristic checks periodically based on threshold comparisons of control transfer events, rather than continuously monitoring every instruction. This periodic action approach maintains high detection accuracy by triggering comprehensive checks only when suspicious patterns emerge, while minimizing processing overhead during normal execution.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The event counter mechanism allows the processor to skip detailed analysis of routine control transfers by incrementing counters and only performing full heuristic checks when thresholds are exceeded. This skipping approach rapidly processes normal operations while intensively analyzing suspicious patterns.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If comprehensive heuristic checks are performed, then security reliability improves, but system performance decreases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs partial heuristic checks selectively based on event counter thresholds rather than comprehensive checks on all control transfers. This partial action approach maintains security reliability by thoroughly checking suspicious cases while using lighter-weight counter increment operations for routine executions, preserving overall system performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10437990B2Detection of return oriented programming attacks in a processor
Publication Date: 2019.10.08 JPMORGAN CHASE BANK N A AS ADMINISTATIVE AGENT
  • US10437990B2 patent drawing
  • US10437990B2 patent drawing
  • US10437990B2 patent drawing

AI summary

In an embodiment, a processor for Return Oriented Programming (ROP) detection includes at least one execution unit; a plurality of event counters, each event counter associated with a unique type of a plurality of types of control transfer events; and a ROP detection unit. The ROP detection unit may be to: adjust a first event counter in response to detection of a first type of control transfer events; in response to a determination that the first event counter exceeds a first threshold, access a first configuration register associated with the first event counter to read configuration data; identify a set of ROP heuristic checks based on the configuration data read from the first configuration register; and perform each ROP heuristic check of the identified set of ROP heuristic checks. Other embodiments are described and claimed.