Vulnerabilities preservation using code mutation

Detalhes bibliográficos
Autor(a) principal: Cruz, Jorge Fernando Alves da
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/84709
Resumo: Dissertação de mestrado integrado em Informatics Engineering
id RCAP_da27a438fa29454f82ec221b99afe2ab
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/84709
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 Vulnerabilities preservation using code mutationApplication security testingCode mutationCode refactoringTeste de segurança de aplicaçõesMutação de códigoRefatoração de códigoEngenharia e Tecnologia::Outras Engenharias e TecnologiasDissertação de mestrado integrado em Informatics EngineeringThe main goal of software security testing is to assess the security risks of an application so that programmers can eliminate all vulnerabilities, as early as possible, before they are exploited by attackers. There are several tools on the market that allow to perform these tests during the software development life cycle to ensure that there are no security flaws in the final product. However, like all tools, these can also have imperfections, one of them being unable to detect weaknesses in vulnerable software. The project of this dissertation aims to tackle this problem, so that it is possible to find and correct flaws in security tests in order to, consequently, increase the effectiveness of the tools that intend to certify the security of applications. For this, the solution studied in this document is to apply syntactic transformations in vulnerable code samples without interfering in the presence of the vulnerabilities that should later be detected. This process is based on: ) code refactoring techniques that allow improving the internal quality of the software; ) the mutation testing system used to evaluate the quality of software testing. To implement this idea, a tool called VSG was developed with the functionality of producing new code samples with security flaws. This document describes the whole development process, from the architecture to the implementation of the tool. In the end, there is an analysis with the results obtained when trying to detect the vulnerabilities present in the samples produced through the CxSAST application of the company Checkmarx, from which this dissertation emerged.O objetivo principal de testes de segurança de software consiste em avaliar os riscos de segurança de uma aplicação para que os programadores possam eliminar todas as vulnerabilidades o mais cedo possível, antes que sejam exploradas por atacantes. Existem várias ferramentas no mercado que permitem realizar estes testes durante o processo de desenvolvimento de software para garantir que não existam falhas de segurança no produto final. Porém, tal como todas as ferramentas, estas também podem apresentar imperfeições, sendo uma delas não conseguir detetar fraquezas em software vulnerável. O projeto desta dissertação pretende combater este problema, de modo a que seja possível encontrar e corrigir falhas nos testes de segurança para, consequentemente, aumentar a eficácia das ferramentas que pretendem certificar a segurança das aplicações. Para isto, a solução estudada neste documento passa por aplicar transformações sintáticas em amostras de código vulneráveis sem interferir na presença das vulnerabilidades que deverão, posteriormente, ser detetadas. Este processo baseia-se: ) nas técnicas de refatoração de código que permitem melhorar a qualidade interna do software; ) no sistema de testes de mutação usado para avaliar a qualidade de testes de software. Para implementar esta ideia, uma ferramenta chamada VSG foi desenvolvida com a funcionalidade de produzir novas amostras de código com falhas de segurança. Neste documento é descrito todo o processo de desenvolvimento, desde a arquitetura até à implementação da ferramenta. No final, existe uma análise com os resultados obtidos ao tentar detetar as vulnerabilidades presentes nas amostras produzidas através da aplicação CxSAST da empresa Checkmarx, da qual esta dissertação surgiu.Pinto, Jorge SousaCruz, Daniela CarneiroUniversidade do MinhoCruz, Jorge Fernando Alves da2022-12-192022-12-19T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/84709eng203262077info: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:24:00Zoai:repositorium.sdum.uminho.pt:1822/84709Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:17:52.907021Repositó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 Vulnerabilities preservation using code mutation
title Vulnerabilities preservation using code mutation
spellingShingle Vulnerabilities preservation using code mutation
Cruz, Jorge Fernando Alves da
Application security testing
Code mutation
Code refactoring
Teste de segurança de aplicações
Mutação de código
Refatoração de código
Engenharia e Tecnologia::Outras Engenharias e Tecnologias
title_short Vulnerabilities preservation using code mutation
title_full Vulnerabilities preservation using code mutation
title_fullStr Vulnerabilities preservation using code mutation
title_full_unstemmed Vulnerabilities preservation using code mutation
title_sort Vulnerabilities preservation using code mutation
author Cruz, Jorge Fernando Alves da
author_facet Cruz, Jorge Fernando Alves da
author_role author
dc.contributor.none.fl_str_mv Pinto, Jorge Sousa
Cruz, Daniela Carneiro
Universidade do Minho
dc.contributor.author.fl_str_mv Cruz, Jorge Fernando Alves da
dc.subject.por.fl_str_mv Application security testing
Code mutation
Code refactoring
Teste de segurança de aplicações
Mutação de código
Refatoração de código
Engenharia e Tecnologia::Outras Engenharias e Tecnologias
topic Application security testing
Code mutation
Code refactoring
Teste de segurança de aplicações
Mutação de código
Refatoração de código
Engenharia e Tecnologia::Outras Engenharias e Tecnologias
description Dissertação de mestrado integrado em Informatics Engineering
publishDate 2022
dc.date.none.fl_str_mv 2022-12-19
2022-12-19T00: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/84709
url https://hdl.handle.net/1822/84709
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203262077
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_ 1799132632163811328