banner
Centro notizie
Ottimi prezzi di fabbrica con qualità eccellente

Gestire i componenti open source nella catena di fornitura del software

Aug 20, 2023

Getty Images/iStockphoto

I componenti open source sono una parte essenziale delle applicazioni software odierne, ma possono comportare un costo critico: la sicurezza.

Le moderne applicazioni software comprendono componenti provenienti da molte fonti diverse, incluso il software open source (OSS). Ciò può aggiungere vantaggi al ciclo di vita dello sviluppo del software, come una maggiore velocità di sviluppo, costi di sviluppo ridotti e maggiore scalabilità.

Ma l'utilizzo di componenti provenienti da fonti diverse amplia anche la superficie di attacco di un'applicazione, aumentando il numero di punti di ingresso che gli aggressori possono utilizzare per accedere ad applicazioni e dati sensibili. I team DevOps devono garantire la sicurezza della catena di fornitura del software adottando misure proattive per mitigare gli attacchi.

Una catena di fornitura software comprende tutte le persone, i processi, gli strumenti, le librerie di codici e le infrastrutture IT sottostanti utilizzate per creare un'applicazione software. Comprende tutti gli aspetti del ciclo di vita dello sviluppo del software (SDLC), come la creazione del codice, il test, la distribuzione e la manutenzione post-lancio.

Molti dei componenti che compongono la catena di fornitura software di un progetto sono open source. Ad esempio, la società di automazione della progettazione Synopsys ha pubblicato un rapporto nel febbraio 2023 che esaminava i risultati di oltre 1.700 audit di basi di codici commerciali. Dal rapporto è emerso che almeno un componente open source è presente nel 96% delle applicazioni. Quasi tutte le applicazioni commerciali incorporano un componente open source.

Un attacco alla catena di fornitura del software si verifica quando gli aggressori si infiltrano nel software di un fornitore per inserire codice dannoso che infetta i client che utilizzano quel software. L’infiltrazione può avvenire in qualsiasi momento durante l’SDLC e molti attacchi informatici devastanti utilizzano la catena di fornitura del software. I recenti attacchi alla catena di fornitura includono l’attacco SolarWinds e la vulnerabilità Log4j.

La sicurezza di base della catena di fornitura del software richiede il controllo delle sue aree vulnerabili:

I componenti OSS sono sempre più popolari per i progetti di sviluppo software. I fornitori IT utilizzano e supportano la creazione di progetti open source, come i seguenti:

Oltre ad alimentare le principali applicazioni, i componenti OSS offrono numerosi vantaggi. Sono gratuiti da utilizzare, anche durante lo sviluppo di app commerciali. Anche i componenti OSS sono personalizzabili perché il codice è aperto: gli sviluppatori possono estendere le funzionalità per includere più funzionalità.

L'OSS può ridurre i tempi di sviluppo. La libreria OSS contiene componenti per quasi tutte le funzionalità che gli utenti potrebbero voler incorporare nella propria applicazione. Ciò offre agli sviluppatori più tempo per altre aree di sviluppo. I progetti open source vengono spesso sviluppati seguendo uno standard specifico, il che si traduce in diversi componenti open source che interagiscono senza problemi.

Infine, i progetti open source possono avere una solida qualità e sicurezza del codice. Sono spesso sviluppati da molti contributori, il che garantisce un ampio test del componente software. Qualsiasi sviluppatore può anche ispezionare i componenti OSS per individuare eventuali vulnerabilità di sicurezza, rendendoli più sicuri del codice proprietario che gli sviluppatori non possono ispezionare per problemi di sicurezza.

Nonostante i numerosi vantaggi dell’OSS, gli aggressori possono comunque infiltrarsi nei componenti open source. Il metodo di attacco più comune è l'abuso degli aspetti OSS della catena di fornitura del software per scopi dannosi, che possono avvenire in diversi modi:

Per gestire la sicurezza dei componenti open source nelle catene di fornitura del software, i team DevOps dovrebbero prendere in considerazione queste best practice:

Seguire pratiche di codifica sicure durante lo sviluppo di applicazioni e chiedere anche ai fornitori di software di farlo. Tali pratiche di codifica includono quanto segue:

I team devono inoltre garantire che l'ambiente della catena di fornitura del software sia sicuro durante tutto lo sviluppo. Le migliori pratiche includono quanto segue: