È davvero importante parlare, oggi, di security by default? Certo, perché dietro questo concetto si intende l’insieme di strategie necessarie per sviluppare e configurare, di default appunto, un software al suo massimo livello di sicurezza.
Si smette, cioè, di lasciare all’utente la responsabilità di impostare i parametri di sicurezza di quel software, facendo in modo che, fin dal primo utilizzo, offra la migliore protezione possibile.
A volte, questo processo richiede anche una revisione di interfaccia e user experience, per fare in modo che siano garantite immediatezza e semplicità.
Indice degli argomenti
Security by default: un duplice obiettivo
Un software, si sa, è composto da una miriade di parametri, alcuni sotto il controllo dell’utente finale, molti altri di dominio dello sviluppatore. Il concetto del security by default prevede una stretta connessione tra i due mondi, anche se la responsabilità è tutta a carico dello sviluppatore.
Quest’ultimo da una parte deve utilizzare metodologie di sviluppo il più possibile scevre da errori, ma dall’altra deve garantire una corretta impostazione predefinita dei parametri accessibili all’utente.
Un obiettivo duplice e complesso, raggiungibile, tuttavia, adottando un modello di sviluppo DevSecOps.
La sicurezza in ogni aspetto
Per comprendere come si raggiunge la security by default con il DevSecOps, occorre prima definire che cos’è questa metodologia. Si tratta di un’evoluzione del DevOps, nel quale il processo di utilizzo di una tecnologia passa direttamente dalla fase di sviluppo a quella operativa: Dev-Ops, appunto.
Le crescenti necessità di protezione hanno imposto che in questa equazione rientrasse, dunque, anche la sicurezza. Una security by default, nella fattispecie, che coinvolge ogni aspetto della tecnologia, dal suo sviluppo alla sua operatività.
Questo approccio prevede cicli di sviluppo più brevi e controllabili, integrazione costante delle soluzioni di sicurezza, interruzione minima dell’operatività e maggiore collaborazione tra tutti i team coinvolti nel progetto.
Un’app come esempio
La metodologia DevSecOps garantisce la security by default proprio grazie a questo approccio organico e costante al tema della protezione degli asset aziendali: ogni singola scelta nel processo di sviluppo, ed in quello di utilizzo, tiene sempre conto dei risvolti legati alla sicurezza.
Si prenda, come esempio, lo sviluppo di un’app legata alla registrazione dei dati personali di un utente. Si tratta a tutti gli effetti di un software che gestisce dati sensibili, dove la security by default è un requisito imprescindibile. Da una parte, lo sviluppatore non può certo lasciare all’utente finale il compito di salvaguardare i propri dati, mentre dall’altro deve garantire la sicurezza e rispettare le tempistiche di rilascio. Come fare?
Security by default fin da subito
Con un tradizionale approccio DevOps, si sviluppa l’app e la si rilascia, ponendosi le problematiche legate alla sicurezza in una fase successiva. Nel caso si riscontrassero dei problemi, il software va rivisto, modificato spesso in modo pesante e rilasciato in una nuova versione.
Senza considerare che, con standard di sicurezza sempre più alti, spesso si è costretti a bloccare, nel frattempo, la fruizione dell’app.
Con un approccio DevSecOps la security by default è garantita fin dalla fase progettuale. La sicurezza, cioè, rientra tra le caratteristiche iniziali del progetto. Quando ha inizio lo sviluppo, poi, si ha un controllo costante del rispetto degli standard di sicurezza e, alla prima anomalia, questa viene analizzata e risolta.
Il controllo non termina con la fine dello sviluppo, ma è costante anche dopo il rilascio, su ben tre livelli.
Security by default su più livelli
Il primo riguarda l’analisi del codice di base, alla ricerca di eventuali problematiche non rilevate in precedenza e presenti, quindi, nella versione già operativa.
Il secondo livello riguarda, invece, il monitoraggio della sicurezza sulle nuove caratteristiche in fase di sviluppo, ma non ancora rilasciate.
Infine, c’è un controllo costante dei feedback di utenti o team operativi, da tradurre in informazioni che vanno fatte rientrare nel ciclo di sviluppo. Al termine di questo ciclo, ovviamente, rimane il processo di patch management, che consente di rimediare alle problematiche più vistose e impattanti.
Si accelera lo sviluppo
È chiaro, in base a questa rappresentazione, che una metodologia DevSecOps garantisce la security by default perché è intrisa di sicurezza in ogni passaggio. E non si tratta di godere di vantaggi “solo” sul versante della sicurezza.
Innanzitutto, l’utilizzo del DevSecOps eleva la reputazione dell’azienda: più sicurezza, meno rischi di attacchi e di data breach, meno probabilità di entrare nelle cronache nere della sicurezza informatica e godere dell’allure di una compagnia solida ed attenta ai propri dati.
Inoltre, anche se a prima vista può sembrare paradossale, il DevSecOps accelera il processo di sviluppo. Questo perché, se da una parte si allunga di poco la produzione della tecnologia, dall’altra si evitano momenti di stallo dovuti a difficoltà nella risoluzione dei problemi di sicurezza. E questo, dati alla mano, si traduce in un notevole risparmio di tempo.
Un cambio concettuale
Chiaramente, per ottenere il massimo dal DevSecOps, e garantire grazie a questo una security by default, occorre predisporre l’azienda alla nuova metodologia. Si tratta, soprattutto, di un lavoro concettuale, poiché si devono abituare i team alla più completa e aperta collaborazione, dotandosi di efficaci tecnologie di condivisione e revisione dei processi di sviluppo. Occorrono, per questo, professionalità specifiche, momenti di formazione e di interazione.
A fronte di questo investimento, tuttavia, si godono dei vantaggi che consentono un balzo quantico nelle possibilità di business.