IP Library › Granted Patent US 12,443,712
Granted Patent B2
US 12,443,712 · App. 17/645,921 · Granted Oct 14, 2025

Methods and apparatus to classify samples as clean or malicious using low level Markov transition matrices

Inventors: German Lancioni (San Jose, CA); Carl Woodward (Santa Clara, CA); Jonathan Edwards (Portland, OR)
Assignee: McAfee, LLC
G06F21/566G06F21/56G06F21/567G06N7/01G06F2221/033
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,443,712
App. No.
17/645,921
Granted
Oct 14, 2025
Kind
B2
Abstract

Methods, apparatus, systems, and articles of manufacture are disclosed to classify a sample as clean or malicious. An example apparatus includes instruction identifies circuitry to convert a sample into a sequence of instructions, abstract language circuitry to transform the sequence of instructions into an abstract language representation, transition matrix circuitry to create a Markov transition matrix, the Markov transition matrix to represent transitions within the abstract language representation, and classifier circuitry to classify an unknown sample as clean or malicious, the classification in response to whether the Markov transition matrix is closer to a clean group of Markov transition matrices or a malicious group of Markov transition matrices.

Claims (60)

1. An apparatus to classify samples as clean or malicious, the apparatus comprising:

memory;

machine readable instructions; and

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

disassemble a known portable executable (PE) file that is not malicious into first instructions, the first instructions including first operation codes that are compatible with a first processor architecture;

transform the first instructions into a first sequence of states within an abstract language representation, the first sequence of states based on one more of the first operation codes;

create a first Markov transition matrix to represent transitions within the first sequence of states;

disassemble an unknown PE file into second instructions, the second instructions including second operation codes that are compatible with a second processor architecture but are not compatible with the first processor architecture;

transform the second instructions into a second sequence of states within the same abstract language representation, the second sequence of states based on one or more of the second operation codes;

create a second Markov transition matrix to represent transitions within the second sequence of states;

identify a clean group of Markov transition matrices from a corpus of clean groups, the second Markov transition matrix being more similar to the identified clean group than other clean groups within the corpus of clean groups, the corpus of clean groups to include the first Markov transition matrix;

identify a malicious group of Markov transition matrices from a corpus of malicious groups, the second Markov transition matrix being more similar to the identified malicious group than other malicious groups within the malicious groups;

classify the unknown PE file as clean or malicious, the classification in response to whether the second Markov transition matrix is closer to the identified clean group of Markov transition matrices or the identified malicious group of Markov transition matrices; and

perform an action responsive to a determination that the classified PE file is malicious.

2. The apparatus of claim 1 , wherein the machine readable instructions cause the processor circuitry to calculate:

a first difference value between the second Markov transition matrix and the clean group of Markov transition matrices; and

a second difference value between the second Markov transition matrix and the malicious group of Markov transition matrices.

3. The apparatus of claim 2 , wherein the second Markov transition matrix is closer to the clean group of Markov transition matrices if the first difference value is lower than the second difference value.

4. The apparatus of claim 3 , wherein the machine readable instructions cause the processor circuitry to classify the unknown PE file as clean if the first difference value meets a first threshold.

5. The apparatus of claim 2 , wherein the machine readable instructions cause the processor circuitry to add the unknown PE file to the clean group of Markov transition matrices, the addition in response to the first difference value meeting a second threshold.

6. The apparatus of claim 1 , wherein the second Markov transition matrix is a first order matrix.

7. The apparatus of claim 1 , wherein the second Markov transition matrix is of an order higher than one.

8. The apparatus of claim 1 , wherein;

the instructions cause the processor circuitry to implement a clustering algorithm to group the second operation codes into the second sequence of states within the abstract language representation.

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

disassemble a known portable executable (PE) file that is not malicious into first instructions, the first instructions including first operation codes that are compatible with a first processor architecture;

transform the first instructions into a first sequence of states within an abstract language representation, the first sequence of states based on one more of the first operation codes;

create a first Markov transition matrix to represent transitions within the first sequence of states;

disassemble an unknown PE file into second instructions, the second instructions including second operation codes that are compatible with a second processor architecture but are not compatible with the first processor architecture;

transform the second instructions into a second sequence of states within the same abstract language representation, the second sequence of states based on one or more of the second operation codes;

create a second Markov transition matrix to represent transitions within the second sequence of states;

identify a clean group of Markov transition matrices from a corpus of clean groups, the second Markov transition matrix being more similar to the identified clean group than other clean groups within the corpus of clean groups, the corpus of clean groups to include the first Markov transition matrix;

identify a malicious group of Markov transition matrices from a corpus of malicious groups, the second Markov transition matrix being more similar to the identified malicious group than other malicious groups within the malicious groups;

classify the unknown PE file as clean or malicious, the classification in response to whether the second Markov transition matrix is closer to the identified clean group of Markov transition matrices or the identified malicious group of Markov transition matrices; and

perform an action responsive to a determination that the classified PE file is malicious.

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

a first difference value between the second Markov transition matrix and the clean group of Markov transition matrices; and

a second difference value between the second Markov transition matrix and the malicious group of Markov transition matrices.

11. The at least one non-transitory machine-readable medium of claim 10 , wherein the second Markov transition matrix is closer to the clean group of Markov transition matrices if the first difference value is lower than the second difference value.

12. The at least one non-transitory machine-readable medium of claim 11 , wherein the instructions, when executed, cause the at least one processor to classify the unknown PE file as clean if the first difference value meets a first threshold.

13. The at least one non-transitory machine-readable medium of claim 10 , wherein the instructions, when executed, cause the at least one processor to add the unknown PE file to the clean group of Markov transition matrices, the addition in response to the first difference value meeting a second threshold.

14. The at least one non-transitory machine-readable medium of claim 9 , wherein the second Markov transition matrix is a first order matrix.

15. The at least one non-transitory machine-readable medium of claim 9 , wherein the second Markov transition matrix is of an order higher than one.

16. A method to classify a portable executable (PE) file as clean or malicious, the method comprising:

disassembling a known portable executable (PE) file that is not malicious into first instructions, the first instructions including first operation codes that are compatible with a first processor architecture;

transforming the first instructions into a first sequence of states within an abstract language representation, the first sequence of states based on one more of the first operation codes;

create a first Markov transition matrix to represent transitions within the first sequence of states;

disassembling an unknown PE file into second instructions, the second instructions including second operation codes that are compatible with a second processor architecture but are not compatible with the first processor architecture;

transforming the second instructions into a second sequence of states within the same abstract language representation, the second sequence of states based on one or more of the second operation codes;

creating a second Markov transition matrix to represent transitions within the second sequence of states;

identifying a clean group of Markov transition matrices from a corpus of clean groups, the second Markov transition matrix being more similar to the identified clean group than other clean groups within the corpus of clean groups, the corpus of clean groups to include the first Markov transition matrix;

identifying a malicious group of Markov transition matrices from a corpus of malicious groups, the second Markov transition matrix being more similar to the identified malicious group than other malicious groups within the malicious groups;

classifying an unknown PE file as clean or malicious, the classification in response to whether the second Markov transition matrix is closer to a clean group of Markov transition matrices or a malicious group of Markov transition matrices; and

performing an action responsive to a determination that the classified PE file is malicious.

17. The method of claim 16 , further including calculating:

a first difference value between the second Markov transition matrix and the clean group of Markov transition matrices; and

a second difference value between the second Markov transition matrix and the malicious group of Markov transition matrices.

18. The method of claim 17 , wherein the second Markov transition matrix is closer to the clean group of Markov transition matrices if the first difference value is lower than the second difference value.

19. The method of claim 17 , further including classifying the unknown PE file as clean if the first difference value meets a first threshold.

20. The method of claim 17 , further including adding the unknown PE file to the clean group of Markov transition matrices, the addition in response to the first difference value meeting a second threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2022
From: LANCIONI, GERMAN; WOODWARD, CARL; EDWARDS, JONATHAN
To: MCAFEE, LLC
Reel/Frame 059990/0113 →
Continuity (2)
Provisional Application 63227305 · Jul 29, 2021
Related Publication 20230032194A1 · Feb 2, 2023
References Cited (20)
US 8621626B2 · Alme · 2013 [cited by applicant]
US 10924503B1 · Pereira et al. · 2021 [cited by applicant]
US 20130326625A1 · Anderson · 2013 [cited by examiner]
US 20160098561A1 · Keller et al. · 2016 [cited by applicant]
US 20160132521A1 · Reininger et al. · 2016 [cited by applicant]
US 20170126736A1 · Urias · 2017 [cited by examiner]
US 20190026466A1 · Krasser · 2019 [cited by examiner]
US 20190199736A1 · Howard et al. · 2019 [cited by applicant]
US 20230029679A1 · Lancioni et al. · 2023 [cited by applicant]
US 20230030136A1 · Lancioni et al. · 2023 [cited by applicant]
US 20230171277A1 · Giaconi · 2023 [cited by examiner]
CN 110991538A · 2020 [cited by applicant]
D'Elia, D.C., Coppa, E., Palmaro, F. and Cavallaro, L., 2020. On the dissection of evasive malware. IEEE Transactions on Information Forensics and Security, 15, pp. 2750-2765. (Year: 2020). [cited by examiner]
Alaeiyan, M., Dehghantanha, A., Dargahi, T., Conti, M. and Parsa, S., 2020. A multilabel fuzzy relevance clustering system for malware attack attribution in the edge layer of cyber-physical networks. ACM Transactions on… [cited by examiner]
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 17/566,760, dated Dec. 7, 2023, 11 pages. [cited by applicant]
United States Patent and Trademark Office, “Notice of Allowance and Fee(s) Due,” issued in connection with U.S. Appl. No. 17/566,760, mailed on Jun. 11, 2024, 11 pages. [cited by applicant]
United States Patent and Trademark Office, “Non-Final Office Action,” issued in connection with U.S. Appl. No. 17/561,475 dated Mar. 14, 2024, 11 pages. [cited by applicant]
United States Patent and Trademark Office, “Final Office Action,” issued in connection with U.S. Appl. No. 17/566,760, dated Apr. 29, 2024, 11 pages. [cited by applicant]
United States Patent and Trademark Office, “Notice of Allowance and Fee(s) Due,” issued in connection with U.S. Appl. No. 17/561,475, mailed on Aug. 30, 2024, 6 pages. [cited by applicant]
United States Patent and Trademark Office, “Corrected Notice of Allowability,” issued in connection with U.S. Appl. No. 17/561,475, mailed on Sep. 11, 2024, 3 pages. [cited by applicant]