Context-sensitive analysis of obfuscated x86 executables


Autoria(s): Lakhotia, Arun; Boccardo, Davidson R.; Singh, Anshuman; Manacero Jr., Aleardo
Contribuinte(s)

Universidade Estadual Paulista (UNESP)

Data(s)

27/05/2014

27/05/2014

20/04/2010

Resumo

A method for context-sensitive analysis of binaries that may have obfuscated procedure call and return operations is presented. Such binaries may use operators to directly manipulate stack instead of using native call and ret instructions to achieve equivalent behavior. Since definition of context-sensitivity and algorithms for context-sensitive analysis have thus far been based on the specific semantics associated to procedure call and return operations, classic interprocedural analyses cannot be used reliably for analyzing programs in which these operations cannot be discerned. A new notion of context-sensitivity is introduced that is based on the state of the stack at any instruction. While changes in 'calling'-context are associated with transfer of control, and hence can be reasoned in terms of paths in an interprocedural control flow graph (ICFG), the same is not true of changes in 'stack'-context. An abstract interpretation based framework is developed to reason about stack-contexts and to derive analogues of call-strings based methods for the context-sensitive analysis using stack-context. The method presented is used to create a context-sensitive version of Venable et al.'s algorithm for detecting obfuscated calls. Experimental results show that the context-sensitive version of the algorithm generates more precise results and is also computationally more efficient than its context-insensitive counterpart. Copyright © 2010 ACM.

Formato

131-140

Identificador

http://dx.doi.org/10.1145/1706356.1706381

Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, p. 131-140.

http://hdl.handle.net/11449/71657

10.1145/1706356.1706381

2-s2.0-77950882873

Idioma(s)

eng

Relação

Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation

Direitos

closedAccess

Palavras-Chave #Analysis of bianries #Context-sensitive analysis #Deobfuscation #Obfuscation #Abstract interpretations #Context sensitivity #Context-sensitive #Control flow graphs #Executables #Inter-procedural #Inter-procedural analysis #Procedure call #Specific semantics #Mathematical operators #Program interpreters #Technical presentations #Java programming language
Tipo

info:eu-repo/semantics/conferencePaper