Learning to Detect and Classify Malicious Executables in the Wild

Download Report

Transcript Learning to Detect and Classify Malicious Executables in the Wild

Learning to Detect and Classify
Malicious Executables in the
Wild
Reporter: 林佳宜
Email: [email protected]
2015/4/13
1
References

Learning to Detect and Classify Malicious
Executables in the Wild. J. Zico Kolter,
Marcus A. Maloof, JMLR 2006.
2
Outline





Introduction
Classification Methodology
Experimental Design
Experimental Results
Conclusion
3
Introduction

Malicious code can
 cause harm or subvert the system’s intended function

Malicious executables have three categories
 viruses, worms, and Trojan horses.

Describe the use of machine learning and
data mining
 detect and classify malicious executables
4
Three main contributions

Detect and classify malicious executables
 Use text classification

Present empirical results
 from an extensive study of inductive methods for
detecting and classifying malicious executables

Show that the methods achieve high
detection rates
 even on completely new, previously unseen malicious
executables
5
Several learning methods

Implemented in the Wakaito Environment
for Knowledge Acquisition (WEKA)
 IBk
 naive Bayes
 support vector machine (SVM)
 J48

Used the AdaBoost.M1 algorithm
 boost SVMs, J48, naive Bayes
6
Data Collection

Gathered this collection early of 2003
◦ Benign executables




1971
from Windows 2000 and XP operating systems
SourceForge
download.com
◦ Malicious executables
 1651
 from Web site VX Heavens
 MITRE Corporation, the sponsors of this project

Recently,obtained 291 malicious executables
 from VX Heavens
7
Experimental Design

To evaluate the approach and methods
 stratified ten-fold cross-validation
 randomly partitioned the executables into ten disjoint
sets of equal size
 one as a testing set
 nine to form a training set
Extracted n-grams from the executables in
the training and testing sets
 Selected the most relevant features from the
training data
 To conduct ROC analysis, for each method

8
Detecting Malicious Executables

Learning methods detected malicious
executables
 three experimental studies

The first was a pilot study to determine the
 size of words and n-grams
 the number of n-grams relevant for prediction

The second experiment consisted of
applying all of the classification methods to
 a small collection of executables

The third then involved applying the
methodology to
 a larger collection of executables
9
Pilot Studies[1/2]

Pilot studies to determine three parameters
 the size of n-grams
 the size of words,
 the number of selected features

Extracted bytes from
 476 malicious executables, 561 benign executables
 produced n-grams, for n = 4

Selected the best 10, 20, . . . , 100, 200, . . . ,
1000, 2000, . . . , 10000 n-grams,
 Selecting 500 n-grams produced the best results
10
Pilot Studies[2/2]

Fixed the number of n-grams
 at 500
 varied n, the size of the n-grams

Evaluated the same methods for n=1,2,....,10
 n = 4 produced the best results

Varied the size of the words (one byte, two
bytes, etc.)
 single bytes produced better results
11
Classification Methodology

Form training examples
 used the n-grams extracted from the executables
 by viewing each n-gram as a Boolean attribute

Selected the most relevant attributes by
 computing the information gain (IG) for each:

Selected the top 500 n-grams
12
Experiment with a Small
Collection

Executables produced 68744909 distinct ngrams

Areas under these curves (AUC) with 95%
confidence intervals
 the boosted methods performed well
 Naive Bayes did not perform as well
13
14
15
Experiment with a Larger
Collection

This collection consisted of
 1971 benign executables
 1651 malicious executables
 over 255 million distinct n-grams of size four

The areas under these curves with 95%
confidence intervals
 boosted J48 outperformed all other methods
16
17
18
Classifying Executables by
Payload Function

Classify malicious executables based on
 function of their payload

present results for three functional
categories
 opened a backdoor、 mass-mailed、executable
virus

Reduce the previously undiscovered
malicious executables
19
20
21
Evaluating Real-world, Online
Performance

Compare the actual detection rates
 larger collection VS the 291 new malicious

Selected three desired false-positive rates
 0.01, 0.05, 0.1

Detected about 98% of the new malicious
executables
 boosted J48
 false-positive rate of 0.05
22
23
Conclusion

Detecting and classifying unknown malicious
executables by
 machine learning, data mining, text classification

Detecting malicious executables
 boosted J48 produced the best detector with an area
under the ROC curve of 0.996

Classify malicious executables based on
payload’s function
 boosted J48 produced the best detectors with areas
under the ROC curve around 0.9
24
Questions
25