IP Library › Granted Patent US 11,687,646
Granted Patent B2
US 11,687,646 · App. 16/994,461 · Granted Jun 27, 2023

Forensic data collection and analysis utilizing function call stacks

Inventors: Brian H. Pescatore (Purcellville, VA); James Blaisdell (Novato, CA); Xonia Ivonne McLaughlin (Bolton, MA); Chetin Ersoy (Portsmouth, NH); Kenneth J. Wante (Winchendon, MA)
Assignee: Dellfer, Inc.
G06F21/54G06F8/433G06F9/54G06F2221/033
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,687,646
App. No.
16/994,461
Granted
Jun 27, 2023
Kind
B2
Abstract

A novel compiler is described. The compiler is able to view source code of the application in its entirety and can do so from the inside. Unlike other tools which examine the forensic data from an application crash after the fact, from the outside, the compiler of the present invention can provide novel data on function call stacks and function profiles during runtime. The application may be stopped immediately during runtime to prevent further or potential damage, but the forensic data that is collected is focused and can be used to show where vulnerabilities exists in the application and how they were exploited. Hashes are taken of function call stacks and used as unique identifiers or thumbprints which can be used to reduce the volume of forensic data that needs to be analyzed after an attack.

Claims (18)

1. A method of compiling a software program comprising:

inserting a plurality of probes into an executable code of the software program during compile time;

analyzing code of the software program during compile time to identify functions in the analyzed code that are stored in indirect function call variables;

generating a behavior model of the software program using function call graphs; and

generating call stack function profiles, thereby identifying a function call stack that led to an attack of the software program, wherein an executable of the software program contains function call graph information;

wherein a hash is taken of a segment of ASCHII function names in the function call stack, wherein the segment has fewer function names than all function names in the function call stack, the hash resulting in a unique hash value of the attack of the software program,

wherein the segment is one or a combination of ASCHII call stack function names in a function name hierarchy in the function call stack, and

wherein the unique hash value is used to identify similar or identical attack sequences.

2. A method as recited in claim 1 further comprising reporting forensic data to an API.

3. A method as recited in claim 1 further comprising performing a comparison of an attack with attacks registered in a third-party database.

4. A method as recited in claim 1 wherein the unique hash value is used to facilitate identifying a specific code path leading to a vulnerability in the software program.

5. A method of compiling a software program comprising:

inserting a plurality of probes into an executable code of the software program during compile time;

analyzing code of the software program during compile time to identify functions in the analyzed code that are stored in indirect function call variables;

generating a behavior model of the software program using function call graphs during compile time; and

generating call stack function profiles during compile time, thereby identifying a function call stack that led to an attack of the software program, wherein an executable of the software program contains function call graph information;

wherein a hash is taken of all ASCHII function names in the function call stack, the hash resulting in a unique hash value of the attack of the software program, and

wherein the unique hash value is used to identify identical attack sequences.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2023
From: PESCATORE, BRIAN H.; BLAISDELL, JAMES; MCLAUGHLIN, XONIA IVONNE; ERSOY, CHETIN; WANTE, KENNETH J.
To: DELLFER, INC.
Reel/Frame 064276/0653 →
Continuity (2)
Provisional Application 62887663 · Aug 15, 2019
Related Publication 20210049265A1 · Feb 18, 2021