Il fattore tempo diventa sempre più critico nella gestione del software rendendo l’automazione dei processi fondamentale per garantire l’affidabilità e la sicurezza delle applicazioni.

La trasformazione di molti prodotti in commodity e lo spostamento del valore d’impresa sui canali di contatto e sui servizi digitali offerti ai clienti hanno reso le applicazioni software componenti strategici per il successo del business e sempre più importante l’efficientamento dei processi di produzione, test di sicurezza e deploy. La velocità dei rilasci e messa in produzione delle applicazioni, oggi essenziale per il time-to-market, può essere conciliata con la qualità e la sicurezza attraverso l’automazione dei processi nella logica della metodologia DevSecOps e adottando gli strumenti più appropriati per test e applicazione delle policy.


L’automazione per la sicurezza “by design” delle applicazioni

La velocità di rilascio e la messa in sicurezza delle applicazioni si conciliano aumentando il livello di automazione all’interno delle pipeline di continuous integration e continuous deploy (CI/CD) con cui oggi si creano e si manutengono le moderne applicazioni a microservizi.

Con la metodologia DevSecOps, sintesi tra DevOps e security, tutte le fasi – dallo sviluppo del codice (development), test di security e rilascio in produzione (operation) – sono tra loro integrate e automatizzate, come in una catena di montaggio, per garantire la fluidità dei processi ed il più elevato risultato qualitativo finale. L’integrazione della security nel ciclo di sviluppo permette di applicare i controlli sulla sicurezza del codice fin dalla fase di creazione, imponendo ai team coinvolti il rispetto delle best practice, così come dei requisiti di security individuati.

L’automazione del controllo può comprendere la sicurezza statica, la sicurezza dinamica e d’interazione tra i differenti software che devono operare in ambienti distribuiti e di cloud. La verifica di compliance e robustezza effettuata grazie a definizioni policy-as-a-code all’interno del ciclo permette un più rapido aggiornamento dei controlli sulla sicurezza delle applicazioni di fronte alla scoperta di nuove vulnerabilità o minacce, così come in occasione degli aggiornamenti funzionali o delle modifiche suggerite dai feedback utente.

In sintesi, l’integrazione della security nei processi di sviluppo e deploy consente di eliminare molte vulnerabilità software in fase precoce, quando è più facile risolverle. L’automazione riduce gli errori umani, rende più veloce il rilascio di modifiche e aggiornamenti, restringendo le finestre temporali d’esposizione al rischio.


L’approccio strategico all’automazione della security

Buona parte degli incidenti di sicurezza è oggi causata dal non rispetto delle policy e da errori umani a tutti i livelli dell’organizzazione aziendale. Password deboli, utilizzo di dispositivi mobili su reti Wi-Fi o su siti Web non sicuri, scambio di file su chiavette, ma anche atti intenzionali da parte di collaboratori infedeli sono tra i peggiori grattacapi per responsabili IT e della sicurezza.

Un approccio strategico alla security deve tener conto, oltre che delle necessità di formazione del personale, dell’impiego di soluzioni e servizi in grado di automatizzare i controlli e di alzare difese. Nell’ambito della sicurezza delle applicazioni, intercettando accessi non autorizzati e comportamenti anomali. Tra gli strumenti più utili ci sono i sistemi di patch management, di autenticazione multifattoriale, di end-point-protection end-point-response (EPP + EDR). Quando un dispositivo si connette in rete, l’EDR controlla che quest’ultimo abbia la configurazione software assegnata, completa degli aggiornamenti più critici, provvedendo in caso contrario ad automatizzare le azioni correttive o le segnalazioni agli amministratori. Completano la strategia di sicurezza delle applicazioni l’impiego di security information ed event management (SIEM) e di analisi dei log (con l’impiego del machine learning e dell’intelligenza artificiale) per identificare pattern anomali nell’uso delle applicazioni e nel traffico di rete che sono meritevoli di segnalazioni agli amministratori o di blocchi automatici in tempo reale.