Processor Trace Control Flow Integrity Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing control flow integrity validation techniques require source code modification and/or binary re-instrumentation, incur performance penalties, and provide limited accuracy in detecting control flow hijacking attacks, such as ROP and JOP, due to their coarse-grained or fine-grained validation methods.

Innovation Solution

The system utilizes processor trace data and a control flow graph to detect control flow integrity violations in real-time by capturing and analyzing execution traces, determining whether control flow transfers adhere to legitimate paths, and employing a control flow validator to identify potential attacks before malicious application launch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing CFI validation techniques are used, then control flow hijacking attacks can be detected, but source code modification and binary re-instrumentation are required

Engineering Contradiction:
Improveattack detection capabilityVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent introduces processor trace (PT) circuitry as an intermediary component that captures execution traces at the hardware level. This mediator enables CFI validation without requiring modifications to the application binary or source code, as the PT circuitry independently monitors control flow transfers and compares them against the control flow graph.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical/software-based approach of binary re-instrumentation with a hardware-based processor trace mechanism. By substituting the software instrumentation process with hardware-level trace capture, the system eliminates the need for binary modification while maintaining attack detection capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If existing CFI validation techniques are used, then control flow transfers can be validated, but performance penalty is incurred

Engineering Contradiction:
Improvecontrol flow validation accuracyVSAvoidapplication execution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The processor trace circuitry acts as a dedicated hardware intermediary that captures execution traces without interfering with the normal application execution path. The trace capture occurs at the hardware level in parallel with application execution, allowing validation to proceed without adding software overhead that would slow down the application.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system validates control flow transfers by periodically checking execution traces against the control flow graph at indirect branch points. This periodic validation approach, implemented through hardware trace capture, provides continuous security monitoring while minimizing disruption to application performance compared to continuous software-based validation.

Inventive Principle:
Principle #19Periodic action

3Reliability

If existing CFI validation techniques are used, then some attacks can be detected, but accuracy is limited due to coarse-grained or fine-grained validation

Engineering Contradiction:
Improveattack detection coverageVSAvoidcontrol flow validation accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent segments the control flow validation process into fine-grained basic blocks, where each node in the control flow graph represents a basic block with a single entry and exit point. This segmentation allows precise tracking of control flow transfers at the instruction level, enabling accurate detection of hijacked control flow while maintaining manageable complexity through the structured graph representation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10248424B2Control flow integrity
Publication Date: 2019.04.02 INTEL CORP
  • US10248424B2 patent drawing
  • US10248424B2 patent drawing
  • US10248424B2 patent drawing

AI summary

One embodiment provides an apparatus. The apparatus includes collector circuitry to capture processor trace (PT) data from a PT driver. The PT data includes a first target instruction pointer (TIP) packet including a first runtime target address of an indirect branch instruction of an executing target application. The apparatus further includes decoder circuitry to extract the first TIP packet from the PT data and to decode the first TIP packet to yield the first runtime target address. The apparatus further includes control flow validator circuitry to determine whether a control flow transfer to the first runtime target address corresponds to a control flow violation based, at least in part, on a control flow graph (CFG). The CFG including a plurality of nodes, each node including a start address of a first basic block, an end address of the first basic block and a next possible address of a second basic block or a not found tag.