IP Library Granted Patent US 8,046,834
Granted Patent B2
US 8,046,834 · App. 11/093,303 · Granted Oct 25, 2011

Method of polymorphic detection

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 8,046,834
App. No.
11/093,303
Granted
Oct 25, 2011
Kind
B2
Abstract

A computer program signature may be determined based on the function flow grammar for a given source code. The function flow grammar may be determined based on reduced control flow graphs generated based on control flow graphs for each function within the source code. A polymorph of a computer program may be detected by comparing the determined computer program signature with computer program signatures, which may be included in a database.

Claims (27)

1. A method for detecting a polymorphic instance of a known computer program, the method comprising:

generating at least one reduced control flow graph by reducing at least one control flow graph, the at least one control flow graph being based on identified functions within a suspect computer program;

generating a function flow grammar including the identified functions associated with address information from the reduced control flow graph;

generating a signature of the suspect computer program by ordering the identified functions included in the function flow grammar based on at least one characteristic associated with each function; and

comparing the generated signature with a plurality of signatures for the known computer programs, which are based on a total ordering of functions within each of the known computer programs; wherein the generating and comparing steps are executed by a computer processor.

2. The method of claim 1 , wherein the generating step further comprises:

generating the function flow grammar including the identified functions associated with static address information based on the at least one control flow graph for the identified functions; and

determining the signature of the suspect computer program by ordering the identified functions included in the function flow grammar based on the at least one characteristic associated with each function.

3. The method of claim 1 , wherein the at least one characteristic is a relative complexity of each function in the function flow grammar.

4. The method of claim 3 , wherein the relative complexity of each function is a tuple including at least one value.

5. The method of claim 3 , wherein the relative complexity is based on a quantitative analysis of each individual function.

6. The method of claim 1 , wherein the at least one characteristic is a label given to each function in the function flow grammar.

7. The method of claim 1 , further comprising:

ordering the identified functions within the function flow grammar for the suspect computer program based on the at least one characteristic associated with each of the identified functions.

8. A method for determining a signature for a computer program, the method comprising:

generating at least one reduced control flow graph by reducing at least one control flow graph, the at least one control flow graph being based on identified functions within the computer program;

generating a function flow grammar including the identified functions associated with address information from the reduced control flow graph;

determining a signature of the computer program by ordering the identified functions included in the function flow grammar based on at least one characteristic associated with each function; wherein the determining step is executed by a computer processor.

9. The method of claim 8 , wherein the determining step further comprises:

generating the function flow grammar including the identified functions associated with static address information based on the at least one control flow graph for the identified functions; and

determining the signature of the computer program by ordering the identified functions included in the function flow grammar based on the at least one characteristic associated with each function.

10. The method of claim 8 , wherein the at least one characteristic is a relative complexity of each function in the function flow grammar.

11. The method of claim 10 , wherein the relative complexity of each function is a tuple including at least one value.

12. The method of claim 10 , wherein the relative complexity is based on a quantitative analysis of each function.

13. The method of claim 8 , wherein the at least one characteristic is a label given to each function in the function flow grammar.

14. The method of claim 8 , further comprising:

ordering the identified functions within the function flow grammar for the suspect computer program based on the at least one characteristic associated with each of the identified functions.

Assignments (14)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jan 22, 2025
From: CACI LGS INNOVATIONS LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 069987/0444 →
CHANGE OF NAME Recorded Nov 4, 2024
From: LGS INNOVATIONS LLC
To: CACI LGS INNOVATIONS LLC
Reel/Frame 069292/0887 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 29, 2019
From: LGS INNOVATIONS LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 049312/0843 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: BANK OF AMERICA, N.A.
To: LGS INNOVATIONS LLC
Reel/Frame 049247/0557 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2019
From: BANK OF AMERICA, N.A.
To: LGS INNOVATIONS LLC
Reel/Frame 049074/0094 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 19, 2017
From: LGS INNOVATIONS LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 043254/0393 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: ALCATEL LUCENT
To: LGS INNOVATIONS LLC
Reel/Frame 032743/0584 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 032578/0952 →
SECURITY INTEREST Recorded Apr 1, 2014
From: LGS INNOVATIONS LLC
To: BANK OF AMERICA NA
Reel/Frame 032579/0066 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2011
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 026647/0132 →
MERGER Recorded Jul 18, 2011
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 026604/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2005
From: FLYNN, LORI ARLINE; THOMPSON, GERALD R.
To: LUCENT TECHNOLOGIES, INC.
Reel/Frame 016439/0825 →