2009 · 97 citations · 26 references
ComputingComputer ScienceComputer SystemsEmbedded SystemsHardware SecurityMalware AnalysisAnti-analysis TechniquesBehavioral AnalysisMalware Evasion TechniquesMalware Reverse EngineeringAnti-emulation TechniquesEmulationEmulation EvasionEmulation-based AnalysisMalicious Behavior AnalysisMalware Sample Collection
The authors of malware attempt to frustrate reverse engineering and analysis by creating programs that crash or otherwise behave differently when executed on an emulated platform than when executed on real hardware. In order to defeat such techniques and facilitate automatic and semi-automatic dynamic analysis of malware, we propose an automated technique to dynamically modify the execution of a whole-system emulator to fool a malware sample's anti-emulation checks. Our approach uses a scalable trace matching algorithm to locate the point where emulated execution diverges, and then compares the states of the reference system and the emulator to create a dynamic state modification that repairs the difference. We evaluate our technique by building an implementation into an emulator used for in-depth malware analysis. On case studies that include real samples of malware collected in the wild and an attack that has not yet been exploited, our tool automatically ameliorates the malware sample's anti-emulation checks to enable analysis, and its modifications are robust to system changes.
26
The 26th USENIX Security Symposium 2017
Aggelos Kiayias, Thomas Zacharias, Riivo Talviste · USENIX Security Symposium · 2017 · 1.2K citations
AnO(ND) difference algorithm and its variations
Eugene W. Myers · Algorithmica · 1986 · 899 citations
Intel virtualization technology
Richard Uhlig, Gil Neiger, David L. Rodgers et al. · Computer · 2005 · 719 citations
Heng Yin, Dawn Song, Manuel Egele et al. · 2007 · 688 citations