Return-Target Restrictive Return Instructions for ROP Attack Mitigation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If control flow restrictions are implemented to prevent ROP attacks, then security is improved, but legitimate control flow transfers may be blocked
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
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
3Reliability
If segment tag validation is performed for all return instructions, then ROP attack resistance is enhanced, but processing overhead increases
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
Data Source
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.


