Le innovazioni tecnologiche degli ultimi anni, in particolare la possibilità di distribuire infrastrutture nel cloud in tempi molto rapidi, hanno evidenziato i limiti dei tradizionali metodi di sviluppo software a cascata, basati su una successione sequenziale di fasi predefinite.
Ciò ha portato all'emergere di metodi agili e della cultura DevOps, caratterizzata da cicli di produzione più brevi, dall'automazione e dall'attenuazione della storica divisione tra team di sviluppo (Devs) e amministratori dell'infrastruttura (Ops), riassunta dal famoso motto di Werner Vogels, CTO di AWS, "you build it, you run it".
Le aziende che hanno adottato con successo questo cambiamento culturale sono riuscite a ridurre in modo significativo il loro "time to market", distribuendo i loro prodotti software con una velocità prima impensabile.
Tuttavia, questa maggiore velocità ha introdotto nuove sfide per la sicurezza delle applicazioni: come si possono evitare le vulnerabilità pur garantendo diverse implementazioni a settimana o addirittura al giorno?
Riteniamo che il recente approccio DevSecOps sia il modo giusto per soddisfare questo requisito.
Ecco le 3 aree che riteniamo più importanti:
Spostare la sicurezza a sinistra
È universalmente riconosciuto che lo sforzo di proteggere un'applicazione a posteriori è estremamente più costoso dell'integrazione dei requisiti di sicurezza fin dall'inizio. Non si discute quindi sulla necessità di integrare la sicurezza fin dall'inizio (a sinistra dell'asse del tempo), ma come si procede in pratica?
Inserire un esperto di sicurezza in ogni team di sviluppo è costoso e non facile. scalabile. D'altro canto, il team di sicurezza (quando c'è!) può essere troppo avverso al rischio e abusare del suo potere di veto, causando ritardi ingiustificati nell'implementazione.
DevSecOps offre queste pratiche:
- Formare i codificatori allo sviluppo sicuro, ad esempio attingendo alla ricchezza del materiale reso disponibile dall'Open Web Application Security Project (OWASP);
- Facilitare la comunicazione tra Devs, Ops e Security, ad esempio attraverso sessioni di condivisione delle informazioni, conferenze e workshop collaborativi;
- Promuovere la sicurezza come stato d'animo e valore aziendale.
Automatizzare i controlli di sicurezza
I controlli di sicurezza devono essere implementati durante tutto il ciclo di vita del codice, in altre parole nella pipeline di integrazione e consegna continua. Il panel di test automatici deve essere arricchito da test relativi alla sicurezza, idealmente integrando strumenti di analisi statica e dinamica del codice. Recentemente è emerso il termine Test Driven Security (TDS), ispirato al più noto Test Driven Development (TDD).
Il rischio in questa fase è che i falsi positivi si moltiplichino; è molto importante controllare il numero di falsi positivi attraverso la messa a punto, in modo da non ritardare erroneamente le consegne... la velocità di consegna è la forza della guerra!
La generazione di metriche relative alla sicurezza va di pari passo con questo sforzo di automazione e fornisce i KPI essenziali per la comunicazione con i manager aziendali.
Nominare i campioni della sicurezza
Come già detto, non è possibile inserire esperti di sicurezza in ogni team di sviluppo: l'approccio raccomandato da DevSecOps consiste nel promuovere campioni di sicurezza tra i membri dei team Dev e Ops. Questi "campioni" devono diventare la staffetta del team Sicurezza, attraverso un processo di sensibilizzazione e formazione.
Le loro responsabilità possono includere quanto segue:
- Decidere quando chiedere la consulenza di un esperto in materia di sicurezza
- Conduzione di revisioni del codice (Dev) e verifiche della configurazione (Ops)
- Coordinare la modellazione delle minacce
- Sensibilizzare i colleghi alle buone pratiche di sicurezza
È importante sottolineare che queste nuove pratiche di sicurezza non eliminano l'importanza di eseguire regolarmente test di intrusione delle applicazioni e di dotarsi di un sistema di analisi e correlazione dei log (SIEM), idealmente gestito da un Centro operativo di sicurezza (SOC).
Da Giuliano IPPOLITI (CISO e direttore per la Francia occidentale di Cloud Temple)