Return-Target Restrictive Return Instructions for ROP Attack Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Return-oriented programming (ROP) attacks exploit vulnerabilities in computer systems by hijacking control flow through buffer overruns, allowing attackers to chain 'gadgets' to execute malicious code, posing risks to security and control.

Innovation Solution

Implementing return-target restrictive return from procedure instructions and return target instructions in processors, which restrict control flow transfers based on compatible return-target information, preventing unauthorized return addresses and limiting potential return paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional return from procedure instructions are used, then control flow transfers are flexible and easy to implement, but systems become vulnerable to ROP attacks and control flow hijacking

Engineering Contradiction:
ImprovesecurityVSAvoidcontrol flow restriction mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the return address validation process by dividing return addresses into multiple segments and requiring matching segment tags. Each segment is independently validated against expected return target segments, creating a multi-layered security check that prevents ROP attacks while maintaining structured control flow verification

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-establishing valid return target addresses and their associated segment tags before execution. The system pre-configures the control flow restriction mechanism with authorized return destinations, enabling proactive validation that blocks malicious redirects before they can execute

Inventive Principle:
Principle #10Preliminary action

2Reliability

If control flow restrictions are implemented to prevent ROP attacks, then security is improved, but legitimate control flow transfers may be blocked

Engineering Contradiction:
ImprovesecurityVSAvoidcontrol flow transfer
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies local quality by assigning specific segment tags to different code regions and return targets. Each return instruction is validated against the local quality requirements of its specific target, allowing fine-grained control where legitimate returns to properly tagged regions are permitted while blocking returns to unauthorized regions

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces segment tags as an intermediary validation layer between the return instruction and the target address. This intermediary mechanism mediates control flow transfers by verifying that both the source and destination share compatible segment tags, allowing legitimate transfers while blocking malicious ones

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If segment tag validation is performed for all return instructions, then ROP attack resistance is enhanced, but processing overhead increases

Engineering Contradiction:
ImproveROP attack resistanceVSAvoidinstruction execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements partial action by applying segment tag validation selectively rather than uniformly to all return instructions. The mechanism validates returns based on specific conditions and contexts, performing comprehensive validation only where necessary to prevent ROP attacks while allowing faster execution for validated safe return paths

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9703948B2Return-target restrictive return from procedure instructions, processors, methods, and systems
Publication Date: 2017.07.11 INTEL CORP
  • US9703948B2 patent drawing
  • US9703948B2 patent drawing
  • US9703948B2 patent drawing

AI summary

A processor includes a decode unit to decode a return target restrictive return from procedure (RTR return) instruction. A return target restriction unit is responsive to the RTR return instruction to determine whether to restrict an attempt by the RTR return instruction to make a control flow transfer to an instruction at a return address corresponding to the RTR return instruction. The determination is based on compatibility of a type of the instruction at the return address with the RTR return instruction and based on compatibility of first return target restrictive information (RTR information) of the RTR return instruction with second RTR information of the instruction at the return address. A control flow transfer unit is responsive to the RTR return instruction to transfer control flow to the instruction at the return address when the return target restriction unit determines not to restrict the attempt.