Software Bill of Materials for Web Software

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

52

Series

Abstract

This 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.

Tä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.

Description

Supervisor

Aura, Tuomas

Thesis advisor

Kalliola, Janne

Other note

Citation