TECHNIQUES FOR ENFORCING CONTROL FLOW INTEGRITY USING BINARY TRANSLATION
0 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments are generally directed to an apparatus, method and other techniques to determine a valid target address for a branch instruction from information stored in a relocation table, a linkage table, or both, the relocation table and the linkage table associated with a binary file and store the valid target address in a table in memory, the valid target address to validate a target address for a translated portion of a routine of the binary file.
54 Citations
52 Claims
-
1-27. -27. (canceled)
-
28. An apparatus, comprising:
-
a memory; and logic for control flow integrity, at least a portion of the logic implemented in circuitry coupled to the memory, the logic to; determine whether a translated instruction includes an indirect branch instruction in response to execution of an application associated with the translated instruction; determine whether the translated instruction includes one of a set of valid stack modification instructions when the translated instruction excludes indirect branch instructions; execute the translated instruction when the translated instruction includes a valid stack modification instruction in the set; and initiate a security measure when the translated instruction excludes the set of valid stack modification instructions. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. At least one non-transitory computer-readable medium comprising a set of instructions that, in response to being executed by a processor circuit, cause the processor circuit to:
-
determine whether a translated instruction includes an indirect branch instruction in response to execution of an application associated with the translated instruction; determine whether the translated instruction includes one of a set of valid stack modification instructions when the translated instruction excludes an indirect branch instruction; execute the translated instruction when the translated instruction includes a valid stack modification instruction in the set; and initiate a security measure when the translated instruction excludes the set of valid stack modification instruction. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A computer-implemented method, comprising:
-
determining whether a translated instruction includes an indirect branch instruction in response to execution of an application associated with the translated instruction; determining whether the translated instruction includes one of a set of valid stack modification instructions when the translated instruction excludes an indirect branch instruction; executing the translated instruction when the translated instruction includes a valid stack modification instruction in the set; and initiating a security measure when the translated instruction excludes the set of valid stack modification instruction. - View Dependent Claims (47, 48, 49, 50, 51, 52)
-
Specification