Sempre più aziende riconoscono l'importanza di una SBOM aggiornata come parte di ogni prodotto e nuova versione. Anche la NSA pubblicato un documento incoraggiando le aziende ad adottare questo strumento per aumentare la consapevolezza informatica e proteggere meglio le proprie catene di fornitura di software. Anche se sei giunto alla conclusione che generare una SBOM è la cosa giusta da fare, potresti non essere sicuro di come procedere, di quali strumenti utilizzare o di come implementarli. Sul mercato sono disponibili diversi strumenti per la generazione di SBOM, alcuni sono proprietari, altri gratuiti e altri sono strumenti open source. In questo articolo, tratteremo quali caratteristiche chiave dovrebbe avere il tuo strumento di generazione SBOM per renderlo quello giusto per le tue esigenze.
Formati SBOM
Ci sono due principali Formati SBOM utilizzati oggi sul mercato: SPDX e CycloneDX.
Scambio dati pacchetto software (SPDX) è un progetto SBOM open source e leggibile dalla macchina della Linux Foundation. L'ultima versione dell'SPDX è stata progettata in linea con lo standard NTIA per 'Elementi minimi per una distinta base del software.' Elenca i componenti, i diritti d'autore, le licenze e i riferimenti di sicurezza di un pezzo di software.
CicloneDX (CDX) è anche un formato SBOM open source e leggibile dalla macchina sviluppato dalla comunità Open Web Application Security Project (OWASP). Come formato BOM, CycloneDX ha altre applicazioni oltre alla preparazione delle distinte materiali del software. Può anche essere utilizzato per compilare componenti, vulnerabilità e servizi di hardware e sistemi cloud.
Prima di iniziare a verificare i vari strumenti, considera quale formato potrebbe soddisfare meglio le tue esigenze. È meglio considerare non solo il momento attuale ma anche le tue esigenze future poiché una volta che ti impegni a un determinato formato probabilmente troverai più facile mantenerlo. Considera gli usi che vedranno le tue SBOM e gli strumenti che utilizzerai per analizzare i dati. Se non sei sicuro di quale formato scegliere, cerca uno strumento in grado di generare entrambi i formati.
Caratteristiche principali degli strumenti SBOM
Ecco alcune funzionalità che dovresti cercare in un buon strumento di generazione SBOM:
Raccolta SBOM sia da SCM che dal prodotto finale – Ottenere una copertura completa del tuo prodotto è fondamentale per una buona SBOM. È noto che nella fase di sviluppo non sempre si inseriscono tutte le dipendenze e le si integrano nel progetto: questo è qualcosa che di solito viene fatto solo nella compilazione finale alla fine della pipeline CI/CD. Ottenere una SBOM dal tuo SCM e dal tuo prodotto finale ti consente di confrontare i due e anche di assicurarti che non siano state apportate modifiche indesiderate a file o cartelle nelle fasi intermedie. Il confronto di file e cartelle tra SBOM può essere effettuato confrontando i valori hash calcolati per ciascuno. Avere uno strumento in grado di farlo automaticamente ti farebbe risparmiare molto tempo e preoccupazioni.
Analisi SBOM – La SBOM è un file con molti dati. È meglio avere un software creato per analizzarlo per le informazioni che desideri ricevere. Naturalmente, creare da soli questo software è lento e richiede molto tempo, quindi è molto meglio procurarsi uno strumento che includa già il software di analisi in modo da poter controllare i report risultanti piuttosto che provare a creare testa o croce di un file SBOM di migliaia di righe. . Alcuni rapporti che potresti prendere in considerazione sono rapporti completi sulle vulnerabilità per tutte le dipendenze, un rapporto su qualsiasi componente non aggiornato utilizzato nel tuo software, un rapporto su tutte le licenze open source utilizzate e un rapporto sullo stato relativo delle licenze open source. componenti sorgente utilizzati. Quest'ultimo potrebbe utilizzare elementi come Scheda punteggi OpenSSF per dare un punteggio imparziale ad ogni confezione utilizzata.
Automazione SBOM e archiviazione sicura – Parte dei principi del quadro di sicurezza SLSA è quello di rendere ogni funzionalità di sicurezza il più automatica e difficile da manipolare possibile. L'idea è che consentire alle persone di manipolare i risultati delle funzionalità di sicurezza lascerebbe semplicemente un'apertura per l'annullamento o la manipolazione di tale funzionalità in caso di necessità. Nell'ambito di questo concetto, puoi cercare uno strumento SBOM che possa essere completamente automatizzato per essere eseguito in modo indipendente su ciascuna pipeline CI/CD o esecuzione di compilazione senza la necessità di alcun intervento del fattore umano. Inoltre, cercare uno strumento SBOM che archivi le prove in un luogo sicuro in modo che solo il personale adeguatamente convalidato possa accedervi. Ciò garantirebbe che le prove SBOM non possano essere manipolate o cancellate, indipendentemente dalle circostanze.
Analisi SBOM continua – Un altro potenziale vantaggio di avere le SBOM archiviate da una terza parte è consentire a tale terza parte di scansionarle continuamente alla ricerca di nuove vulnerabilità. Nuove vulnerabilità vengono costantemente scoperte e segnalate e anche un pacchetto che oggi è noto per essere pulito potrebbe non rimanere tale domani. Avere una funzionalità SBOM che scansiona continuamente tutte le tue SBOM e cerca nuove vulnerabilità, avvisandoti di eventuali rilevamenti, garantirebbe che anche se non crei una nuova SBOM ogni giorno, settimana o mese, non verrai comunque colto di sorpresa da una nuova vulnerabilità in un pacchetto precedentemente pulito che hai incluso nel tuo prodotto.
Condivisione intelligente della SBOM – Uno dei motivi principali per avere una buona SBOM, oltre ad avere una fonte per verificare eventuali problemi della catena di fornitura del software, è condividerla con altri. Potresti voler condividere le informazioni con altri team interni, con clienti, appaltatori di terze parti o revisori. Naturalmente, è sempre possibile inviare semplicemente un file SBOM tramite e-mail a una parte interessata, ma considerando i frequenti aggiornamenti software e quindi le frequenti nuove SBOM, ciò potrebbe diventare molto noioso molto rapidamente. È molto meglio avere uno strumento con funzionalità di condivisione integrata in modo da poter definire un elenco di abbonati e le nuove SBOM con o senza i relativi report di accompagnamento verranno condivise automaticamente in base al progetto, ai suoi abbonati, al loro livello di interesse, ecc. .
Avvisi SBOM – Come abbiamo già accennato, una SBOM può includere migliaia di dipendenze. Aspettarsi un buono stato di salute – zero vulnerabilità – non è realistico. Avrai sempre delle vulnerabilità. La grande domanda è: queste vulnerabilità sono sfruttabili nell'esatta configurazione del tuo prodotto? Solo gli sviluppatori possono rispondere a questa domanda, ma dovresti assicurarti che il tuo strumento SBOM disponga di una funzionalità che ti consenta di condividere questi risultati. Non vuoi dover rispondere alla stessa domanda sulla vulnerabilità 1000 volte. Avere la possibilità di aggiungere avvisi al tuo SBOM annotando lo stato esatto di ciascuna vulnerabilità rilevata ti consentirebbe sia di mostrare ai tuoi clienti e partner che sei in gamba sia di condividere i risultati una volta che i tuoi sviluppatori hanno verificato che una particolare vulnerabilità è non è un sfruttabile nel tuo prodotto.
Da dove iniziare con lo strumento di generazione SBOM
Esistono molte altre funzionalità che potresti cercare e trovare in uno strumento di generazione SBOM, ma penso che il nostro elenco di funzionalità chiarisca che un buon strumento SBOM è più di un elemento solitario. È meglio trovare un sistema completo che incorpori la generazione, l'analisi (sia puntuale che continua), i report e la condivisione della SBOM.
Considerando la crescente attenzione da parte degli elementi normativi negli Stati Uniti, sembra che non passerà molto tempo prima che una SBOM di accompagnamento diventi uno standard per ogni nuova versione del software. Quando ciò accade, vuoi già avere lo strumento migliore selezionato e incorporato nel tuo SDLC. Vorrei anche sottolineare che una SBOM non può violare il tuo IP: non "guarda" alcun codice e scansiona solo nomi di file, versioni e simili. Ciò significa che la condivisione delle SBOM o l'archiviazione in un luogo sicuro da parte di una terza parte fidata non mette in pericolo in alcun modo la tua sicurezza o il tuo IP.
Servizi come la piattaforma Scribe Security possono offrirti tutte le funzionalità trattate in questo articolo con altre funzionalità aggiunte continuamente. Sentiti libero di dare un'occhiata alla nostra piattaforma e vedere quali altre funzionalità include il nostro strumento di generazione SBOM che potrebbero avvantaggiare te e la tua organizzazione.