IP Library Granted Patent US 10,304,010
Granted Patent B2
US 10,304,010 · App. 15/610,191 · Granted May 28, 2019

Generation and use of trained file classifiers for malware detection

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 10,304,010
App. No.
15/610,191
Granted
May 28, 2019
Kind
B2
Abstract

A method includes receiving one or more n-gram vectors for a file as input to a file classifier, where the one or more n-gram vectors indicate occurrences of groups of entropy indicators in a sequence of entropy indicators representing the file. The method also includes generating, based on the one or more n-gram vectors, output including classification data associated with the file, the classification data indicating whether the file includes malware.

Claims (31)

1. A computing device comprising:

a memory configured to store instructions to execute a file classifier; and

a processor configured to execute the instructions from the memory to perform operations comprising:

receiving, via a network from a remote computing device, a feature vector representing a file stored in a memory of the remote computing device, the feature vector including an entropy indicator n-gram vector, the entropy indicator n-gram vector including data indicating occurrences of a plurality of n-grams in a sequence of entropy indicators representing the file, a first entropy indicator of the sequence of entropy indicators corresponding to a first bin name associated with a first range of entropy values, and a second entropy indicator of the sequence of entropy indicators corresponding to a second bin name associated with a second range of entropy values;

generating, based on the feature vector, output including classification data associated with the file, the classification data indicating whether the file includes malware; and

transmitting the classification data to the remote computing device via the network, wherein access to the file or execution of the file at the remote computing device is restricted responsive to the classification data indicating that the file includes malware.

2. The computing device of claim 1 , wherein the entropy indicator n-gram vector includes a Boolean vector indicating the occurrences of the plurality of n-grams in the sequence of entropy indicators.

3. The computing device of claim 1 , wherein the entropy indicator n-gram vector includes a vector of counts of the occurrences of the plurality of n-grams in the sequence of entropy indicators.

4. The computing device of claim 1 , wherein the entropy indicator n-gram vector includes a zero-skip n-gram vector indicating occurrences of groups of adjacent entropy indicators, and includes at least one skip n-gram vector indicating occurrences of groups of non-adjacent entropy indicators.

5. The computing device of claim 1 , wherein each entropy indicator represents an entropy value calculated for a respective chunk of data of the file.

6. The computing device of claim 1 , wherein the file classifier corresponds to a decision tree, a neural network, or a support vector machine.

7. The computing device of claim 1 , wherein each of the plurality of n-grams is a bigram or a trigram.

8. The computing device of claim 1 , wherein the operations further comprise generating printable characters corresponding to the file, and wherein the output is generated further based on the printable characters.

9. A method comprising:

receiving, via a network from a remote computing device, a feature vector representing a file stored in a memory of the remote computing device, the feature vector including an entropy indicator n-gram vector, the entropy indicator n-gram vector including data indicating occurrences of a plurality of n-grams in a sequence of entropy indicators representing the file, a first entropy indicator of the sequence of entropy indicators corresponding to a first bin name associated with a first range of entropy values, and a second entropy indicator of the sequence of entropy indicators corresponding to a second bin name associated with a second range of entropy values;

generating, based on the feature vector, output including classification data associated with the file, the classification data indicating whether the file includes malware; and

transmitting the classification data to the remote computing device via the network, wherein access to the file or execution of the file at the remote computing device is restricted responsive to the classification data indicating that the file includes malware.

10. The method of claim 9 , wherein the entropy indicator n-gram vector includes a Boolean vector indicating the occurrences of the plurality of n-grams in the sequence of entropy indicators.

11. The method of claim 9 , wherein the entropy indicator n-gram vector includes a vector of counts of the occurrences of the plurality of n-grams in the sequence of entropy indicators.

12. The method of claim 9 , wherein each n-gram of the plurality of n-grams represents an occurrence of a group of entropy indicators in a vector representing binned entropy values for chunks of data of the file.

13. The method of claim 9 , wherein the first bin name indicates that a first chunk of data of the file has a first calculated entropy value within the first range of entropy values and the second bin name indicates that a second chunk of data of the file has a second calculated entropy value within the second range of entropy values.

14. The method of claim 13 , wherein the first entropy indicator is adjacent to the second entropy indicator in the sequence of entropy indicators based on the first chunk of data being adjacent to the second chunk of data in the file.

15. A computer-readable storage device storing instructions that, when executed, cause a computer to perform operations comprising:

receiving, via a network from a remote computing device, a feature vector representing a file stored in a memory of the remote computing device, the feature vector including an entropy indicator n-gram vector, the entropy indicator n-gram vector including data indicating occurrences of a plurality of n-grams in a sequence of entropy indicators representing the file, a first entropy indicator of the sequence of entropy indicators corresponding to a first bin name associated with a first range of entropy values, and a second entropy indicator of the sequence of entropy indicators corresponding to a second bin name associated with a second range of entropy values;

generating, based on the feature vector, output including classification data associated with the file, the classification data indicating whether the file includes malware; and

transmitting the classification data to the remote computing device via the network, wherein access to the file or execution of the file at the remote computing device is restricted responsive to the classification data indicating that the file includes malware.

16. The computer-readable storage device of claim 15 , wherein the feature vector includes a zero-skip n-gram vector indicating occurrences of groups of adjacent entropy indicators in the sequence of entropy indicators, and includes at least one skip n-gram vector indicating occurrences of groups of non-adjacent entropy indicators in the sequence of entropy indicators.

17. The computer-readable storage device of claim 15 , wherein each entropy indicator represents an entropy value calculated for a respective chunk of data of the file.

18. The computer-readable storage device of claim 15 , wherein each n-gram of the plurality of n-grams represents an occurrence of a group of entropy indicators in a vector representing binned entropy values for chunks of data of the file.

19. The computer-readable storage device of claim 15 , wherein the feature vector further comprises one or more n-gram vectors indicating occurrences of character pairs in printable characters representing the file.

20. The computer-readable storage device of claim 19 , wherein the printable characters representing the file include American Standard Code for Information Interchange (ASCII) characters.

Assignments (4)
CHANGE OF NAME Recorded Jul 17, 2025
From: SPARKCOGNITION, INC.
To: AVATHON, INC.
Reel/Frame 072016/0432 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 4, 2024
From: ORIX GROWTH CAPITAL, LLC
To: SPARKCOGNITION, INC.
Reel/Frame 069300/0567 →
SECURITY INTEREST Recorded Apr 22, 2022
From: SPARKCOGNITION, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 059760/0360 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2017
From: SAI, NA
To: SPARKCOGNITION, INC.
Reel/Frame 042549/0098 →