Using machine learning for detecting security vulnerabilities through bug report analysis

Detalhes bibliográficos
Autor(a) principal: Wanderley, Caio Walter Deziderio
Data de Publicação: 2021
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: http://hdl.handle.net/10316/98208
Resumo: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_ec6ae176de7f63ecd342f1802e5f086a
oai_identifier_str oai:estudogeral.uc.pt:10316/98208
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 Using machine learning for detecting security vulnerabilities through bug report analysisUsar machine learning para detectar vulnerabilidades de segurança por meio de análise de relatório de bugClassificação de vulnerabilidadesProblemas de SegurançaClassificação de Bug de SegurançaRelatório de Bug de SegurançaAlgoritmos de Machine LearningVulnerability ClassificationSecurity IssuesSecurity Bug classificationSecurity Bug ReportsMachine learningDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaA bug report is the description of an error in the program that was encountered by a developer. With the increasing amount of complexity in software systems, they are prone to have several bugs including those that could reveal sensitive information or allow for attackers to run malicious software. This is especially true for banks and large scale companies, in which a security bug that reveals the users’ credentials or leaves their platform vulnerable to malicious attacks, could affect human lives. All modern large scale companies that have to create a software project have encountered bugs and have to fill in a bug report, and it is the job of a triagger to classify it according to its description. This task done by humans is very time-consuming and prone to a lot of error if the triagger does not know certain areas the report could be mentioned, this can lead to erroneous classification. So in recent decades, several studies are implementing text classification to classify these reports. This thesis, it is first presented an analysis regarding the different approaches in the literature of the past decade for classifying Bug Reports. After the analysis of the literature, we experimented with different combinations of machine learning algorithms to determine the different impacts in the performance when dealing with vulnerabilities classification. We found that the results for the Area Under The Curve (AUC) being 81.21%±8.33 when using Title and Description of a bug report, 79.51%±7.96 when using the Title, and 78.04%±8.2 when using the Description.Um relatório de bug é a descrição de um erro no programa que foi encontrado por um desenvolvedor. Com a crescente complexidade dos sistemas de software, eles estão propensos a ter vários bugs, incluindo aqueles que podem revelar informações confidenciais ou permitir que invasores executem software malicioso. Isso é especialmente verdadeiro para bancos e empresas de grande porte, em que um bug de segurança que revela as credenciais dos usuários ou deixar uma plataforma vulnerável para ataques maliciosos, podem afetar vidas.Todas as empresas de grande porte modernas que têm que criar um projeto de software encontraram bugs e tirão que preencher um relatório de bug, e é o trabalho de um triager para classificá-lo de acordo com sua descrição. Essa tarefa feita por humanos é muito demorada e sujeita a muitos erros se o triagger não tiver o conhecimento de certas áreas que o relatório poderá estar mencionando, isso pode levar a uma classificação incorreta. Por causa disso, nas últimas décadas, vários estudos estão implementando a classificação de texto para classificar esses relatórios.Nesta tese, é apresentada inicialmente uma análise a respeito das diferentes abordagens na literatura das última década para classificar relatórios de bugs. Após a análise da literatura, nós experimentamos diferentes combinações de algoritmo de machine learnig para determinar os diferentes impactos no desempenho ao lidar com a classificação de vulnerabilidades. Foi descoberto que os melhores resultado para o AUC sendo 81.21 %±8.33 ao usar o Título e a Descrição de um relatório de bug, 79.51 %±7.96 ao usar o Título e 78.04 %±8.2 ao usar a Descrição.2021-11-17info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/98208http://hdl.handle.net/10316/98208TID:202921077engWanderley, Caio Walter Deziderioinfo: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:RCAAP2022-05-25T10:19:57Zoai:estudogeral.uc.pt:10316/98208Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:16:05.907821Repositó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 Using machine learning for detecting security vulnerabilities through bug report analysis
Usar machine learning para detectar vulnerabilidades de segurança por meio de análise de relatório de bug
title Using machine learning for detecting security vulnerabilities through bug report analysis
spellingShingle Using machine learning for detecting security vulnerabilities through bug report analysis
Wanderley, Caio Walter Deziderio
Classificação de vulnerabilidades
Problemas de Segurança
Classificação de Bug de Segurança
Relatório de Bug de Segurança
Algoritmos de Machine Learning
Vulnerability Classification
Security Issues
Security Bug classification
Security Bug Reports
Machine learning
title_short Using machine learning for detecting security vulnerabilities through bug report analysis
title_full Using machine learning for detecting security vulnerabilities through bug report analysis
title_fullStr Using machine learning for detecting security vulnerabilities through bug report analysis
title_full_unstemmed Using machine learning for detecting security vulnerabilities through bug report analysis
title_sort Using machine learning for detecting security vulnerabilities through bug report analysis
author Wanderley, Caio Walter Deziderio
author_facet Wanderley, Caio Walter Deziderio
author_role author
dc.contributor.author.fl_str_mv Wanderley, Caio Walter Deziderio
dc.subject.por.fl_str_mv Classificação de vulnerabilidades
Problemas de Segurança
Classificação de Bug de Segurança
Relatório de Bug de Segurança
Algoritmos de Machine Learning
Vulnerability Classification
Security Issues
Security Bug classification
Security Bug Reports
Machine learning
topic Classificação de vulnerabilidades
Problemas de Segurança
Classificação de Bug de Segurança
Relatório de Bug de Segurança
Algoritmos de Machine Learning
Vulnerability Classification
Security Issues
Security Bug classification
Security Bug Reports
Machine learning
description Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2021
dc.date.none.fl_str_mv 2021-11-17
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 http://hdl.handle.net/10316/98208
http://hdl.handle.net/10316/98208
TID:202921077
url http://hdl.handle.net/10316/98208
identifier_str_mv TID:202921077
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
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_ 1799134057472196608