Type annotation for SAST
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2023 |
| Tipo de documento: | Dissertação |
| Idioma: | eng |
| Título da fonte: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| Texto Completo: | https://hdl.handle.net/1822/92613 |
Resumo: | Dissertação de mestrado em Informatics Engineering |
| id |
RCAP_4ae172aefd2d93d976b1d7b2452c1df2 |
|---|---|
| oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/92613 |
| network_acronym_str |
RCAP |
| network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository_id_str |
https://opendoar.ac.uk/repository/7160 |
| spelling |
Type annotation for SASTSASTStatic Application Security TestingType annotationCC++C#Unit testingAutomation testingCxQLTeste de Segurança de Aplicativos EstáticosAnotação de tiposTeste unitárioTeste de automaçãoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Informatics EngineeringThis document describes the work done to understand the impact of implementing a type annotation algorithm plugged into the Static Application Security Testing (SAST) engine used by Checkmarx. The main goal is to upgrade the Checkmarx’s SAST tool allowing the execution of vulnerability detection taking into account expression types. This means that every result of an expression needs to have a specific type assigned accordingly to the kind of operation and to the different operand types. Along with the assigned type, information on the size of the variable and signedness should be available. As a case study, the C/C++ Programming Language was used. Then an extension to deal with expansion to the C# language was developed and a study of the implications of expanding the system to multiple languages was carried out. A proof of concept was implemented, using a language agnostic approach, that allows for expressions type annotation previous to the analysis of code vulnerabilities. That tool developed supports languages C, C++ and C# and the annotation of their base types. It was possible to re implement some of the vulnerability analysis queries previously created and in use at Checkmax so that they use the implemented expression types. This led to a significant increase in readability of the queries, an increase in the amount of vulnerability results found by those queries as well as a minimum efficiency increase.Este documento descreve o trabalho realizado para compreender o impacto da implemen tação de um algoritmo de anotação de tipos integrado ao mecanismo de Teste de Segurança de Aplicativos Estáticos (SAST) utilizado pela Checkmarx. O principal objetivo é aprimorar a ferramenta SAST da Checkmarx, permitindo a detecção de vulnerabilidades levando em consideração os tipos de expressões. Isso significa que cada resultado de uma expressão deve ter um tipo específico atribuído de acordo com o tipo de operação e os diferentes tipos de operandos. Juntamente com o tipo atribuído, informações sobre o tamanho da variável e a sinalização devem estar disponíveis. Como caso de estudo, foi utilizada a linguagem de programação C/C++. Em seguida, foi desenvolvida uma extensão para lidar com a expansão para a linguagem C# e foi realizado um estudo das implicações da expansão do sistema para várias linguagens. Foi implementada uma prova de conceito, usando uma abordagem agnóstica à linguagem, que permite a anotação de tipos de expressões antes da análise das vulnerabilidades do código. A ferramenta desenvolvida suporta as linguagens C, C++ e C# e a anotação dos seus tipos base. Foi possível reimplementar algumas das queries de análise de vulnerabilidades previamente criadas e usadas na Checkmarx, para que utilizem os tipos de expressões implementados. Isso resultou num aumento significativo na legibilidade das queries, um aumento na quantidade de resultados de vulnerabilidades encontrados por essas queries, bem como um aumento mínimo na eficiência.Henriques, Pedro RangelSimões, AlbertoUniversidade do MinhoPereira, Marco Avelino Teixeira2023-12-052023-12-05T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/92613eng203608429info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-07-27T01:25:07Zoai:repositorium.sdum.uminho.pt:1822/92613Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T18:38:27.959261Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
| dc.title.none.fl_str_mv |
Type annotation for SAST |
| title |
Type annotation for SAST |
| spellingShingle |
Type annotation for SAST Pereira, Marco Avelino Teixeira SAST Static Application Security Testing Type annotation C C++ C# Unit testing Automation testing CxQL Teste de Segurança de Aplicativos Estáticos Anotação de tipos Teste unitário Teste de automação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| title_short |
Type annotation for SAST |
| title_full |
Type annotation for SAST |
| title_fullStr |
Type annotation for SAST |
| title_full_unstemmed |
Type annotation for SAST |
| title_sort |
Type annotation for SAST |
| author |
Pereira, Marco Avelino Teixeira |
| author_facet |
Pereira, Marco Avelino Teixeira |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Henriques, Pedro Rangel Simões, Alberto Universidade do Minho |
| dc.contributor.author.fl_str_mv |
Pereira, Marco Avelino Teixeira |
| dc.subject.por.fl_str_mv |
SAST Static Application Security Testing Type annotation C C++ C# Unit testing Automation testing CxQL Teste de Segurança de Aplicativos Estáticos Anotação de tipos Teste unitário Teste de automação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| topic |
SAST Static Application Security Testing Type annotation C C++ C# Unit testing Automation testing CxQL Teste de Segurança de Aplicativos Estáticos Anotação de tipos Teste unitário Teste de automação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| description |
Dissertação de mestrado em Informatics Engineering |
| publishDate |
2023 |
| dc.date.none.fl_str_mv |
2023-12-05 2023-12-05T00: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/92613 |
| url |
https://hdl.handle.net/1822/92613 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.relation.none.fl_str_mv |
203608429 |
| 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órios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
| instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| instacron_str |
RCAAP |
| institution |
RCAAP |
| reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
| repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
| repository.mail.fl_str_mv |
info@rcaap.pt |
| _version_ |
1833597563801960448 |