Cos'è la sicurezza della catena di distribuzione del software?

Copia URL

La sicurezza della catena di distribuzione del software combina le procedure consigliate per la gestione del rischio ai principi della sicurezza informatica, allo scopo di tutelare la catena di distribuzione del software da possibili vulnerabilità. Per catena di distribuzione del software si intende l'insieme delle tecnologie, dei processi e delle persone coinvolti in qualsiasi attività che riguardi il codice durante il ciclo di vita dello sviluppo del software (SDLC), dallo sviluppo applicativo alla pipeline CI/CD e al deployment. 

La catena di distribuzione include reti di informazioni sul software, come le componenti (ad esempio infrastruttura, hardware, sistemi operativi, servizi cloud, ecc.), le persone che lo hanno scritto e le fonti da cui proviene, come registri, GitHub repository, codici base o altri progetti open source. Include anche tutte le vulnerabilità che possono avere un impatto negativo sulla sicurezza del software, ed è qui che entra in gioco la sicurezza della sua catena di distribuzione.  

 

Scarica l'ebook sulla sicurezza della catena di distribuzione

La maggior parte dei software odierni non viene scritta da zero, ma solitamente è una combinazione di artefatti che contengono software open source. Tuttavia, questi artefatti sono soggetti a vulnerabilità, e gli sviluppatori hanno meno controllo sul codice sorgente di terze parti o sulle modifiche che vengono apportate nel tempo. È importante notare che il software senza patch è più soggetto a problemi di sicurezza. Poiché il software è essenziale per l'esecuzione delle operazioni aziendali quotidiane, la sicurezza della catena di distribuzione è una responsabilità fondamentale di ogni organizzazione e team di sicurezza.

Nel 2020, la società di software SolarWinds ha subito una violazione: alcuni utenti malintenzionati hanno avviato del codice dannoso tramite il software di gestione e monitoraggio dell'IT Orion, una piattaforma utilizzata da grandi aziende e agenzie governative. Attaccando la catena di distribuzione, gli hacker si sono infiltrati non solo nel software di SolarWinds, ma anche in quello dei suoi clienti. Log4j è un software open source di uso comune ma molto facile da sfruttare da utenti malintenzionati, e che ha reso innumerevoli utenti e organizzazioni vulnerabili a violazioni e attacchi dei dati. Nel 2021, il presidente degli Stati Uniti ha sottolineato l'importanza delle catene di distribuzione del software e della sicurezza con due ordini esecutivi dedicati.

Rendi i tuoi sistemi conformi agli standard governativi

Risorse da Red Hat

Il rischio a cui è esposto un qualsiasi componente della catena di distribuzione del software si estende a ogni artefatto che dipende da quel componente stesso. Infatti, gli hacker hanno l'opportunità di inserire malware, backdoor o altro codice dannoso che compromette componenti e catene di distribuzione associate. Gli attacchi alla catena di distribuzione del software, in genere perpetrati da utenti che minacciano Stati e imprese, sono in aumento e possono avere effetti notevoli sia nel mondo digitale che in quello fisico. In genere rientrano in uno di questi quattro tipi di rischio:

  • Vulnerabilità: sono le falle del codice software che potrebbero essere sfruttate per commettere una violazione. L'applicazione di patch e l'aggiornamento degli artefatti software riducono al minimo questo tipo di rischio.
  • Licenza: è un rischio legale che potrebbe obbligare l'utente a rendere open source qualsiasi artefatto software risultante e ad annullare i diritti di brevetto. È necessario consultare esperti legali del settore.
  • Dipendenze da terze parti: qualsiasi dipendenza da qualsiasi organizzazione esterna parte della catena di distribuzione del software e difficile da conoscere. È bene analizzare per intero il codice esterno e chiedere ai fornitori quali misure di protezione offrono.
  • Processi e policy: farne a meno può causare problemi. Consigliamo di creare delle policy per sviluppatori e i processi (o playbook) in caso sia necessario rimediare a una vulnerabilità.

I vettori di attacco più comuni includono il dirottamento degli aggiornamenti, il danneggiamento della firma del codice e la compromissione del codice open source. 

Riduci i rischi con Linux®

DevSecOps è un approccio alla cultura, all'automazione e alla progettazione del software che integra la sicurezza come responsabilità condivisa lungo l'intero ciclo di vita IT. Questo approccio è incentrato sulla sicurezza delle applicazioni e dell'infrastruttura sin dalle prime fasi e sull'automatizzazione di alcune attività di controllo della sicurezza per evitare che rallentino il flusso di lavoro DevOps. Per raggiungere tali obiettivi, è necessario scegliere gli strumenti che consentono di integrare la sicurezza in maniera costante, come un ambiente di sviluppo integrato (IDE) dotato di funzionalità di sicurezza.

Red Hat Advanced Cluster Security for Kubernetes integra i controlli di sicurezza nella catena di distribuzione del software e nei flussi di lavoro degli sviluppatori per individuare i problemi di sicurezza a rischio elevato e contribuire a risolverli. Inoltre, automatizza la sicurezza nelle attività DevOps fornendo agli sviluppatori un contesto di sicurezza all'interno dei loro attuali flussi di lavoro. 

Scopri di più sull'integrazione delle protezioni di sicurezza con Red Hat® Advanced Cluster Security for Kubernetes

Mentre la catena di distribuzione del software è composta da tutto ciò che riguarda il codice, la sicurezza delle applicazioni protegge il codice stesso da attacchi e vulnerabilità. Come la sicurezza della catena di distribuzione del software, anche la sicurezza delle applicazioni dovrebbe essere applicata durante l'intero ciclo di sviluppo. 

La sicurezza delle applicazioni inizia nella fase dello sviluppo del software e si estende a tutto il ciclo di vita dell'applicazione, con l'obiettivo di prevenire l'accesso non autorizzato al sistema e proteggere i dati proprietari. Migliorare l'integrità della catena di distribuzione può a sua volta aumentare la sicurezza delle applicazioni. Rafforzare le configurazioni, ridurre al minimo la superficie di attacco, limitare le autorizzazioni, firmare il software e distribuire le build in diverse parti del sistema sono tutti modi per impedire agli aggressori di compromettere le applicazioni.

La sicurezza della catena di distribuzione del software è importante per le organizzazioni, i clienti e tutte le realtà che si affidano ai contributi open source. Nessuna organizzazione vuole essere vittima di una violazione, ma nemmeno essere responsabile per un'altra azienda che si trova in questa situazione. Adottare protezioni per la catena di distribuzione del software è fondamentale.  

Di seguito sono elencate alcune procedure di sicurezza consigliate da prendere in considerazione:

  • Fornire l'accesso con privilegi minimi alle risorse nella catena di distribuzione (ad esempio strumenti per sviluppatori, repository di codice sorgente e altri sistemi software), abilitare l'autenticazione a più fattori e utilizzare password complesse.
  • Organizzare periodicamente corsi di formazione sulla sicurezza per i dipendenti.
  • Rafforzare la sicurezza di tutti i dispositivi connessi e dei dati sensibili.
  • Conoscere i fornitori e le persone con cui si intrattengono rapporti commerciali, a partire dai fornitori di primo livello. Eseguire valutazioni del rischio per fare una stima del profilo di sicurezza informatica di ciascun fornitore e delle policy pubbliche sulle vulnerabilità.
  • Scansionare periodicamente i sistemi vulnerabili e applicare patch.

Gli sviluppatori devono anche prendere in considerazione pratiche di programmazione sicure, l'utilizzo di file di blocco e altre iniziative di sicurezza:

  • Convalida dei checksum.
  • Inclusione delle dipendenze dei fornitori nel controllo del codice sorgente.
  • Pubblicazione e utilizzo della distinta base (SBOM).
  • Adozione dei Supply Chain Levels for Software Artifacts (SLSA), che prevedono:
    • La possibilità di firmare digitalmente gli artefatti software per autenticarne l'origine.
    • Lo sfruttamento dell'automazione per processi e policy.
  • Scansione del software con strumenti automatizzati per i test di sicurezza come l'analisi della composizione del software (SCA) e i test di sicurezza delle applicazioni statici (SAST) e dinamici (DAST).

Scopri le tendenze globali in materia di sicurezza della catena di distribuzione del software

Red Hat comprende l'esigenza di proteggere le componenti e le dipendenze software sin dalle prime fasi del ciclo di vita dello sviluppo e risponde a questa necessità servendosi delle pratiche DevSecOps per automatizzare l'integrazione della sicurezza a 360°.  Lascia che sia Red Hat ad analizzare la catena di distribuzione upstream e a fornire alla tua azienda un prodotto di livello enterprise affidabile e capace di garantire un supporto sempre disponibile.  Red Hat e i suoi partner offrono competenza, un ecosistema DevSecOps completo e la capacità di aiutare le organizzazioni a implementare la sicurezza della catena di distribuzione del software durante l'intero ciclo di vita dello sviluppo.

Scopri di più su Red Hat® Advanced Developer Suite

Hub

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Che cos'è il computing confidenziale?

Il computing confidenziale utilizza l'elaborazione basata su hardware per proteggere i dati attivi o in transito, ovvero mentre vengono utilizzati.

Cosa sono SPIFFE e SPIRE?

SPIFFE e SPIRE sono due progetti open source pensati per la gestione delle identità in ambienti di elaborazione dinamici e diversificati che, insieme, collaborano per risolvere svariati problemi di sicurezza.

Cos'è l'approccio Zero Trust?

Scopri di più sul modello Zero Trust, un approccio alla progettazione di architetture per la sicurezza basato sul presupposto che ogni interazione inizia in condizioni di non attendibilità.

Sicurezza: risorse consigliate

Articoli correlati