Dalla sicurezza delle applicazioni alla sicurezza della catena di fornitura del software: è necessario un nuovo approccio

Tutti i messaggi

L'approccio tradizionale alla protezione dei prodotti software si concentra sull'eliminazione delle vulnerabilità nel codice personalizzato e sulla salvaguardia delle applicazioni dai rischi noti nelle dipendenze di terze parti. Tuttavia, questo metodo è inadeguato e non riesce ad affrontare l’intera portata delle minacce poste dalla catena di fornitura del software. Trascurare di proteggere ogni aspetto di questa catena, dalla produzione alla distribuzione e implementazione, espone le organizzazioni ad attacchi come malware, violazioni dei dati e furti di proprietà intellettuale. Ignorare questo passaggio critico rappresenta una grave mancanza di rispetto per la sicurezza dell'organizzazione.

In questo articolo esamineremo la tendenza crescente degli attacchi informatici diretti alla catena di fornitura del software, nonché i recenti progressi normativi e i quadri di migliori pratiche emersi in risposta a questo crescente pericolo. Faremo inoltre luce sulla necessità di una nuova strategia per proteggere la catena di fornitura del software, che superi le attuali misure di sicurezza delle applicazioni. Illustreremo perché gli attuali investimenti nella sicurezza delle applicazioni offrono una certa protezione, ma non mitigano completamente i rischi per la sicurezza informatica in quest’area. Infine, delineeremo ciò che è necessario per completarli per una protezione completa.

Per il Libro Bianco completo clicca qui >>>

Perché è importante proteggere la catena di fornitura del software

L'uso di strumenti, librerie e software open source di terze parti nello sviluppo del software aumenta sia la complessità della catena di fornitura del software sia il rischio di potenziali vulnerabilità e attacchi. Gli aggressori possono prendere di mira un anello specifico della catena di fornitura per ottenere l’accesso a informazioni sensibili o interrompere le operazioni. Questi attacchi possono avere un impatto significativo sulle organizzazioni e sui partner della catena di fornitura. 

Le conseguenze di diversi attacchi alla catena di fornitura del software ha fatto notizia negli ultimi anni. Come conseguenza, Gartner ha previsto recentemente che entro il 2025, il 45% delle organizzazioni in tutto il mondo avrà subito attacchi alle proprie catene di fornitura di software, un aumento di tre volte rispetto al 2021. 

Man mano che la sicurezza della catena di fornitura del software guadagna attenzione, vari fornitori di soluzioni di sicurezza delle applicazioni si stanno rinominando per offrire soluzioni in questo ambito. Ma la sicurezza della supply chain del software è semplicemente un nuovo termine per la tradizionale sicurezza delle applicazioni, oppure si tratta di un segmento di mercato distinto con caratteristiche e tecnologie uniche? Disporre di un programma di sicurezza delle applicazioni (AppSec) è sufficiente per affrontare la sicurezza della catena di fornitura del software oppure le organizzazioni devono adottare standard e tecnologie separati per garantire la sicurezza del proprio software e della relativa catena di fornitura? Questa domanda verrà approfondita nell’articolo.

Normativa emergente e quadri di buone pratiche

I Ordine esecutivo degli Stati Uniti sulla sicurezza informatica e altre normative simili riflettono la crescente importanza della sicurezza della catena di fornitura del software e la necessità per le organizzazioni di adottare misure adeguate per proteggere il proprio software e la relativa catena di fornitura. Il crescente interesse mostrato dai principali attori nell’introduzione collettiva di misure per combattere la minaccia è uno sviluppo positivo e indica un crescente riconoscimento della necessità di un approccio coordinato e a livello di settore per affrontare la crescente minaccia.

Alcune delle iniziative chiave per affrontare la sicurezza della catena di fornitura del software includono: miglioramento delle pratiche di sviluppo del software; migliorare la visibilità della catena di fornitura; implementare pratiche sicure di approvvigionamento di software; e sviluppare capacità di intelligence sulle minacce. Nel complesso, queste iniziative mirano ad aumentare la sicurezza del software e della catena di fornitura riducendo il rischio di attacchi e garantendo che il software sia esente da vulnerabilità e codici dannosi.

Di seguito una breve panoramica delle principali iniziative:

  1. SP 800-21 del NIST Secure Software Development Framework (SSDF) mira a rafforzare la sicurezza della catena di fornitura del software per i fornitori governativi statunitensi. Offre pratiche di sviluppo sicure per l'SDLC delle organizzazioni per ridurre al minimo le vulnerabilità e le minacce future. Le linee guida sono personalizzabili e indipendenti dal settore. Leggi questo whitepaper per ulteriori informazioni sull'impatto della SSDF sull'industria del software.
  2. L'Office of Management and Budget (OMB) degli Stati Uniti ha pubblicato, nel 2022, due promemoria sulla sicurezza della catena di fornitura del software e sul ruolo delle SBOM nel garantire la sicurezza e l'integrità della catena di fornitura del software. Le organizzazioni devono conformarsi entro il 2024 e garantire la sicurezza del proprio software e della sua catena di fornitura. Le agenzie federali devono implementare linee guida, inclusa la condivisione di informazioni e l'ottenimento di artefatti dai fornitori.
  3. I livelli della catena di fornitura per gli artefatti software (SLSA) Framework è un insieme completo di controlli e standard di sicurezza progettati per garantire l'integrità delle catene di fornitura del software. È stato sviluppato da OpenSSF, Google e altri soggetti interessati alla sicurezza informatica. Seguendo questo framework end-to-end è possibile prevenire modifiche non autorizzate ai pacchetti software. L’adozione di SLSA può aiutare a proteggersi dagli attacchi comuni alla catena di fornitura. 
  4. La legge sulla resilienza informatica dell’UE mira a migliorare la resilienza informatica delle organizzazioni nell’UE. Richiede alle organizzazioni di rendere disponibili le SBOM per tutti i prodotti software che utilizzano per aiutarle a identificare e affrontare tempestivamente potenziali vulnerabilità della sicurezza. La legge impone inoltre alle organizzazioni di segnalare le vulnerabilità ENISA/CERT-UE
  5. Il Centro per la sicurezza in Internet (CIS) ha sviluppato la Guida alla sicurezza della catena di fornitura del software CIS, che copre le fasi della catena di fornitura del software, dal contributo del codice alla consegna ai consumatori finali. La guida fornisce le migliori pratiche per proteggere la catena di fornitura del software, inclusa la definizione di un programma di sicurezza, l'implementazione di pratiche di sviluppo sicure, la conduzione di valutazioni periodiche della sicurezza dei fornitori, l'implementazione di controlli di sicurezza per la distribuzione e l'implementazione e il monitoraggio continuo di vulnerabilità e attacchi.
  6. sigstore è un progetto open source focalizzato sulla sicurezza delle catene di fornitura del software. Fornisce un metodo per proteggere meglio le catene di fornitura del software in modo aperto, trasparente e accessibile. La chiave per proteggere le catene di fornitura del software è firmare digitalmente i vari artefatti che compongono le applicazioni. Sigstore mira a rendere la firma del software onnipresente e più semplice fornendo una soluzione semplificata e più rapida rispetto alle tradizionali soluzioni di firma digitale. Il progetto crea anche un registro delle attività aperto e immutabile.

L'obiettivo e i compiti della disciplina AppSec

Il team AppSec nelle organizzazioni di produttori di software mature si concentra sulla protezione del software attraverso la formazione degli sviluppatori, la revisione del codice, la scansione automatica e il monitoraggio delle dipendenze. Gli strumenti più comuni sono il test statico e dinamico del software applicativo (SAST e DAST) per testare le applicazioni e l'analisi della composizione del software (SCA) per rilevare vulnerabilità note nelle dipendenze open source. 

Per far fronte al panorama delle minacce in evoluzione, sono state ideate e adottate diverse soluzioni più recenti. Una di queste soluzioni è l'uso di strumenti di rilevamento segreto, che aiutano le organizzazioni a identificare segreti come credenziali, chiavi API e dati sensibili che potrebbero essere stati divulgati involontariamente nel codice. Inoltre, sono stati creati nuovi strumenti di scansione per rilevare le vulnerabilità nei contenitori e nell’infrastruttura come codice (IaC) negli ambienti di cloud computing, consentendo alle organizzazioni di garantire la sicurezza delle proprie applicazioni durante la transizione al cloud.

Per gestire la vasta gamma di strumenti di sicurezza, sono nate soluzioni di orchestrazione per fornire una visione unificata della sicurezza in tutto l'SDLC. Queste soluzioni centralizzano la gestione degli strumenti e delle policy di sicurezza, semplificando il processo di sicurezza e riducendo il rischio di vulnerabilità trascurate.

Il triaging, la deduplicazione e la definizione delle priorità degli avvisi di sicurezza sono tra le principali sfide affrontate dai proprietari di AppSec. Può essere difficile gestire il volume degli avvisi e determinare quali richiedono attenzione immediata e quali possono essere ignorati. Inoltre, i proprietari di AppSec devono valutare l’impatto delle vulnerabilità sui loro sistemi specifici, il che richiede una profonda comprensione dello stack tecnologico e delle applicazioni.

L'approccio AppSec copre l'SDLC dalla scrittura del codice fino alla creazione, al confezionamento e al test ed è fondamentale nel ridurre le vulnerabilità sia nel codice personalizzato che nei componenti open source, mitigando così la responsabilità per i produttori e gli operatori di software. I principali fornitori in questo spazio includono Veracode, Checkmarx, Snyk, Synopsis e Fossa.

Il diagramma seguente offre una panoramica semplificata del mercato AppSec, mostrando diversi attori chiave. 

Diagramma

Una visione semplificata del panorama del mercato AppSec

Sebbene le soluzioni AppSec possano essere efficaci nel rilevare vulnerabilità note e modelli di codice non sicuri, tendono ad essere reattive piuttosto che proattive; non riducono in modo proattivo la superficie di attacco. Inoltre, l’elevato volume di avvisi di falsi positivi generati dagli scanner può rendere difficile per gli sviluppatori concentrarsi sui problemi di sicurezza più critici. Il processo di scansione può anche richiedere molto tempo e incidere negativamente sulla sequenza temporale dello sviluppo, aggiungendo attrito al processo di sviluppo e rallentando il rilascio di nuovo software.

Il ruolo emergente della sicurezza della catena di fornitura del software

Le soluzioni AppSec trascurano le aree dell'SDLC che potrebbero essere vulnerabili agli attacchi e che influiscono sulla catena di fornitura del software. Queste aree includono strumenti di sviluppo, repository di codice, sistemi di gestione del codice sorgente, server di build e sistemi di registro degli artefatti, che potrebbero contenere vulnerabilità e configurazioni errate.

D'altro canto, dal punto di vista dei consumatori di software, una preoccupazione comune è che il software di terze parti possa introdurre vulnerabilità di sicurezza difficili da rilevare e mitigare. È importante che i consumatori valutino e controllino attentamente il software che utilizzano, nonché lo monitorino e lo aggiornino regolarmente per ridurre questi rischi.

Per superare queste sfide, sia i produttori che i consumatori di software devono adottare un approccio più ampio. I produttori di software dovrebbero integrarsi in tutte le fasi dell’SDLC e sfruttare strumenti automatizzati per affrontare le minacce alla sicurezza.

  • Gestione della postura CI/CD – Per proteggere la catena di fornitura del software, un SDLC sicuro è fondamentale. La gestione del comportamento CI/CD automatizza il rilevamento e applica pratiche di sicurezza. Al giorno d'oggi, la visibilità sull'SDLC e l'utilizzo sicuro dell'infrastruttura negli ambienti di sviluppo rappresentano una sfida per le aziende. La gestione del comportamento CI/CD deve includere l'autenticazione del server, le restrizioni su repository/bucket pubblici e la scadenza delle chiavi. Limitare le pratiche di sviluppo rischiose, come l’esecuzione di risorse non verificate e il riferimento a immagini alterate esternamente, migliora la sicurezza del software e riduce il rischio di attacchi alla catena di fornitura.
  • Attestazione e Provenienza – Il mantenimento della sicurezza della catena di fornitura del software richiede l’attestazione (verifica dell’autenticità del software) e il monitoraggio della provenienza (origine, proprietà e custodia). L'attestazione e la provenienza informano le decisioni sulla fiducia, riducendo il rischio di manomissione, vulnerabilità e sicurezza inadeguata nello sviluppo, garantendo al tempo stesso la conformità agli standard di settore.
    Per implementare in modo efficace l'attestazione e la provenienza, è necessario raccogliere e firmare crittograficamente prove provenienti da fonti come gestori del codice sorgente, strumenti CI, server di compilazione, ecc. Le prove includono l'identità dello sviluppatore, la prova della revisione del codice, gli hash di file/artefatti e il livello di sicurezza degli strumenti. Le politiche sulle attestazioni garantiscono sviluppo e creazione sicuri, convalida delle manomissioni e conformità con standard come SSDF e SLSA.
    Le API esistenti e le soluzioni di osservabilità non possono raccogliere prove, firmare attestazioni e creare tracce di provenienza. È necessario sviluppare nuovi agenti per tracciare i dati generati durante l'SDLC e firmare prove di integrità e autenticità.

Allo stesso scopo, al di là dell’SDLC, sia i produttori che i consumatori di software devono cercare mezzi per raggiungere quanto segue:

  • Conformità continua – La verifica continua aiuta a mantenere la conformità e a proteggere dalle vulnerabilità anche dopo la distribuzione. Ciò comporta il monitoraggio e la verifica continui della sicurezza dei componenti software durante l'intero processo di sviluppo e distribuzione del software. Una SBOM è uno strumento importante per la verifica continua che elenca i componenti software e le relative versioni utilizzate in un progetto. Le SBOM facilitano le scansioni delle vulnerabilità, aiutano le organizzazioni a stare al passo con le potenziali minacce alla sicurezza e garantiscono la conformità a normative e standard come SSDF.
  • Condividi SBOM e attestazioni e monitora continuamente il rischio – Avere SBOM e monitorare continuamente i potenziali rischi è fondamentale per mantenere la sicurezza e la conformità del software. Le SBOM forniscono ai consumatori un modo per gestire i rischi, rilevare le vulnerabilità, rifiutare componenti a bassa reputazione e garantire la sicurezza della catena di fornitura attraverso l'attestazione.

I quattro punti sopra indicati rappresentano i quattro pilastri della Software Supply Chain Security e i criteri per la scelta di una soluzione in questo campo.

Diagramma

Panorama del mercato della sicurezza della catena di fornitura del software su AppSec

Conclusione

Poiché lo sviluppo del software e l'uso di componenti di terze parti continuano ad espandersi, la necessità di un approccio completo e integrato alla sicurezza della catena di fornitura del software è diventata sempre più importante. Le misure tradizionali di AppSec sono ancora importanti, ma non sono più sufficienti per proteggere completamente dal panorama delle minacce in evoluzione e le organizzazioni devono adottare un approccio più olistico per garantire la sicurezza della catena di fornitura del software. 

Per superare le sfide in continua evoluzione della sicurezza, stiamo attualmente assistendo all’evoluzione della sicurezza delle applicazioni verso la sicurezza della catena di fornitura del software. Comprende una nuova generazione di tecnologie e nuovi strumenti che cercano di affrontare queste sfide. I produttori di software devono integrare nuove tecnologie di sicurezza che traggano vantaggio da strutture e strumenti moderni, e devono farlo in tutte le fasi dell'SDLC e utilizzare strumenti automatizzati, come la gestione del comportamento CI/CD, la tecnologia di attestazione e provenienza, la firma continua del codice, conformità continua, governance e SBOM accurati e ad alta fedeltà. I consumatori di software dovrebbero richiedere SBOM e ulteriori attestazioni basate su prove per tutti gli aspetti di sicurezza del software che utilizzano su base continuativa, prima e dopo la distribuzione del software in produzione durante il suo intero ciclo di vita.

Strumenti e soluzioni automatizzati come Scriba aiutare le organizzazioni a raggiungere un nuovo livello di sicurezza fornendo una piattaforma continua di garanzia della sicurezza del codice basata sull'evidenza in grado di attestare l'affidabilità del ciclo di vita dello sviluppo del software e dei componenti software.

Per il Libro Bianco completo clicca qui >>>

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ù.