Context-sensitive analysis of x86 obfuscated executables

dc.contributor.advisorManacero Junior, Aleardo [UNESP]
dc.contributor.authorBoccardo, Davidson Rodrigo [UNESP]
dc.contributor.institutionUniversidade Estadual Paulista (Unesp)
dc.date.accessioned2014-06-11T19:30:32Z
dc.date.available2014-06-11T19:30:32Z
dc.date.issued2009-10-09
dc.description.abstractOfusca c~ao de c odigo tem por nalidade di cultar a detec c~ao de propriedades intr nsecas de um algoritmo atrav es de altera c~oes em sua sintaxe, entretanto preservando sua sem antica. Desenvolvedores de software usam ofusca c~ao de c odigo para defender seus programas contra ataques de propriedade intelectual e para aumentar a seguran ca do c odigo. Por outro lado, programadores maliciosos geralmente ofuscam seus c odigos para esconder comportamento malicioso e para evitar detec c~ao pelos anti-v rus. Nesta tese, e introduzido um m etodo para realizar an alise com sensitividade ao contexto em bin arios com ofuscamento de chamada e retorno de procedimento. Para obter sem antica equivalente, estes bin arios utilizam opera c~oes diretamente na pilha ao inv es de instru c~oes convencionais de chamada e retorno de procedimento. No estado da arte atual, a de ni c~ao de sensitividade ao contexto est a associada com opera c~oes de chamada e retorno de procedimento, assim, an alises interprocedurais cl assicas n~ao s~ao con aveis para analisar bin arios cujas opera c~oes n~ao podem ser determinadas. Uma nova de ni c~ao de sensitividade ao contexto e introduzida, baseada no estado da pilha em qualquer instru c~ao. Enquanto mudan cas em contextos a chamada de procedimento s~ao intrinsicamente relacionadas com transfer encia de controle, assim, podendo ser obtidas em termos de caminhos em um grafo de controle de uxo interprocedural, o mesmo n~ao e aplic avel para mudan cas em contextos a pilha. Um framework baseado em interpreta c~ao abstrata e desenvolvido para avaliar contexto baseado no estado da pilha e para derivar m etodos baseado em contextos a chamada de procedimento para uso com contextos baseado no estado da pilha. O metodo proposto n~ao requer o uso expl cito de instru c~oes de chamada e retorno de procedimento, por em depende do...pt
dc.description.abstractA code obfuscation intends to confuse a program in order to make it more di cult to understand while preserving its functionality. Programs may be obfuscated to protect intellectual property and to increase security of code. Programs may also be obfuscated to hide malicious behavior and to evade detection by anti-virus scanners. We introduce a method for context-sensitive analysis of binaries that may have obfuscated procedure call and return operations. These binaries may use direct stack operators instead of the native call and ret instructions to achieve equivalent behavior. Since de nition of context-sensitivity and algorithms for context-sensitive analysis has thus far been based on the speci c 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 ow graph (ICFG), the same is not true for changes in stackcontext. An abstract interpretation based framework is developed to reason about stackcontext and to derive analogues of call-strings based methods for the context-sensitive analysis using stack-context. This analysis requires the knowledge of how the stack, rather the stack pointer, is represented and on the knowledge of operators that manipulate the stack pointer. 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 contextsensitive version of the algorithm generates more precise results and is also computationally more e cient than its context-insensitive counterpart.en
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)
dc.format.extent104 f. :
dc.identifier.aleph000622486
dc.identifier.capes33004099080P0
dc.identifier.citationBOCCARDO, Davidson Rodrigo. Context-sensitive analysis of x86 obfuscated executables. 2009. 104 f. Tese (doutorado) - Universidade Estadual Paulista, Faculdade de Engenharia de Ilha Solteira, 2009.
dc.identifier.fileboccardo_dr_dr_ilha.pdf
dc.identifier.urihttp://hdl.handle.net/11449/100286
dc.language.isoeng
dc.publisherUniversidade Estadual Paulista (Unesp)
dc.rights.accessRightsAcesso aberto
dc.sourceAleph
dc.subjectAnálise estáticapt
dc.subjectInterpretação abstratapt
dc.subjectOfuscação de códigopt
dc.subjectStatic analysisen
dc.subjectAbstract interpretationen
dc.subjectObfuscation of codeen
dc.titleContext-sensitive analysis of x86 obfuscated executablesen
dc.typeTese de doutorado
unesp.advisor.lattes5320809446238024
unesp.advisor.orcid0000-0002-4581-7482
unesp.campusUniversidade Estadual Paulista (Unesp), Faculdade de Engenharia, Ilha Solteirapt
unesp.graduateProgramEngenharia Elétrica - FEISpt
unesp.knowledgeAreaAutomaçãopt
unesp.researchAreaControle e instrumentação eletrônicapt

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
boccardo_dr_dr_ilha.pdf
Tamanho:
1.12 MB
Formato:
Adobe Portable Document Format