18
Learning and Classification of Malware Behavior Konrad Rieck 1 , Thorsten Holz 2 , Carsten Willems 2 , Patrick Düssel 1 , and Pavel Laskov 1 DIMVA 2008, Paris, France 1 Fraunhofer Institute FIRST, Germany 2 University of Mannheim, Germany

Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Learning and Classification of Malware Behavior

Konrad Rieck1, Thorsten Holz2, Carsten Willems2,

Patrick Düssel1, and Pavel Laskov1

DIMVA 2008, Paris, France1 Fraunhofer Institute FIRST, Germany

2 University of Mannheim, Germany

Page 2: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Malware today

‣ Malicious software: A vivid threat‣ Plethora of worms, trojans, bots, backdoors

‣ Exponential growth of malware in the wild

‣ Emergence of criminal “industries”

‣ Conventional static defenses insufficient‣ High degree of polymorphy and obfuscation

2

23%37%

19%

Avira AntiVir ClamAVBitDefender

Evaluation on 4,000 malware binaries

UndetectedAnti-virus producs

Page 3: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Dynamic analysis

‣ Malware behavior‣ Malware differs in purpose

and functionality

‣ Typical and discriminative behavioral patterns

‣ Behavior-based analysis‣ Monitoring and detection of malicious behavior

‣ AV products: manually generated behavior rules

‣ Alternative, fully automated approaches?

3

Bots,Backdoors

Trojans,SpywareWorms,

Viruses

Remote control

Replication

Espionage

Page 4: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Learning-based approaches

‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007)

‣ Difficult to control cluster models (many vs. few)

‣ Clustering often non-predictive, e.g. linkage clustering

‣ Idea: Generalize from behavior and prior knowledge

‣ Incorporate (noisy) labels, e.g. by anti-virus tool

‣ Learn classification of malware families using labels

4

Wild Collectionmalware

NepenthesHoneytrap

Leurrecom

Monitoringbinary

CWSandboxTTAnalyzer

Norman

Analyzerreport

known family?

new family?

typicalfeatures?

1 2 3 4NepenthesSpam trapsLeurrecom ...

CWSandboxAnubisNorman

Page 5: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Collecting malware

5

Self-replicating malware

Trojans and backdoors

Drive-by malware

Spam traps Honeyclients

‣ Automatic collection of current malware families‣ Broad range of malware using diverse methods,

e.g. honeypots, spam traps, honeyclients

Nepenthes

1

Vulnerabilityemulation

Client-sideemulation

(e.g. Bächer et al., RAID 2006)

Page 6: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Monitoring malware

‣ Sandbox for malware ‣ Protected execution environment (e.g. CWSandbox)

‣ Monitors and reports observed behavior

6

API hooksor VM

Behavior report

Sandbox

Filesystem: copy src=‘bla’ dst=‘foo’ open file=‘secret.txt’

Network: ping host=‘10.1.2.3’ connect host=’10.1.2.3’

Registry: setkey name=‘autostart’

(Willems et al., IEEE S&P Mag. 2007)

Operating system

Hardware

2

Page 7: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Feature extraction

7

Filesystem: copy src=‘a’ dst=‘b’ open file=‘secret.txt’

Network: ping host=‘10.1.2.3’ connect host=’10.1.2.3’

Report x Feature vector

copy src=’a’ dst=’b’

copy src=’a’ dst=’b’

copy src=’a’ dst=*

copy src=* dst=*...

InflationExtraction Embedding

f(x,s) = frequency of operation s in report x

(Rieck et al., JMLR 2008)

!(x) =

!

"#f (x; s1)f (x; s2)

...

$

%&

3

Page 8: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Learning behavior

‣ Discrimination of malware families in feature space‣ Assign family label to embedded reports, e.g. AV label

8

4

wA !(x)

‣ Learn maximum-margin hyperplane w for each family

‣ Incorporation of non-linearity using kernel functions

Trojan BWorm A Backdoor C

(see Burges, KDDM 1998)

Page 9: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Experimental evaluation

9

Malware family #k #u Malware family #k #u

1: Backdoor.VanBot 91 169 8: Worm.Korgo 244 4

2: Trojan.Bancos 279 208 9: Worm.Parite 1215 19

3: Trojan.Banker 834 185 10: Worm.PoeBot 140 188

4: Worm.Allaple 1500 614 11: Worm.Rbot 1399 904

5: Worm.Doomber 426 0 12: Worm.Sality 661 0

6: Worm.Gobot 777 0 13: Worm.SdBot 777 597

7: Worm.IRCBot 229 107 14: Worm.Virut 1500 144

‣ Malware collection labeled using AV tool (AntiVir)‣ #k: 10,072 malware binaries from 14 families

‣ #u: 3,139 unknown variants (detected 4 weeks later)

Page 10: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Results: Classification

10

1 2 3 4 7 8 9 10 11 13 140

0.2

0.4

0.6

0.8

1

Malware families

Accu

racy

per

fam

ily

Accuracy of prediction

1 2 3 4 5 6 7 8 9 10 11 12 13 140

0.2

0.4

0.6

0.8

1

Malware families

Accu

racy

per

fam

ily

Accuracy of classification

Known variants, avg. 88% Unknown variants, avg. 69%

‣ High detection accuracy (Note: random guessing = 7%)

‣ Learning on known, prediction on unknown variants

Page 11: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Results: Explanation

11

Worm.Sality

Worm.Doomber

0.0142: create_file ... srcpath="C:\windows\system32\" src=*0.0073: create_file ... srcpath="C:\windows\system32\" src="vcmgcd32.dl_"0.0068: delete_file ... srcpath="C:\windows\system32\" src=*0.0051: create_mutex name="kuku_joker_v3.09"0.0035: enum_processes apifunction="Process32First”

0.0084: create_mutex name="GhostBOT0.58c"0.0073: create_mutex name="GhostBOT0.58b" 0.0052: create_mutex name="GhostBOT0.58a" 0.0014: enum_processes apifunction="Process32First" 0.0011: query_value key="HKEY_LOCAL_MACHINE\...\run" value="GUARD"

‣ Explanation of learned malware behavior classifier

‣ Most discriminative dimensions in hyperplane vectors

0.0084:0.0073:0.0052:0.0014:0.0011:

0.0142: 0.0073:0.0068:0.0051:0.0035:

Page 12: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Conclusions

‣ Behavior-based malware analysis‣ Extension of current AV tools (see Oberheide et al., USENIX 2008)

‣ Hinders simple obfuscation and polymorphy

‣ Supervised learning on malware behavior‣ Detection accuracy: 69% unknown malware variants

‣ No black box: Explanation via hyperplane vectors

‣ Further extension: Rejection of unknown behavior

‣ Perspectives‣ Semi-supervised learning: Best of both worlds.

12

Page 13: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Thanks. Questions?

Page 14: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Evasion?

‣ Evasion attacks‣ Detection of honeypot or sandbox environment

‣ Obfuscated and polymorphic behavior

‣ Mimic behavior of benign programs or other malware

‣ Consequences & defenses‣ Run multiple honeypots and sandboxes in parallel

‣ Obfuscation and polymorphy: Discriminative features?

‣ Fruitless to mimic benign program = No real activity

14

Page 15: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

References

‣ Bächer, Kötter, Holz, Dornseif, Freiling. The Nepenthes platform: An efficient approach to collect malware. RAID 2006.

‣ Bailey, Oberheide, Andersen, Mao, Jahanian, Nazario. Automated classification and analysis of Internet malware. RAID 2007.

‣ Burges. A Tutorial on Support Vector Machines for Pattern Recognition. Knowledge Discovery and Data Mining 2(2), 1998.

‣ Oberheide, Cooke, Jahanian. N-Version Antivirus in the Network Cloud. USENIX 2008.

‣ Rieck, Laskov. Linear-Time Computation of Similarity Measure for Sequential Data. Journal of Machine Learning Research 9(1), 2008.

‣ Willems, Holz, Freiling. Towards automated dynamic binary analysis, IEEE Magazine Security & Privacy 5(2), 2007.

15

Page 16: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Unsupervised vs. Supervised

‣ Clustering (unsupervised)‣ Determine malware families

from structure only

‣ Difficult to control model complexity without labels

‣ Classification (supervised)‣ Determine malware families

using structure and labels

‣ Generalization beyond noisy labels

16

Malware BMalware A

Malware C

Page 17: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Unknown behavior

‣ Rejection of unknown behavior‣ Probabilistic fit on output of classifier (reject if <0.5)

17

Known families Unknown families

‣ Reliable rejection of unknown behavior, yet accuracy decreases from 88% to 73%

Page 18: Learning and Classification of Malware Behavior · Learning-based approaches ‣ Clustering of malware behavior (e.g. Bailey et al., RAID 2007) ‣ Difficult to control cluster models

Feature space

18

‣ Embedding to high-dimensional vector space‣ Each operation spans several dimensions

‣ > 1,000,000 and more dimensions

‣ Visualization using projections (e.g. with PCA)

Trojan.BankerWorm.AllapleWorm.SdBot