×

Systems and methods for preventing exploitation of byte sequences that violate compiler-generated alignment

  • US 8,434,073 B1
  • Filed: 11/03/2008
  • Issued: 04/30/2013
  • Est. Priority Date: 11/03/2008
  • Status: Active Grant
First Claim
Patent Images

1. 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.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×