IP Library Granted Patent US 9,213,838
Granted Patent B2
US 9,213,838 · App. 13/594,702 · Granted Dec 15, 2015

Systems and methods of processing data associated with detection and/or handling of malware

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 9,213,838
App. No.
13/594,702
Granted
Dec 15, 2015
Kind
B2
Abstract

The present disclosure relates to malware and, more particularly, towards systems and methods of processing information associated with detecting and handling malware. According to certain illustrative implementations, methods of processing malware are disclosed. Moreover, such methods may include one or more of unpacking and/or decrypting malware samples, dynamically analyzing the samples, disassembling and/or reverse engineering the samples, performing static analysis of the samples, determining latent logic execution path information regarding the samples, classifying the samples, and/or providing intelligent report information regarding the samples.

Claims (75)

1. A method implemented on a computing system for analyzing a sample of code for malware, the method comprising:

performing, by an analyzer of the computing system, at least one of unpacking or decrypting the sample;

running the sample in a native operating system (OS) environment, wherein the sample is run in parallel with one or more other samples running in respective native OS environments;

recording behavior information indicating behavior of the sample during the running;

reverse engineering the sample into disassembled source code;

performing a static analysis of the disassembled source code, wherein the performing the static analysis includes comparing logic execution paths in the disassembled source code with previously executed logic execution paths indicated by the behavior information to determine latent logic execution path information associated with the disassembled source code;

providing intelligent report information regarding the sample and each latent logic execution path in the sample, wherein the report information includes malware current payloads and any payload information regarding potential payloads that are hidden in latent code; and

generating an intelligent report regarding the behavior of the sample.

2. The method of claim 1 , further comprising classifying the sample, wherein the classifying the sample includes determining a malware family to which the sample belongs.

3. A system for analyzing a sample of code for malware, the system comprising:

at least one processor;

at least one memory element coupled to the at least one processor; and

at least one module adapted, when executed by the at least one processor, to:

perform at least one of unpacking or decrypting the sample;

run the sample in a native operating system (OS) environment, wherein the sample is run in parallel with one or more other samples running in respective native OS environments;

record behavior information indicating behavior of the sample when running;

reverse engineer the sample into disassembled source code;

perform a static analysis of the disassembled source code, wherein the static analysis is performed by comparing logic execution paths in the disassembled source code with previously executed logic execution paths indicated by the behavior information to determine latent logic execution path information associated with the disassembled source code;

provide intelligent report information regarding the sample and each latent logic execution path in the sample, wherein the report information includes malware current payloads and any payload information regarding potential payloads that are hidden in latent code; and

generate an intelligent report regarding the behavior of the sample.

4. The system of claim 3 , wherein the at least one module is adapted, when executed by the at least one processor, to classify the sample, wherein the sample is classified at least in part by determining a malware family to which the sample belongs.

5. At least one non-transitory computer-readable medium comprising instructions to analyze a sample of code for malware, wherein the instructions, when executed by at least one processor, cause the at least one processor to:

perform at least one of unpacking or decrypting the sample;

run the sample in a native operating system (OS) environment, wherein the sample is run in parallel with one or more other samples running in respective native OS environments;

record behavior information indicating behavior of the sample when running;

reverse engineer the sample into disassembled source code;

perform a static analysis of the disassembled source code, wherein performing the static analysis includes comparing logic execution paths in the disassembled source code with previously executed logic execution paths indicated by the behavior information to determine latent logic execution path information associated with the disassembled source code;

provide intelligent report information regarding the sample and each latent logic execution path in the sample, wherein the report information includes malware current payloads and any payload information regarding potential payloads that are hidden in latent code; and

generate an intelligent report regarding the behavior of the sample.

6. The at least one non-transitory computer-readable medium of claim 5 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to classify the sample, wherein the sample is classified at least in part by determining a malware family to which the sample belongs.

7. A method for analyzing a sample of code for malware, the method comprising:

hosting multiple operating systems (OSes) on a multiple core central processor unit (CPU) system, wherein each OS is associated with a respective analyzer of multiple analyzers configured to run in parallel on the CPU system;

providing a native application environment for each OS in which malware may be executed;

identifying which analyzer is available to analyze the sample;

providing the sample to the identified analyzer;

performing at least one of unpacking or decrypting the sample;

running the sample in a native operating system (OS) environment associated with the identified analyzer, wherein the sample is run in parallel with one or more other samples running in respective native OS environments;

recording behavior information indicating behavior of the sample when running;

reverse engineering the sample into disassembled source code;

performing a static analysis of the disassembled source code to determine latent logic execution path information associated with the disassembled source code;

providing intelligent report information regarding the sample and each latent logic execution path in the sample, wherein the report information includes malware current payloads and any payload information regarding potential payloads that are hidden in latent code; and

generating an intelligent report regarding the behavior of the sample.

8. The method of claim 7 , further comprising classifying the sample, wherein the classifying the sample includes determining a malware family to which the sample belongs.

9. The method of claim 7 , wherein the latent logic execution path information is determined by comparing logic execution paths in the disassembled source code with previously executed logic execution paths indicated by the behavior information.

10. A system for analyzing a sample of code for malware, the system comprising:

at least one processor;

at least one memory element coupled to the at least one processor; and

at least one module adapted, when executed by the at least one processor, to:

host multiple operating systems (OSes) on a multiple core central processor unit (CPU) system, wherein each OS is associated with a respective analyzer of multiple analyzers configured to run in parallel on the CPU system;

provide a native application environment for each OS in which malware may be executed;

identify which analyzer is available to analyze the sample;

provide the sample to the identified analyzer;

perform at least one of unpacking or decrypting the sample;

run the sample in a native operating system (OS) environment associated with the identified analyzer, wherein the sample is run in parallel with one or more other samples running in respective native OS environments;

record behavior information indicating behavior of the sample when running;

reverse engineer the sample into disassembled source code;

perform a static analysis of the disassembled source code to determine latent logic execution path information associated with the disassembled source code;

provide intelligent report information regarding the sample and each latent logic execution path in the sample, wherein the report information includes malware current payloads and any payload information regarding potential payloads that are hidden in latent code; and

generate an intelligent report regarding the behavior of the sample.

11. The system of claim 10 , wherein the latent logic execution path information is determined by comparing logic execution paths in the disassembled source code with previously executed logic execution paths indicated by the behavior information.

12. The system of claim 10 , wherein the at least one module is adapted, when executed by the at least one processor, to classify the sample, wherein the sample is classified at least in part by determining a malware family to which the sample belongs.

13. At least one non-transitory computer-readable medium comprising instructions to analyze a sample of code for malware, wherein the instructions, when executed by at least one processor, cause the at least one processor to:

host multiple operating systems (OSes) on a multiple core central processor unit (CPU) system, wherein each OS is associated with a respective analyzer of multiple analyzers configured to run in parallel on the CPU system;

provide a native application environment for each OS in which malware may be executed;

identify which analyzer is available to analyze the sample;

provide the sample to the identified analyzer;

perform at least one of unpacking or decrypting the sample;

run the sample in a native operating system (OS) environment associated with the identified analyzer, wherein the sample is run in parallel with one or more other samples running in respective native OS environments;

record behavior information indicating behavior of the sample when running;

reverse engineer the sample into disassembled source code;

perform a static analysis of the disassembled source code to determine latent logic execution path information associated with the disassembled source code;

provide intelligent report information regarding the sample and each latent logic execution path in the sample, wherein the report information includes malware current payloads and any payload information regarding potential payloads that are hidden in latent code; and

generate an intelligent report regarding the behavior of the sample.

14. The at least one non-transitory computer-readable medium of claim 13 , wherein the latent logic execution path information is determined by comparing logic execution paths in the disassembled source code with previously executed logic execution paths indicated by the behavior information.

15. The at least one non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to classify the sample, wherein the sample is classified at least in part by determining a malware family to which the sample belongs.

Assignments (10)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2013
From: LYNUXWORKS, INCORPORATED
To: MCAFEE IRELAND HOLDINGS LIMITED
Reel/Frame 029916/0766 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2012
From: LU, LIXIN
To: LYNUXWORKS, INCORPORATED
Reel/Frame 029048/0514 →