Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities

Bibliographic Details
Main Author: Marçal, Inês Martins
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/10316/118126
Summary: Dissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia
id RCAP_c6fcbfc8a5a4dbd0677eaa4c04202ceb
oai_identifier_str oai:estudogeral.uc.pt:10316/118126
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 Evaluation of Static Analysis Tools in Detecting OWASP Top 10 VulnerabilitiesAvaliação de ferramentas de análise estática na deteção de vulnerabilidades do top 10 OWASPweb applicationOWASP Top 10static analysis toolsbenchmarkingperformance evaluationAplicação WebOWASP Top 10ferramentas de análise estáticabenchmarkingavaliação de performanceDissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e TecnologiaThe popularity of Web applications has been growing due to their ease of access through a simple Internet connection, benefiting countless business sectors, including online banking. However, they are often developed over tight schedules and therefore subject to deployment with critical vulnerabilities. The integration of SAST tools throughout the development cycle of a web application could precisely mitigate their presence. Given the transition from the OWASP Top 10 to the 2021 version, it is essential to assess whether the detection capacity can deal with this new set of risks. To compare the detection capacity of seven SAST tools against the categories of vulnerabilities covered by the OWASP Top 10, a benchmarking methodology was implemented and then applied to evaluate their performance. The workload built for this consists of three realistic web applications (WebGoat, JuiceShop and Mutillidae), two sets of synthetic test cases (Juliet Test Suite and OWASP Benchmark) and four open-source web applications developed in real contexts (Piwigo, Shopizer, PeerTube and Metafresh). By using this formulation, it is possible to concentrate a diverse sample of vulnerable instances that are representative of those in the OWASP Top 10, while exposing the SAST tools to the scalability and complexity of code characteristic of real web applications. In addition to an individual assessment of the SAST tools' detection capabilities, the impact of their combined use on the final performance was also analyzed and an analogy was made with the agreement level of the tools involved. To this end, the implementation of the most common strategy of combining the tools' outputs was also accompanied by the development and application of a new approach where, unlike this one, it is the tool with the best performance against a given issue that has the greatest weight on the results merge. Since different SAST tools provide different outputs, besides being able to benefit from their combination, characterizing them based on a set of metrics reflecting scenarios with distinct requirements (criticality and budget) will allow the respective tools to be assigned to the context that best matches their effectiveness. To understand in which scenario the analyzed web application fits and, consequently, to use the ranking obtained for it, a strategy was formulated to verify its criticality level. This research also included an assessment of the SAST tools' usability level.A utilização de aplicações web tem vindo a ganhar cada vez mais popularidade devido ao seu fácil acesso por meio de uma simples conexão à Internet, beneficiando, assim, inúmeras áreas de negócio, inclusive online banking. Contudo, estas são desenvolvidas frequentemente sobre prazos apertados e, portanto, submetidas a um deployment com vulnerabilidades críticas embutidas. A integração das ferramentas de análise estática ao longo do ciclo de desenvolvimento de uma aplicação web poderá vir, precisamente, a mitigar a presença das mesmas. Perante a transição do OWASP Top 10 para a versão de 2021, é fundamental avaliar se a capacidade de deteção das ferramentas SAST atende a este novo conjunto de riscos. Por forma a comparar a capacidade de deteção de sete ferramentas SAST face às categorias de vulnerabilidades abrangidas pelo OWASP Top 10, procedeu-se à implementação e posterior aplicação de uma metodologia de benchmarking centrada na avaliação do seu desempenho. O workload construído para a concretização do mesmo é composto por três aplicações web realistas (WebGoat, JuiceShop e Mutillidae), dois conjuntos de casos de teste sintéticos (Juliet Test Suit e OWASP Benchmark) e quatro aplicações web open-source desenvolvidas e utilizadas em contextos reais (Piwigo, Shopizer, PeerTube e Metafresh). Esta formulação permite concentrar instâncias vulneráveis diversificadas e representativas das contidas no OWASP Top 10 e, simultaneamente, submeter as ferramentas SAST a um código de amplitude e complexidade características de aplicações web reais. Além de uma avaliação individual da capacidade de deteção das ferramentas SAST, analisou-se ainda o impacto da sua utilização combinada no desempenho final e efetuou-se uma analogia do mesmo ao nível de concordância das ferramentas envolvidas. Para tal, a execução da estratégia mais comum de disjunção dos outputs das tools foi ainda acompanhada pela implementação e aplicação de uma nova abordagem, onde, ao contrário desta, é a ferramenta com melhor performance face à vulnerabilidade em causa que impõe um maior peso na decisão da conjugação. Como diferentes ferramentas SAST providenciam outputs distintos, além de se poder tirar partido da sua combinação, a caracterização destes com base num conjunto de métricas reflexivas de cenários com diferentes exigências, criticidade e orçamento, permitirá associar as respectivas ferramentas ao contexto a que melhor corresponde a sua eficácia. Por forma a compreender em que cenário uma determinada aplicação web se insere e, consequentemente, beneficiar do ranking obtido para o mesmo, formulou-se uma estratégia com o âmbito de verificar o seu nível de criticalidade. Nesta investigação incluiu-se ainda uma avaliação do nível de usabilidade das ferramentas SAST.Outro - No âmbito do projeto "Agenda Mobilizadora Sines Nexus" (reference: 7113) Process 976418/IT137-24-87, bolsa de 6 meses2024-09-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://hdl.handle.net/10316/118126https://hdl.handle.net/10316/118126TID:203827210engMarçal, Inês Martinsinfo: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:RCAAP2025-01-24T23:23:49Zoai:estudogeral.uc.pt:10316/118126Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T06:11:59.759693Repositó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 Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
Avaliação de ferramentas de análise estática na deteção de vulnerabilidades do top 10 OWASP
title Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
spellingShingle Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
Marçal, Inês Martins
web application
OWASP Top 10
static analysis tools
benchmarking
performance evaluation
Aplicação Web
OWASP Top 10
ferramentas de análise estática
benchmarking
avaliação de performance
title_short Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
title_full Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
title_fullStr Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
title_full_unstemmed Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
title_sort Evaluation of Static Analysis Tools in Detecting OWASP Top 10 Vulnerabilities
author Marçal, Inês Martins
author_facet Marçal, Inês Martins
author_role author
dc.contributor.author.fl_str_mv Marçal, Inês Martins
dc.subject.por.fl_str_mv web application
OWASP Top 10
static analysis tools
benchmarking
performance evaluation
Aplicação Web
OWASP Top 10
ferramentas de análise estática
benchmarking
avaliação de performance
topic web application
OWASP Top 10
static analysis tools
benchmarking
performance evaluation
Aplicação Web
OWASP Top 10
ferramentas de análise estática
benchmarking
avaliação de performance
description Dissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia
publishDate 2024
dc.date.none.fl_str_mv 2024-09-11
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/10316/118126
https://hdl.handle.net/10316/118126
TID:203827210
url https://hdl.handle.net/10316/118126
identifier_str_mv TID:203827210
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ó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_ 1833602612469956608