Sviluppare codice sicuro è oggi un tassello fondamentale per la cybersecurity, ma farlo è sempre più complesso. Ecco quali sono gli ostacoli e una possibile soluzione.
La sicurezza del codice è oggi uno degli argomenti più spinosi per la cybersecurity in generale e per la resilienza informatica in particolare. Le insidie sono molte, quella maggiore è il gap culturale che non permette di dare la giusta importanza al problema. A dispetto di altre minacce più “popolari” e maggiormente oggetto di hype, le preoccupazioni legate allo sviluppo del codice tendono troppo spesso a passare in secondo piano, con gravi conseguenze che abbiamo visto più volte, come nel caso Log4J.
È stato questo il tema centrale trattato in un recente incontro con la stampa da Massimo Tripodi, Country Manager di Veracode Italia, azienda specializzata in application security testing, ossia nella realizzazione di soluzioni nate per rendere sicuro il software che viene sviluppato.
Nella sua analisi Tripodi è partito da report State of Software Security 2024 presentato da poco da Veracode e basato su un capione di 3000 clienti a livello globale, da cui risulta che più del 70% delle organizzazioni deve fare i conti con un debito di sicurezza. Per debito di sicurezza s’intende l’avere accumulato all’interno dei propri sistemi delle vulnerabilità che non sono state corrette per un periodo uguale o superiore ai 12 mesi. Ancora più grave, per il 46 percento tale debito è di livello “critico”. Il dato è preoccupante, perché nella casistica rientrano aziende di ogni vertical, dalle finanziarie al manifacturing, passando per il finance e molto altro.
Massimo Tripodi, Country Manager di Veracode Italia
Un altro dato su cui riflettere proposto da Tripodi è che dal 2009 ad oggi si è verificata una vera e propria impennata delle vulnerabilità attive, a fronte di un basso numero di quelle risolte. Il gap fra i due parametri è altissimo, il che significa che la superficie di attacco è andata ad aumentare in maniera esponenziale.
A che cosa è dovuto tale debito di sicurezza? Tripodi ha indicato il progresso tecnologico come primo colpevole, intendendo le dinamiche per le quali la quantità di software sviluppato è cresciuta a dismisura, senza aumentare il numero di persone deputate a farlo. Il filo conduttore è semplice: con l’affermazione del modello SaaS, i microservizi, i container è diventato fin troppo semplice creare velocemente applicazioni. L’aumento vertiginoso del codice sviluppato, a fronte delle risorse rimaste invariate, ha creato e sta creando grossi problemi di sicurezza.
Al problema pratico si aggiunge poi quello di approccio: in Europa, e in Italia in particolare, manca una cultura diffusa sulla qualità e la sicurezza del codice perché risulta tuttora presente una arretratezza generale nella cultura di cybersecurity. Al contrario degli Stati Uniti, dove è più diffusa la consapevolezza della necessità di uno sviluppo controllato del software.
Il fatto è che, sottolinea Tripodi, darsi delle linee guida e seguirle non è sufficiente in ambito DevOps. Una dimostrazione è nel fatto che il 65% del debito critico deriva da librerie open-source: si possono stilare le migliori best practice del settore, ma quando ci si affida all’esterno, se non c’è un controllo accurato della fonte, si porta inequivocabilmente all’interno un potenziale veicolo di attacco.
L’altra questione portata all’attenzione da Tripodi è che correggere le falle nella sicurezza vicino al momento di mandare il software in produzione alza copiosamente i costi di gestione e i tempi di correzione, rispetto a un controllo condotto durante le varie fasi di avanzamento. Quello che serve, nicchia il Country Manager di Veracode, è uno shift left che porti a iniziare i campionamenti fin dalla progettazione dell’applicazione, come previsto dal modello di security-by-design. In altre parole, il controllo sulla sicurezza del software dev’essere continuo lungo tutto il percorso di sviluppo.
Veracode nasce nel 2002 e fin da subito ha focalizzato la propria attività sull’Application Security testing e sul delivery delle sue soluzioni in SaaS. Nel corso degli anni ha sviluppato una knowledge base che si arricchisce di continuo e che è a disposizione dei suoi clienti con la funzione di prevedere, identificare e correggere le vulnerabilità del software sviluppato.
Parliamo di una piattaforma per la gestione della sicurezza applicativa che parte da un presupposto fondante di consapevolezza, da cui si sviluppano poi tutti i servizi quali l’analisi statica e dinamica, lo scanning dei container, degli script, delle API, eccetera. Il motore di scansione, in pochi secondi, passa in rassegna il codice alla ricerca sia di falle note sia di quelle prevedibili.
Questa prima fase di scansione sfocia nell’individuazione di una serie di criticità che nella seconda fase di lavoro del servizio porta alla prioritizzazione delle falle individuate e alla loro risposta mediante mitigazione o chiusura, a seconda del bug.
Tutto il processo richiede una manciata di secondi, contro i giorni di lavorazione necessari a uno sviluppatore per svolgere gli stessi controlli. Da luglio 2023 la piattaforma di Veracode integra la GenAI che compensa alla mancanza di risorse umane efficientando la produttività e la qualità del lavoro degli sviluppatori.
A questo servizio se ne affianca un secondo di gestione del fattore umano, che è integrabile opzionalmente nella piattaforma ed è alquanto apprezzato dai clienti perché, come sottolinea Tripodi, “più i clienti si prendono cura della formazione dei propri sviluppatori interni ed esterni, meno vulnerabilità vengono introdotte all’interno del codice”. Non si tratta di una stima approssimata ma di un trend misurabile incrociando il dato sui clienti che hanno attivato il servizio di learning e il numero di vulnerabilità che vengono introdotte nel codice.
L’ultimo aspetto che chiarisce Tripodi è l’integrazione della soluzione di Veracode con gli strumenti di sviluppo, che è pressoché totale: “Si interfaccia con le pipeline di sviluppo, con i repository, con gli strumenti e diventa uno strumento di collaborazione vero e proprio fra il dipartimento di sicurezza e quello di sviluppo delle aziende, che hanno un linguaggio comune, un workflow condiviso e customizzabile, un processo di approvazione condiviso e tutta la reportistica collegata”.