Patent ID: 8434073

Claim:
A computer-implemented method for preventing exploitation of byte sequences that violate compiler-generated instruction alignment, the method comprising: identifying instantiation of a process; identifying an address space associated with the process; identifying, within the address space associated with the process, at least one control-transfer instruction capable of directing control flow of the process; determining that at least one byte that precedes the control-transfer instruction is capable of resulting in an out-of-alignment instruction that, when executed contrary to a compiler-generated instruction alignment for the process, results in at least one valid instruction; preventing the control-transfer instruction from being executed contrary to the compiler-generated instruction alignment for the process by: identifying an intended instruction within the process that contains the control-transfer instruction; replacing the intended instruction with a hook that redirects control flow to a security patch that executes the intended instruction and then returns control flow back to the process; upon replacing the intended instruction with the hook, allowing the process to execute.