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.

Formati SBOM: Approfondimenti degli esperti sulla sicurezzaSupply Chain Software 

da OPSWAT
Condividi questo post

Una SBOM (Software Bill of Materials) è un elemento fondamentale per garantire l'integrità dei componenti software, le cui origini risalgono ai primi sforzi di sviluppo software per documentare le dipendenze open-source negli anni Novanta. Le distinte dei materiali aiutano le organizzazioni a tenere traccia dei componenti del loro stack di applicazioni software e a mantenere la conformità con le normative del settore. Con la crescente complessità degli ecosistemi software, l'adozione di formati SBOM standardizzati diventa essenziale per migliorare la sicurezza e l'interoperabilità. 

Definizione di SBOM 

UnaBill of Materials (SBOM) Software Bill of Materials (SBOM) è un inventario completo di tutti i componenti di un'applicazione software, compresi gli elementi software proprietari, open-source e di terze parti. Fornisce metadati dettagliati come nome del software, versione, fornitore, informazioni sulla licenza e hash crittografici per la verifica.  

Offrendo una visibilità completa sulle dipendenze del software, gli SBOM migliorano la trasparenza della catena di fornitura, consentono il vulnerability detection e supportano la conformità alle normative. Aiutano le organizzazioni a ridurre i rischi per la sicurezza, a semplificare gli audit e a migliorare la risposta agli incidenti, identificando e affrontando le potenziali minacce all'interno del loro ecosistema software. 

Che cos'è uno standard SBOM? 

Gli standard SBOM (software bill of materials) garantiscono la coerenza e l'interoperabilità tra diversi settori e organizzazioni, fornendo un quadro unificato per la documentazione dei componenti software. Questi standard aiutano le aziende a semplificare la gestione delle vulnerabilità, a rispettare i requisiti normativi in evoluzione e a facilitare la collaborazione tra produttori di software, fornitori e utenti finali.

Adottando formati SBOM standardizzati, le organizzazioni possono migliorare la sicurezza della catena di fornitura del software, ridurre il rischio di manomissione del software e migliorare la trasparenza generale del software.

Che cos'è un formato SBOM? 

I formati SBOM sono schemi standardizzati e leggibili dal computer utilizzati per strutturare e condividere i dati contenuti in un SBOM. Questi formati definiscono il modo in cui i dettagli dei componenti software vengono rappresentati e scambiati tra i sistemi.

I formati SBOM più diffusi sono SPDX e CycloneDX, che supportano l'automazione, l'interoperabilità e la tracciabilità nel ciclo di vita del software. Questi formati consentono di migliorare il vulnerability detection, la conformità alle normative e la gestione del rischio della catena di fornitura, garantendo una documentazione coerente dei componenti software.

Componenti chiave di uno SBOM 

grafico che mostra i componenti chiave di una sbom (distinta base del software)

Per essere efficace, una SBOM deve contenere elementi chiave che garantiscano la completa trasparenza di un pacchetto software. La NTIA (National Telecommunications and Information Administration) statunitense definisce sette componenti minimi per un SBOM

  • Dettagli del fornitore: Identifica l'entità responsabile del software. 
  • NomeSoftware e del componente: Identifica il componente software. 
  • Informazioni sulla versione: Specifica i dettagli della versione del componente. 
  • Nome dell'autore: La persona o l'organizzazione (ma non lo strumento) che ha creato il report SBOM. 
  • Relazioni tra componenti: Descrive le dipendenze e le interazioni tra gli elementi del software. 
  • Timestamp: Parte della meta-informazione SBOM che specifica la data e l'ora di produzione del report. 
  • Altri identificatori univoci: Fornisce informazioni aggiuntive per definire i componenti del software 

Altri componenti essenziali sono: 

  • Tipo di SBOM: fornisce un contesto su come e perché il report SBOM è necessario. 
  • Informazioni sulla licenza: Definisce i diritti di utilizzo del software.
  • Hashes crittografici: Assicura l'integrità e l'autenticità dei componenti. 

Formato SBOM SPDX

Il formatoSoftware Package Data Exchange (SPDX), sviluppato dalla Linux Foundation, è uno standard SBOM ampiamente utilizzato, progettato per facilitare la conformità alle licenze open-source e la tracciabilità dei componenti software. Fornisce un modo strutturato per documentare i componenti software e i metadati ad essi associati, rendendolo uno strumento essenziale per la trasparenza e la sicurezza del software.

Inoltre, SPDX è il formato che ha ricevuto la certificazione ISO (International Organization for Standardization), il che lo rende un formato che soddisfa i requisiti di standardizzazione e garanzia di qualità.

I documenti in formato SPDX contengono diversi elementi chiave:

Informazioni sul pacchetto

Descrive il pacchetto, che può essere composto da uno o più file, tra cui codice sorgente, file binari, documenti, ecc. Altri tipi di informazioni includono dettagli sull'autore originale, sulla fonte, sull'URL di download, sul checksum e sulla panoramica delle licenze.

Metadati a livello di file

Dettagli sui file specifici, come la licenza, il checksum, i collaboratori dei file, ecc.

Altre informazioni sulle licenze

Assicura la gestione della proprietà intellettuale specificando le licenze software.

Elenco delle dipendenze Software

Documenta la gerarchia delle dipendenze del software.

Annotazioni e relazioni

Fornisce metadati aggiuntivi e stabilisce relazioni tra gli artefatti software.

Il formato SPDX supporta più formati, consentendo una flessibilità basata sui casi d'uso e sulla compatibilità degli strumenti:

  • Tag/Valore (.spdx): Un semplice formato basato sul testo
  • JSON (.spdx.json): Un formato leggero e leggibile dalla macchina
  • YAML (.spdx.yml): Un formato di serializzazione dei dati facile da usare
  • RDF/XML (.spdx.rdf): Un formato strutturato per la rappresentazione di dati semantici
  • Foglio elettronico (.xls): Un formato tabellare utile per l'analisi manuale

SPDX è ampiamente adottato dalle principali aziende tecnologiche, dagli enti normativi e dalle comunità di software open-source. È comunemente utilizzato per:

  • Gestione delle licenze software open-source: Aiuta le organizzazioni a tenere traccia e a rispettare i requisiti delle licenze open-source.
  • Audit di sicurezza: Fornisce informazioni sui componenti software per individuare le vulnerabilità e gestire i rischi.
  • Conformità normativa: Garantisce l'aderenza agli standard del settore e ai requisiti legali relativi alla trasparenza del software.
  • Tracciamento della provenienzaSoftware : Stabilisce una chiara discendenza dei componenti software per migliorare la responsabilità.

Sfruttando il formato SPDX, le organizzazioni possono migliorare la sicurezza della catena di fornitura, semplificare le attività di conformità e ottenere una maggiore visibilità sui loro ecosistemi software.

grafico di confronto tra il formato sbom di spdx e il formato sbom di cyclone dx

Formato SBOM di CycloneDX 

Sviluppato dalla OWASP Foundation, il formato CycloneDX fornisce una distinta base (Bill of Materials) full-stack, compresa la SBOM, ed è progettato con una forte enfasi sulla sicurezza, sulla gestione delle vulnerabilità e sulla trasparenza completa del software. Fornisce un modello di oggetti prescrittivo che descrive in modo efficiente le relazioni complesse tra componenti software, servizi e dipendenze. 

Le caratteristiche principali del formato CycloneDX includono:

Ampia rappresentazione di metadati

Cattura i dettagli dei fornitori, le informazioni sulle licenze, gli autori, gli strumenti, i processi di produzione e così via.

Design incentrato sulla sicurezza

Consente l'identificazione precisa delle vulnerabilità, l'analisi della sfruttabilità e il supporto dei casi d'uso VEX.

Mappatura delle dipendenze e delle composizioni

Rappresenta le relazioni dirette e transitive tra componenti e servizi software.

Formati di serializzazione multipli

Supporta JSON, XML e buffer di protocollo (protobuf), garantendo un'ampia compatibilità con gli strumenti di sicurezza.

Conformità e standardizzazione

Si integra con gli standard di sicurezza come OWASP ASVS, MASVS, SCVS e SAMM, fornendo un quadro leggibile a macchina per il monitoraggio della conformità.

Grazie alla sua solida architettura e all'approccio orientato alla sicurezza, CycloneDX è ampiamente adottato nelle applicazioni incentrate sulla cybersecurity per la gestione delle vulnerabilità e il monitoraggio della sicurezza. Ciò rende il formato CycloneDX uno strumento essenziale per la gestione del rischio della catena di fornitura del software. 

Formati CycloneDX vs SPDX 

Caratteristica SPDX CicloneDX
Focus Conformità delle licenze open-source e proprietà intellettualeSicurezza delle applicazioni e analisi della catena di approvvigionamento
Caratteristiche Metadati completi per i componenti softwareLeggero, facile da usare, con un'attenzione particolare ai dati dei componenti essenziali e alla valutazione della sicurezza.
Casi d'uso Licenze open-source (in origine), verifiche di conformità e provenienza del softwareGestione delle vulnerabilità, analisi della catena di fornitura del software e monitoraggio della sicurezza
Adozione Grandi aziende tecnologiche e team di complianceFornitori di strumenti di sicurezza e aziende di cybersecurity, team DevSecOps

Esplorazione dei tag SWID 

grafico delle applicazioni dei tag swid

Applicazioni dei tag SWID 

Per gestire correttamente il software, le aziende devono mantenere inventari software accurati dei dispositivi gestiti, a supporto di funzioni aziendali, informatiche e di cybersecurity di livello superiore. Inventari software accurati aiutano le organizzazioni a: 

  • Gestite la conformità ai contratti di licenza software monitorando le installazioni e l'utilizzo, evitando costi inutili. 
  • Garantire l'aderenza alle politiche organizzative, riducendo l'impronta del software e la superficie di attacco. 
  • Verificare gli aggiornamenti e le patch per mitigare le vulnerabilità note e le minacce informatiche. 
  • Valutare le configurazioni rispetto ai criteri di sicurezza per rendere i sistemi più resistenti e ridurre i vettori di attacco. 
  • Pianificare gli investimenti per l'aggiornamento del software e la sostituzione dei sistemi legacy. 

Sebbene alcuni fornitori offrano strumenti per la gestione delle licenze, degli aggiornamenti, delle patch e del monitoraggio della configurazione, le aziende spesso si affidano a più strumenti per gestire diversi prodotti software. Questa frammentazione aumenta il rischio di errori umani e la scarsità di risorse, limitando la capacità di un'organizzazione di mantenere una gestione attiva del software. È necessario un meccanismo unificato per fornire una visione completa di tutto il software di un'azienda, indipendentemente dal fornitore. 

I tag SWID (Software Identification), definiti dallo standard ISO/IEC 19770-2:2015, rispondono a questa esigenza fornendo un modo trasparente per tenere traccia del software installato sui dispositivi gestiti. I file dei tag SWID contengono metadati descrittivi di una specifica release del software e seguono un ciclo di vita in cui vengono aggiunti durante l'installazione e rimossi al momento della disinstallazione. Questo ciclo di vita garantisce che la presenza di un tag SWID corrisponda direttamente alla presenza del prodotto software che descrive. 

Il NIST (National Institute of Standards and Technology) raccomanda l'adozione dello standard dei tag SWID e diversi organismi di standardizzazione, tra cui il TGC (Trusted Computing Group) e l'IETF (Internet Engineering Task Force), hanno integrato i tag SWID nei loro standard.  

Il NIST continua a promuovere i tag SWID per una più ampia adozione nella comunità del software e per l'integrazione nei dati di riferimento della cybersecurity e nei contenuti di automazione della sicurezza. Inoltre, il NIST ha incorporato i dati dei tag SWID nel NVD (National Vulnerability Database) e nello SCAP (Security Content Automation Protocol) versione 1.3, migliorando il monitoraggio delle vulnerabilità e la gestione della sicurezza. 

Incorporando i tag SWID nei framework di automazione della sicurezza, le aziende possono migliorare il tracciamento dell'inventario software, la valutazione delle vulnerabilità, il monitoraggio della conformità e la postura complessiva della cybersecurity. 

Importanza delle distinte base Software 

Gli SBOM svolgono un ruolo cruciale nella trasparenza e nella responsabilità del software. Forniscono informazioni sulla catena di fornitura del software, consentendo alle organizzazioni di verificare l'integrità dei componenti software. Questo livello di trasparenza riduce il rischio di manomissione del software e di modifiche non autorizzate, rafforzando in ultima analisi la fiducia tra produttori di software, fornitori e utenti finali. 

Inoltre, le SBOM supportano la risposta agli incidenti e la gestione del ciclo di vita del software. Quando vengono scoperte delle vulnerabilità, disporre di una SBOM dettagliata consente ai team di sicurezza di valutare rapidamente l'impatto e di implementare efficacemente le patch. Questo approccio proattivo riduce al minimo i tempi di inattività e garantisce la sicurezza dei sistemi critici contro le minacce emergenti. 

SBOM in sicurezza e conformità 

Una SBOM è uno strumento fondamentale per garantire la sicurezza del software e la conformità alle normative. Fornendo un inventario completo di tutti i componenti software, gli SBOM consentono alle organizzazioni di tenere traccia e gestire le vulnerabilità in modo più efficace. Consentono ai team di sicurezza di identificare e ridurre i rischi in modo proattivo, garantendo che tutte le dipendenze di terze parti e open-source siano aggiornate e prive di exploit noti. Questa visibilità è essenziale in quanto le minacce informatiche diventano sempre più sofisticate e pervasive. 

I quadri normativi come NIST, ISO, Executive Order 14028 e altre guide tecniche regionali impongono misure di trasparenza e sicurezza del software più severe, rendendo gli SBOM un requisito essenziale per la conformità. Le organizzazioni che utilizzano gli SBOM possono dimostrare più facilmente l'adesione a questi standard, evitando potenziali ripercussioni legali e finanziarie. Mantenendo SBOM accurati e aggiornati, le aziende possono semplificare gli audit, ridurre le spese di conformità e garantire che il software sia conforme alle normative del settore. 

Confronto tra i formati SBOM 

Punti di forza e di debolezza 

Ogni formato SBOM ha scopi diversi, per cui è essenziale scegliere quello giusto in base alle esigenze specifiche. 

Caratteristica Punti di forzaPunti di debolezza
SPDXCompleto e ampiamente utilizzato. Forte attenzione alle licenze e alla conformità. Può essere complesso per i progetti più piccoli
CicloneDX Ottimizzato per la sicurezza e la gestione delle vulnerabilità. Meno enfasi sui dettagli delle licenze
Tag SWID Integrato nel software Standardizzazione limitata tra i vari settori

Conclusione 

La comprensione e l'implementazione degli SBOM è fondamentale per la sicurezza del software moderno. Sfruttando formati come SPDX, CycloneDX e tag SWID, le organizzazioni possono migliorare la trasparenza della loro catena di fornitura del software e ridurre i rischi per la sicurezza. 

I prossimi passi 

Valutate le attuali pratiche di supply chain del software della vostra organizzazione ed esplorate i formati SBOM che si allineano alle vostre esigenze di sicurezza e conformità. 

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.