Ci sono termini che conquistano rapidamente cittadinanza nella community IT. Uno di questi è, senza dubbio, DevSecOps. Come tutte le piccole “rivoluzioni” nel mondo dell’informatica, però, la logica dei processi di sviluppo basati sull’integrazione dell’analisi di cyber security richiede un periodo di “digestione” perché venga assunta come un processo imprescindibile. Comprenderne la logica è il primo passo per assimilarne le caratteristiche.
Il significato di DevSecOps
Il significato della definizione DevSecOps sta nell’integrare la security di applicazioni e infrastrutture sin dall’inizio del ciclo di sviluppo e addirittura automatizzare attività di controllo della sicurezza stessa in modo da agevolare il flusso di lavoro DevOps.
La security come valore
Il termine DevSecOps è un’evoluzione dell’originario DevOps, cioè della fusione tra sviluppo (development) e livello operativo (operations). Il neologismo indica la necessità di unificare il processo di sviluppo e quello operativo per garantire la massima efficacia e il miglior risultato. Nella nuova accezione, in pratica, si aggiunge “Sec” (security) al processo. Il motivo è duplice: se da una parte la sicurezza degli applicativi è ormai considerato un valore intrinseco, dall’altra l’assimilazione del tema della sicurezza all’interno del processo consente di snellire i tempi di verifica a livello di cyber security, che in assenza di una partecipazione nel processo principale può provocare un vero “ping pong” tra sviluppatori e analisti che si traduce in un ritardo nei processi e in una frammentazione dell’attività che ha effetti estremamente negativi anche sulla qualità degli applicativi.
La collaborazione come processo
Uno dei fulcri nella logica del DevSecOps è la collaborazione tra chi gestisce i vari aspetti nel processo di sviluppo. Ogni passaggio, già dalla progettazione e pianificazione, prevede il coinvolgimento dei tre componenti. Una filosofia particolarmente importante nello sviluppo di applicazioni basate su piattaforma cloud, in cui elementi di sicurezza come le funzionalità legate al disaster recovery devono soddisfare requisiti di compatibilità e consentire l’implementazione all’interno dell’architettura in cui si collocano. Non solo: nella logica cloud, in cui la flessibilità della virtualizzazione si unisce all’utilizzo di sistemi modulari basati sui container, un approccio tradizionale che verifichi la sicurezza a posteriori è assolutamente inadeguato. La logica del “security by design”, insito nel DevSecOps, è l’unico approccio che permette di garantire un livello di controllo adeguato.
L’automazione come strumento
Tra i fattori abilitanti che consentono di gestire lo sviluppo nell’ottica DevSecOps ci sono gli strumenti di automazione basati sull’intelligenza artificiale (AI) utilizzati per le operazioni di analisi della sicurezza. In gergo si parla di AST (Application Security Testing) in una serie di declinazioni che valutano il livello di sicurezza statica, dinamica e di interazione, anche su diverse piattaforme come quelle mobile. L’adozione di sistemi di analisi automatizzati offre due vantaggi: il primo è quello di una maggiore velocità delle operazioni, che permettono di rendere più fluido ed efficiente il processo di sviluppo e la verifica della sicurezza in ogni step. Il secondo riguarda l’affidabilità dell’analisi stessa, che mette al riparo (o per lo meno mitiga) da errori umani.
L’integrazione come prospettiva
L’efficacia del DevSecOps si sviluppa anche in prospettiva futura. Una volta definito un processo e una metodologia, gli applicativi sviluppati avranno infatti caratteristiche omogenee. Un vantaggio che dispiega i suoi effetti a livello di efficienza delle applicazioni, ma anche (e soprattutto) a livello di sicurezza. Nell’ottica della cyber security orientata alla detection and response, infatti, uno dei requisiti più importanti è quella di ottenere un livello di trasparenza assoluta e la possibilità di monitorare costantemente le attività all’interno della rete. L’inserimento di queste caratteristiche già a livello di sviluppo comporta, in pratica, una drastica riduzione dei livelli di complessità (e dei costi) per implementare gli strumenti di controllo. Insomma: con il DevSecOps non solo si ottengono processi di sviluppo più efficienti, ma un miglioramento complessivo del livello di sicurezza dell’ecosistema aziendale.