Security by design: cos'è e perché bisogna tenerne conto

La frequenza, la gravità e la sofisticazione delle minacce informatiche sembra destinata a una crescita continua e inesorabile. Secondo l’ultimo rapporto Clusit, il numero degli attacchi rilevati a livello mondiale nel 2023 è aumentato del 12% rispetto al 2022. Gli incidenti gravi analizzati sono stati 2.779, a livello mensile invece si registra una media di 232. L’Italia è nel mirino: ha raccolto l’11% degli attacchi gravi globali, ovvero 310, in crescita del 65% rispetto all'anno precedente. 

Lo scenario a tinte fosche non lascia ben sperare e si evidenzia la necessità di nuovi approcci alla cybersecurity, più consistenti, strutturati e adatti agli ambienti IT moderni, distribuiti e senza perimetro. Intervenire a incidente avvenuto è troppo rischioso, inefficace e costoso: occorre ripensare le strategie di difesa. La sicurezza deve essere una caratteristica intrinseca di qualsiasi risorsa informativa. 

Chi opera nel settore IT in qualsiasi azienda ha ormai sentito parlare di security by design”. Se finora qualcuno l’ha considerata una semplice locuzione per sottolineare l’importanza di prendere in considerazione gli aspetti di cybersecurity nella gestione delle infrastrutture digitali, si è sbagliato di grosso.

Il concetto di security by design è qualcosa che va ben oltre una semplice dichiarazione di principio e rappresenta una vera rivoluzione sia a livello di processi, sia a livello di gestione della Information Technology. 

Security by design_01

Cos'è l'approccio security by design 

Cosa si intende con “security by design”? L’espressione indica un approccio allo sviluppo software e hardware che considera la sicurezza un elemento prioritario, al pari dei requisiti funzionali, su cui bisogna ragionare già dalle fasi iniziali di analisi e progettazione.

Il concetto segna un cambio netto di prospettiva, visto che tradizionalmente la security viene tenuta in considerazione solo a progetto concluso, mentre la metodologia “by design” permette di creare prodotti intrinsecamente sicuri.  

Nei processi di sviluppo e progettazione, difatti, la sicurezza informatica è sempre stata considerata come una sorta di “brutto anatroccolo”. Difatti, la verifica di eventuali problemi di sicurezza è sempre stata relegata al termine dei processi: nella migliore delle ipotesi la verifica veniva fatta al termine della progettazione o sviluppo; nella peggiore, si lasciava al tempo il compito di far emergere eventuali problematiche.

I risultati li abbiamo sotto gli occhi: trascurare la sicurezza in fase di sviluppo e progettazione, oltre ad aprire vere praterie agli attacchi dei criminali informatici, ha innescato una continua rincorsa ad aggiornamenti e modifiche di software e dispositivi, con il continuo rischio di incompatibilità e di una crescita esponenziale dei costi.

L’avvento della logica legata alla security by design porta quindi a un enorme salto di qualità, che rende molto più semplice la gestione dei servizi IT. 


Quali sono i principi della security by design
 

Scendendo nel dettaglio dell’approccio security by design, si possono individuare i seguenti principi costituenti, così sintetizzabili 

  1. Sicurezza intrinseca: la sicurezza deve essere integrata dalle fondamenta del progetto, non aggiunta come opzione a un prodotto ormai realizzato. 

  2. Risk Assessment: occorre un’attenta valutazione dei rischi e potenziali vulnerabilità, a monte e a valle del processo di sviluppo.

  3. Framework di sicurezza: si consiglia l’adozione di metodi standard e best practice per abilitare un flusso operativo più strutturato e coerente. 

  4. Minimo privilegio: ogni componente del sistema deve accedere esclusivamente alle risorse essenziali per eseguire le sue funzioni.

  5. Difesa stratificata: il sistema va protetto con più livelli di sicurezza, cosicché se un layer viene compromesso, gli altri bloccano la minaccia

  6. Testing continuo: durante il ciclo di sviluppo, il sistema va sottoposto a verifica costante e regolare, per individuare tempestivamente le vulnerabilità. 

  7. Update regolare: con gli attacchi e le normative di sicurezza in continua evoluzione, è necessario aggiornare costantemente le misure di difesa. 

 

Come funziona la security by design 

L’approccio security by design copre l’intero ciclo di vita del software e coinvolge diversi stakeholder, sia lato fornitura (dal board aziendale agli sviluppatori fino ai tecnici della sicurezza) sia lato utente (dalle figure manageriali agli utenti di business fino alla squadra di incident response). 

Gli step del processo possono essere così sintetizzati. 

  1. Pianificazione: si inizia con raccolta dei requisiti funzionali e di sicurezza e l’analisi dei rischi; 

  2. Progettazione: si passa alla definizione dell’architettura, utilizzando i principi alla base della security by design; 

  3. Implementazione: si procede con l’integrazione delle misure di sicurezza prestabilite all’interno del prodotto; 

  4. Collaudo: si prevede l’esecuzione di test manuali e automatizzati per verificare l’efficacia delle misure di sicurezza adottate, così da predisporre la risoluzione delle eventuali vulnerabilità rilevate; 

  5. Deployment: il passo successivo è il rilascio della versione definitiva e la messa in esercizio del software; 

  6. Manutenzione: infine, occorre predisporre aggiornamenti regolari del software e l’eventuale correzione dei bug tramite patch.  

Security by design_02

Best practice per implementare la security by design 

Per implementare correttamente l’approccio security by design bisognerebbe seguire una serie di buone pratiche, tra cui: 

  • Fare formazione del personale: innanzitutto bisogna garantire un’adeguata preparazione del team di sviluppo, perché sia aggiornato sulle best practice di sicurezza e sull’evoluzione delle minacce; 

  • Eseguire l’assessment iniziale: per partire con il piede giusto, occorre effettuare un’attenta analisi del sistema per valutare potenziali vulnerabilità e definire i requisiti di sicurezza; 

  • Definire architetture robuste: per garantire la protezione del sistema, è preferibile adottare principi consolidati come il minimo privilegio e la difesa multi-livello;  

  • Monitoraggio e controllo: durante l’intero ciclo di vita del prodotto, bisogna osservare il comportamento del sistema ed effettuare verifiche periodiche (penetration test, analisi delle vulnerabilità) per identificare e correggere eventuali falle. 

 

I vantaggi della security by design 

Sono molteplici i benefici legati all’implementazione dell’approccio security by design.  

  • Sicurezza proattiva: tipicamente le misure di sicurezza vengono applicate in modalità reattiva (si interviene a incidente avvenuto), mentre con l’approccio security by design sono connaturate al prodotto stesso; 

  • Potenziamento della reputazione: privacy e tutela dei dati sono temi critici per gli utenti e un impegno proattivo verso la sicurezza contribuisce a creare un clima di fiducia tra gli stakeholder;

  • Riduzione di costi e tempi: correggere falle e vulnerabilità a chiusura del progetto è diseconomico rispetto all’apporto continuo di miglioramenti in corso d’opera, oltre a richiedere tempistiche di esecuzione più lunghe; 

  • Adeguamento normativo: applicare la sicurezza sin dagli inizi semplifica il processo di adeguamento alle normative nazionali, internazionali e di settore in materia di protezione e trattamento dei dati; 

  • Flessibilità: l’approccio security by design permette un adattamento tempestivo rispetto all’evoluzione delle minacce e delle normative; 

  • Superficie di attacco ridotta: l’approccio security by design permette di minimizzare le vulnerabilità - e quindi i punti di ingresso -per gli attaccanti. 

 

La security by design nell’IoT 

Uno dei settori destinati a ottenere i maggiori vantaggi dalla logica della security by design è quello dell'Internet of Things (IoT), che negli ultimi anni ha pagato il prezzo più caro a causa della scarsa attenzione alla cyber security.

I continui allarmi legati ai cyber attacchi rivolti ai dispositivi IoT (dai dispositivi casalinghi “smart” a quelli implementati in ambito industriale) sono infatti il frutto di una sciagurata corsa alla produzione che ha completamente trascurato l’aspetto della sicurezza.   

I primi casi di malware dedicati agli IoT, per esempio, hanno potuto sfruttare come vettore d’attacco l’uso di credenziali predefinite per l’accesso in remoto ai loro sistemi di controllo. I produttori, infatti, non si erano preoccupati di implementare un sistema che obbligasse gli utenti a modificarle e, in qualche caso, avevano addirittura inserito delle backdoor (teoricamente dedicate agli aggiornamenti in remoto) che consentivano di violare con estrema facilità i dispositivi.   

Solo in seguito, i criminali si sono dovuti “accontentare” di sfruttare vulnerabilità più complesse da sfruttare, potendo in ogni caso fare affidamento su una superficie d’attacco estremamente ampia. 


Security by Design e GDPR: a tutela della privacy
 

Il regolamento europeo 2016/679, meglio conosciuto come GDPR, include un articolo, il numero 25, che contempla esplicitamente il riferimento al security by design, che nell’edizione italiana viene definito come segue: “Protezione dei dati fin dalla progettazione”. Una forma diretta, chiara, che pone in evidenza la necessità di progettare soluzioni, software e servizi che tutelino già a livello concettuale la privacy degli utenti.   

Gli accorgimenti e le best practice di sviluppo per raggiungere l’obiettivo del security by design consentono di proteggere il dato tout court.Occorre tenere a mente che la GDPR è un regolamento e come tale pone obblighi precisi, che vanno soddisfatti per non incorrere in ammende che possono arrivare a 20 milioni di euro o al 4% del fatturato.

In quest’ottica, l'approccio security by design diventa un passaggio obbligato per lo sviluppo di qualsiasi servizio che possa gestire delle informazioni personali.  


Security by Design: il software verso il DevSecOps
 

Che si tratti del firmware di un dispositivo IoT o di un software dedicato all’erogazione di servizi aziendali, quello che viene richiesto oggi è di applicare la logica della security by design attraverso l’adozione di un processo definito DevSecOps. Il neologismo vuole indicare come, oltre agli sviluppatori (Dev) e a chi si occupa della parte di operations (Ops) sia necessario coinvolgere da subito anche i responsabili dei test di sicurezza (Sec).   

La procedura, in pratica, prevede che i controlli di cyber security vengano effettuati già in corso di sviluppo del software, attraverso un continuo confronto tra sviluppatori e analisti. L’obiettivo è quello di raggiungere un migliore livello di sicurezza e ottimizzare il processo. Più in generale, però, il concetto della security by design si può applicare a qualsiasi ambito IT, per esempio quando si affronta la pianificazione di reti e servizi digitali.   

In questa declinazione, anche se non siamo di fronte a una vera e propria fase di sviluppo, la collaborazione con gli esperti di sicurezza consente di adottare da subito una strategia orientata alla protezione dei dati e all’integrità dei servizi. Oltre a consentire di implementare strumenti di protezione più efficaci, l’adozione della filosofia security by design abbatte i costi per la sicurezza e riduce drasticamente il rischio di incidenti. 

 

White Paper-Attacchi Informatici: IA e Big Data per una sicurezza a 360 gradi

Back to Blog