Sviluppare applicazioni rapidamente e metterle altrettanto rapidamente in produzione, per assecondare le famose "esigenze del business”, potrebbe costare caro alle aziende. Per fretta o negligenza sugli aspetti del DevSecOps e della security by design, negli anni le aziende private e pubbliche di ogni settore hanno accumulato un “debito di sicurezza”, così lo chiama Veracode nel suo ultimo report sul tema. Un debito che non accenna a calare, fatto di vulnerabilità non risolte, spesso anche critiche, che possono lasciare una porta aperta ad hackeraggi, violazioni di account, infezioni malware, furto di dati e altri tipi di compromissione. Basti ricordare il caso eclatante di Log4Shell, la vulnerabilità della libreria Apache Log4j, quasi ubiqua e ancora presente oggi in molte aziende, a distanza di anni dalla scoperta.
O basti pensare ai dati emersi dal report “State of Software Security 2024”, basato sul panorama applicativo delle circa tremila aziende clienti di Veracode. Lo scenario non è roseo: oltre il 70% delle organizzazioni ha un debito di sicurezza, ovvero usa applicazioni contenente vulnerabilità non risolte da oltre 12 mesi. Inoltre, con vulnerabilità ad alto rischio. “Si tratta di un problema endemico”, ha spiegato ai giornalisti il country manager di Veracode Italia, Massimo Tripodi. “Il tema riguarda sia le applicazioni residenti on-premise sia quelle sviluppate nativamente per il cloud. Sulla parte cloud esistono ulteriori livelli di attacco, per esempio su container e orchestrazione dei container”.
Focalizzando l’analisi sulle prime 15 istituzioni finanziarie clienti di Veracode in Emea, si nota che dal 2009 a oggi la crescita delle vulnerabilità risolte è una linea retta, mentre quella delle vulnerabilità scoperte è esponenziale. “Su questo risultato impattano due elementi”, ha illustrato Tripodi. “Il primo è lo sviluppo tecnologico, gli strumenti low-code e no-code che consentono di generare codice in modo molto più rapido, per star dietro alle esigenze del business. Di contro le risorse, cioè le persone, dedicate alla risoluzione delle vulnerabilità nelle aziende sono in numero costante o in decrescita. Questo genera la divaricazione tra le due curve di crescita”. La stessa dinamica, pearltro, si ripete anche sulle vulnerabilità critiche.
Fonte: Veracode, "State of Software Security 2024", febbraio 2024
Il ruolo scomodo dell’open source
Ai fattori citati da Tripodi se ne aggiunge un terzo: la presenza di codice “esterno” nelle applicazioni create dai team di sviluppatori interni alle aziende. L’open source è una risorsa preziosa per il DevOps ma può nutrirsi anche dei contributi di attori malintenzionati. Stando alla ricerca di Veracode, circa il 63% delle applicazioni presenta vulnerabilità nel codice proprietario, mentre il 70% contiene falle in quello di terze parti, importato tramite librerie esterne. Attenzione, però, al diverso "peso specifico" di queste falle. Nelle aziende solo il 10% del debito di sicurezza è contenuto nel codice open source di terze parti, ma sul debito critico la quota sale al 65%.
L’open source mette in bastoni tra le ruote anche nella remediation. La correzione delle falle di terze parti richiede il 50% di tempo in più: mediamente, le vulnerabilità vengono risolte in undici mesi, contro i sette mesi necessari, in media, per rimediare ai problemi dei codici proprietari. “Le aziende si dovrebbero dotare della capacità di vedere le vulnerabilità su tutto lo stack applicativo”, ha rimarcato Tripodi. “Inoltre non è sufficiente darsi delle linee guida, dei processi e delle best practice. Una volta che ci si rivolge all’esterno, a framework sviluppati dalla comunità, questo equivale a portare in azienda un veicolo di attacco”. Dunque è importante testare entrambi i tipi di codice durante il ciclo di vita dello sviluppo del software.
Un quarto fattore che, potenzialmente, aggrava il debito di sicurezza è l’impiego dell’AI generativa per la creazione di codice. “Nonostante la velocità e l’efficienza che l’AI apporta allo sviluppo del software, non necessariamente questo implica la produzione di un codice sicuro”, ha commentato Chris Eng, chief research officer di Veracode. “La ricerca ha mostrato che il 36% del codice generato da GitHub CoPilot contiene falle di sicurezza. Questa proliferazione di codice non sicuro su scala rappresenta un rischio significativo per le aziende e l’intera software supply chain, portando ad accumulare debito di sicurezza nel tempo”.
La sicurezza applicativa è anche questione di mentalità
All’elenco dei fattori di rischio – accelerazione digitale, scarsità di risorse, software di terze parti, AI generativa – si somma un atteggiamento culturale tipico delle aziende europee, dove si tende a sottovalutare il tema della sicurezza applicativa. “Nelle aziende anglosassoni il tema della application security è una funzione a diretto riporto del Ciso”, ha testimoniato il country manager italiano.”In Europa vige ancora il concetto di sicurezza come protezione esterna ma questo non funziona più, perché i livelli di attacco sono molteplici e sofisticati. L’approccio del Ciso europeo è ancora focalizzato sul rispetto della compliance e ci si rimbalza le responsabilità”.
L’atteggiamento oggi sta un po’ cambiando, anche se forse non per i motivi giusti. “Nelle aziende europee la pressione regolatoria, con l’incombere di Dora e Nis2, che sta cambiando le cose", ha proseguito Tripodi. "Negli stati uniti invece il cambiamento è partito a livello culturale e il regolatore è arrivato dopo. In Europa soprattutto le banche si stanno ponendo la questione della sicurezza applicativa, mentre nel settore manifatturiero c’è ancora un lungo percorso da fare”..
Per Veracode, il debito di sicurezza può essere risolto con un approccio a tutto tondo: adottando soluzioni ad hoc per l’analisi della sicurezza delle applicazioni, ma anche maturando una consapevolezza dei rischi e modificando le vecchie abitudini. I processi di sviluppo dovrebbero prevedere verifiche in tutte le fasi (progettazione, sviluppo, test, produzione) e a tutti i livelli (applicazione, container, combinazioni tecnologiche).
Massimo Tripodi, country manager di Veracode
L'automazione è cruciale
La piattaforma Software as-a-Service di Veracode automatizza la ricerca di vulnerabilità nel codice con scansione statica e dinamica, analisi delle terze parti, analisi dei container e degli script di Kubernetes. Se la vulnerabilità è riscontrata su un pezzo del software che è di terze parti, la piattaforma segnala quale versione installare con un aggiornamento. Un aspetto importante è la capacità di classificare e assegnare diverse priorità ai rischi rilevati.
Veracode può, inoltre, automatizzare la distribuzione di patch e le altre azioni correttive. “Nelle aziende ormai si crea con l’automazione ma si fa remediation manualmente”, ha osservato Tripodi. “Siamo l’unico vendor ad aver digitalizzato il processo di remediation utilizzando l’intelligenza artificiale generativa. La versione open-source di Gpt, Gpt 2.5, è stata addestrata con i nostri dati proprietari. Il progetto è iniziato due anni e mezzo fa, su clienti selezionati, e dallo scorso luglio il servizio è in disponibilità generale”.
Il modello sa capire la vulnerabilità e il contesto del cliente, quindi può fornire risposte a query poste in linguaggio naturale e suggerire azioni correttive. Basta, quindi, un click per accettare il suggerimento e distribuire la modifica in pochi minuti. Resta comunque possibile per i team aziendali intervenire manualmente, qualora sia opportuno (per esempio per modifiche di configurazione complesse).
“Veracode”, ha sintetizzato Tripodi, “diventa uno strumento di collaborazione vero e proprio tra il dipartimento di sicurezza e il dipartimento di sviluppo, che hanno una vista comune, un workflow, un processo di approvazione e reportistica collegata”. A completamento della piattaforma, un modulo di e-learning per la sensibilizzazione del personale e uno di laboratorio “hands on”, per verificare che cosa accadrebbe sfruttando una vulnerabilità esistente. “Abbiamo notato che più i clienti si prendono cura della formazione del personale degli sviluppatori, e meno vulnerabilità emergono poi nel codice”, ha specificato il country manager. Nella sicurezza applicativa, insomma, tecnologie e persone devono andare a braccetto.