Fast scan, an improved approach using machine learning for vulnerability identification

Detalhes bibliográficos
Autor(a) principal: Baptista, Tiago João Fernandes
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/82993
Resumo: Dissertação de mestrado integrado em Engenharia Informática
id RCAP_40363880c27664ad39e89eb918b989be
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/82993
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Fast scan, an improved approach using machine learning for vulnerability identificationVulnerabilityAttention modelsAtatic analysisSecurityVulnerabilidadeModelos de atençãoAnálise estáticaSegurançaEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Engenharia InformáticaThis document presents a Master Thesis in the Integrated Master’s in Informatics Engi neering focused on the automatic identification of vulnerabilities, that was accomplished at Universidade do Minho in Braga, Portugal. This thesis work aims at developing a machine learning based tool for automatic iden tification of vulnerabilities on programs (source, high level code), that uses an abstract syntax11tree representation. It is based on FastScan, using code2seq approach. Fastscan is a recently developed system aimed capable of detecting vulnerabilities in source code using machine learning techniques. Nevertheless, FastScan is not able of identifying the vulnerability type. In the presented work the main goal is to go further and develop a method to identify specific types of vulnerabilities. As will be shown, the goal will be achieved by changing the method of receiving and processing in a different way the input data and developing an architecture that brings together multiple models to predict different specific vulnerabilities. The best f1 metric obtained is 93% resulting in a precision of 90% and accuracy of 85%, according to the performed tests and regarding a trained model to predict vulnerabilities of the injection type. These results were obtained with the contribution given by the optimization of the model’s hyperparameters and also the use of the Search Cluster from University of Minho that greatly diminished the necessary time to perform training and testing. It is important to refer that overfitting was detected in the late stages of the tests, so this results do not represent the true value in real context. Also an interface is presented, it allows to better interact with the models and analyse the scan results.Este documento apresenta uma dissertação do Mestrado Integrado em Engenharia Infor mática, que tem como foco a automação da deteção de vulnerabilidades e foi concluída na Universidade do Minho em Braga, Portugal. O trabalho apresentado nesta tese pretende desenvolver uma ferramenta que utiliza machine learning e que seja capaz de identificar vulnerabilidades em código. Utilizando para isso a representação do mesmo numa abstract syntax tree. Tem como base FastScan que utiliza a abordagem do code2seq. Fastscan é um projeto recentemente desenvolvido que é capaz de detetar vulnerabilidades em código utilizando técnicas de machine learning, sendo que tem algumas lacunas como o facto de não ser capaz de identificar vulnerabilidades específicas. No trabalho apresentado o objetivo é ir mais além e desenvolver um método capaz de identificar qual o tipo específico de vulnerabilidade presente. Como será apresentado ao longo do documento, este objetivo será alcançado pela alteração do método de receção e processamento dos dados recebidos, assim como o desenvolvimento de uma arquitetura que junte os vários modelos de maneira a cooperarem e a ferramenta ser capaz de detetar e prever a presença de vulnerabilidades específicas. A melhor métrica de f1 obtida foi de 93%, com precisão de 90% e accuracy de 85%, de acordo com os testes efetuados sobre um modelo treinado para prever a presença de vulnerabilidades do tipo de injection. Os resultados foram obtidos devido à otimização dos hiper-parâmetros dos modelos e o cluster Search da Universidade do Minho diminuiu consideravelmente o tempo necessário para efetuar o traino e testes dos modelos. É importante referir que foi detetado overfitting na fase final do desenvolvimento deste trabalho, sendo que os resultados apresentados não representam o valor real dos modelos em contexto real. Para além disso é apresentada uma interface que permite interagir e analisar os resultados de um scan feito pelos modelos.Henriques, Pedro RangelOliveira, NunoUniversidade do MinhoBaptista, Tiago João Fernandes2022-03-032022-03-03T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/82993eng203202112info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:08:16Zoai:repositorium.sdum.uminho.pt:1822/82993Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T18:59:29.902670Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Fast scan, an improved approach using machine learning for vulnerability identification
title Fast scan, an improved approach using machine learning for vulnerability identification
spellingShingle Fast scan, an improved approach using machine learning for vulnerability identification
Baptista, Tiago João Fernandes
Vulnerability
Attention models
Atatic analysis
Security
Vulnerabilidade
Modelos de atenção
Análise estática
Segurança
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Fast scan, an improved approach using machine learning for vulnerability identification
title_full Fast scan, an improved approach using machine learning for vulnerability identification
title_fullStr Fast scan, an improved approach using machine learning for vulnerability identification
title_full_unstemmed Fast scan, an improved approach using machine learning for vulnerability identification
title_sort Fast scan, an improved approach using machine learning for vulnerability identification
author Baptista, Tiago João Fernandes
author_facet Baptista, Tiago João Fernandes
author_role author
dc.contributor.none.fl_str_mv Henriques, Pedro Rangel
Oliveira, Nuno
Universidade do Minho
dc.contributor.author.fl_str_mv Baptista, Tiago João Fernandes
dc.subject.por.fl_str_mv Vulnerability
Attention models
Atatic analysis
Security
Vulnerabilidade
Modelos de atenção
Análise estática
Segurança
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Vulnerability
Attention models
Atatic analysis
Security
Vulnerabilidade
Modelos de atenção
Análise estática
Segurança
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado integrado em Engenharia Informática
publishDate 2022
dc.date.none.fl_str_mv 2022-03-03
2022-03-03T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/82993
url https://hdl.handle.net/1822/82993
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203202112
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132387408347136