large-scale malware indexing using function-call graphs

15
Large-Scale Malware Indexing Using Function- Call Graphs 3/15 黃黃黃

Upload: kirsi

Post on 24-Jan-2016

73 views

Category:

Documents


0 download

DESCRIPTION

Large-Scale Malware Indexing Using Function-Call Graphs. 3/15 黃瀚嶙. REFERENCES. Large-Scale Malware Indexing Using Function-Call Graphs Xin Hu ,Kang G. Shin, Tzi-cker Chiueh, CCS ’ 09. Outline. Introduction Function-Call Graph Extraction Graph-Similarity Metric Multi-Resolution Indexing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Large-Scale Malware Indexing Using Function-Call Graphs

Large-Scale Malware Indexing Using Function-Call Graphs

3/15 黃瀚嶙

Page 2: Large-Scale Malware Indexing Using Function-Call Graphs

REFERENCES

Large-Scale Malware Indexing Using Function-Call Graphs

Xin Hu ,Kang G. Shin, Tzi-cker Chiueh, CCS’09

Page 3: Large-Scale Malware Indexing Using Function-Call Graphs

Outline

Introduction Function-Call Graph Extraction Graph-Similarity Metric Multi-Resolution Indexing Evaluation Conclusion

Page 4: Large-Scale Malware Indexing Using Function-Call Graphs

Introduction

SMIT:Symantec Malware Indexing Tree

Page 5: Large-Scale Malware Indexing Using Function-Call Graphs

Function-Call Graph Extraction

Definition (Function-Call Graph): g = (Vg,Eg, Ig,Lg), -Vg:function -Eg:directed edge -Ig:symbolic function name,

mnemonic sequence and CRC value -Lg:labeling function from Vg->Ig

Page 6: Large-Scale Malware Indexing Using Function-Call Graphs

Function-Call Graph Extraction

Page 7: Large-Scale Malware Indexing Using Function-Call Graphs

Graph-Similarity Metric-Graph Edit Distance

Vertex-edit operations -σR : relabel a vertex -σIV :insert an isolated vertex -σRV :remove an isolated vertex Edge-edit operations -σIE :insert an edge -σRE : remove an edge

Page 8: Large-Scale Malware Indexing Using Function-Call Graphs

Graph-Similarity Metric-Graph Edit Distance

edit path Pg,h:if Pg,h = (σ1, σ2, . . . , σn) then h =σn(σn-1(. . . σ1(g) . . . )) Cost :C(P)=sum of path cost edit distance:ed(g,h) =min c(Pg,h).

Page 9: Large-Scale Malware Indexing Using Function-Call Graphs

Multi-Resolution Indexing

Page 10: Large-Scale Malware Indexing Using Function-Call Graphs

Multi-Resolution Indexing-B+-tree Index

feature vector v = (Ni,Nf,Nx,Nm) Ni :total number of instructions Nf :total number of functions Nx :total number of control transfer

instructions Nm :median number of instructions

per function

Page 11: Large-Scale Malware Indexing Using Function-Call Graphs

Multi-Resolution Indexing-B+-tree Index

Page 12: Large-Scale Malware Indexing Using Function-Call Graphs

Multi-Resolution Indexing-Optimistic Vantage Point Tree

query graph g, KNN search of a VPT with a root pivot p

Prune:high[i] < d(p, q) − δnow or

low[i] > d(p, q) + δnow

Page 13: Large-Scale Malware Indexing Using Function-Call Graphs

Evaluation

1

Page 14: Large-Scale Malware Indexing Using Function-Call Graphs

Evaluation

1

Page 15: Large-Scale Malware Indexing Using Function-Call Graphs

Conclusion

Contributions -efficient graph-distance computation

algorithm -multi-resolution indexing -performance