A fistful of red-pills: how to automatically generate procedures to detect CPU emulators

  • Authors:
  • Roberto Paleari;Lorenzo Martignoni;Giampaolo Fresi Roglia;Danilo Bruschi

  • Affiliations:
  • Dipartimento di Informatica e Comunicazione, Università degli Studi di Milano;Dipartimento di Fisica, Università degli Studi di Udine;Dipartimento di Informatica e Comunicazione, Università degli Studi di Milano;Dipartimento di Informatica e Comunicazione, Università degli Studi di Milano

  • Venue:
  • WOOT'09 Proceedings of the 3rd USENIX conference on Offensive technologies
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Malware includes several protections to complicate their analysis: the longer it takes to analyze a new malware sample, the longer the sample survives and the larger number of systems it compromises. Nowadays, new malware samples are analyzed dynamically using virtual environments (e.g., emulators, virtual machines, or debuggers). Therefore, malware incorporate a variety of tests to detect whether they are executed through such environments and obfuscate their behavior if they suspect their execution is being monitored. Several simple tests, we indistinctly call red-pills, have already been proposed in literature to detect whether the execution of a program is performed in a real or in a virtual environment. In this paper we propose an automatic and systematic technique to generate red-pills, specific for detecting if a program is executed through a CPU emulator. Using this technique we generated thousands of new red-pills, involving hundreds of different opcodes, for two publicly available emulators, which are widely used for analyzing malware.