Dynamic Fragmented Address Space Layout Randomization for Code Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Address Space Layout Randomization (ASLR) techniques are vulnerable to code-reuse attacks due to low entropy and coarse granularity, allowing attackers to deduce the location of code gadgets, which can be exploited for malicious purposes.
Innovation Solution
Dynamic Fragmented Address Space Layout Randomization (DFASLR) provides configurable granularity and true runtime code layout randomization, randomizing instruction locations down to the individual level, disrupting gadgets, detecting control-flow integrity attacks, and offering runtime patching and covert technique insertion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional ASLR techniques are used with low entropy and coarse granularity, then the implementation is simpler and performance overhead is lower, but the security against code-reuse attacks is weakened
Solution Approach 1:
The patent segments the code into fine-grained fragments at the instruction level, allowing each fragment to be independently randomized. This segmentation enables high-entropy ASLR while maintaining manageable complexity through systematic fragment identification and relocation mechanisms
Solution Approach 2:
The patent implements dynamic ASLR that operates at runtime rather than static compilation time. The code layout is continuously randomized during execution, creating a moving target that adapts to attack attempts. This dynamic approach enhances security without requiring complex pre-computed randomization schemes
2Reliability
If ASLR randomization is applied at finer granularity (instruction level), then the entropy and security strength are increased, but the performance overhead and execution time increase
Solution Approach 1:
The patent performs preliminary identification and classification of instructions into fixed and relocatable fragments during compilation or initialization. This pre-processing eliminates the need for complex analysis during runtime execution, reducing performance overhead while maintaining fine-grained randomization capability
Solution Approach 2:
The patent applies different randomization strategies to different types of instructions. relocatable instructions are randomized while fixed instructions maintain their original positions, optimizing the balance between security entropy and execution performance by randomizing only where necessary
3Reliability
If code is randomized at runtime, then the lifetime of discovered references is reduced and security is enhanced, but the complexity of maintaining code integrity and correctness increases
Solution Approach 1:
The patent implements feedback mechanisms that monitor and detect code-reuse attack attempts. When attacks are detected, the system responds by re-randomizing the code layout or activating additional security measures. This feedback loop enhances security while managing complexity through targeted responses rather than continuous complex operations
Data Source
AI summary
A method can include identifying fixed instructions of the instructions and relocatable instructions of the instructions, the fixed instructions reference another instruction of the instructions and the relocatable instructions do not reference another instruction of the instructions, altering the location of the relocatable instructions relative to one another in the memory and add respective reference instructions to the fixed instructions and relocatable instructions that cause the instructions to be executed in a same order as they would be if the location was not altered, and executing the fixed instructions and the relocatable instructions from their altered locations in the medium.


