IP Library › Granted Patent US 12,081,584
Granted Patent B2
US 12,081,584 · App. 17/645,925 · Granted Sep 3, 2024

Methods and apparatus to determine mutex entropy for malware classification

Inventors: Niall Fitzgerald (Mahon, IE); German Lancioni (San Jose, CA); Brian Gaither (Plano, TX)
Assignee: MCAFEE, LLC
H04L63/145G06F21/56G06F40/20H04L63/1416G06F40/279
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,081,584
App. No.
17/645,925
Granted
Sep 3, 2024
Kind
B2
Abstract

Methods, apparatus, systems, and articles of manufacture are disclosed to determine mutex entropy for malware classification. An example apparatus includes interface circuitry to access a mutex associated with a software application, the mutex to include a mutex identifier string, normalizer circuitry to normalize the mutex identifier string, character probability circuitry to determine character probabilities of characters within the normalized mutex identifier string, the character probabilities based on a historical mutex character distribution, entropy calculator circuitry to calculate an entropy value for the mutex based on the character probabilities, classifier circuitry to classify the mutex as clean or malicious based on the entropy value, and protector circuitry to mitigate malicious attacks based on the classification.

Claims (62)

1. An electrical system to determine mutex entropy for malware classification comprising:

interface circuitry to access a mutex associated with a software application, the mutex to include a mutex identifier string;

machine readable instructions; and

programmable circuitry to at least one of instantiate or execute the machine readable instructions to:

normalize the mutex identifier string;

determine character probabilities of characters within the normalized mutex identifier string, the character probabilities based on a historical mutex character distribution;

determine an entropy value for the mutex based on the character probabilities by calculating:

a natural log of a character probability from the character probabilities, the character probability associated with a character within the normalized mutex identifier string;

a quotient determined by the natural log of the character probability divided by the natural log of two; and

a product determined by the quotient multiplied with the character probability;

classify the mutex as clean or malicious based on the entropy value; and

mitigate malicious activity based on the classification.

2. The electrical system of claim 1 , wherein the historical mutex character distribution includes multiple character probabilities, a character probability from the multiple character probabilities to be associated with a character, the character probability to describe the probability that a randomly selected character from a historical data set of mutex identifier strings is the associated character.

3. The electrical system of claim 1 , wherein the product is a first product, further including multiple products associated with multiple characters within the normalized mutex identifier string, wherein the programmable circuitry is to calculate the entropy value through a negative summation of the first product and the multiple products.

4. The electrical system of claim 1 , wherein to classify the mutex, the programmable circuitry is to execute a model, the model trained using a deep learning architecture or a rules based heuristic algorithm, the model to accept the entropy value as an input.

5. The electrical system of claim 1 , wherein the mutex identifier string is written in a natural language and a programming language, wherein the programmable circuitry is to calculate the entropy value independently of the natural language and the programming language.

6. The electrical system of claim 1 , wherein to normalize the mutex identifier string, the programmable circuitry is to:

map multiple instances of a character and diacritic combination to a single character representation; and

remove non-differentiable characters.

7. The electrical system of claim 1 , wherein to mitigate malicious activity, the programmable circuitry is to set a caution flag.

8. The electrical system of claim 1 , wherein to mitigate malicious activity, the programmable circuitry is to block computational resources of the software application.

9. The apparatus electrical system of claim 1 , wherein to mitigate malicious activity, the programmable circuitry is to identify additional mutexes associated with the software application.

10. At least one non-transitory machine-readable medium comprising instructions that, when executed, cause at least one processor to at least:

access a mutex associated with a software application, the mutex to include a mutex identifier string;

normalize the mutex identifier string;

determine character probabilities of characters within the normalized mutex identifier string, the character probabilities based on a historical mutex character distribution;

determine an entropy value for the mutex based on the character probabilities by calculating:

a natural log of a character probability from the character probabilities, the character probability associated with a character within the normalized mutex identifier string;

a quotient determined by the natural log of the character probability divided by the natural log of two; and

a product determined by the quotient multiplied with the character probability;

classify the mutex as clean or malicious based on the entropy value; and

mitigate malicious activity based on the classification.

11. The at least one non-transitory machine-readable medium of claim 10 , wherein the historical mutex character distribution includes multiple character probabilities, a character probability from the multiple character probabilities to be associated with a character, the character probability to describe the probability that a randomly selected character from a historical data set of mutex identifier strings is the associated character.

12. The at least one non-transitory machine-readable medium of claim 10 , wherein the product is a first product, further including multiple products associated with multiple characters within the normalized mutex identifier string, wherein the instructions, when executed, cause the at least one processor to calculate the entropy value through a negative summation of the first product and the multiple products.

13. The at least one non-transitory machine-readable medium of claim 10 , wherein to classify the mutex, the instructions, when executed, cause the at least one processor to execute a model, the model trained using a deep learning architecture or a rules based heuristic algorithm, the model to accept the entropy value as an input.

14. The at least one non-transitory machine-readable medium of claim 10 , wherein the mutex identifier string is written in a natural language and a programming language, wherein the instructions, when executed, cause the at least one processor to calculate the entropy value independently of the natural language and the programming language.

15. The at least one non-transitory machine-readable medium of claim 10 , wherein to normalize the string, the instructions, when executed, cause the at least one processor to:

map multiple instances of a character and diacritic combination to a single character representation; and

remove non-differentiable characters.

16. The at least one non-transitory machine-readable medium of claim 10 , wherein to mitigate malicious activity, the instructions, when executed, cause the at least one processor to set a caution flag.

17. The at least one non-transitory machine-readable medium of claim 10 , wherein to mitigate malicious activity, the instructions, when executed, cause the at least one processor to block computational resources of the software application.

18. The at least one non-transitory machine-readable medium of claim 10 , wherein to mitigate malicious activity, the instructions, when executed, cause the at least one processor to identify additional mutexes associated with the software application.

19. A method to determine mutex entropy for malware classification, the method comprising:

accessing a mutex associated with a software application, the mutex to include a mutex identifier string;

normalizing the mutex identifier string;

determining character probabilities of characters within the normalized mutex identifier string, the character probabilities based on a historical mutex character distribution;

determining an entropy value for the mutex based on the character probabilities by calculating:

a natural log of a character probability from the character probabilities, the character probability associated with a character within the normalized mutex identifier string;

a quotient determined by the natural log of the character probability divided by the natural log of two; and

a product determined by the quotient multiplied with the character probability;

classifying the mutex as clean or malicious based on the entropy value; and

mitigating malicious activity based on the classification.

20. The method of claim 19 , wherein the historical mutex character distribution includes multiple character probabilities, a character probability from the multiple character probabilities to be associated with a character, the character probability to describe the probability that a randomly selected character from a historical data set of mutex identifier strings is the associated character.

21. The method of claim 19 , wherein the product is a first product, further including multiple products associated with multiple characters within the normalized mutex identifier string, further including calculating the entropy value through a negative summation of the first product and the multiple products.

22. The method of claim 19 , wherein classifying the mutex further includes executing a model, the model trained using a deep learning architecture or a rules based heuristic algorithm, the model to accept the entropy value as an input.

23. The method of claim 19 , wherein the mutex identifier string is written in a natural language and a programming language, further including calculating the entropy value independently of the natural language and the programming language.

24. The method of claim 19 , wherein normalizing the mutex identifier string further includes:

mapping multiple instances of a character and diacritic combination to a single character representation; and

removing non-differentiable characters.

25. The method of claim 19 , wherein mitigating malicious activity further includes setting a caution flag.

26. The method of claim 19 , wherein mitigating malicious activity further includes blocking computational resources of the software application.

27. The method of claim 19 , wherein mitigating malicious activity further includes identifying additional mutexes associated with the software application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: FITZGERALD, NIALL; LANCIONI, GERMAN; GAITHER, BRIAN
To: MCAFEE, LLC
Reel/Frame 059867/0139 →
Continuity (1)
Related Publication 20230208872A1 · Jun 29, 2023