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