Cosa possiamo imparare dal rapporto sul ciclo di vita della condivisione SBOM di CISA

Tutti i messaggi

Nell'aprile 2023 DHS, CISA, DOE e CESER hanno pubblicato un rapporto intitolato "Report sul ciclo di vita di condivisione della distinta materiali del software (SBOM).'. Lo scopo del rapporto era esaminare le modalità attuali con cui le persone condividono le SBOM e delineare, in termini generali, come questa condivisione potrebbe essere effettuata meglio, con maggiore sofisticatezza per consentire una migliore trasparenza nel software.

Il report suddivide il ciclo di vita della condivisione SBOM in 3 fasi: individuazione, accesso e trasporto. Ricerca e Sviluppo è il modo in cui un utente o consumatore può venire a conoscenza dell'esistenza di un nuovo SBOM da un autore o fornitore. accesso a è il modo in cui un utente o consumatore può accedere a questa SBOM e a tutti i dati rilevanti che la accompagnano (arricchimento SBOM). Transport è così che un consumatore può ricevere la SBOM. In ogni caso, quanto più automatizzato è il processo, tanto meglio sarà per tutte le parti coinvolte. 

Sebbene il rapporto non menzioni specificamente alcuno strumento, include vari esempi ed elenchi di attributi che tali strumenti desiderati dovrebbero includere.

Siamo stati entusiasti di scoprire qui a Scribe che la nostra piattaforma, che consente la condivisione di SBO le informazioni come parte del loro utilizzo principale, ottengono punteggi molto alti se confrontate con l'elenco dei requisiti pubblicato.

In questo articolo esamineremo le 3 parti del ciclo di vita di condivisione della SBOM come specificato nel rapporto ed esamineremo la soluzione più sofisticata vista da CISA. Concluderemo descrivendo come La piattaforma di Scribe risponde a questi requisiti. 

Sofisticazione del ciclo di vita della condivisione SBOM

Table

Ricerca e Sviluppo è la fase iniziale del ciclo di vita e implica il modo in cui un consumatore viene a conoscenza dell'esistenza di una SBOM da un autore o fornitore. Potrebbe trattarsi semplicemente di inserire una nuova SBOM in una posizione standardizzata all'interno del sito Web di un fornitore o in una posizione all'interno di un repository software. Dovrebbe essere sufficientemente chiaro al consumatore come ottenere o almeno richiedere l'accesso a questi dati SBOM in modo che possano successivamente accedervi e scaricarli per il proprio utilizzo. A volte il consumatore dovrà restare in contatto con il fornitore e chiedere aggiornamenti sulla sua SBOM. In alternativa, potrebbero essere resi disponibili aggiornamenti continui automatizzati.

Un approccio altamente sofisticato, come affermato nel rapporto, affida maggiormente l'onere della scoperta al fornitore al fine di rendere la vita più facile al consumatore. Idealmente, potrebbe esistere un processo noto e ben documentato, ideale per l'automazione e che richieda poche operazioni manuali. Ad esempio, un fornitore potrebbe sviluppare un file pubblicare/iscriversi servizio che aggiornerà automaticamente gli utenti con le informazioni sulle nuove SBOM nonché sulle versioni aggiornate delle SBOM esistenti e un meccanismo per individuarle. Inoltre, livelli più sofisticati dovrebbero essere più precisi nell’indirizzare i clienti verso le informazioni richieste nascondendo informazioni irrilevanti.

accesso a è il passaggio successivo e descrive in dettaglio come ottenere l'accesso ai dati. L'enfasi di questa fase è sulle restrizioni di accesso poste sulla SBOM e su come un utente otterrà l'autorizzazione per passare alla fase Trasporto. Il modo più semplice è rendere la SBOM completamente accessibile al pubblico e potrebbe non esserci nemmeno l’obbligo di mettere in atto controlli di accesso. Ma, realisticamente, un fornitore potrebbe richiedere che le SBOM siano conservate in un repository in cui l'accesso ad esse deve essere approvato manualmente o definito in base al ruolo prima di essere concesso a un destinatario specifico. Inoltre, le SBOM potrebbero richiedere una granularità specifica del controllo degli accessi per garantire che i clienti possano visualizzare solo particolari versioni SBOM collegate a un prodotto o accedere a parti particolari dei dati.

In un approccio altamente sofisticato, un consumatore può richiedere l'accesso per visualizzare una SBOM e un account limitato può essere creato automaticamente. Se un consumatore può dimostrare di aver acquistato un dispositivo o un componente software rilevante per la SBOM in questione, ad esempio una chiave software, l'accesso alle SBOM può essere concesso automaticamente. Con i ruoli o i controlli di accesso a livello di organizzazione, esiste un elevato livello di granularità delle autorizzazioni. Questa funzionalità richiede un elevato livello di sofisticazione a causa dell'esigenza di analizzare e comprendere le autorizzazioni di ciascuna attività desiderata, nonché di tenere traccia dei dati richiesti per convalidare automaticamente gli acquisti dei clienti. Utilizzando un sistema come la delega dell'infrastruttura a chiave pubblica tramite la firma del certificato, un provider potrebbe essere in grado di delegare le richieste di autenticazione e controllo dell'accesso a un'altra organizzazione per un livello di sofisticazione ancora più elevato.

Transport è il passaggio finale e descrive in dettaglio il metodo con cui un consumatore riceve la SBOM. Le SBOM possono essere trasportate utilizzando vari metodi da una posizione all'altra o da una posizione a più posizioni. Questo processo è facilitato più efficacemente da alcuni metodi rispetto ad altri. Una copia memorizzata su disco rigido e inviata dall'autore al consumatore può essere sufficiente se il trasporto SBOM prevede lo spostamento di una sola SBOM. Se un'ampia base di consumatori ne ha bisogno, dovrebbe essere reso disponibile un metodo che consenta ai clienti di recuperare in modo sicuro la SBOM. Questa fase è necessaria affinché il consumatore possa utilizzare i dati. Tieni presente che la maggior parte degli usi pratici della SBOM richiedono un formato leggibile dalla macchina, quindi il trasporto deve tenerne conto.

Utilizzando protocolli stabiliti, il processo della fase di trasporto dovrebbe essere accuratamente documentato per consentire la massima automazione dei trasporti possibile. Un'interfaccia di programmazione dell'applicazione (API) dovrebbe essere accessibile, ripetibile e coerente. Sarebbe sufficiente classificare un'interfaccia OpenAPI come altamente sofisticata se offre documentazione per un Representational State Transfer (REST) ​​o un'API RESTful. 13 Anche altri standard API, come il Simple Object Access Protocol (SOAP) o il Graph Query Language (GraphQL), possono essere considerati sufficienti. REST è solo un esempio popolare di interfaccia standardizzata. In effetti, qualsiasi interfaccia che offra un livello paragonabile di facilità di integrazione è sufficiente per essere classificata come altamente sofisticata. 

In che modo la piattaforma Scribe risponde ai requisiti

Scribe ha sviluppato una piattaforma che consente un'esecuzione automatica pubblicare/iscriversi servizio. Un produttore di software può collegare le proprie pipeline CI alla piattaforma in modo che ogni volta che esegue una build venga creata una SBOM corrispondente. Queste SBOM vengono quindi arricchite con informazioni aggiuntive e sono accessibili in base al progetto specifico, alla pipeline di creazione, alla data e all'ora. Il produttore può aggiungere iscritti a ciascun progetto in modo che una volta deciso di farlo pubblicare una nuova versione del software. Tutti gli abbonati vengono avvisati e hanno immediatamente pieno accesso, non solo alla nuova SBOM ma anche a tutte le altre informazioni di sicurezza che la accompagnano. Gli abbonati possono accedere alle SBOM a cui hanno accesso a loro piacimento e possono scaricarle quando lo desiderano.

Una volta terminato il collegamento alla pipeline di creazione e un abbonato approva il proprio interesse per i dati, l'intero flusso di informazioni viene automatizzato e richiede un intervento manuale minimo o nullo. I dati di sicurezza sono crittografati e protetti da Scribe e solo il produttore e gli abbonati approvati hanno accesso. La scoperta è automatica, l'accesso è determinato dal produttore e il trasporto dipende dal capriccio dell'abbonato. 

Banner

Il futuro della condivisione della SBOM

Al giorno d'oggi è probabile che la condivisione della SBOM venga effettuata tramite e-mail piuttosto che tramite un sistema automatizzato, ma questo approccio non è scalabile. Per consentire una maggiore condivisione, è necessario che più strumenti e piattaforme come Scribe diventino disponibili, facili da usare e accessibili. Una varietà di soluzioni di condivisione progettate per le diverse esigenze delle parti interessate sarebbe vantaggiosa per l'ecosistema di condivisione SBOM. Queste condizioni esistono perché a un determinato fornitore può essere richiesto di utilizzare vari metodi di trasporto dai suoi clienti e a un cliente possono essere forniti dati SBOM utilizzando vari metodi dai suoi partner a monte. Abbiamo bisogno di più soluzioni in grado di affrontare le situazioni speciali identificate tentando, quando possibile, di eliminare i processi manuali ed evitare azioni che ostacolino l’interoperabilità. L’obiettivo del settore dovrebbe essere quello di prevenire l’emergere di numerose soluzioni di condivisione SBOM incompatibili tra loro in una catena di fornitura più ampia poiché ciò non farebbe altro che esacerbare i problemi esistenti.

Poiché La piattaforma Scribe è gratuita da utilizzare per un massimo di 100 build al mese, ti incoraggio a provarla e vedere quante delle tue esigenze di sicurezza e normative soddisfa la piattaforma. Abbiamo ancora molta strada da fare per realizzare una piattaforma veramente universale che soddisfi la nostra visione, ma è un buon punto di partenza che non vediamo l'ora di condividere con il mondo.

Questo contenuto è offerto da Scribe Security, un fornitore leader di soluzioni di sicurezza end-to-end per la catena di fornitura di software, che offre sicurezza all'avanguardia per artefatti di codice e processi di sviluppo e distribuzione del codice attraverso le catene di fornitura di software. Per saperne di più.