Thwarting real-time dynamic unpacking

  • Authors:
  • Leyla Bilge;Andrea Lanzi;Davide Balzarotti

  • Affiliations:
  • Institute Eurecom, Sophia Antipolis;Institute Eurecom, Sophia Antipolis;Institute Eurecom, Sophia Antipolis

  • Venue:
  • Proceedings of the Fourth European Workshop on System Security
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Packing is a very popular technique for obfuscating programs, and malware in particular. In order to successfully detect packed malware, dynamic unpacking techniques have been proposed in literature. Dynamic unpackers execute and monitor a packed program, and try to guess when the original code of the program is available unprotected in memory. The major drawback of dynamic unpackers is the performance overhead they introduce. To reduce the overhead and make it possible to perform dynamic unpacking at end-hosts, researches have proposed real-time unpackers that operate at a coarser granularity, namely OmniUnpack and Justin. In this paper, we present a simple compile-time packing algorithm that maximizes the cost of unpacking and minimizes the amount of program code that can be automatically recovered by real-time coarse grained unpackers. The evaluation shows that the real-time dynamic unpackers are totally ineffective against this algorithm.