×

Method to detect forgery and exploits using last branch recording registers

  • US 10,621,338 B1
  • Filed: 06/29/2016
  • Issued: 04/14/2020
  • Est. Priority Date: 12/30/2015
  • Status: Active Grant
First Claim
Patent Images

1. A non-transitory storage medium having stored thereon logic, the logic being executable by one or more processors to perform operations including:

  • intercepting an attempted execution of an instruction resulting from processing of the object within a virtual machine, the instruction located on a page in memory that is accessed by the virtual machine;

    responsive to determining the page includes instructions corresponding to a function call of a predefined set of function calls, (i) inserting a first transition event into the memory at a starting address location of the function call of the predefined set of function calls, and (ii) setting a permission of the page to be execute only; and

    responsive to a triggering of the first transition event, (1) halting, by a virtual machine monitor, the processing of the object, and (2) analyzing, by logic within the virtual machine monitor, content of one or more last branch records associated with the virtual machine to determine whether the processing of the object displays characteristics of a return-oriented programming attack, wherein the analyzing includes;

    (i) parsing the one or more last branch records associated with the virtual machine, and(ii) responsive to detecting a return instruction as a branching instruction and determining an instruction immediately preceding a location branched to by the return instruction is not a call instruction type, determining the processing of the object displays characteristics of the return-oriented programming attack.

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