IP Library › Granted Patent US 11,481,492
Granted Patent B2
US 11,481,492 · App. 15/659,403 · Granted Oct 25, 2022

Method and system for static behavior-predictive malware detection

Inventors: Wen-Kwang Tsao (Shin-I, TW); Chia-Yen Chang (Taipei, TW); PingHuan Wu (Taipei, TW)
Assignee: TREND MICRO INCORPORATED
G06F21/563G06F21/566H04L63/1425
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 11,481,492
App. No.
15/659,403
Granted
Oct 25, 2022
Kind
B2
Abstract

Disclosed are a method and system for static behavior-predictive malware detection. The method and system use a transfer learning model from behavior prediction to malware detection based on static features. In accordance with an embodiment, machine learning is used to capture the relations between static features, behavior features, and other context information. For example, the machine learning may be implemented with a deep learning network model with multiple embedded layers pre-trained with metadata gathered from various resources, including sandbox logs, simulator logs and context information. Synthesized behavior-related static features are generated by projecting the original static features to the behavior features. A final static model may then be trained using the combination of the original static features and the synthesized features as the training data. The detection stage may be performed in real time with static analysis because only static features are needed. Other embodiments and features are disclosed.

Claims (45)

1. A computer-implemented method of static behavior-predictive malware detection, the method comprising:

receiving a sample of code data, wherein the sample comprises an unknown sample;

extracting first static features from the sample, wherein the first static features are extracted from content of the sample and comprise a first set of character counts and/or word counts from the content of the sample;

inputting the first static features to a first network trained by machine learning to generate behavior-predictive static features, wherein the behavior-predictive static features comprise a second set of character counts and/or word counts from the content of the sample;

inputting the first static features and the behavior-predictive static features to a second network trained by machine learning to obtain a malicious score;

comparing the malicious score with a threshold to determine whether to label the sample as malicious; and

applying malicious label data to the sample when the malicious score is above the threshold.

2. The computer-implemented method of claim 1 , wherein the behavior-predictive static features relate to actions performed by the sample when the sample is executed.

3. The computer-implemented method of claim 1 , wherein the first network is an artificial neural network.

4. The computer-implemented method of claim 1 , wherein the second network is an artificial neural network.

5. The computer-implemented method of claim 3 , wherein the first network is trained during a pre-training stage.

6. The computer-implemented method of claim 4 , wherein the second network is trained during a training stage that is after the pre-training stage.

7. The computer-implemented method of claim 5 , wherein the pre-training stage uses static features extracted from known samples as input data and behavior features, which are obtained by executing instruction code of the known sample in a protected environment, as output data.

8. The computer-implemented method of claim 6 , wherein the training stage uses the first static features and the behavior-predictive static features of known samples as input data and malicious labels of the known samples as output data.

9. A non-transitory computer-readable storage medium comprising instructions stored thereon, that when executed by a processor, perform a method of static behavior-predictive malware detection comprising the steps of:

receiving a sample of code data;

extracting first static features from the sample, wherein the first static features are extracted from content of the sample and comprise a first set of character counts and/or word counts from the content of the sample;

inputting the first static features to a first network trained by machine learning to generate behavior-predictive static features, wherein the behavior-predictive static features comprise a second set of character counts and/or word counts from the content of the sample;

inputting the first static features and the behavior-predictive static features to a second network trained by machine learning to obtain a malicious score;

comparing the malicious score with a threshold to determine whether to label the sample as malicious; and

applying malicious label data to the sample of code data when the malicious score is above the threshold.

10. A system for static behavior-predictive malware detection, the system comprising:

at least one computer that includes at least one processor which executes program instructions and memory which stores and provides access to data; and

a malware detection module in memory, the malware detection module including program code configured to:

receive a sample of code data;

extract first static features from the sample, wherein the first static features are extracted from content of the sample and comprise a first set of character counts and/or word counts from the content of the sample;

input the first static features to a first network trained by machine learning to generate behavior-predictive static features, wherein the behavior-predictive static features comprise a second set of character counts and/or word counts from the content of the sample;

input the first static features and the behavior-predictive static features to a second network trained by machine learning to obtain a malicious score;

compare the malicious score with a threshold to determine whether to label the sample as malicious; and

apply malicious label data to the sample when the malicious score is above the threshold.

11. A computer-implemented method of training networks for use in behavior-predictive static malware detection, the computer-implemented method comprising:

receiving a plurality of known samples of code data;

extracting first static features from each of the plurality of known samples, wherein the first static features are extracted from content of the sample and comprise a first set of character counts and/or word counts from the content of the sample;

executing instruction code of each of the plurality of known samples in a protected environment to obtain observed-behavior static features for each of the plurality of known samples, wherein the observed-behavior static features comprise a second set of character counts and/or word counts from the content of the sample;

modifying a first network by training the first network using the first static features and the observed-behavior static features of each of the plurality of known samples as input and output data, respectively;

providing the first static features of each of the plurality of known samples as input data to the first learning network;

generating behavior-predictive static features of each of the plurality of known samples as output data from the first learning network; and

modifying a second network by training the second network using the first static features and the behavior-predictive static features of each of the plurality of known samples as input data and a malicious label of each of the plurality of known samples as output data.

12. The computer-implemented method of claim 11 , further comprising using the first and second networks for said behavior-predictive static malware detection by:

receiving an unknown sample of code data;

extracting relevant first static features from the unknown sample;

inputting the relevant first static features from the unknown sample to the first network to generate relevant behavior-predictive static features;

inputting the relevant first static features and the relevant behavior-predictive static features from the unknown sample to the second network to obtain a malicious score;

comparing the malicious score with a threshold to determine whether to label the unknown sample as malicious; and

applying malicious label data to the unknown sample when the malicious score is above the threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2017
From: TSAO, WEN-KWANG; CHANG, CHIA-YEN; WU, PINGHUAN
To: TREND MICRO INCORPORATED
Reel/Frame 043219/0435 →
Continuity (1)
Related Publication 20190034632A1 · Jan 31, 2019
Cited By (1)
US 12,505,207