IP Library Granted Patent US 10,230,749
Granted Patent B1
US 10,230,749 · App. 15/056,976 · Granted Mar 12, 2019

Automatically grouping malware based on artifacts

Inventors: Shadi Rostami-Hesarsorkh (Los Altos, CA); Sudarshan Vasudevan (Mountain View, CA); William Redington Hewlett, II (Mountain View, CA); Farshad Rostamabadi (Los Gatos, CA)
Assignee: Palo Alto Networks, Inc.
H04L63/1425G06F21/56G06F21/562G06F21/566G06N99/005G06F2221/034H04L63/0254
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,230,749
App. No.
15/056,976
Granted
Mar 12, 2019
Kind
B1
Abstract

Techniques for automatically grouping malware based on artifacts are disclosed. In some embodiments, a system, process, and/or computer program product for automatically grouping malware based on artifacts includes receiving a plurality of samples for performing automated malware analysis to generate log files based on the automated malware analysis; processing the log files to extract features associated with malware; clustering the plurality of samples based on the extracted features; and performing an action based on the clustering output.

Claims (54)

1. A computer-implemented method, comprising:

receiving a plurality of samples for performing automated malware analysis to generate log files based on the automated malware analysis;

processing the log files to extract features associated with malware, wherein each of the extracted features corresponds to a line or a sub-line in one or more of the log files determined to be an artifact associated with malware;

clustering the plurality of samples based on the extracted features, wherein clustering the plurality of samples based on the extracted features further comprises:

selecting one or more of the extracted features and assigning values to each indicator, wherein selecting one or more of the extracted features includes performing a pre-filtering operation to select the extracted features for clustering based on a threshold association between the line or the sub-line in the one or more of the log files and known malware;

collecting the assigned values in an array for each of the plurality of samples;

comparing the assigned values of the array between two of the plurality of samples; and

calculating a distance between the two samples, wherein the samples within a defined threshold of distance are clustered; and

performing an action based on an output of clustering the plurality of samples based on the extracted features, wherein the action based on the output of clustering the plurality of samples based on the extracted features further comprises validate the output of clustering the plurality of samples based on the extracted features based on tags to identify previously identified malware groups.

2. The method of claim 1 , wherein the extracted features correspond to high-risk artifacts, and wherein each high-risk artifact is determined to be associated with a malware sample based on the automated malware analysis.

3. The method of claim 1 , wherein performing automated malware analysis includes performing a dynamic analysis.

4. The method of claim 1 , wherein performing automated malware analysis includes performing a static analysis.

5. The method of claim 1 , further comprising:

clustering the plurality of samples based on the extracted features using a decision tree clustering process.

6. The method of claim 1 , further comprising:

clustering the plurality of samples based on the extracted features using a k-means++ clustering process.

7. A system, comprising:

a processor configured to:

receive a plurality of samples for performing automated malware analysis to generate log files based on the automated malware analysis;

process the log files to extract features associated with malware, wherein each of the extracted features corresponds to a line or a sub-line in one or more of the log files determined to be an artifact associated with malware;

cluster the plurality of samples based on the extracted features, wherein clustering the plurality of samples based on the extracted features further comprises:

select one or more of the extracted features and assigning values to each indicator, wherein selecting one or more of the extracted features includes performing a pre-filtering operation to select the extracted features for clustering based on a threshold association between the line or the sub-line in the one or more of the log files and known malware;

collect the assigned values in an array for each of the plurality of samples;

compare the assigned values of the array between two of the plurality of samples; and

calculate a distance between the two samples, wherein the samples within a defined threshold of distance are clustered; and

perform an action based on an output of clustering the plurality of samples based on the extracted features, wherein the action based on the output of clustering the plurality of samples based on the extracted features further comprises validate the output of clustering the plurality of samples based on the extracted features based on tags to identify previously identified malware groups; and

a memory coupled to the processor and configured to provide the processor with instructions.

8. The system recited in claim 7 , wherein the extracted features correspond to high-risk artifacts, and wherein each high-risk artifact is determined to be associated with a malware sample based on the automated malware analysis.

9. The system recited in claim 7 , wherein performing automated malware analysis includes performing a dynamic analysis.

10. The system recited in claim 7 , wherein performing automated malware analysis includes performing a static analysis.

11. The system recited in claim 7 , wherein a log file for a sample comprises one or more lines based on results of the automated malware analysis for the sample.

12. The system recited in claim 7 , wherein the processor is further configured to:

cluster the plurality of samples based on the extracted features using a decision tree clustering process.

13. The system recited in claim 7 , wherein the processor is further configured to:

cluster the plurality of samples based on the extracted features using a k-means++ clustering process.

14. The system recited in claim 7 , wherein the processor is further configured to:

cluster the plurality of samples based on the extracted features using a decision tree clustering process; and

cluster the plurality of samples based on the extracted features using a k-means++ clustering process.

15. A computer program product, the computer program product being embodied in a non-transitory tangible computer readable storage medium and comprising computer instructions for:

receiving a plurality of samples for performing automated malware analysis to generate log files based on the automated malware analysis;

processing the log files to extract features associated with malware, wherein each of the extracted features corresponds to a line or a sub-line in one or more of the log files determined to be an artifact associated with malware;

clustering the plurality of samples based on the extracted features, wherein clustering the plurality of samples based on the extracted features further comprises:

selecting one or more of the extracted features and assigning values to each indicator, wherein selecting one or more of the extracted features includes performing a pre-filtering operation to select the extracted features for clustering based on a threshold association between the line or the sub-line in the one or more of the log files and known malware;

collecting the assigned values in an array for each of the plurality of samples;

comparing the assigned values of the array between two of the plurality of samples; and

calculating a distance between the two samples, wherein the samples within a defined threshold of distance are clustered; and

performing an action based on an output of clustering the plurality of samples based on the extracted features, wherein the action based on the output of clustering the plurality of samples based on the extracted features further comprises validate the output of clustering the plurality of samples based on the extracted features based on tags to identify previously identified malware groups.

16. The computer program product recited in claim 15 , wherein the extracted features correspond to high-risk artifacts, and wherein each high-risk artifact is determined to be associated with a malware sample based on the automated malware analysis.

17. The computer program product recited in claim 15 , wherein performing automated malware analysis includes performing a dynamic analysis.

18. The computer program product recited in claim 15 , wherein performing automated malware analysis includes performing a static analysis.

19. The computer program product recited in claim 15 , further comprising computer instructions for:

clustering the plurality of samples based on the extracted features using a decision tree clustering process.

20. The computer program product recited in claim 15 , further comprising computer instructions for:

clustering the plurality of samples based on the extracted features using a k-means++ clustering process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2016
From: ROSTAMI-HESARSORKH, SHADI; VASUDEVAN, SUDARSHAN; HEWLETT, WILLIAM REDINGTON, II; ROSTAMABADI, FARSHAD
To: PALO ALTO NETWORKS, INC.
Reel/Frame 038608/0271 →
Cited By (9)
US 12,189,779 US 12,292,971 US 12,399,994 US 12,455,814 US 12,488,283 US 12,488,286 US 12,572,854 US 12,591,684 US 12,688,305