×

System and methods for run time detection and correction of memory corruption

  • US 8,510,596 B1
  • Filed: 07/06/2007
  • Issued: 08/13/2013
  • Est. Priority Date: 02/09/2006
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • detecting an application layer memory corruption of at least one portion of a control section of original memory by malicious code during run-time, where the application layer memory corruption affects execution flow of an application when otherwise left uncorrected, wherein detecting includes performing at least two different invariant checks from a set of invariant checks at run-time, the set of invariant checks includes at least two of a return address integrity check, a jump address validation check, an external call validation check, a call destination/far jump validation check, an IAT integrity check, a heap integrity check and a library randomization check each invariant check including (a) capturing a state of one or more registers and at least one portion of a data segment of the control section prior to execution of a function call, (b) checking the state after the execution of the function call against the captured state and (c) declaring application layer memory corruption if the checked state and the captured state do not match; and

    correcting the application layer memory corruption of the at least one portion of the control section of original memory, during run-time, by replacing the at least one portion of corrupted memory with a backup of the at least one portion of the control section of original memory to prevent the malicious code from ever executing.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×