Please use this identifier to cite or link to this item:
https://hdl.handle.net/1822/84709
Title: | Vulnerabilities preservation using code mutation |
Author(s): | Cruz, Jorge Fernando Alves da |
Advisor(s): | Pinto, Jorge Sousa Cruz, Daniela Carneiro |
Keywords: | Application security testing Code mutation Code refactoring Teste de segurança de aplicações Mutação de código Refatoração de código |
Issue date: | 19-Dec-2022 |
Abstract(s): | The 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. |
Type: | Master thesis |
Description: | Dissertação de mestrado integrado em Informatics Engineering |
URI: | https://hdl.handle.net/1822/84709 |
Access: | Open access |
Appears in Collections: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Jorge Fernando Alves Cruz.pdf | 1,44 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License