Software bill of materials for web software

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorKalliola, Janne
dc.contributor.authorSalonen, Luka
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorAura, Tuomas
dc.date.accessioned2025-05-20T17:07:07Z
dc.date.available2025-05-20T17:07:07Z
dc.date.issued2025-04-27
dc.description.abstractThis thesis investigates the effectiveness of various Software Bill of Materials (SBOM) generation tools for identifying software dependencies in real-world software projects. As modern software often relies heavily on open-source and third-party components, which themselves have their own dependencies, understanding and managing these dependencies is essential for maintaining security, transparency, and risk management. The findings show that SBOM scripts are better at finding production-specific dependencies than GitHub Dependency Graph. This is especially true when they scan production Docker images in CI/CD pipelines. GitHub Dependency Graph is easy to use and fully automated, but it cannot tell the difference between production and development dependencies. In some cases, it also fails to find certain dependencies at all. Although CI/CD-based SBOM scripts require additional setup and maintenance, their flexibility and precision offer a more accurate assessment of operational risks than GitHub Dependency Graph. Organizations aiming for robust software supply chain security should consider integrating SBOM scripts into their CI/CD pipelines to ensure precise and context-specific dependency analysis. Additionally, while GitHub Dependency Graph can be useful for general monitoring, it should not be solely relied upon for comprehensive security assessment. Therefore, a combined approach that leverages GitHub Dependency Graph for broad, automated monitoring and CI/CD SBOM scripts for detailed, environment-specific analysis provides the most reliable and comprehensive solution.en
dc.description.abstractTämä diplomityö tutkii useiden ohjelmistojen materiaaliletteloita (SBOM) luovien työkalujen tehokkuutta tunnistettaessa riippuvuuksia todellisissa ohjelmistoprojekteissa. Koska nykyaikaiset ohjelmistot perustuvat usein vahvasti avoimen lähdekoodin ja kolmansien osapuolien komponentteihin, joilla on omat riippuvuutensa, näiden riippuvuuksien ymmärtäminen ja hallinta on olennaista turvallisuuden, läpinäkyvyyden ja riskienhallinnan kannalta. Tulokset osoittavat, että SBOM-skriptit ovat parempia tuotantokohtaisten riippuvuuksien havaitsemisessa kuin GitHub Dependency Graph. Tämä on totta erityisesti silloin, kun ne skannaavat Docker-kontteja CI/CD-putkistoissa. GitHub Dependency Graph on helppokäyttöinen ja täysin automatisoitu, mutta se ei pysty erottamaan tuotanto- ja kehitysympäristön riippuvuuksia toisistaan. Joissakin tapauksissa se epäonnistuu tiettyjen riippuvuuksien löytämisessä kokonaan. Vaikka CI/CD-pohjaiset SBOM-skriptit voivat olla hankalampia asentaa ja vaativat enemmän ylläpitoa, niiden joustavuus ja tarkkuus tarjoavat paremman arvion operatiivisista riskeistä kuin GitHub Dependency Graph. Organisaatioiden, jotka tavoittelevat vahvaa ohjelmiston toimitusketjun tietoturvaa, tulisi integroida SBOM-skriptit CI/CD-putkiinsa varmistaakseen tarkan ja kontekstisidonnaisen riippuvuusanalyysin. GitHub Dependency Graph voi kyllä olla hyödyllinen yleiseen seurantaan, mutta siihen ei tulisi luottaa yksinomaan kattavan turvallisuusarvioinnin välineenä. Siksi monipuolinen lähestymistapa, jossa hyödynnetään GitHub Dependency Graphia laajaan, automatisoituun seurantaan ja CI/CD-skriptejä yksityiskohtaisempaan, ympäristökohtaiseen analyysiin, tarjoaa luotettavimman ja kattavimman ratkaisun.fi
dc.format.extent52
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/135634
dc.identifier.urnURN:NBN:fi:aalto-202505203900
dc.language.isoenen
dc.programmeMaster's Programme in Computer, Communication and Information Sciencesen
dc.programme.majorSecurity and Cloud Computingen
dc.subject.keywordsoftware bill of materialsen
dc.subject.keywordSBOMen
dc.subject.keywordsupply chain securityen
dc.subject.keywordvulnerability managementen
dc.subject.keywordCI/CD pipelinesen
dc.subject.keywordopen-source softwareen
dc.titleSoftware bill of materials for web softwareen
dc.titleOhjelmistojen materiaaliluettelot verkko-ohjelmistoillefi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessno

Files