Come tracciare la sicurezza della software supply chain
Dai governi all’industria e gli sviluppatori, le strategie per fermare gli attacchi più pericolosi della cybersicurezza. Che non sono mancati negli ultimi anni.
di Edoardo Dusi
Negli ultimi anni, la software supply chain è diventata sempre più una componente critica del processo di sviluppo, un ruolo che la rende particolarmente fragile dal punto di vista della cybersecurity. Con l’aumento dell’interconnessione tra servizi, l’adozione massiva di soluzioni cloud native e una dipendenza sempre maggiore da software open source, ogni progetto software si trova a fare affidamento su un numero crescente di componenti di terze parti. Questi componenti offrono allo sviluppatore flessibilità e velocità di sviluppo, ma amplificano la superficie d’attacco, trasformando questa catena di dipendenze in un bersaglio particolarmente ambito per gli attaccanti.
Negli ultimi anni alcuni episodi paradigmatici hanno spinto l’industria e persino i governi a rivalutare le proprie strategie di cybersecurity.
Cos’è la Software Supply Chain?
Per software supply chain intendiamo tutti gli strumenti di terze parti che usiamo per sviluppare, testare e distribuire software. In questa ampia definizione troviamo le dipendenze di terze parti – oggi soprattutto librerie e framework open source, ma anche componenti e servizi – che vengono aggiunte al codice del progetto, e anche le dipendenze transitive, ovvero le dipendenze di queste dipendenze, e così via. Con la presentazione di Docker nel 2013, che ha dato idealmente il via all’era cloud native, la supply chain è diventata sempre più complessa e articolata: oggi il ciclo di vita di un software è strettamente legato alla presenza di un repository per il codice (ovvero dove esso risiede), una CI/CD (Continuous Integration / Continuous Delivery, sistemi automatici per assemblare, testare e distribuire un software) e un deployment (rilascio) in cloud, e ogni pezzo di questo puzzle rappresenta un anello in più nella catena, un anello potenzialmente debole e quindi sfruttabile per un attacco.
Per fare un paragone, possiamo immaginare la software supply chain come una catena di montaggio in cui ogni pezzo, anche uno apparentemente secondario, è fondamentale per il prodotto finale. Se un singolo componente è vulnerabile o viene compromesso da un attacco, l’intero sistema può risentirne, esponendo le applicazioni e i dati sensibili a gravi rischi. Non solo, anche il trasporto ovvero la distribuzione dei componenti è soggetto a vulnerabilità, così come il processo di assemblaggio (la cosiddetta build) e quello della distribuzione agli utenti finali.
Continua a leggere sul nostro sito Guerredirete.it