Sårbarhetsanalys i Spring Boot: Effekten av reflection på tillförlitligheten i en nåbarhetsanalys
2026 (Swedish)Independent thesis Basic level (university diploma), 10 credits / 15 HE credits
Student thesis
Abstract [sv]
Moderna mjukvarusystem utvecklas ofta med hjälp av tredjepartsbibliotek, vilket gör att sårbarhetsanalys genom Software Composition Analysis (SCA) blir aktuellt. Ett problem inom detta område är att statiska SCA-verktyg kan missa sårbarheter i moderna Java-ramverk, såsom Spring Boot, på grund av dess dynamiska funktioner, som till exempel Java Reflection. Denna studie undersöker hur recall-värdet påverkas av Javas dynamiska funktioner vid statisk nåbarhetsanalyser och i vilken utsträckning olika analysstrategier skiljer sig mot varandra. Studien använder en kvantitativ experimentell ansats. Fyra utvalda SCA-verktyg testas mot två uppbyggda testmiljöer som använder Spring Boot och innehåller kända sårbarheter. Resultatet analyseras genom beräkningen av recall-värden och Jaccard-index för att ta fram statistik för jämförelser mellan verktygens täckningsgrad vid statiska och dynamiska anrop. Resultatet visar en generellt lägre täckningsgrad vid dynamiska anrop jämfört med statiska. Dagens SCA-verktyg visar fortsatt svårigheter i utmanande miljöer såsom Spring Boot och kan inte användas som en heltäckande lösning, utan bör kombineras med flera verktyg och manuella granskningar.
Abstract [en]
Modern software systems are often developed using third-party libraries, which makes vulnerability analysis using Software Composition Analysis (SCA) relevant. One problem in this area is that static SCA-tools can miss vulnerabilities in modern Java-frameworks, such as Spring Boot, because of the use of dynamic functions like Java Reflection. This study investigates how recall is affected by dynamic functions in Java with static reachability analysis and to what extent different analytical strategies differ from each other. The study uses a quantitative experimental approach. Four different SCA-tools are tested against two benchmarks that use Spring Boot and that contains known vulnerabilities. The results are analysed by calculating recall and the Jaccard-index to obtain statistics to compare the tools reachability with static and dynamic called functions.The results show a generally lower recall for the dynamically called functions compared to the static functions. It shows that today’s modern SCA-tools still experience difficulties in challenging environments such as in Spring Boot and cannot beused as a comprehensive solution but should be combined with other tools and manual reviews.
Place, publisher, year, edition, pages
2026. , p. 23
Keywords [sv]
Java Reflection, nåbarhetsanalys, sårbarhetsanalys, Spring Boot
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:hig:diva-50047OAI: oai:DiVA.org:hig-50047DiVA, id: diva2:2069186
Subject / course
Computer science
Educational program
Högskoleingenjör
Supervisors
Examiners
2026-06-302026-06-102026-06-30Bibliographically approved