Context-sensitive analysis of obfuscated x86 executables

Nenhuma Miniatura disponível

Data

2010-04-20

Autores

Lakhotia, Arun
Boccardo, Davidson R. [UNESP]
Singh, Anshuman
Manacero Jr., Aleardo [UNESP]

Título da Revista

ISSN da Revista

Título de Volume

Editor

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.

Descrição

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

Como citar

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

Coleções