Cyberattacchi alimentati dall'intelligenza artificiale: Come individuare, prevenire e difendersi dalle minacce intelligenti

Leggi ora
Per le traduzioni dei siti utilizziamo l'intelligenza artificiale e, sebbene ci sforziamo di essere accurati, non sempre le traduzioni sono precise al 100%. La vostra comprensione è apprezzata.

Spiegazione dellaBill of Materials (SBOM) Software Bill of Materials (SBOM) 

da OPSWAT
Condividi questo post

Lo sviluppo Software si basa molto sull'utilizzo di componenti precostituiti di terze parti per semplificare i processi, alcuni dei quali sono open source. Questi componenti sono gli elementi costitutivi delle moderne applicazioni web, ma possono anche introdurre vulnerabilità, offrendo ai criminali informatici potenziali punti di ingresso nel sistema. 

Per ottenere visibilità sui componenti e gestire le vulnerabilità delle dipendenze che compongono il vostro software, la gestione di un elenco chiamato SBOM (software bill of materials) è essenziale per rafforzare la sicurezza, la gestione del rischio e la conformità dell'applicazione. 

Che cos'è lo SBOM? 

A Software Bill of Materials (SBOM) è un inventario dettagliato di tutti i componenti chiusi e open-source, delle librerie e delle dipendenze utilizzate in un'applicazione. In termini più semplici, proprio come un prodotto fisico può essere accompagnato da un elenco di componenti e materiali, anche il software ha i suoi componenti. 

Sviluppatori e venditori spesso costruiscono software combinando codice open-source e commerciale. L'SBOM dettaglia sistematicamente questi componenti per garantire la trasparenza e la tracciabilità dei componenti fondamentali del codice nei prodotti software, contribuendo a facilitare la sicurezza della catena di fornitura e a garantire la conformità alle normative.

Quali sono i vantaggi di uno SBOM? 

In sostanza, uno SBOM offre tre vantaggi principali: 

Trasparenza 

Offre una visione chiara della composizione del software, consentendo agli stakeholder - siano essi sviluppatori, revisori o utenti finali - di comprendere i componenti che compongono il loro stack software.

Vulnerability Management 

La sicurezza è una delle preoccupazioni più pressanti nello sviluppo del software. Un SBOM può individuare rapidamente i componenti di un prodotto software, facilitando l'identificazione, la risoluzione e la correzione delle vulnerabilità.

Quando viene rilasciato un avviso di sicurezza, in genere contiene informazioni aggiornate sulle vulnerabilità dei componenti software. Incrociando un SBOM con gli ultimi avvisi di sicurezza, le organizzazioni possono determinare rapidamente se le loro applicazioni sono a rischio e adottare le misure di mitigazione necessarie per garantirne la sicurezza.

Integrazione nel ciclo di vita dello sviluppoSoftware (SDLC)

Man mano che il software avanza nella pipeline di sviluppo, viene continuamente aggiornato, dalla concettualizzazione e progettazione alla distribuzione e manutenzione. Un SBOM è un registro dinamico che garantisce un quadro chiaro dei componenti, delle dipendenze e delle relazioni del software in ogni fase dell'SDLC.

Chi ha bisogno di uno SBOM? 

In generale, un consumatore di software può essere qualsiasi entità, commerciale o non commerciale, che si procura i componenti di terze parti e le utilità di software di terze parti da fornitori. Questi fornitori coprono un ampio spettro: 

  • Editori di software commerciale
  • Sviluppatori di software a contratto che forniscono componenti software
  • Fornitori FOSS (Free and Open-Source Software) che gestiscono il codice in repository aperti o gestori di pacchetti.

In particolare, questi fornitori indossano più cappelli. Possono essere produttori, sviluppatori, manutentori o fornitori. Idealmente, queste entità dovrebbero anche curare le SBOM per le loro funzionalità software. Una distinzione unica da ricordare è che la maggior parte dei fornitori sono anche consumatori. Tuttavia, un fornitore senza componenti a monte viene generalmente etichettato come entità principale.

SBOM nel settore pubblico

Le agenzie federali svolgono un ruolo fondamentale nell'adozione e nell'applicazione degli standard SBOM. La loro supervisione non si limita a stabilire dei parametri di riferimento, ma garantisce la conformità a tali parametri per un interesse pubblico più ampio. Emanato nel maggio del 2021, l'Ordine esecutivo statunitense 14028 incarica diverse agenzie con ampie giurisdizioni, tra cui il NIST (National Institute of Standards and Technology), di migliorare la sicurezza informatica attraverso una serie di iniziative legate alla sicurezza e all'integrità della catena di fornitura del software.

La sezione 10 (j) dell'Executive Order 14028 definisce un SBOM come un "record formale contenente i dettagli e le relazioni della catena di fornitura dei vari componenti utilizzati nella costruzione del software". Gli SBOM sono potenzialmente in grado di fornire maggiore trasparenza, provenienza e velocità nell'identificazione e nella correzione delle vulnerabilità da parte dei dipartimenti e delle agenzie federali.

Tipi e definizioni di SBOM 

A seconda della fase di sviluppo e distribuzione del software, vengono generati diversi tipi di SBOM, ognuno dei quali ha uno scopo unico e offre informazioni distinte sui componenti del software. Ecco sei tipi comuni di documenti SBOM.

Design

In questa fase di sviluppo dell'applicazione, alcuni componenti potrebbero non esistere ancora. Questo tipo di SBOM deriva in genere da una specifica di progetto, da una RFP (richiesta di offerta) o da un concetto iniziale.

Fonte

Formato direttamente dall'ambiente di sviluppo, offre approfondimenti sui file di origine e sulle dipendenze necessarie per costruire un artefatto di prodotto. In genere è generato da strumenti SCA (analisi della composizione del software) e talvolta richiede chiarimenti manuali.

Costruire

Prodotto come parte del processo di creazione del software, consolida i dati provenienti da file sorgente, componenti costruiti e altre dipendenze. È particolarmente prezioso perché viene generato durante la creazione di un artefatto software rilasciabile.

Analizzato

Questa SBOM deriva dall'analisi post-costruzione degli artefatti software, come gli eseguibili o le immagini delle macchine virtuali. Si avvale di diverse euristiche e viene talvolta definita una SBOM "di terze parti".

Schierato

Un inventario esaustivo del software presente in un sistema. Generato documentando la SBOM dei componenti software installati sui sistemi, offre informazioni sulla distribuzione reale del software.

Tempo di esecuzione

Creata attraverso la strumentazione del sistema in tempo reale, questa SBOM cattura i componenti presenti durante l'esecuzione del software. Offre informazioni sui componenti dinamici e sulle connessioni esterne e può essere definita "strumentata" o "dinamica".

Quali sono gli elementi di uno SBOM? 

Secondo l 'NTIA (National Telecommunications and Information Administration), gli elementi minimi di una SBOM includono il nome del fornitore del software, i componenti, le loro versioni, gli identificatori univoci, la relazione delle dipendenze, l'autore dei dati SBOM e il timestamp. Inoltre, per essere efficaci e completi, i dati SBOM devono contenere i seguenti elementi: 

  • Campi dati: Devono avere campi dati chiaramente definiti che descrivano in dettaglio il nome del componente del software, le versioni e gli attributi. Questo garantisce che ogni stakeholder comprenda a fondo la composizione del software. 
  • Supporto all'automazione: Data la natura dinamica dello sviluppo del software, una SBOM deve essere in grado di essere aggiornata e integrata automaticamente nelle pipeline di sviluppo e distribuzione del software. Questo garantisce precisione ed efficienza in tempo reale. 
  • Pratiche e processi: Al di là della semplice elencazione dei componenti, una SBOM deve essere integrata in best practice e processi che ne regolano la creazione, la manutenzione e l'utilizzo. 

Formati SBOM

I formati SBOM più diffusi includono:

  • SPDXSoftware Package Data Exchange): sviluppato dalla Fondazione Linux.
  • CycloneDX: comunemente utilizzato per la sicurezza delle applicazioni.
  • SWIDSoftware Identification Tagging): definito da ISO/IEC 19770-2.

Catalogando ogni componente, un SBOM consente alle organizzazioni di identificare chiaramente le licenze associate a ciascun software, garantendo la conformità ai termini di licenza ed evitando potenziali insidie legali.

Rimanere conformi e Secure nel proprio SDLC 

A causa dei crescenti attacchi alla catena di fornitura, il governo federale e il settore privato riconoscono l'importanza dell'identificazione del software. Una SBOM è fondamentale per descrivere in dettaglio i componenti software, soprattutto quelli di terze parti. I dati della SBOM aiutano a prevenire le vulnerabilità e garantiscono la trasparenza nella creazione della SBOM. Ogni software dovrebbe includere una SBOM completa per rafforzare le misure di sicurezza. 

Catalogando ogni componente, un SBOM consente alle organizzazioni di identificare chiaramente le licenze associate a ciascun software, garantendo la conformità ai termini di licenza ed evitando potenziali insidie legali. 

Con OPSWAT SBOM, gli sviluppatori possono identificare le vulnerabilità note, convalidare le licenze e generare un inventario dei componenti per OSS (software open-source), dipendenze di terze parti e container. Per saperne di più sulla protezione della catena di fornitura del software con solide soluzioni SBOM, visitate la soluzione Software Supply Chain Security diOPSWAT.

Rimanete aggiornati con OPSWAT!

Iscriviti oggi stesso per ricevere gli ultimi aggiornamenti sull'azienda, storie, informazioni sugli eventi e altro ancora.