Lori MacVittie, Principal Technical Evangelist, Office of the Cto, F5, sottolinea l’importanza di focalizzarsi sulla sicurezza della supply chain a causa delle sue molte vulnerabilità.
La supply chain e le sue vulnerabilità oggi sono al centro dell’attenzione perché spesso sfruttate per attacchi di grande scala. Non sorprende quindi che anche nel mondo del software le minacce siano consistenti. La prima volta che abbiamo sentito parlare pubblicamente di una vulnerabilità molto pervasiva e problematica nella catena di fornitura del software è stato con log4j. Si tratta di un’applicazione di logging estremamente diffusa, la cui vulnerabilità è stata relativamente facile da sfruttare per consentire l’esecuzione di codice remoto. E ha quindi avuto un impatto disastroso e portato a una corsa globale per mitigare la vulnerabilità. Più di recente, è stata la volta di Spring4Shell, vulnerabilità critica nel framework JavaSpring, che ha causato il caos per le aziende che si sono trovate ad affrontare la minaccia.
Attenzione alle app più moderne
Nell’ultimo rapporto di Sonatype sullo stato della catena di fornitura del software, ci sono statistiche in grado di spaventare qualsiasi tecnologo attento alla sicurezza, indipendentemente dal suo ruolo. A partire dalla considerazione che oggi sono disponibili 37 milioni di versioni di componenti OSS. Questo fa sì che il 29% dei progetti più diffusi contiene almeno una vulnerabilità di sicurezza nota.
Inoltre i cyberattacchi rivolti ai fornitori open source crescono con un ritmo del 650% su base annua. Questi dati sono particolarmente preoccupanti perché il rapporto ha stabilito che “Un’applicazione moderna contiene mediamente 128 dipendenze open source”. A tal proposito, anche nello State of Application Strategy del 2022 recentemente pubblicato da F5, troviamo statistiche degne di nota. In particolare, le applicazioni moderne (container-native e mobile) comprendono in media il 33% del portafoglio di applicazioni aziendali. E le aziende di tutti i settori gestiscono in media un portafoglio di circa 200 applicazioni.
Le dipendenze open source
Quindi, facendo alcuni calcoli (33% di 200 applicazioni) possiamo dire che un’azienda ha in media 66 app moderne nel suo portafoglio. Utilizzando i risultati di Sonatype sulle dipendenze open source, questo significa che dovrebbe proteggere 8.448 diverse dipendenze open source. Ora, c’è quasi certamente una sovrapposizione perché le applicazioni container-native condividono quasi sempre lo stesso ambiente di organizzazione dei container (Kubernetes è il principale protagonista in questo momento). Quindi l’onere potrebbe essere inferiore in termini di dipendenze specifiche, ma non nel senso che ogni istanza debba essere aggiornata in caso di vulnerabilità. Ritengo, quindi, che i dati esaminati confermino come garantire la sicurezza della supply chain del software oggi sia un’impresa significativa. A causa anche delle dimensioni dei portafogli di applicazioni e le molteplici dipendenze open source.
Il ruolo dei DevSecOps
Un passaggio positivo è stata l’introduzione da parte della piattaforma di hosting web GitHub di nuove funzionalità per la sicurezza della Supply Chain del software. Queste consentono di “trovare e bloccare le vulnerabilità che attualmente vengono visualizzate solo nella rich diff di una pull request”. In altre parole, si integrano nella pipeline CI/CD e scansionano, in tempo reale, le vulnerabilità note. Non si tratta di qualcosa di rivoluzionario. I DevSecOps stanno guidando questo tipo di sviluppo della sicurezza “shift left” da anni ormai.
E la maggior parte delle pipeline CI/CD, indipendentemente dagli strumenti adottati, è in grado di eseguire scansioni di sicurezza sul codice. Non tutte, tuttavia, integrano la capacità di scansionare le vulnerabilità note che potrebbero essere nascoste nelle dipendenze o il risultato di un errore logico non facile da rilevare. Quindi è necessario includere il più possibile la sicurezza nella pipeline CI/CD, per eliminare le vulnerabilità e gli errori rilevabili in un secondo momento.
Una situazione in peggioramento
Il motivo per cui ho evidenziato il problema dell’attuale software supply chain è però un altro. Un elemento a mio avviso critico è che la situazione è destinata a peggiorare. E questo man mano che le organizzazioni modernizzano le attività operative con approcci di site reliability engineering (SRE). Questo perché, nella sua essenza, le pratiche di ingegneria del software alle operazioni IT SRE dipendono dall’automazione. Automazione che, a sua volta, dipende da software e script, molti dei quali sono open source.
Sicurezza della supply chain e aziende
In effetti, molti degli strumenti open source utilizzati dai DevOps saranno utilizzati anche dagli SRE. Volendo semplificare i ruoli e le relazioni, i Site Reliability Engineer sono i DevOps della produzione. I professionisti DevOps si concentrano in genere sulla pipeline di creazione e rilascio del software. Invece gli SRE si concentrano sulla pipeline delle operazioni software. Questo comprende non solo le applicazioni, ma anche la sicurezza delle applicazioni e i servizi di distribuzione, nonché le piattaforme e gli ambienti (come core, cloud ed edge). Il campo d’azione del personale SRE si estende a tutto lo stack IT, rendendo il loro compito molto più difficile quando si tratta di proteggere la catena di fornitura del software.
Cambia l’architettura aziendale
La sicurezza della supply chain del software dovrebbe essere una preoccupazione per tutte le organizzazioni. E questo perché ha un impatto sull’intero ciclo di vita dell’applicazione, dallo sviluppo alla creazione, al rilascio, alla distribuzione e al funzionamento. Dovrebbe rappresentare una preoccupazione per tutte le organizzazioni mentre affrontano il loro percorso di trasformazione digitale. Credo, infatti, che sia in atto un cambiamento significativo nelle aziende di tutto il mondo, che ha un impatto sul fondamento stesso dell’organizzazione. Ovvero l’architettura aziendale. Spesso è stata creata decenni fa, sulla base di strutture sviluppate con la premessa che le risorse fossero fisse e inflessibili e che il centro dati fosse il fulcro dell’universo aziendale. Tutto questo non è più vero e il business è profondamente cambiato.
La trasformazione digitale e la sicurezza della supply chain
L’azienda, sempre più digitale, si affida oggi a processi guidati dai dati e non può essere rappresentata adeguatamente da un’architettura progettata per un’azienda fisica con processi guidati dall’uomo. L’architettura aziendale deve quindi essere modernizzata e, nel farlo, è necessario incorporare nuovi domini, come quello delle operazioni SRE.La nostra ricerca sulla sicurezza delle applicazioni ha rilevato che il 37% delle organizzazioni ha già abbracciato le operazioni SRE per modernizzare le applicazioni e le operazioni. Mentre un altro 40% sta pianificando di farlo nei prossimi 12 mesi. In sintesi, la buona notizia è che l’approccio SRE è sempre più adottato e rappresenterà una nuova best practice per le organizzazioni che consentirà loro di stabilire nuovi modi di operare. Compresa l’integrazione fin dal principio della sicurezza nella catena di approvvigionamento del software.