Return to search

Identificação de Malware Metamórfico baseado em Grafos de Dependência

Submitted by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2017-04-10T13:47:40Z
No. of bitstreams: 2
Tese - Gilbert B. Martins.pdf: 1525513 bytes, checksum: 4848ae0e2aed1f5104a0ff25d41093e6 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2017-04-10T13:48:04Z (GMT) No. of bitstreams: 2
Tese - Gilbert B. Martins.pdf: 1525513 bytes, checksum: 4848ae0e2aed1f5104a0ff25d41093e6 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Divisão de Documentação/BC Biblioteca Central (ddbc@ufam.edu.br) on 2017-04-10T14:15:03Z (GMT) No. of bitstreams: 2
Tese - Gilbert B. Martins.pdf: 1525513 bytes, checksum: 4848ae0e2aed1f5104a0ff25d41093e6 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2017-04-10T14:15:03Z (GMT). No. of bitstreams: 2
Tese - Gilbert B. Martins.pdf: 1525513 bytes, checksum: 4848ae0e2aed1f5104a0ff25d41093e6 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Previous issue date: 2016-01-16 / The traditional way to identify malicious programs is to compare the code body with a set of
previous stored code patterns, also known as signatures, extracted from already identified malware
code. To nullify this identification process, the malware developers can insert in their creations the
ability to modify the malware code when the next contamination process takes place, using
obfuscation techniques. One way to deal with this metamorphic malware behavior is the use of
dependency graphs, generated by surveying dependency relationships among code elements,
creating a model that is resilient to code mutations. Analog to the signature model, a matching
procedure that compares these graphs with a reference graph database is used to identify a malware
code. Since graph matching is a NP-hard problem, it is necessary to find ways to optimize this
process, so this identification technique can be applied. Using dependency graphs extracted from
binary code, we present an approach to reduce the size of the reference dependency graphs stored
on the graph database, by introducing a node differentiation based on its features. This way, in
conjunction with the insertion of virtual paths, it is possible to build a virtual clique used to identify
and dispose of less relevant elements of the original graph. The use of dependency graph reduction
and the node differentiation also produces more accurate results for the matching process. To
validate these statements, we present a methodology for generating these graphs from binary
programs and the results achieved with the use of all the proposed features for the identification of
some metamorphic malware samples. / Comparar um programa com um conjunto de partes de código, conhecido como assinaturas,
previamente armazenadas e extraídas de programas maliciosos previamente identificados, é a forma
tradicional de se identificar se este programa também se trata ou está contaminado por um código
malicioso. Para tornar este processo de identificação ineficaz, os desenvolvedores de programas
maliciosos podem inserir em suas criações a capacidade de alterar a forma com o seu código se
apresenta, mudando o corpo do código à medida que o processo de contaminação ocorre e
invalidando o processo de identificação tradicional. Uma das maneiras de lidar com esta capacidade
de mutação, também conhecido como metamorfismo de código, é baseada na geração de grafos que
modelem as relações de dependência existentes entre os elementos do código, uma vez que estas
relações se persistem, mesmo diante da mutação do código. Estes grafos são também conhecidos
como grafos de dependência. Similar ao tradicional modelo de assinaturas, a identificação dos
códigos maliciosos baseadas em grafos de dependência, ocorre quando o grafo gerado a partir do
programa sob investigação e comparado com um conjunto de grafos previamente armazenados em
uma base de referência, construída a partir da extração dos grafos de dependência de instâncias de
códigos maliciosos previamente identificados. Como o processo de comparação entre grafos
pertence à classe de problemas NP-Difícil, é necessário encontrar alternativas viáveis para tratar
este problema, tornando a comparação entre grafos uma alternativa viável para a identificação de
códigos maliciosos metamórficos. Usando grafos de dependência extraídos a partir de códigos
executáveis, esta tese apresenta uma abordagem para reduzir o tamanho dos grafos de dependência
usados no processo de comparação, pela introdução da diferenciação entre os vértices, com base nas
relações de dependência características de cada deles possui. Combinada com a inclusão de arestas
virtuais, esta metodologia possibilita a construção de um clique virtual que é utilizado para
identificar e descartar as porções menos relevantes do grafo de dependência original, diminuindo o
tamanho do grafo que será inserido na base de referência. Os resultados apresentados nesta tese
também demonstram que esta redução aprimora o processo de identificação, diminuindo o
coeficiente de variação dos resultados e aumentando a taxa de identificações de códigos maliciosos
metamórficos.

Identiferoai:union.ndltd.org:IBICT/oai:http://localhost:tede/5641
Date16 January 2016
CreatorsMartins, Gilbert Breves
ContributorsSouto, Eduardo James Pereira
PublisherUniversidade Federal do Amazonas, Programa de Pós-graduação em Informática, UFAM, Brasil, Instituto de Computação
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações da UFAM, instname:Universidade Federal do Amazonas, instacron:UFAM
Rightshttp://creativecommons.org/licenses/by-nc-nd/4.0/, info:eu-repo/semantics/openAccess
Relation-312656415484870643, 600, 500, 4163267508810754609

Page generated in 0.0023 seconds