ROP Attack Protection via Code Segmentation and Alarm Padding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for preventing Return-Oriented Programming (ROP) attacks often result in performance degradation, increased resource consumption, and fail to effectively detect and alert users to potential attacks, as they may crash the program without clear indication of the cause.
Innovation Solution
The method involves rearranging code blocks with padding areas between them, making it difficult for attackers to execute malicious gadgets, while also incorporating alarm-raising instructions within these padding areas to detect and notify users of potential ROP attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing ROP prevention techniques are applied, then security against ROP attacks is improved, but program performance degrades and resource consumption increases
Solution Approach 1:
The code is divided into multiple code blocks with padding areas inserted between them. This segmentation disrupts the continuous code structure that ROP attacks rely on, preventing attackers from easily chaining gadgets while maintaining original functionality. The padding areas act as barriers that break up potential attack vectors without significantly impacting performance.
Solution Approach 2:
Padding areas are introduced as intermediary elements between code blocks. These padding areas contain alarm-raising instructions that monitor for attack patterns. When a potential ROP attack is detected, the alarm instructions trigger notifications without crashing the program, thus providing security while preserving performance and user experience.
2Reliability
If existing ROP prevention techniques are applied, then security against ROP attacks is improved, but detection and user notification capability deteriorates
Solution Approach 1:
Alarm-raising instructions are embedded within the padding areas to provide feedback when ROP attacks are detected. These instructions monitor execution flow and trigger notifications to users when suspicious patterns are identified, enabling detection and user awareness without crashing the program. This feedback mechanism improves both security detection and user notification capability.
Solution Approach 2:
The padding areas with alarm-raising instructions are pre-positioned between code blocks before execution. This preliminary arrangement ensures that detection capability is built into the code structure itself, allowing immediate detection of ROP attacks as they attempt to execute, rather than relying on post-execution analysis or external monitoring.
3Reliability
If existing ROP prevention techniques are applied, then security against ROP attacks is improved, but program stability deteriorates due to program crashes
Solution Approach 1:
The padding areas, which initially appear to be inert space, are transformed into active security components containing alarm-raising instructions. When ROP attacks attempt to execute through these padding areas, the alarm instructions detect the attack and trigger notifications without crashing the program. This converts what would be harmful execution into a beneficial detection mechanism, maintaining program stability while improving security.
Data Source
AI summary
A method, computer product and computerized system, the method comprising: receiving computer code to be protected, wherein the computer code comprising of code blocks arranged consecutively; modifying the computer code, whereby a modified computer code is created, wherein said modifying comprises: introducing a padding area inbetween every two code blocks, wherein each padding area comprises one or more computer instructions; and storing the modified computer code in a computer readable medium.


