×

Software security via control flow integrity checking

  • US 10,242,043 B2
  • Filed: 12/14/2017
  • Issued: 03/26/2019
  • Est. Priority Date: 10/23/2012
  • Status: Active Grant
First Claim
Patent Images

1. One or more computer-readable devices comprising:

  • a control flow graph builder tool configured to construct a data structure during static analysis of a program, the data structure representing a canonical control flow graph for validation of a call stack at runtime, the validation of the call stack at runtime comprising a comparison of contents of the call stack with the canonical control flow graph, the comparison accepting the canonical control flow graph along with one or more runtime stack observations as input and outputting a check result indicating whether the call stack conforms to the canonical control flow graph, wherein the data structure comprises;

    a block table storing a table of block start addresses and respective block end addresses for a plurality of blocks indicative of instruction ranges in the canonical control flow graph;

    a stack frame size table mapping block start addresses to respective maximum stack data used by the blocks identified by the block start addresses before a call;

    a callee map table mapping block start addresses to respective lists of callers; and

    a valid return map mapping child call sites to respective parent call sites.

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