IP Library Granted Patent US 12,118,075
Granted Patent B2
US 12,118,075 · App. 16/941,111 · Granted Oct 15, 2024

Methods and apparatus to improve detection of malware in executable code

Inventors: Brajesh Kumar (Bangalore, IN); Sumit Lohani (Bangalore, IN); Sidney Gomindes (Bangalore, IN)
Assignee: McAfee, LLC
G06F21/51G06F21/54G06F21/563G06F21/568G06N20/00
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 12,118,075
App. No.
16/941,111
Filed
Jul 28, 2020
Granted
Oct 15, 2024
Kind
B2
Art Unit
2498
USPC
726/24
Abstract

Methods, apparatus, systems, and articles of manufacture are disclosed to improve detection of malware in executable code. Examples disclosed herein include an apparatus comprising: a log file filtration controller to exclude at least one known clean function from a log file to generate a filtered log file; a log file normalization controller to normalize mnemonics of functions in the filtered log file to generate normalized functions; a feature vector generation controller to populate a feature vector with n-gram groupings of the normalized functions; and a machine learning engine to train a machine learning model with the feature vector, the machine learning model to be deployed to an end-user device to detect malware in executable code.

Claims (43)

1. An apparatus comprising:

a communication processor to access a log file, the log file including a memory dump of first functions corresponding to a first portable executable file that failed to execute in a sandbox environment;

a log file filtration controller to exclude at least one known clean function from the first functions of the log file to generate a filtered log file;

a log file normalization controller to generate normalized arguments of second functions of the filtered log file, the log file normalization controller to:

identify a first argument of a first function of the second functions of the filtered log file;

determine a data type of the first argument of the first function;

identify a placeholder representative of the data type of the first argument; and

replace the first argument of the first function with the placeholder representative of the data type of the first argument to generate a first normalized argument of the normalized arguments;

a feature vector generation controller to:

generate an empty version of a feature vector; and

after generating the empty version of the feature vector, populate the feature vector with n-gram groupings of the second functions having the normalized arguments; and

a machine learning engine to train, using stochastic gradient descent, a machine learning model with the feature vector, the machine learning model to be deployed to an end-user device to detect malware in a second portable executable file.

2. The apparatus of claim 1 , wherein the first functions include low-level programming language functions corresponding to the first portable executable file, and failure to execute the first portable executable file in the sandbox environment includes a crash of the first portable executable file at a computer implementing the sandbox environment.

3. The apparatus of claim 1 , wherein the n-gram groupings include bigram groupings.

4. The apparatus of claim 1 , wherein the feature vector is to reduce latency between a query of the machine learning model and an inference of whether the second portable executable file is malicious or benign.

5. A non-transitory computer readable storage medium comprising instructions which, when executed, cause one or more processors to at least:

access a log file, the log file including a memory dump of first functions corresponding to a first portable executable file that failed to execute in a sandbox environment;

exclude at least one known clean function from the first functions of the log file to generate a filtered log file including second functions;

identify a first argument of a first function of the second functions of the filtered log file;

determine a data type of the first argument of the first function;

identify a placeholder representative of the data type of the first argument;

replace the first argument of the first function with the placeholder representative of the data type of the first argument;

generate normalized arguments using at least the first replaced argument;

generate an empty version of a feature vector;

after generating the empty version of the feature vector, populate the feature vector with n-gram groupings of the second functions having the normalized arguments; and

train, using stochastic gradient descent, a machine learning model with the feature vector, the machine learning model to be deployed to an end-user device to detect malware in a second portable executable file.

6. The non-transitory computer readable storage medium of claim 5 , wherein the first functions include low-level programming language functions corresponding to the first portable executable file, and failure to execute the first portable executable file in the sandbox environment includes a crash of the first portable executable file at a computer implementing the sandbox environment.

7. The non-transitory computer readable storage medium of claim 5 , wherein the n-gram groupings include bigram groupings.

8. The non-transitory computer readable storage medium of claim 5 , wherein the feature vector is to reduce latency between a query of the machine learning model and an inference of whether the second portable executable file is malicious or benign.

9. An apparatus comprising:

means for processing communications to access a log file, the log file including a memory dump of first functions corresponding to a first portable executable file that failed to execute in a sandbox environment;

means for filtering log files to exclude at least one known clean function from the first functions of the log file to generate a filtered log file;

means for normalizing log files to generate normalized arguments of second functions of the filtered log file, the means for normalizing log files is to:

identify a first argument of a first function of the second functions of the filtered log file;

determine a data type of the first argument of the first function;

identify a placeholder representative of the data type of the first argument; and

replace the first argument of the first function with the placeholder representative of the data type of the first argument to generate a first normalized argument of the normalized arguments;

means for generating feature vectors to:

generate an empty version of a feature vector; and

after generating the empty version of the feature vector, populate the feature vector with n-gram groupings of the second functions having the normalized arguments; and

means for training a machine learning model using stochastic gradient descent based on the feature vector, the machine learning model to be deployed to an end-user device to detect malware in a second portable executable file.

10. The apparatus of claim 9 , wherein the first functions include low-level programming language functions corresponding to the first portable executable file, and failure to execute the first portable executable file in the sandbox environment includes a crash of the first portable executable file at a computer implementing the sandbox environment.

11. The apparatus of claim 9 , wherein the n-gram groupings include bigram groupings.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2020
From: KUMAR, BRAJESH; LOHANI, SUMIT; GOMINDES, SIDNEY
To: MCAFEE, LLC
Reel/Frame 053630/0851 →