SYSTEMS AND METHODS FOR PREVENTING UNAUTHORIZED STACK PIVOTING
First Claim
Patent Images
1. A processing system, comprising:
- a lower stack bound register configured to store a first memory address, the first memory address identifying a lower bound of a memory addressable via a stack segment;
an upper stack bound register configured to store a second memory address, the second memory address identifying an upper bound of the memory addressable via the stack segment; and
a stack bounds checking logic configured to detect unauthorized stack pivoting, by comparing a memory address being accessed via the stack segment with at least one of the first memory address and the second memory address.
1 Assignment
0 Petitions
Accused Products
Abstract
An example processing system may comprise: a lower stack bound register configured to store a first memory address, the first memory address identifying a lower bound of a memory addressable via a stack segment; an upper stack bound register configured to store a second memory address, the second memory address identifying an upper bound of the memory addressable via the stack segment; and a stack bounds checking logic configured to detect unauthorized stack pivoting, by comparing a memory address being accessed via the stack segment with at least one of the first memory address and the second memory address.
28 Citations
20 Claims
-
1. A processing system, comprising:
-
a lower stack bound register configured to store a first memory address, the first memory address identifying a lower bound of a memory addressable via a stack segment; an upper stack bound register configured to store a second memory address, the second memory address identifying an upper bound of the memory addressable via the stack segment; and a stack bounds checking logic configured to detect unauthorized stack pivoting, by comparing a memory address being accessed via the stack segment with at least one of the first memory address and the second memory address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
storing, by a processing system, a first memory address in a lower stack bound register, the first memory address identifying a lower bound of a memory addressable via a stack segment; storing a second memory address in an upper stack bound register, the second memory address identifying an upper bound of the memory addressable via the stack segment; detecting a memory access via the stack segment; and by comparing a memory address being accessed via the stack segment with at least one of the first memory address and the second memory address, in order to detect unauthorized stack pivoting. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable non-transitory storage medium comprising executable instructions that, when executed by a processing system, cause the processing system to perform operations, comprising:
-
storing a first memory address in a lower stack bound register, the first memory address identifying a lower bound of a memory addressable via a stack segment; storing a second memory address in an upper stack bound register, the second memory address identifying an upper bound of the memory addressable via the stack segment; detecting a memory access via the stack segment; and comparing a memory address being accessed via the stack segment with at least one of the first address and the second address, to detect an attempted stack bounds violation.
-
Specification