IP Library Patent Application 14497757
Patent Application
App. No. 14/497,757

TAXONOMIC MALWARE DETECTION AND MITIGATION

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 None
App. No.
14/497,757
Abstract

In an example, a classification engine compares two binary objects to determine whether they can be classified as belonging to a common family. As an example application, the classification engine may be used to detect malware objects derived from a common ancestor. To classify the object, the binary is disassembled and the resulting assembly code is normalized. Known “clean” functions, such as compiler-generated library code, are filtered out. Normalized blocks of assembly code may then be characterized, such as by forming N-grams, and checksumming each N-gram. These may be compared to known malware routines.

Claims (49)

1 . A computing apparatus comprising:

a processor; and

one or more logic elements comprising a classification engine operable for:

disassembling an object under analysis;

creating an assembly language listing of the object under analysis;

comparing the assembly language listing to a known object, the known object belonging to a family in an object taxonomy; and

classifying the object under analysis as belonging to the family in the object taxonomy.

2 . The computing apparatus of claim 1 , wherein the classification engine is further operable for filtering known clean functions from the assembly language listing.

3 . The computing apparatus of claim 1 , wherein the classification engine is further operable for:

identifying at least one blacklisted function in the assembly language listing; and

designating the object under analysis as a blacklisted object.

4 . The computing apparatus of claim 1 , wherein the classification engine is further operable for creating a call trace of the assembly language listing.

5 . The computing apparatus of claim 1 , wherein the classification engine is further operable for normalizing instructions of the assembly language listing.

6 . The computing apparatus of claim 5 , wherein normalizing the assembly language listing comprises:

retaining operation codes or mnemonics; and

classifying operands.

7 . The computing apparatus of claim 6 , wherein classifying operands comprises classifying at least some operands as one of register, memory address, and constant.

8 . The computing apparatus of claim 5 , wherein instructions for the assembly language include semantics for at least some instructions, and wherein normalizing the assembly language listing comprises discarding operands for the at least some instructions including semantics.

9 . The computing apparatus of claim 1 , wherein the classification engine is further operable for performing N-gram analysis on the assembly language listing.

10 . The computing apparatus of claim 9 , wherein the classification engine is further operable for generating a hash of each N-gram of the N-gram analysis.

11 . The computing apparatus of claim 1 , wherein the classification engine is further operable for performing a similarity analysis for the object under analysis and the known object.

12 . The computing apparatus of claim 11 , wherein the similarity analysis comprises computing a Jaccard index.

13 . The computing apparatus of claim 1 , wherein the known object is a malware object.

14 . One or more computer-readable mediums having stored thereon executable instructions for instructing a processor for providing a classification engine operable for:

disassembling an object under analysis;

creating an assembly language listing of the object under analysis;

comparing the assembly language listing to a known object, the known object belonging to a family in an object taxonomy; and

classifying the object under analysis as belonging to the family in the object taxonomy.

15 . The one or more computer-readable mediums of claim 14 , wherein the classification engine is further operable for filtering known clean functions from the assembly language listing.

16 . The one or more computer-readable mediums of claim 14 , wherein the classification engine is further operable for:

identifying at least one blacklisted function in the assembly language listing; and

designating the object under analysis as a blacklisted object.

17 . The one or more computer-readable mediums of claim 14 , wherein the classification engine is further operable for creating a call trace of the object under analysis.

18 . The one or more computer-readable mediums of claim 14 , wherein the classification engine is further operable for normalizing instructions of the assembly language listing.

19 . The one or more computer-readable mediums of claim 18 , wherein normalizing the assembly language listing comprises:

retaining operation codes or mnemonics; and

classifying at least some operands as one of register, memory address, and constant.

20 . The one or more computer-readable mediums of claim 18 , wherein instructions for the assembly language include semantics for at least some instructions, and wherein normalizing the assembly language listing comprises discarding operands for the at least some instructions including semantics.

21 . The one or more computer-readable mediums of claim 14 , wherein the classification engine is further operable for performing N-gram analysis on the assembly language listing and generating a hash of each N-gram of the N-gram analysis.

22 . The one or more computer-readable mediums of claim 14 , wherein the classification engine is further operable for performing a similarity analysis for the object under analysis and the known object, wherein the similarity analysis comprises computing a Jaccard index.

23 . The one or more computer-readable mediums of claim 14 , wherein the known object is a malware object.

24 . A computer-implemented method of providing a classification engine, comprising:

disassembling an object under analysis;

creating a call trace of the object under analysis;

comparing the call trace to a known object, the known object belonging to a family in an object taxonomy; and

generating a multigraph of the object under analysis.

25 . The computer-implemented method of claim 24 , further comprising:

determining that the object under analysis does not match expectations according to the multigraph; and

designating the object under analysis as not belonging to the family in the object taxonomy.

Assignments (8)
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: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2014
From: MOHANDAS, RAHUL; LU, LIXIN; SUBRAMANIAN, SAKTHIKUMAR; MOHANKUMAR, SARAVANAN; TRIPATHI, ANAND; KUMAR, BHARATH; MISHRA, ASHISH; HUNT, SIMON; MANKIN, JENNIFER; ZIMMERMAN, JEFFREY
To: MCAFEE INC.
Reel/Frame 034706/0814 →