Key4biz

Sviluppare la sicurezza (Parte III)

Nel precedente articolo La sicurezza è minimalista abbiamo introdotto il modello organizzativo “a cipolla” come il più adatto per affrontare lo sviluppo di software “sicuro”.Passiamo qui ad esaminare gli interventi da effettuare sul ciclo di sviluppo del software.

Le contromisure

Abbiamo già in precedenza menzionato la necessità dell’adozione di contromisure applicative. Si tratta di un argomento di scottante attualità, in quanto la maggior parte delle moderne tecniche di data breach sono centrate proprio sulla loro violazione.

Una panoramica sulla tipologia, l’incidenza e l’impatto di questo tipo di minacce è riportata nel portale web dell’Open Web Application Security Project (OWASP), un progetto open-source che dal 2001 si pone l’obiettivo di realizzare linee guida, strumenti e metodologie per migliorare la sicurezza delle applicazioni. Il suo progetto più conosciuto è noto come OWASP TopTen, una classifica dei 10 rischi maggiormente rilevanti per la sicurezza delle applicazioni web, la cui validità è riconosciuta a livello globale da tutte le principali community di sviluppatori.

La classifica, aggiornata ogni 3-4 anni utilizzando i più autorevoli rapporti sulle modalità e dinamiche dei data breach registrati su scala mondiale, consente di mettere a fuoco i principali rischi connessi allo sviluppo dei moderni applicativi e di seguire le variazioni temporali della loro incidenza e rilevanza.

Top 10 Web Application Security Risk: 2017 vs 2021 (fonte: OWASP)

Ciascuno dei rischi classificati viene trattato in modo esaustivo in una sezione apposita del sito, che ne descrive:

L’adozione di contromisure volte a minimizzare la probabilità e l’impatto delle minacce descritte nella OWASP Top Ten è universalmente considerata il primo passo verso una realizzazione del software sicuro. Tuttavia,è fondamentale che queste attività vengano effettuate durante tutto il ciclo di vita del software: dall’analisi preliminare ai necessari processi di controllo e monitoraggio da implementare dopo il rilascio in produzione, includendo le metodologie di sviluppo vere e proprie.

Prima dello sviluppo

Le decisioni a tema security by design da prendere nella fase preliminare di un progetto IT sono particolarmente importanti, in quanto possono avere un impatto determinante sui tempi, sui costi, e dunque sulla fattibilità dello stesso. Tra queste, è opportuno ricordare le seguenti:

La corretta definizione di ciascuno di questi aspetti richiede una valutazione dei rischi e delle vulnerabilità che tenga conto delle principali minacce note.

Durante lo sviluppo

L’adozione di un modello orientato alla sicurezza a partire dalla progettazione deve necessariamente prevedere anche una serie di attività da effettuare, processi da attuare e controlli da garantire durante la fase di sviluppo, tra cui:

Dopo lo sviluppo

Le attività da svolgere durante l’esercizio dell’applicativo non sono meno importanti di quelle descritte in precedenza. Rivestono particolare importanza, in aggiunta alla gestione continuativa dei processi di logging & monitoring messi a punto durante lo sviluppo:

(*) MS Azure Certified Security Engineer, Microsoft MVP for Cloud & Datacenter Management and Developer Technologies, autore di libri di informatica. Attualmente ricopre il ruolo di CTO per un gruppo aziendale che opera nel campo dei servizi assicurativi.

Exit mobile version