Distinta base del software
Una SBOM (Software Bill Of Materials) è un inventario strutturato di tutti i componenti, le dipendenze e le licenze di un'applicazione software. Fornisce metadati dettagliati, compresi i nomi dei componenti, le versioni, le licenze, le vulnerabilità e le dipendenze, aiutando le organizzazioni a tenere traccia del software open source e di terze parti per la sicurezza, la conformità e la gestione del rischio.
È possibile esportare facilmente le SBOM in formati standardizzati (SPDX, CycloneDX ) e importare SBOM di terzi utilizzando i dati VEX per soddisfare i requisiti governativi e dei clienti.
Durante l'esecuzione della pipeline, alcuni strumenti vengono utilizzati per generare le SBOM. Lo strumento attualmente disponibile per generare una SBOM è:
Cosa sono i pacchetti SBOM?
Un SBOM di un pacchetto contiene informazioni dettagliate su tutti i pacchetti utilizzati in un progetto software. Fornisce informazioni sulle versioni, le licenze e le vulnerabilità di ogni pacchetto utilizzato. Le SBOM dei pacchetti sono generate a livello di microservizi, una SBOM viene generata per ogni microservizio di un'architettura.
Ciclo di vita della SBOM
Il ciclo di vita di SBOM si estende a tutte le fasi di distribuzione dei microservizi (le pipeline CI, CD, CC).
- Pipeline di Continuous Integration (CI)- Durante l'esecuzione della pipeline CI, viene generato un SBOM per ogni microservizio costruito.
- Pipeline di distribuzione continua (CD)- Durante l'esecuzione della pipeline CD, viene generato un SBOM di rilascio per tutti i microservizi distribuiti.
- Pipeline Continuous Compliance(CC)- Dopo il completamento dell'esecuzione della pipeline CD, la pipeline CC monitora continuamente l'applicazione distribuita. Durante l'esecuzione della pipeline CC, le SBOM generate per ogni microservizio della pipeline CI vengono recuperate e analizzate.
Ciclo di vita della SBOM nella pipeline di integrazione continua
La pipeline di Continuous Integration costruisce gli artefatti distribuibili dai repository delle applicazioni.
Quando la pipeline CI viene eseguita al passo code-compliance-checks, CRA esegue e crea un pacchetto SBOM per il repository da cui viene creato l'artefatto distribuito. Questo pacchetto SBOM contiene informazioni sui pacchetti
utilizzati da ogni microservizio che viene costruito nella pipeline CI. Fornisce informazioni sulla licenza, sulla versione e sulle vulnerabilità di ogni pacchetto.
Questo pacchetto SBOM viene memorizzato nell'armadietto delle prove della pipeline per essere poi utilizzato durante la distribuzione in produzione.
Ciclo di vita della SBOM nella pipeline di distribuzione continua
La pipeline di distribuzione continua raccoglie tutte le prove e genera il contenuto di riepilogo della richiesta di modifica.
Quando la distribuzione in produzione avviene attraverso la pipeline CD, vengono recuperati i pacchetti SBOM memorizzati nell'archivio delle prove. Queste SBOM vengono aggregate per formare una SBOM di rilascio. La SBOM di rilascio viene aggiunta come allegato alla richiesta di modifica.
Ciclo di vita della SBOM nella pipeline di conformità continua
La pipeline di conformità continua analizza periodicamente gli artefatti distribuiti e i loro repository di origine alla ricerca di vulnerabilità, dopo la distribuzione in produzione.
Quando la pipeline CC viene eseguita, recupera dal deposito delle prove il pacchetto SBOM precedentemente memorizzato e generato durante l'esecuzione della pipeline CI. La pipeline CC non ricrea le SBOM del pacchetto.
Utilità SBOM per la convalida della SBOM
Quando la pipeline viene eseguita, il documento SBOM viene aggiunto come allegato all'evidenza com.ibm.code_bom_check sia in formato standard che cyclonedx.
Lo strumento sbom-utility convalida lo SBOM completando una serie di controlli predefiniti e personalizzati per verificare se i metadati contengono:
- Un componente a livello di radice della SBOM che contiene dati
- Un timestamp
- A
nameebom-refper ogni campo componente
Per raccogliere prove per la validazione dello SBOM, impostare sbom-validation-collect-evidence su 1. La prova viene raccolta come allegato a com.ibm.code_bom_check con il tipo di prova e il tipo di strumento
come sbom-utility.
Per ulteriori informazioni, consultare i documenti dello strumento sbom-utility.