Randomized Stack Frame Size for Cyber Attack Defense

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for mitigating stack-based attacks often result in significant performance degradation or high complexity, and are not feasible when source code modifications are not possible, making them inadequate for defending against buffer overflow vulnerabilities.

Innovation Solution

Applying a randomized modification to the stack frame size of a program binary, which increases the entropy of the stack frame length, making it difficult for attackers to guess or estimate the memory location of the return address, thereby rendering stack-based attacks non-viable without requiring access to source code or operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional methods are used to mitigate stack-based attacks, then security reliability is improved, but system performance significantly degrades

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the parameter of stack frame size from a fixed value to a randomized value. By introducing randomness into the stack frame size parameter, the system prevents attackers from reliably predicting memory locations while maintaining normal system operation, thus improving security without the severe performance penalties associated with traditional mitigation methods

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent makes the stack frame size dynamic rather than static. The stack frame size is determined at runtime based on randomized offsets, allowing the system to adapt its security posture dynamically without requiring complex runtime checks or performance-degrading interventions during normal execution

Inventive Principle:
Principle #15Dynamics

2Reliability

If traditional methods are used to mitigate stack-based attacks, then security reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidmitigation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent simplifies the mitigation approach by changing only the stack frame size parameter to a randomized value. This single parameter change provides security without requiring complex mitigation infrastructures, multiple security layers, or complicated runtime verification mechanisms that would increase device complexity

Inventive Principle:
Principle #35Parameter changes

3Reliability

If source code modifications are made to fix buffer overflow vulnerabilities, then security reliability is improved, but adaptability decreases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidsource code adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism that operates between the attacker and the vulnerable source code. By randomizing stack frame sizes, the system creates a protective layer that renders buffer overflow exploits ineffective without requiring modifications to the original source code, thus maintaining adaptability while improving security

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a transformed version of the binary that incorporates randomized stack frame sizes without modifying the original source code. This copying approach allows the security enhancement to be applied to existing software while preserving the original code's functionality and adaptability

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11853412B2Systems and methods for defeating stack-based cyber attacks by randomizing stack frame size
Publication Date: 2023.12.26 RUNSAFE SECURITY INC
  • US11853412B2 patent drawing
  • US11853412B2 patent drawing
  • US11853412B2 patent drawing

AI summary

Systems and methods of defending against stack-based cybersecurity attacks that exploit vulnerabilities in buffer overflows. The embodiments disclosed herein propose applying a randomized modification to the original size of the stack frames of functions of a program. By applying a randomized modification to the length of the stack frame, e.g., randomly increasing the length of the allocated stack frame memory, it becomes harder (if not impossible) for the attacker to guess or estimate the memory location where the return address of a function is stored, regardless of the attacker's knowledge of the length of the stack frame. Multiple implementations, e.g., randomizations at transform time, load time, and run time are discussed herein.