Kā izveidot SBOM un piesaistīt to laidienam
Labs pirmais mērķis ir SBOM vienam reālam laidienam, kuru komanda spēj ģenerēt vēlreiz ar tiem pašiem iestatījumiem un izskaidrojamu rezultātu.
Nosaki robežu pirms rīka izvēles
Uzraksti vienā teikumā, ko vēlies aprakstīt: piemēram, konkrētu tīmekļa lietotnes konteineru, ko šonedēļ izvieto produkcijā. Blakus norādi laidiena versiju un būvējuma identifikatoru. Ja produktam ir vairākas patstāvīgi piegādātas daļas, katrai var būt vajadzīgs savs inventārs un skaidrojums par savstarpējo saistību. Sākumā izvēlies pārskatāmu apjomu.
Pēc tam sastādi datu avotu sarakstu. Tajā var ietilpt pakotņu manifesti, bloķēšanas faili, būvēšanas rezultāti un konteineru slāņi. Pieraksti, kuri avoti aptver gala artefaktu un kuri tikai izstrādes vidi. Pārrunā arī manuāli pievienotas bibliotēkas un piegādātāju binārās pakotnes, jo vienas ekosistēmas ģenerators tās var neatpazīt.
Izvēlies ģeneratoru un saglabā iestatījumus
CycloneDX uztur rīku katalogu, kurā var meklēt savai ekosistēmai piemērotus risinājumus. Izvēli pārbaudi uz sava artefakta: noskaidro atbalstīto formāta versiju, tranzitīvo atkarību pārklājumu un vajadzīgās piekļuves. Ja rīks darbojas CI vidē, tam piešķir tikai uzdevumam nepieciešamās tiesības. Dokumentē paša rīka versiju un izpildes parametrus.
Neievies komandu, kuru komanda nevar atjaunot no pierakstiem. Saglabā konfigurāciju versiju kontrolē, izmanto apstiprinātu rīka laidienu un izveido saprotamu kļūdas paziņojumu, ja eksports neizdodas. Pirmajā ieviešanas posmā kļūdu var pārskatīt cilvēks; vēlāk komanda var vienoties, kuri konkrēti trūkumi aptur laidienu.
Pārbaudi rezultātu pret produktu
Vispirms validē dokumentu pret izvēlētās specifikācijas shēmu. Tad pārbaudi saturu: atrodi dažas zināmas komponentes, salīdzini versijas un pārskati licences. Izvēlies arī vienu tranzitīvu atkarību, lai pārliecinātos par paredzēto pārklājumu. Atsevišķi pieraksti ierobežojumus, piemēram, neapskatītu ārēja piegādātāja moduli vai neidentificētu bināru failu.
Negaidi, ka liels ierakstu skaits pats par sevi apliecinās kvalitāti. Viena komponente var parādīties vairākos kontekstos, bet cita var nebūt atpazīta vispār. Izmanto lokālo metadatu pārskatu kā pirmo apskati, un PDF kontrolsarakstā atzīmē precizējamos jautājumus. Šī apskate neaizstāj shēmas pārbaudi vai inventāra pilnīguma novērtēšanu.
Padari SBOM par laidiena rezultātu
- Ģenerē SBOM noteiktā procesa posmā un sasaisti to ar tieši to artefaktu, kuru izsniedz vai izvieto.
- Glabā dokumentu kopā ar laidiena identifikatoru, ģeneratora versiju un konfigurāciju. Nepārraksti iepriekšējo laidienu pierādījumus.
- Nosaki atbildīgo par kļūdainiem metadatiem, piegādātāju precizējumiem un izņēmumu pārskatīšanu.
- Vienojies, kurš drīkst saņemt pilnu inventāru un kā dokumentu nodod klientam vai sadarbības partnerim.
ENISA Secure by Design and Default Playbook pievēršas atkārtojamām darbībām produkta izstrādes un uzturēšanas procesos. SBOM darbplūsmai piemēro to pašu principu: izvēlies regulāru, izpildāmu soli ar skaidru īpašnieku. Vienreiz radīts fails mapē nepalīdzēs, ja neviens nezina, kuram laidienam tas pieder un kad tas jāatjauno.
Atjauno inventāru un izmanto to
Pārskati SBOM, kad mainās piegādātais programmatūras sastāvs. Atsevišķs uzdevums ir vērtēt jaunus paziņojumus par ievainojamībām jau piegādātām versijām. Šajā gadījumā nemainīts SBOM joprojām var būt vērtīgs: mainās ārējā informācija par tajā esošajām komponentēm. Tāpēc inventāra ģenerēšana un drošības uzraudzība ir saistīti, bet atšķirīgi darbi.
Pēc dažiem laidieniem apspried, kuri labojumi atkārtojas. Ja vienmēr trūkst vienas ekosistēmas licenču, labo datu avotu vai eksporta konfigurāciju. Ja fails tiek radīts, bet netiek izmantots, piesaisti to konkrētam iepirkuma vai drošības uzdevumam. Nākamais ceļvedis palīdz sasaistīt inventāru ar ievainojamību pārvaldību.
Avoti un atsauces
- CycloneDX Tool Center Rīku katalogs ģenerēšanas un integrācijas izvēlei.
- ENISA Secure by Design and Default Playbook Atkārtojamas drošas izstrādes darbības produkta dzīves ciklā.