La modellazione delle minacce è un metodo per identificare in anticipo possibili vulnerabilità nell'architettura di un'applicazione. Comporta la rappresentazione grafica di un'applicazione, l'identificazione dei difetti di sicurezza e la loro mitigazione.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Test di penetrazione
Cos'è la Top 10 OWASP?
Caccia alle minacce
Intelligence delle minacce
Sicurezza delle applicazioni Web
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
La modellazione delle minacce è un esercizio che mira a individuare falle nella sicurezza di un'applicazione e del suo ambiente. Comporta la creazione di una rappresentazione di un'applicazione con tutti i suoi componenti, per poi identificare i punti deboli. Idealmente, gli sviluppatori e gli ingegneri della sicurezza utilizzerebbero la modellazione delle minacce durante l'intero processo di sviluppo del software, prima che un'applicazione venga resa pubblica e non solo dopo. La modellazione delle minacce può contribuire a rendere un'applicazione molto più sicura di quanto non sarebbe altrimenti, ma non ci si deve aspettare che la renda inattaccabile.
Nei film sulle rapine, i personaggi principali esaminano spesso le planimetrie della struttura che intendono rapinare, individuandone i punti deboli: da dove è possibile entrare nell'edificio, gli angoli che le telecamere di sicurezza non riescono a vedere e così via. Allo stesso modo, la modellazione delle minacce è come esaminare i "progetti" di una determinata applicazione. La differenza è che la modellazione delle minacce viene eseguita da persone che desiderano proteggere l'applicazione, non da potenziali ladri.
La modellazione delle minacce richiede ai team di creare una vista completa dell'applicazione. Si tratta quindi di pensare come qualcuno che potrebbe voler compromettere l'applicazione. Cosa farebbe un autore di un attacco? Sfrutterebbe forse la debole sicurezza API? Userebbe un attacco alla supply chain per infettare una libreria di sistema integrata? Sebbene non tutti gli attacchi possano essere previsti, la modellazione delle minacce aiuta a fermarne alcuni prima che si verifichino.
Esistono molti approcci possibili alla modellazione delle minacce e non è possibile applicare un unico metodo a ogni situazione. Ma in genere sono coinvolti questi quattro passaggi principali:
I modellatori di minacce provano a identificare e descrivere:
Se Terry scrivesse una semplice applicazione che visualizza immagini di palloncini, il suo diagramma dell'applicazione potrebbe apparire come segue:
Si noti che questo è un esempio molto semplificato e che un diagramma di applicazione della modellazione delle minacce reali potrebbe essere molto più complesso.
Visualizzare un'applicazione strutturata in questo modo può facilitare l'individuazione di eventuali difetti. Terry, ad esempio, potrebbe notare che le comunicazioni tra il suo database di foto di palloncini e il suo server web non utilizzano il protocollo Transport Layer Security (TLS). Ciò significa che nessuno dei due server verifica l'identità dell'altro tramite firme digitali, consentendo a un malintenzionato di impersonare il server del database e inviare contenuti dannosi al server Web.
Poiché la modellazione delle minacce avviene durante l'intero processo di sviluppo, la mitigazione dei difetti potrebbe comportare la modifica del piano per l'architettura di un'applicazione o l'implementazione di una correzione per una build di applicazione in corso.
Per mitigare la minaccia identificata, Terry può riconfigurare il suo server di database e il suo server web per utilizzare TLS per la loro connessione, o meglio ancora, per utilizzare il mutual TLS e verificarli a vicenda.
A questo punto, Terry potrebbe eseguire l'applicazione in un ambiente di prova e verificare se 1) i server utilizzano TLS come configurato e 2) se il server Web accetterà il traffico HTTP da un server non verificato invece che dal server del database. Eseguirebbe controlli simili per tutte le altre misure di mitigazione applicate.
Una metodologia di modellazione delle minacce è un approccio per identificare le minacce. Le metodologie forniscono una struttura al processo di modellazione delle minacce, che altrimenti potrebbe risultare opprimente in un sistema complesso. Le organizzazioni possono scegliere tra un'ampia gamma di metodologie di modellazione delle minacce o addirittura svilupparne di proprie. Alcune delle metodologie più comuni includono:
Esistono anche molte altre metodologie di modellazione delle minacce. Alcune di esse, come "Trike" e le varie metodologie ibride, non hanno nemmeno un acronimo.
La modellazione delle minacce deve avvenire prima e durante lo sviluppo del software, durante tutto il ciclo di vita di un'applicazione. Se un'applicazione viene rilasciata senza alcuna modellazione o mitigazione delle minacce, gli utenti (o gli autori di attacchi) potrebbero scoprire falle nella sicurezza prima che vengano scoperte dai team di sicurezza. Ciò può comportare una violazione dei dati e comportare un rischio maggiore di minacce zero-day.
Tuttavia, poiché la modellazione delle minacce non rileva tutti i rischi all'interno di un sistema, sviluppatori e organizzazioni dovrebbero continuare con questo processo anche dopo il rilascio. Oltre alla modellazione delle minacce, possono farlo tramite:
Cloudflare offre anche un servizio di intelligence delle minacce e di gestione delle stesse, Cloudforce One, per proteggere i clienti dalle minacce più recenti. Cloudforce One è guidato da un team di ricerca sulle minacce di livello mondiale, con grande esperienza nel contrastare gli aggressori su scala globale. Scopri di più su Cloudforce One qui.