Identificare e mitigare le minacce informatiche con il Threat Modeling

Mentre le aziende diventano sempre più dipendenti dalle tecnologie digitali e cloud, i sistemi IT devono affrontare una crescente esposizione a rischi e vulnerabilità. L’incremento nell’uso di dispositivi IoT e l’adozione massiva di strumenti di intelligenza artificiale espandono ulteriormente il panorama delle minacce. Nessuna azienda, indipendentemente dalle dimensioni, è immune agli attacchi informatici, e spesso sono proprio le realtà più piccole ad essere maggiormente a rischio a causa dell’adozione di misure di sicurezza inadeguate.

L’aumento del numero e della complessità delle minacce rende obsoleto l’approccio tradizionale alla sicurezza informatica. Affidarsi esclusivamente a penetration test annuali o triennali per la gestione e il rilevamento delle vulnerabilità non è più sufficiente. È fondamentale adottare un approccio continuo e proattivo, integrando la sicurezza in ogni fase del ciclo di vita del prodotto.

> Leggi anche: “Secure SDLC: Integrazione della Sicurezza nel Ciclo di Sviluppo del Software”

Che cos’è il Threat Modeling

Un threat model è una rappresentazione visiva delle informazioni che hanno un impatto sulla sicurezza. Possiamo immaginarla come un’applicazione e il suo ambiente visti attraverso le lenti della cyber security.
Il Threat modeling è il processo che identifica, classifica e analizza queste informazioni e può essere applicato ad una varietà di componenti, come software, applicazioni, sistemi, reti, sistemi distribuiti, dispositivi IoT e processi di business.

Il threat modeling rappresenta un insieme di attività volte a migliorare la sicurezza attraverso l’identificazione proattiva delle minacce e la definizione di contromisure efficaci per prevenirle o mitigarne gli effetti.

Durante le operazioni di threat modeling, le aziende tipicamente eseguono un’analisi approfondita dell’architettura software, del contesto aziendale e di altri artefatti rilevanti, come le specifiche funzionali o la documentazione utente. Questo processo consente di acquisire una comprensione olistica del sistema, consentendo di individuarne gli aspetti critici per la sicurezza.

Il threat modeling non è solo uno strumento per identificare e gestire le vulnerabilità, ma anche un mezzo per promuovere una cultura della sicurezza all’interno dell’organizzazione, sensibilizzando i team di sviluppo e promuovendo la collaborazione tra diverse funzioni aziendali.

Diventa un eroe della sicurezza informatica! Iscriviti al corso “Cyber Security From Zero to Hero” e diventa un professionista certificato!

Scopri il corso

Le principali Fasi del Threat Modeling

Le operazioni di threat modeling dovrebbero essere condotte durante la fase di progettazione di una nuova applicazione o sistema. Questo aiuta gli sviluppatori a identificare le vulnerabilità e a comprendere le implicazioni di sicurezza delle loro decisioni di design, codice e configurazione. In generale, il processo di threat modeling si articola in quattro fasi principali:

  1. Ambito di valutazione. La prima fase si può riassumere con la domanda: Su che cosa stiamo lavorando? In questa fase iniziale, si definisce l’oggetto dell’analisi. Non esistono limitazioni all’ambito di applicazione del threat modeling, che può riguardare componenti di dimensioni ridotte, come una singola funzione applicativa, o sistemi più complessi, come un’intera intranet aziendale e gli strumenti ad essa connessi.
  2. Identificare le minacce. In questa fase si risponde alla domanda: Che cosa potrebbe andare storto? Esistono diverse metodologie per identificare le minacce, tra cui STRIDE, Kill Chains, Attack Trees e VAST. Queste metodologie verranno approfondite nel paragrafo successivo.
  3. Mitigare. Il terzo step serve per identificare le contromisure e gestire i rischi. Si può riassumere con la domanda: Che cosa possiamo fare? ed è il momento in cui si decide come gestire ogni minaccia identificata nella fase precedente. La decisione può vertere sull’implementazione di una mitigazione, o su un approccio di gestione del rischio (trasferimento, diffusione e riduzione).
  4. L’ultima fase è quella di validazione e consiste nel verificare se il lavoro svolto ha effettivamente ridotto al minimo le minacce al sistema in esame. Durante questa fase, si validano il modello e le minacce, verificando l’efficacia delle azioni intraprese.

L’efficacia del threat modeling risiede nell’analisi dello spazio di ricerca delle possibili minacce, valutando le potenziali combinazioni di agenti di minaccia, attacchi, vulnerabilità e impatti che rientrano in tale spazio. Questo approccio olistico consente di identificare e affrontare in modo proattivo i rischi per la sicurezza.

Framework e strumenti per identificare le minacce

La fase fondamentale del threat modeling è l’identificazione delle minacce, su cui si basano tutti gli step successivi. Esistono vari framework per identificare le minacce in un sistema o in un’applicazione; i più popolari sono elencati di seguito.

  • STRIDE. L’acronimo sta per Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service ed Elevation of Privilege. Sviluppato da Loren Kohnfelder e Praerit Garg nel 1999, STRIDE aiuta i software engineer a identificare i potenziali attacchi. Le minacce identificate da STRIDE sono l’opposto delle proprietà desiderate del sistema, cioè: autenticità, integrità, non ripudio, confidenzialità, disponibilità e autorizzazione. Utilizzando STRIDE, si enumerano tutte le potenziali vulnerabilità, ma il framework non fornisce dettagli su come queste minacce possono manifestarsi.
  • Attack Trees. Gli attack trees rappresentano graficamente i vari step che un threat actor potrebbe eseguire per sfruttare le vulnerabilità e raggiungere un obiettivo specifico. Forniscono un modello visivo e organizzato per identificare e analizzare i percorsi di attacco, le vulnerabilità e le dipendenze. Questi modelli sono tipicamente costruiti con una struttura gerarchica e possono essere suddivisi in sotto-alberi per rappresentare differenti vettori di attacco.
  • LINDDUN è un metodo per identificare le minacce che si concentra sugli aspetti di privacy. L’obiettivo è identificare le minacce alla privacy nelle prime fasi del processo di sviluppo. Si tratta di un acronimo che sta per Linking, Identifying, Non-repudiation, Detecting, Data Disclosure, Unawareness e Non-compliance, tutte minacce alla privacy.
  • TRIKE. Questo Modello open source è un framework concettuale per controllare e verficare la sicurezza informatica attraverso le lenti della gestione del rischio. Quello che rende TRIKE diverso dagli altri threat model è che combina due modelli differenti. Il modello dei requisiti descrive le caratteristiche e le funzionalità di sicurezza di un sistema IT e determina il livello di rischio accettabile che ogni asset può affrontare. Questo passaggio comporta la definizione dei permessi sugli tutti gli asset. Il secondo è un modello di implementazione, che mostra come le informazioni sono archiviate, spostate e modificate all’interno di un sistema IT. Mappando i flussi di dati, è possibile scoprire due tipi di potenziali minacce nel sistema: escalation dei privilegi e denial of service.

Tra gli strumenti open source di threat modeling, vale la pena citare OWASP Threat Dragon e TaaC-AI, uno strumento di Threat Modeling-as-a-Code (TaaC) basato sull’intelligenza artificiale. Puoi trovare il progetto su GitHub a questo link (esterno).

La scelta del framework o dello strumento più adatto dipende dalle specifiche esigenze e dal contesto del sistema in esame, ma l’adozione di una metodologia strutturata per l’identificazione delle minacce è fondamentale per un’efficace gestione dei rischi per la sicurezza. Il threat modeling si rivela uno strumento indispensabile per adottare un approccio integrato e proattivo alla sicurezza. Attraverso l’identificazione sistematica delle vulnerabilità e l’analisi dei potenziali vettori di attacco, il threat modeling consente di anticipare e mitigare efficacemente i rischi, promuovendo al contempo una cultura della sicurezza pervasiva all’interno dell’organizzazione.

Le organizzazioni che abbracceranno un approccio proattivo al threat modeling saranno in grado di anticipare e rispondere tempestivamente alle sfide della cybersecurity, proteggendo al meglio i propri asset digitali e garantendo la resilienza dei propri sistemi.

Fonti:

Cisco. (n.d.). What is threat modeling? https://www.cisco.com/c/en/us/products/security/what-is-threat-modeling.html#~methods-and-tools

EC-Council. (n.d.). TRIKE: Threat modeling methodology. https://www.eccouncil.org/cybersecurity-exchange/threat-intelligence/trike-threat-modeling-methodology/

Fox, T. (n.d.). Threat modeling: Designing for security. https://terrorgum.com/tfox/books/threat_modeling_designing_for_security.pdf

OWASP. (n.d.). OWASP threat model project. https://owasp.org/www-project-threat-model/

OWASP. (n.d.). Threat modeling. https://owasp.org/www-community/Threat_Modeling#:~:text=Objectives%20of%20Threat%20Modeling,of%2C%20threats%20to%20the%20system

Synopsys. (n.d.). What is threat modeling? https://www.synopsys.com/glossary/what-is-threat-modeling.html