Software Supply Chain Security Minacce nella fase di origine

Come abbiamo discusso nel nostro precedente contenuto su software supply chain security, abbiamo esplorato il concetto di attacchi alla supply chain e il loro potenziale impatto sulle organizzazioni. Questi attacchi spesso sfruttano le vulnerabilità durante tutto il ciclo di vita dello sviluppo del software (SDLC), che presentano rischi significativi in ​​ogni fase. Oggi, ci immergeremo nei più diffusi software supply chain security minacce che si presentano durante la fase di origine.

Innanzitutto, è fondamentale definire un attacco alla supply chain e lo specifico Software Supply Chain Security Minacce che si presentano durante la fase di origine.

Definizione di attacco alla catena di fornitura del software

 L'Istituto nazionale statunitense di Standarde tecnologia (NIST) definisce un attacco alla catena di fornitura del software  "quando l'attacco si verifica quando un cyber threat actor si infiltra nella rete di un fornitore di software e impiega codice dannoso per compromettere il software prima che il fornitore lo invii ai propri clienti. Il software compromesso compromette quindi i dati o il sistema del cliente. Il software appena acquisito può essere compromesso fin dall'inizio oppure una compromissione può verificarsi tramite altri mezzi come una patch o un hotfix. In questi casi, la compromissione si verifica comunque prima che la patch o l'hotfix entrino nella rete del cliente. Questi tipi di attacchi interessano tutti gli utenti del software compromesso e possono avere conseguenze diffuse per i clienti di software del governo, delle infrastrutture critiche e del settore privato.

Fase di origine Software Supply Chain Security Minacce

La fase di origine del ciclo di vita della supply chain del software comprende le fasi iniziali dello sviluppo del software, dall'ideazione alla creazione del codice sorgente. Questa fase comprende la selezione di strumenti, librerie e componenti, nonché lo sviluppo e l'implementazione delle funzionalità principali del software.

Software supply chain security le minacce nella fase di origine si riferiscono a vulnerabilità di sicurezza che possono essere sfruttate per introdurre modifiche non autorizzate o dannose al codice sorgente. Ciò include la minaccia sia di individui non autorizzati che di individui autorizzati che introducono modifiche non autorizzate.

minacce-alla-sicurezza-della-catena-di-fornitura-del-software-attacchi-alla-catena-di-fornitura-del-software

Esempi di minacce alla fonte 

 
Invia codice errato 

L'invio di codice errato si riferisce alla pratica di commitcodice di ting in un repository sorgente che contiene difetti, errori o vulnerabilità. Questo può variare da codice dannoso introdotto intenzionalmente per compromettere l'integrità o la sicurezza del software, a codice involontario che introduce bug o vulnerabilità a causa di scarse pratiche di codifica o mancanza di test. Un esempio di questo attacco vettoriale è stato il Attacco NPM. Nel 2022, un hacker si è infiltrato nel repository del codice sorgente di una popolare libreria software open source chiamata npm. L'hacker ha inserito codice dannoso nel codice della libreria che gli ha consentito di ottenere accesso non autorizzato ai sistemi delle organizzazioni che hanno installato la libreria. Il codice dannoso ha consentito all'hacker di rubare dati dai sistemi interessati, installare malware e interrompere le operazioni. L'attacco ha interessato un'ampia gamma di organizzazioni, tra cui agenzie governative, aziende e privati.

Compromettere il repository di origine

Un avversario ottiene l'accesso non autorizzato a un repository di codice sorgente (SCM) e introduce modifiche dannose o rimuove codice legittimo. Ciò può essere ottenuto tramite vari metodi, come lo sfruttamento delle vulnerabilità nel SCM, compromettendo le credenziali di uno sviluppatore con accesso al repository o ottenendo l'accesso all'infrastruttura sottostante che ospita il SCMUn esempio di questo attacco vettoriale è stato il Attacco PHP.  Un aggressore ha compromesso il server Git self-hosted di PHP, che è un repository sicuro per l'archiviazione e la gestione del codice sorgente per il linguaggio di programmazione PHP. L'aggressore è stato in grado di iniettare due file dannosi commits nel codice di base principale di PHP. Questi commits ha aggiunto delle backdoor che hanno permesso all'attaccante di ottenere un accesso non autorizzato alle installazioni PHP. Le backdoor hanno permesso all'attaccante di eseguire codice arbitrario su qualsiasi installazione PHP, che potrebbe essere utilizzato per rubare dati, installare malware o interrompere le operazioni. L'attacco ha anche causato un grande danno alla reputazione di PHP, poiché ha sollevato preoccupazioni sulla sicurezza del linguaggio di programmazione.

Costruisci da una fonte modificata

Un avversario ottiene una copia del codice sorgente da una fonte diversa dal repository ufficiale del codice sorgente e la usa per creare e distribuire il software. Questo codice sorgente modificato può contenere codice dannoso, backdoor o altre alterazioni dannose che possono compromettere l'integrità, la funzionalità o la sicurezza del software. Un esempio di questo attacco vettoriale è stato il Webmin attacco. Un aggressore ha ottenuto l'accesso non autorizzato all'infrastruttura di build di Webmin, che è responsabile della compilazione e del packaging del software Webmin. L'aggressore ha modificato l'infrastruttura di build per utilizzare file sorgente che non erano presenti nel repository sorgente ufficiale di Webmin. 

Scrivi codice non sicuro

Le pratiche di codifica non sicure, intenzionali o meno, possono introdurre vulnerabilità nel software. Queste vulnerabilità possono essere sfruttate dagli aggressori per ottenere accesso non autorizzato, modificare o rubare dati o interrompere le operazioni. Un esempio di questo attacco vettoriale è stato il Attacco Apache StrutsNel 2003, un hacker si è infiltrato nel repository del codice sorgente della libreria software open source denominata Apache Struts. L'hacker ha introdotto una vulnerabilità nella libreria che gli ha consentito di ottenere un accesso non autorizzato ai sistemi delle organizzazioni che hanno installato la libreria. La vulnerabilità ha permesso all'hacker di eseguire codice arbitrario sui sistemi interessati, che potrebbe essere utilizzato per rubare dati, installare malware e interrompere le operazioni. L'attacco ha interessato un'ampia gamma di organizzazioni, tra cui agenzie governative, aziende e privati.

Manomissione di file critici

L'alterazione o la modifica di file critici nel ciclo di vita dello sviluppo software può avere gravi conseguenze, tra cui l'introduzione di codice dannoso, la compromissione di dati sensibili e l'interruzione delle operazioni software. Un esempio di questo attacco di manomissione vettoriale è stato Attacco di Maven. Nel 2020, degli hacker si sono infiltrati nel repository del codice sorgente di una popolare libreria software open source chiamata Maven. Gli hacker hanno inserito codice dannoso nel file pom.xml della libreria, che viene utilizzato per configurare il processo di compilazione. Il codice dannoso ha consentito agli hacker di iniettare le proprie dipendenze nel processo di compilazione, che sono state poi incluse nel software compilato. Queste dipendenze contenevano backdoor che hanno consentito agli hacker di ottenere accesso non autorizzato ai sistemi delle organizzazioni che hanno installato il software.

Cancellare il percorso: semplificare le operazioni con una visione chiara

Vai oltre il regno della sicurezza e scoprirai che visualizzare la tua catena di fornitura fa molto più che salvaguardare: è come accendere una luce in una stanza buia, rivelando i percorsi più rapidi ed efficienti attraverso le tue operazioni. Offre ai team una visione panoramica dell'ecosistema di sviluppo, consentendo loro di identificare risorse ridondanti ed elementi non mantenuti. Questa chiarezza è particolarmente vantaggiosa nei progetti su larga scala in cui più unità e componenti si intrecciano.

Osservazioni finali

Comprendendo i diversi tipi di fase sorgente software supply chain security minacce e implementando misure di sicurezza adeguate, le organizzazioni possono proteggersi da questi attacchi devastanti.

  • Gli attacchi alla supply chain del software possono introdurre codice dannoso nel software in qualsiasi fase del ciclo di sviluppo, inclusa la fase di origine.
  • Le minacce in fase di origine includono l'invio di codice dannoso, la compromissione dei repository di origine, la compilazione da origini modificate, la scrittura di codice non sicuro e la manomissione di file critici.
  • Le organizzazioni devono implementare misure di sicurezza complete durante l'intero ciclo di sviluppo del software per mitigare i rischi di attacchi alla supply chain.

Vuoi rimanere all'avanguardia in software supply chain security?

Resta sintonizzato per il nostro prossima serie di blog, dove approfondiremo gli attacchi più diffusi che si verificano durante il ciclo di vita dello sviluppo del software. Da fase di costruzione fino all'implementazione e oltre, ti forniremo le conoscenze e le strategie per proteggere la tua organizzazione da queste minacce insidiose.

Da non mancare! Iscriviti oggi al nostro blog e sarai il primo a conoscere le nostre ultime novità su software supply chain security.

Insieme possiamo creare un ecosistema software più resiliente e sicuro per tutti.

Esplora le funzionalità di Xygeni!
Guarda la nostra demo video
sca-tools-software-strumenti-di-analisi-della-composizione
Dai priorità, risolvi e proteggi i rischi del tuo software
Prova gratuita 7-day
Nessuna carta di credito richiesta

Proteggi lo sviluppo e la consegna del tuo software

con la suite di prodotti Xygeni