IP Library Granted Patent US 6,980,992
Granted Patent B1
US 6,980,992 · App. 09/916,714 · Granted Dec 27, 2005

Tree pattern system and method for multiple virus signature recognition

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 6,980,992
App. No.
09/916,714
Granted
Dec 27, 2005
Kind
B1
Abstract

A system, method and computer program product are provided for recognizing virus signatures. Initially, a list of virus signatures is provided. Next, the list of virus signatures is combined into a tree of virus signatures. Data is subsequently compared against the tree of virus signatures for virus signature recognition.

Claims (62)

1. A method for recognizing virus signatures, comprising

(a) identifying a list of virus signatures;

(b) combining the list of virus signatures into a tree of virus signatures; and

(c) comparing data against the tree of virus signatures for virus signature recognition;

wherein the virus signatures each include a sequence of characters;

wherein the tree includes a plurality of branches each including a sequence of characters;

wherein a portion of the branches corresponds to a plurality of the virus signatures;

wherein the efficiency of the virus signature recognition is improved by reducing an amount of virus signature data that is compared against the data;

wherein the branches include further sub-branches each corresponding to at least one virus signature;

wherein the branches include upper branch portions and lower branch portions;

wherein a pointer associated with a node of the tree is removed, if only one pointer exists, and an internal data structure includes a flag to indicate such removal.

2. The method as recited in claim 1 , wherein the characters include wildcards.

3. The method as recited in claim 1 , wherein the characters of the tree of virus signatures are obfuscated to prevent detection by the comparison.

4. The method as recited in claim 3 , wherein the obfuscation prevents accidental self-detection of the tree of virus signatures.

5. The method as recited in claim 4 , wherein the obfuscation is accomplished utilizing an exclusive-OR operation.

6. The method as recited in claim 1 , wherein the comparing includes comparing the data against the upper branch portions of the tree.

7. The method as recited in claim 6 , wherein the comparing further includes comparing the data against the lower branch portions of the tree if the data was successfully compared to the upper branch portions associated with the lower branch portions.

8. The method as recited in claim 7 , wherein a virus signature is determined to be recognized upon the successful comparison of the data against an entirety of at least one branch that includes all of the characters of one of the virus signatures.

9. The method as recited in claim 7 , wherein data is eligible to be declared clean upon the unsuccessful comparison of the data against an entirety of at least one branch that includes all of the characters of one of the virus signatures.

10. The method as recited in claim 1 , wherein pre-processing is performed prior to use of the tree of virus signatures.

11. The method as recited in claim 10 , wherein the pre-processing includes finding a correct location in a file where a virus resides, decryption, and emulation.

12. The method as recited in claim 1 , wherein the virus signature recognition is improved since comparison of similar portions of the virus signatures with the data more than once is avoided.

13. A computer program product embodied on a computer readable medium for recognizing virus signatures, comprising

(a) computer code for identifying a list of virus signatures;

(b) computer code for combining the list of virus signatures into a tree of virus signatures; and

(c) computer code for comparing data against the tree of virus signatures for virus signature recognition;

wherein the virus signatures each include a sequence of characters;

wherein the tree includes a plurality of branches each including a sequence of characters;

wherein a portion of the branches corresponds to a plurality of the virus signatures;

wherein the efficiency of the virus signature recognition is improved by reducing an amount of virus signature data that is compared against the data;

wherein the branches include further sub-branches each corresponding to at least one virus signature;

wherein the branches include upper branch portions and lower branch portions;

wherein a pointer associated with a node of the tree is removed, if only one pointer exists, and an internal data structure includes a flag to indicate such removal.

14. The computer program product as recited in claim 13 , wherein the characters include wildcards.

15. The computer program product as recited in claim 13 , wherein the characters of the tree of virus signatures are obfuscated to prevent detection by the comparison.

16. The computer program product as recited in claim 13 , wherein the comparing includes comparing the data against the upper branch portions of the tree.

17. The computer program product as recited in claim 16 , wherein the comparing further includes comparing the data against the lower branch portions of the tree if the data was successfully compared to the upper branch portions associated with the lower branch portions.

18. The computer program product as recited in claim 17 , wherein a virus signature is determined to be recognized upon the successful comparison of the data against an entirety of at least one branch that includes all of the characters of one of the virus signatures.

19. The computer program product as recited in claim 17 , wherein data is eligible to be declared clean upon the unsuccessful comparison of the data against an entirety of at least one branch that includes all of the characters of one of the virus signatures.

20. A system for recognizing virus signatures, comprising

(a) logic for identifying a list of virus signatures;

(b) logic for combining the list of virus signatures into a tree of virus signatures; and

(c) logic for comparing data against the tree of virus signatures for virus signature recognition;

wherein the virus signatures each include a sequence of characters;

wherein the tree includes a plurality of branches each including a sequence of characters;

wherein a portion of the branches corresponds to a plurality of the virus signatures;

wherein the efficiency of the virus signature recognition is improved by reducing an amount of virus signature data that is compared against the data;

wherein the branches include further sub-branches each corresponding to at least one virus signature;

wherein the branches include upper branch portions and lower branch portions;

wherein a pointer associated with a node of the tree is removed if only one pointer exists, and an internal data structure includes a flag to indicate such removal.

21. A method for recognizing virus signatures with improved efficiency, comprising

(a) identifying a list of virus signatures each including a sequence of characters;

(b) combining the list of virus signatures into a tree of virus signatures including a plurality of branches each including a sequence of characters, wherein at least a portion of the branches includes upper branch portions and lower branch portions;

(c) obfuscating the sequence of characters in the tree of virus signatures;

(d) comparing the data against the upper branch portions of the tree;

(e) comparing the data against the lower branch portions of the tree if the data was successfully compared to the upper branch portions associated with the lower branch portions;

(f) declaring a virus signature to be recognized upon the successful comparison of the data against an entirety of at least one branch of the tree that includes all of the characters of one of the virus signatures; and

(g) determining that the data is eligible to be declared clean upon the unsuccessful comparison of the data against an entirety of at least one branch of the tree that includes all of the characters of one of the virus signatures;

wherein a portion of the branches corresponds to a plurality of the virus signatures;

wherein the efficiency of the virus signature recognition is improved by reducing an amount of virus signature data that is compared against the data;

wherein the branches include further sub-branches each corresponding to at least one virus signature;

wherein a pointer associated with a node of the tree is removed, if only one pointer exists, and an internal data structure includes a flag to indicate such removal.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
MERGER Recorded Jun 23, 2005
From: NETWORKS ASSOCIATES TECHNOLOGY, INC.
To: MCAFEE, INC.
Reel/Frame 016646/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2001
From: HURSEY, NEIL JOHN; MCEWAN, WILLIAM ALEXANDER
To: NETWORKS ASSOCIATES TECHNOLOGY, INC.
Reel/Frame 012031/0415 →