Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020.
Main Author: | Ribeiro, Alexandre José |
---|---|
Other Authors: | Almeida, Rodrigo Bonifácio de |
Format: | Dissertação |
Language: | Português |
Published: |
2021
|
Subjects: | |
Online Access: |
https://repositorio.unb.br/handle/10482/40762 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
id |
ir-10482-40762 |
---|---|
recordtype |
dspace |
spelling |
ir-10482-407622021-05-03T12:08:35Z Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows Ribeiro, Alexandre José Almeida, Rodrigo Bonifácio de Malwares Análise estática Python Aprendizado supervisionado de máquina Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020. Malware tornou-se uma grande ameaça para governos, empresas e indivíduos. A forma clássica para a detecção de malwares é pela utilização de softwares como antivírus. No entanto, os produtos que oferecem esse tipo de contramedida estão se tornando cada vez mais ineficazes, devido ao surgimento de técnicas de evasão, tais como o polimorfismo, o que permite que centenas de milhares de exemplares surjam todos os dias. Para lidar com essa ameaça, métodos de aprendizado de máquina (ML) têm sido reportados como ferramentas promissoras na detecção de malware. Neste contexto, o presente trabalho explora técnicas de aprendizado supervisionado de máquina de maneira a produzir uma generalização prática de um preditor para aplicação em um determinado sistema de detecção de malware. Para tanto, utiliza atributos extraídos de arquivos executáveis do ambiente Microsoft Windows, também chamados de Portable Executable (PE), através da aplicação de ferramentas de análise estática, de código aberto, desenvolvidas na linguagem Python, e procedimentos relacionados à seleção de amostras, a coleta e tratamento dos dados coletados de repositórios disponíveis na Internet de aplicativos do sistema operacional Microsoft Windows. Dos algoritmos que compuseram os experimentos, o Random Forest, KNN e SVC apresentaram o melhor desempenho dentre aqueles utilizados. Como resultados, os experimentos atingiram uma precisão acima de 94% durante o treinamento dos modelos. Como contribuição, o trabalho proposto fornece uma evidência empírica da viabilidade da proposta, baseada nos experimentos realizados, cujos resultados foram embarcados em um protótipo de aplicação para a classificação entre arquivos maliciosos e benignos. Adicionalmente, oferece à comunidade científica, um conjunto de recursos extraídos de mais de14.000 arquivos executáveis, entre arquivos maliciosos e benignos, como suporte para outros experimentos. Malware has become a major threat to governments, businesses and individuals. The classic way to detect malwares is by using software such as antivirus. However, products that offer this type of protection against it are becoming increasingly ineffective, due to the emergence of advanced techniques, such as polymorphism, which allows hundreds of thousands of samples to appear every day. To address this threat, machine learning methods (ML) have been reported as promising tools for detecting malware. In this context, the present work explores supervised machine learning techniques in order to produce a practical generalization of a predictor for application in a given malware detection system. Our approach uses resources extracted from executable files in the Microsoft Windows environment, also called Portable Executables (PE), through the application of static analysis tools and open source codes, developed in language Python and procedures related to the samples' selection, the collection and treatment of data taken from repositories available on the Internet, from the Microsoft Windows operational system applications. Among the algorithms that composed the experiments, Random Forest, KNN and SVC showed the best performance among those used. As a result, the experiments reached accuracy above 94% during the training phase. As a contribution, the proposed work also provides empirical evidence based on experiments carried out, and by the construction of an application prototype for prediction between malicious and benign files. In addition, it offers to the scientific community a set of resources extracted from more than 14,000 samples, including malicious and benign files, and its related code as well, as support for other experiments. 2021-05-03T12:08:35Z 2021-05-03T12:08:35Z 2021-05-01 2020-12-10 Dissertação RIBEIRO, Alexandre José. Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows. 2020. xvi, 131 f., il. Dissertação (Mestrado Profissional em Computação Aplicada)—Universidade de Brasília, Brasília, 2020. https://repositorio.unb.br/handle/10482/40762 Português Acesso Aberto A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data. application/pdf |
institution |
REPOSITORIO UNB |
collection |
REPOSITORIO UNB |
language |
Português |
topic |
Malwares Análise estática Python Aprendizado supervisionado de máquina |
spellingShingle |
Malwares Análise estática Python Aprendizado supervisionado de máquina Ribeiro, Alexandre José Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows |
description |
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020. |
author2 |
Almeida, Rodrigo Bonifácio de |
format |
Dissertação |
author |
Ribeiro, Alexandre José |
author_sort |
Ribeiro, Alexandre José |
title |
Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows |
title_short |
Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows |
title_full |
Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows |
title_fullStr |
Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows |
title_full_unstemmed |
Explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional Microsoft Windows |
title_sort |
explorando o uso de análise estática e aprendizagem supervisionada de máquina para a identificação de códigos maliciosos em arquivos executáveis do sistema operacional microsoft windows |
publishDate |
2021 |
url |
https://repositorio.unb.br/handle/10482/40762 |
_version_ |
1710449610288267264 |
score |
13.657419 |