Phil Richards, Chief Security Officer di Ivanti, spiega in cosa consiste il modello “DevSecOps” e perché le aziende dovrebbero implementarlo
Nel corso dello sviluppo di software e applicazioni, la sicurezza dovrebbe assumere un ruolo centrale, al pari dei propri strumenti in continua evoluzione. Quest’ultimi, in particolare, devono contrastare potenziali attacchi preventivamente. Al fine di riuscire a stare al passo con i malintenzionati, il processo di sviluppo delle applicazioni deve passare dal modello “DevOps” a quello “DevSecOps”.
Di fatto, DevOps è una metodologia di progettazione agile del software che integra i team di sviluppo e quelli operativi, abbattendo i silos e aumentando la capacità di un’azienda di fornire applicazioni e servizi più velocemente rispetto ai modelli tradizionali, caratterizzati da processi laboriosi e molto lenti.
Ad oggi, i team legati allo sviluppo agile del software rilasciano soluzioni e applicazioni in tempi brevissimi, aumentando così il rischio di commettere errori e introdurre vulnerabilità. Per questo motivo, le imprese che vogliono rafforzare la propria cybersecurity devono riuscire ad abbandonare la “cultura DevOps”, favorendo quella incentrata sul modello DevSecOps.
La sicurezza dall’inizio alla fine
La soluzione DevSecOps assegna priorità assoluta alla sicurezza in tutto il processo di sviluppo, assicurando la presenza di una buona igiene informatica in tutte le diverse fasi. Questo cambiamento di approccio spinge le aziende ad adottare diversi percorsi per implementare codici e applicazioni sicure, attraverso vari strumenti e strategie, tra cui:
- Framework di sicurezza: prendendo spunto dalle migliori soluzioni già implementate, le imprese possono predisporre il loro software a quasi tutte le situazioni; ad esempio, The Building Security In Maturity Model (BSIMM) è uno strumento di benchmarking che elenca più di 120 best practice di sicurezza, permettendo ai team di sviluppo di prendere in considerazione queste misure quando progettano le loro soluzioni.
- Formazione sul codice di sicurezza: informare gli sviluppatori sulle minacce esistenti e sulle best practice, implementando un processo di formazione continua che li addestri a rilevare e correggere qualsiasi vulnerabilità nei loro sistemi.
- Security gate: nei processi di sviluppo DevOps, essi possono bloccare un rilascio, dando ai team di sicurezza il tempo necessario per determinare il livello di gravità dei bug e porvi rimedio.
- Implementare una strategia di sicurezza a più livelli: la sicurezza deve essere una responsabilità condivisa. Questo implica che gli sviluppatori dovrebbero possedere strumenti in grado di rilevare le vulnerabilità mentre scrivono il codice, il team interno dovrebbe eseguire test di sicurezza statica e dinamica delle applicazioni e, inoltre, eventuali esperti esterni avrebbero il compito di svolgere i test black-box e gray-box, ricercando le vulnerabilità più complesse e nascoste.
Le library di terze parti sono una responsabilità di tutti
Le library di terze parti, come Apache Struts, sono sia una benedizione, sia una maledizione per le aziende. Infatti, se da un lato queste ultime possono trarre beneficio dal lavoro di altri, dall’altra sono necessari continui aggiornamenti e revisioni per mantenere una base di codice pulita, poiché è facile importare codice dannoso dai repository di codice.
Gli sviluppatori dovranno, pertanto, regolarmente aggiornare i toolkit per assicurare che i materiali di terze parti abbiano le loro vulnerabilità patchate, perché anche le più piccole sviste possono provocare violazioni significative. La Cybersecurity and Infrastructure Security Agency (CISA) ha rilasciato una lista delle vulnerabilità software più sfruttate, in cui si evidenzia che Apache Struts è la seconda tecnologia più attaccata. Gli aggressori sfruttano frequentemente anche le vulnerabilità nei servizi web open-source, come Apache Tomcat, che è in bundle in tantissimi prodotti.
È un continuo whack-a-mole
Le minacce future cercheranno di sfruttare le vulnerabilità dei prossimi sistemi, quindi è necessario rendere prioritaria la sicurezza, implementando una cultura DevSecOps capace di mitigare le minacce non appena appaiono e prima che possano causare problemi o interruzioni.