Emulating emulation-resistant malware

  • Authors:
  • Min Gyung Kang;Heng Yin;Steve Hanna;Stephen McCamant;Dawn Song

  • Affiliations:
  • Carnegie Mellon University / University of California, Berkeley, Berkeley, USA;Syracuse University / Unversity of California, Berkeley, Syracuse, USA;Unversity of California, Berkeley, Berkeley, USA;Unversity of California, Berkeley, Berkeley, USA;Unversity of California, Berkeley, Berkeley, USA

  • Venue:
  • Proceedings of the 1st ACM workshop on Virtual machine security
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.