DevOps e SecDevOps: cosa cambia nella metodologia di sviluppo

18 Novembre 2020

Da tempo, la sicurezza non è più un fattore esterno al mondo della programmazione software. Basta prendere in considerazione gli approcci DevOps e SecDevOps e confrontarli per capire che i paradigmi del “security by-design” sono ormai diventati parte integrante dei processi di sviluppo e realizzazione di applicativi e piattaforme informatiche. Un passo in avanti decisivo, che consente ai “consumatori finali” di godere di un livello di sicurezza più elevato che in passato.

E anche se il passaggio da un approccio DevOps a quello SecDevOps può apparire come una cosa secondaria, si tratta invece proprio di un “cambio di paradigma”. Ossia, un cambio completo di prospettiva, che trasforma la sicurezza – e tutte le pratiche necessarie per proteggere le informazioni degli utenti che utilizzano le app e i programmi – in uno dei punti focali del progetto di sviluppo del software.

A questo si deve aggiungere, inoltre, che il security by-design è un elemento portante di quella che viene definita “Next-Generation Security”. La cyber security della prossima generazione si baserà su algoritmi di intelligenza artificiale, machine learning e sulla “sicurezza per progettazione” delle piattaforme. Per questo capire cosa sono DevOps e SecDevOps e quali sono le differenze tra questi due approcci è fondamentale per intuire quale sarà la strada che la cyber security seguirà nei prossimi anni.

Che cos’è il DevOps

Negli ultimi anni, il settore dello sviluppo di programmi e applicativi è andato incontro a una rivoluzione. Con l’obiettivo di rendere più agile e veloce il rilascio di nuovi prodotti, il team di sviluppo e quello operativo hanno iniziato a lavorare “gomito a gomito” anziché procedere su due binari separati. Questo ha consentito di velocizzare lo sviluppo dei software, affiancando al lavoro di progettazione e realizzazione quello di testing e rilascio.

Questo modello, chiamato DevOps (crasi tra i termini inglesi “Development” e “Operation”), ha portato indubbi benefici per lo sviluppo di nuovi software. In particolare, il DevOps si adatta alla perfezione alle esigenze dei team impegnati nello sviluppo di software con cicli di rilascio frequenti o molto frequenti. Questa metodologia, infatti, è caratterizzata da una maggiore agilità nello sviluppo, di tempi di rilascio (o time-to-market) inferiori e una decisa contrazione dei costi.

Merito di un rapporto più stretto e collaborativo tra i due reparti – quello di development e quello di operations – che comunicano quotidianamente tra loro per verificare e testare continuamente il prodotto in fase di realizzazione. E, anche se a una prima occhiata questo processo può sembrare più complesso e dispendioso, è vero l’esatto contrario. Il vecchio approccio, infatti, prevedeva che il reparto di operations entrasse “in gioco” in una fase avanzata dello sviluppo. Ma, se ci fossero stati dei problemi, gli sviluppatori sarebbero stati costretti a mettere pesantemente mano al codice. Con i controlli continui e serrati del modello DevOps, invece, le correzioni avvengono quasi istantaneamente, evitando così di stravolgere il progetto poco prima che debba essere rilasciato.

Che cos’è il SecDevOps

Da qualche tempo, il modello DevOps è entrato in una nuova “fase” di sviluppo, caratterizzata da un approccio “security by-design”. Accade sempre più spesso, infatti, che alle operazioni di development e operations si affianchino quelle di security, con il chiaro obiettivo di difendere non solo l’infrastruttura dell’app o del programma in fase di realizzazione, ma anche di offrire un elevato livello di protezione per i dati e le informazioni personali degli utenti che ne faranno uso.

Nasce così il modello SecDevOps, nel quale la cyber security e l’approccio “security by-design” svolgono un ruolo di grandissima importanza, al pari di quello di development e operations. Anzi, per alcuni versi (come dice anche il nome), la sicurezza viene prima di tutto. In fase di progettazione, quando l’applicativo è solo sulla carta, il team di sicurezza indica agli sviluppatori quali debbano essere le misure e le tecniche da adottare per ridurre al minimo le possibilità che l’app abbia dei bug o delle vulnerabilità. Nella seconda fase, quando il prodotto è in fase di realizzazione, il team si occupa di effettuare penetration test e altri controlli di sicurezza, per verificare che tutto proceda come da progetto.

DevOps e SecDevOps: le differenze

Cosa cambia, dunque, tra il DevOps e il SecDevOps? Dipende dal punto di vista dal quale si analizza la questione. Operativamente, cambia tutto: l’apporto che il team di sicurezza fornisce è fondamentale per creare degli applicativi “sicuri per progetto”, andando a stravolgere in alcuni casi le logiche di sviluppo che si sarebbero invece adottate. Fondamentale, inoltre, il lavoro che viene svolto in fase di realizzazione, quando i controlli di sicurezza consentono di verificare che l’app non abbia bug o vulnerabilità.

Da un punto di vista “filosofico” e “finalistico”, invece, non cambia nulla. L’obiettivo dei tre team (security, development e operations) è quello di realizzare applicativi nel minor tempo possibile, garantendo sempre elevati standard di qualità e prodotti sicuri e protetti. Il tutto, tenendo sempre sotto controllo i costi di sviluppo: i modelli DevOps e SecDevOps consentono di contenere le spese, evitando che l’app o il programma debba essere riscritto da capo nel caso in cui emerga un problema in fase avanzata di sviluppo.

Questa immagine ha l'attributo alt vuoto; il nome del file è CTA_Parla-con-un-esperto_v2.png