Using machine learning for detecting security vulnerabilities through bug report analysis
Autor(a) principal: | |
---|---|
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 |