Mikä on SBOM (Software Bill of Materials)?
Software Bill of Materials (SBOM) on yksityiskohtainen inventaario ohjelmiston muodostavista komponenteista, mukaan lukien kolmannen osapuolen ja avoimen lähdekoodin kirjastot sekä kehysversiot. Se on kuin ainesosaluettelo sovelluksen sisällä.
Seuraamalla jokaisen komponentin tilaa sovelluksessa, kehitystiimi voi nopeasti havaita, kun uusia haavoittuvuuksia löydetään.
Miksi SBOM on tärkeä kyberturvallisuudessa
Nykyaikaiset sovellukset rakennetaan yhdistämällä satoja tai tuhansia kolmannen osapuolen riippuvuuksia ja avoimen lähdekoodin kirjastoja kehityksen nopeuttamiseksi. Jos jokin näistä sisältää haavoittuvuuksia, se asettaa koko sovelluksen vaaraan.
SBOM auttaa kehitystiimiä:
- Tunnistamaan haavoittuvuudet aikaisemmin kartoittamalla vaikuttavat komponentit
- Parantamaan vaatimustenmukaisuutta standardien, kuten NIST, ISO tai Yhdysvaltojen Executive Order 14028, kanssa
- Parantamaan toimitusketjun turvallisuutta varmistamalla ohjelmiston koostumuksen läpinäkyvyyden
- Rakentamaan luottamusta asiakkaiden ja kumppaneiden kanssa näyttämällä, mitä komponentteja on mukana
SBOM keskeiset elementit
Asianmukainen SBOM sisältää yleensä:
- Komponentin nimi (esim.
lodash) - Versio (esim. 4.17.21)
- Lisenssitiedot (avoin lähdekoodi tai omistettu)
- Toimittaja (projekti tai toimittaja, joka ylläpitää sitä)
- Suhteet (miten komponentit ovat riippuvaisia toisistaan)
Esimerkki käytännössä: Apache Struts -tietomurto (Equifax, 2017)
Vuonna 2017 hyökkääjä hyödynsi kriittistä haavoittuvuutta Apache Struts -kehyksessä (CVE-2017-5638), jota käytettiin Equifaxin (amerikkalainen monikansallinen kuluttajaluottotietoyritys) verkkosovelluksissa. Tämän haavoittuvuuden korjaus oli saatavilla, mutta Equifax ei onnistunut soveltamaan sitä ajoissa.
Koska heiltä puuttui näkyvyys kaikkiin sovelluksensa riippuvuuksiin ja kirjastoihin, Struts-kirjaston virhe jäi huomaamatta, mikä johti yhteen historian suurimmista tietomurroista, yli 147 miljoonan henkilötiedon paljastumiseen.
Jos SBOM olisi ollut käytössä, Equifax olisi voinut nopeasti:
- Tunnistaa, että heidän sovelluksensa käyttivät haavoittuvaa versiota Apache Strutsista
- Priorisoida korjauksen heti, kun haavoittuvuus paljastettiin
- Vähentää aikaa, jonka hyökkääjillä oli hyödyntää heikkoutta
Tämä tapaus osoittaa, kuinka kriittinen rooli SBOM
on ohjelmistokomponenttien turvaamisessa, auttaen organisaatioita toimimaan nopeammin uusien haavoittuvuuksien paljastuessa.Aiheeseen liittyvät termit
- SCA (Software Composition Analysis)
- Ohjelmistojen toimitusketjun turvallisuus
- Avoimen lähdekoodin auditointi
- Haavoittuvuuksien hallinta