Modelling Metamorphism by Abstract Interpretation

By Mila Dalla Preda, Roberto Giacobazzi, Saumya Debray, Kevin Coogan and Gregg Townsend.

Mila Dalla Preda
Dipartimento di Scienze dell'Informazione
Universita' di Bologna

Mura Anteo Zamboni, 7
40127 Bologna - Ital
y


Roberto Giacobazzi
Dipartimento di Informatica
Universita' di Verona
Strada Le Grazie a Ca' Vignal 2
I-37134 Verona, Italy

Saumya Debray
Department of Computer Science
University of Arizona, Tucson
AZ 85721, USA

Kevin Coogan
Department of Computer Science
University of Arizona, Tucson
AZ 85721, USA

Gregg Townsend
Department of Computer Science
University of Arizona, Tucson
AZ 85721, USA



Abstract:
Metamorphic malware apply semantics-preserving transformations to their own code in order to foil detection systems based on signature matching. In this paper we consider the problem of automatically extract metamorphic signatures from these malware. We introduce a semantics for self-modifying code, later called phase semantics, and prove its correctness by showing that it is an abstract interpretation of the standard trace semantics. Phase semantics precisely models the metamorphic code behavior by providing a set of traces of programs which correspond to the possible evolutions of the metamorphic code during execution. We show that metamorphic signatures can be automatically extracted by abstract interpretation of the phase semantics, and that regular metamorphism can be modelled as finite state automata abstraction of the phase semantics.