330 likes | 563 Views
Measuring virtual machine detection in malware using DSD tracer. Boris Lau, Vanja Svajcer Sophoslabs , Journal in Computer Virology, 2008 報告者: 張逸文. Outline. Introduction Virtual machine detection methods Methodology of our study with DSD-Tracer Results Conclusion.
E N D
Measuring virtual machine detection in malware using DSD tracer Boris Lau, VanjaSvajcer Sophoslabs, Journal in Computer Virology, 2008 報告者:張逸文
Outline • Introduction • Virtual machine detection methods • Methodology of our study with DSD-Tracer • Results • Conclusion
Introduction(#1) • Virtual machine technology is first implemented by IBM • More attention from virus writers & computer security researchers • If in VM,malware will behave like a normal program • If the proportion is > 0.1%,developing an environment to successfully analyze VM-aware malware is important
Introduction(#2) • The most common security use cases with VM • Software vulnerability research • Malware analysis • Honeypots
Virtual machine detection methods(#1) • If VM is detected, the malware will • stop its execution or • launch a specially crafted payload • Zlob Trojans • IRC bots • Executable packers
Virtual machine detection methods(#2) • Detection of running under MS virtual PC using VPC communication channel • Communication between guest OS & VMM • Exceptions due to opcode:0x0f, 0x3f / 0x0f, 0xc7, 0xc8 • Call different VMM services:0x07, 0x0B
Virtual machine detection methods(#3) • Detection of running under VMware using VMWare control API • VMWare backdoor communication • guest ↔ host communication • IN instruction • port 0x5658 • eax:0x564D5868(VMXh) • ebx :function number
Anti-VMWare prevention virtual machine initialization settings
Virtual machine detection methods(#4) • Redpill(using SIDT, SGDT or SLDT) • SxxTx86instruction • Return the contests of the sensitive register • IDT in VMWare is 0xffXXXXXX • IDT in Virtual PC is 0xe8XXXXXX • Compare with 0xd0 • Invalid in multi processor system
Virtual machine detection methods(#5) • SMSW VMWare detection • Store Machine Specific Word instruction • Return 16-bit result • 32 bits register(16-bit undefined + 16-bit result) • In VMWare, the top 16-bits doesn’t change
Methodology of our study with DSD-Tracer(#1) • DSD-Tracer • identify obfuscation packers • dynamic & static analysis
Methodology of our study with DSD-Tracer(#3) • Dynamic component • Instructions decoded before its execution • All CPU registers • Reads / writes to virtual / physical memory • Interrupts / exceptions generated • Instrumented virtual machine • Low-level information
Methodology of our study with DSD-Tracer(#4) • Static component • C++ interface • Python Script • Match known techniques for detecting VM • Automatic replication harness • Web-based automatic replication harness
Methodology of our study with DSD-Tracer(#5) • Case study:DSD-Tracer on Themida • Analyzing Themida by traditional debugger/static technique is troublesome • recording memory-io • “dump” sample in static environment
Methodology of our study with DSD-Tracer(#6) • Justification for using DSD-Tracer • Coverage of packed samples • Low-level accuracy • Circumventing armour techniques • Mitigating factors in using DSD-Tracer • No Bochs detect techniques in any sample • 4 samples/hour, 5 samples from each set of packed file • 85% of Themida samples with VM-aware techniques
Methodology of our study with DSD-Tracer(#7) • Proof of concept experiment for DSD-Tracer on VMware • Cross-verified multiple dynamic analysis • Implemented on VMware Workstation 6 • Invisible breakpoint • GDB script for printing the assembly execution trace in user mode
Results(#1) • VMdetectioninpackers • 193differentpackers,400packedsamples • Overall VM detection rate is 1.15% • Themidaaccountingfor1.03% • ExeCryptoraccountingfor0.15% • EncPk:custom packers
Results(#2) • VM detection in malware families • Static analysis rules – disassembly • Dynamic analysis rules – Sophos virus engine emulation • 2 million known malicious files • A large set of knows clean files • VM-aware samples < 1% • Method breakdown(Table 1.) • Family breakdown (Table 2.) • Dial/FlashL
Results(#4) • VMWare backdoor detection method 50% VPC illegal instruction detection method • VPC illegal instruction detectionmethod 93% VMWarebackdoor detection method
Results(#5) • Fig. 7 VMWare backdoor detection in 2007
Results(#6) • Fig. 8 VPC backdoor detections in 2007
Conclusion • Combination of dynamic and static analysis is better • 2.13%VM-aware samples
Appendix • VMWare backdoor I/O port • On the Cutting Edge:ThwartingVirtual MachineDetection • Trappingworminavirtualnet • VM、Virtual PC、Bochs比較 • http://hi.baidu.com/%CC%FA%D0%AC%B9%C3%C4%EF/blog/item/085cc609b215f3226b60fba5.html 大陸版 • http://www.osnews.com/story/1054 國外版