Sanasto Software Supply Chain Security

Mikä on ohjelmiston toimitusketjun turvallisuus?

Ohjelmiston toimitusketjun turvallisuus tarkoittaa jokaisen osan, prosessin ja työkalun pitämistä turvassa koko ohjelmistokehityksen ajan, ensimmäisestä koodirivistä lopulliseen käyttöönottoon.

Lyhyesti sanottuna, ohjelmiston toimitusketjun turvallisuus auttaa organisaatioita pitämään kaikki ja kaiken ohjelmiston valmistamiseen liittyvän turvassa. Tämä estää hyökkääjiä lisäämästä haitallista koodia, varastamasta tietoja tai aiheuttamasta häiriöitä.

Ohjelmiston toimitusketjuun kuuluu koodisi, avoimen lähdekoodin kirjastot, rakennusjärjestelmät, API

, pilviasetukset ja kolmannen osapuolen toimittajat. Koska mikä tahansa osa voi olla kohteena, jokainen niistä on suojattava.

Miksi ohjelmiston toimitusketjun turvallisuus on tärkeää

Nykyaikainen ohjelmistokehitys perustuu vahvasti avoimen lähdekoodin riippuvuuksiin, CI/CD-automaatioon ja kolmannen osapuolen integraatioihin.

Tämä lähestymistapa antaa tiimeille mahdollisuuden työskennellä ja innovoida nopeammin, mutta se tuo mukanaan myös enemmän riskejä. Jos yksikin riippuvuus tai työkalu vaarantuu, se voi johtaa vakaviin ongelmiin.

Todelliset tapaukset korostavat näitä riskejä:

  • SolarWinds-hyökkäys (2020): Hakkerit lisäsivät haitallista koodia ohjelmistopäivitykseen, jota käytti yli 18 000 organisaatiota, mukaan lukien valtion virastot.
  • Codecov-tietomurto (2021): Hyökkääjät muokkasivat skriptiä CI-työkalussa varastaakseen kehittäjien tunnistetietoja.

Nämä esimerkit osoittavat, että jopa luotettuihin työkaluihin voidaan hyökätä. Siksi ohjelmistojen toimitusketjun turvallisuus on niin tärkeää DevSecOps-tiimeille.

Ohjelmistojen toimitusketjun turvallisuuden keskeiset komponentit

  1. Lähdekoodin suojaus
  2. Turvallinen pääsy lähdekoodin hallintaan, kuten GitHubiin tai GitLabiin, käyttäen MFA
    ja roolipohjaista pääsynhallintaa (RBAC) estämään luvattomat koodimuutokset.
  3. Riippuvuuksien hallinta
  4. Skannaa ja päivitä säännöllisesti kolmannen osapuolen kirjastoja käyttäen SCA
    (Software Composition Analysis)
    havaitaksesi tunnetut haavoittuvuudet (CVE
    )
    ja lisenssiriskit.
  5. Rakennusprosessin eheys
  6. Suojaa CI/CD-putkesi hyökkääjiltä. Käytä koodin allekirjoitusta, rakennusalkuperän seurantaa ja työkaluja kuten Sigstore tai in-toto varmistaaksesi rakennuksen aitouden.
  7. Artefaktien tarkistus
  8. Tarkista rakennettujen pakettien tai konttikuvien eheys ennen käyttöönottoa. Ota käyttöön kuvien skannaustyökalu varmistaaksesi, että kuva on turvallinen.
  9. Pääsynhallinta ja salaisuuksien hallinta
  10. Rajoita käyttöoikeuksia käyttäen RBAC
    (Roolipohjainen pääsynhallinta)
    ja suojaa tunnistetiedot salasananhallinnan tai pilvisalaisuuksien hallinnan avulla.
  11. Jatkuva seuranta
  12. Seuraa koko ohjelmiston elinkaarta, mukaan lukien päivitykset, koodimuutokset ja ajonaikaiset ympäristöt, jotta voit havaita uudet turvallisuusriskit, jotka ilmenevät julkaisun jälkeen.

Esimerkki: Todellisen maailman tilanne

SaaS-yritys havaitsi, että heidän CI-putkessaan oleva vaarantunut avoimen lähdekoodin kirjasto toi haittaohjelman tuotantoon.

Ongelma jäi huomaamatta viikkojen ajan, koska ei ollut eheystarkistuksia. Toimitusketjun turvallisuusvalvontatoimenpiteiden kuten riippuvuuksien skannauksen, koodin allekirjoituksen ja putken valvonnan käyttöönoton jälkeen yritys pienensi hyökkäyspintaansa ja pystyi jäljittämään jokaisen koodimuutoksen edelliseen versioon.

Parhaat käytännöt toimitusketjun turvallisuudelle

  • Käytä vahvistettuja lähteitä: Lataa riippuvuudet vain luotetuista arkistoista.
  • Ota käyttöön SCA-työkalut: Skannaa jatkuvasti kirjastojen haavoittuvuuksia.
  • Omaksu Zero Trust -periaatteet: Vahvista jokainen komponentti ja yhteys.
  • Allekirjoita kaikki: Allekirjoita digitaalisesti lähdekoodi, rakennelmat ja konttikuvat.
  • Seuraa kehyksiä: Käytä NIST SSDF tai SLSA rakenteelliseen toimitusketjun suojaamiseen.
  • Automatisoi valvonta: Integroi turvallisuustarkistukset CI/CD-putkiin.

Ohjelmiston toimitusketjun turvallisuuden hyödyt

  • Suojaa ohjelmistoa peukaloinnilta ja luvattomilta muutoksilta
  • Estää laajamittaiset tietomurrot ja tietovuodot
  • Rakentaa asiakasturvallisuutta ja vaatimustenmukaisuuden luottamusta
  • Vähentää korjauskustannuksia havaitsemalla ongelmat aikaisin
  • Parantaa läpinäkyvyyttä kehityksen ja toimituksen välillä

Liittyvät termit

FAQ: Ohjelmiston toimitusketjun turvallisuus

1. Mikä on esimerkki ohjelmiston toimitusketjun hyökkäyksestä?

Kuuluisa esimerkki on SolarWinds-murto, jossa hyökkääjät kompromettoivat päivitysprosessin toimittaakseen haittaohjelmia tuhansille käyttäjille.

2. Miten toimitusketjun turvallisuus eroaa perinteisestä sovellusturvallisuudesta?

Sovellusturvallisuus keskittyy sovelluksen itsensä suojaamiseen, kun taas toimitusketjun turvallisuus suojaa kaiken, mikä liittyy sovelluksen tekemiseen, mukaan lukien työkalut, koodi ja riippuvuudet.

3. Mitkä työkalut auttavat parantamaan toimitusketjun turvallisuutta?

Yleisiä työkaluja ovat Plexicus Container Security, Plexicus ASPM, Snyk, Anchore ja Sigstore, jotka skannaavat haavoittuvuuksia, tarkistavat eheyden ja hallitsevat riippuvuuksia.

4. Mikä on SLSA?

SLSA (Supply-chain Levels for Software Artifacts) on Googlen kehittämä viitekehys, joka määrittelee parhaat käytännöt ohjelmiston rakennusprosessin suojaamiseksi ja manipuloinnin estämiseksi.

Seuraavat askeleet

Valmis turvaamaan sovelluksesi? Valitse polkusi eteenpäin.

Liity yli 500 yritykseen, jotka jo turvaavat sovelluksensa Plexicuksen avulla

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready