Threat Modeling Tool

Completato

Panoramica rapida

Microsoft Threat Modeling Tool, riconosciuto dalla community di modellazione delle minacce, consente ai tecnici di creare diagrammi di flusso dei dati e applicare STRIDE per il lavoro di modellazione delle minacce.

Threat Modeling Tool offre:

  • Modelli personalizzabili
  • Motore di generazione delle minacce con minacce e strategie di riduzione dei rischi

Il modello predefinito è denominato "SDL TM Knowledge Base" e fornisce un set di base di elementi e funzionalità di generazione delle minacce. È sufficiente una conoscenza di base dei diagrammi di flusso dei dati e di STRIDE.

Riepilogo per STRIDE

STRIDE è l'acronimo delle sei principali categorie di minacce:

  • Spoofing: fingere di essere qualcun altro o qualcos'altro
  • Manomissione: in inglese "tampering", modificare dati senza autorizzazione
  • Ripudio: non assumersi la responsabilità di un'azione intrapresa
  • Diffusione di informazioni: in inglese "information disclosure", visualizzare dati senza autorizzazione
  • Denial of Service: attacco che prevede il sovraccarico del sistema
  • Elevazione dei privilegi: ottenere autorizzazioni che non si dovrebbero avere

Sezione per utenti avanzati

Per gli utenti più avanzati, il modello può essere personalizzato in tre sezioni principali.

Stencil

Processo, entità esterna, archivio dati, flusso di dati e limiti di attendibilità costituiscono gli elementi padre.

Screenshot of Parent Stencils.

È anche possibile creare elementi figlio per fornire granularità per contesto aggiuntivo, generazione di minacce su cui intervenire e strategie di riduzione dei rischi.

Screenshot of Expanded Flow Stencils.

Esempio di funzionamento degli elementi figlio

L'elemento padre data-flow permette di scegliere tra gli elementi figlio HTTP e HTTPS.

HTTP dovrebbe generare più minacce, in quanto le minacce di manomissione, divulgazione di informazioni e spoofing sono comuni con canali non crittografati.

Uso di HTTP

Screenshot illustrating the HTTP child element.

Uso di HTTPS

Screenshot illustrating the HTTPS child element.

Come aggiungere proprietà degli elementi

In presenza di altre proprietà che devono essere incluse nel modello predefinito, è possibile aggiungerle a ogni elemento nella visualizzazione amministratore.

Screenshot of the Stencil Properties Admin View.

È possibile visualizzare le modifiche ogni volta che si trascina l'elemento nell'area di disegno.

Screenshot of the Stencil Properties User View.

Proprietà delle minacce

Le proprietà permettono di creare campi che vengono compilati per ogni minaccia generata, proprio come le proprietà dello stencil permettono di creare campi per ogni elemento.

Non dimenticare, l'obiettivo è avere quanto più contesto possibile nel modo più semplice.

Esempio di proprietà delle minacce

Visualizzazione amministratore

Aggiungere campi che danno più contesto e procedure operative. Alcuni esempi:

  • Priorità del problema: per identificare i problemi che devono essere risolti per primi.
  • Collegamenti ipertestuali: per collegare i problemi alla documentazione online.
  • Mapping dei rischi esterni: adottare un approccio comune sui rischi insieme alle altre organizzazioni usando origini affidabili di terze parti, come OWASP Top 10 e CWE Details.

Screenshot of the Threat Properties Admin View.

Visualizzazione utente

Gli utenti di Threat Modeling Tool visualizzano queste modifiche ogni volta che analizzano i propri diagrammi di flusso dei dati.

Screenshot of the Threat Properties User View.

Minacce e strategie di riduzione dei rischi

Questa sezione è il cuore di Threat Modeling Tool. Il motore di generazione delle minacce esamina elementi singoli e connessi per decidere quali minacce generare.

Funzionamento della generazione delle minacce

Passaggio 1 - Specificare origini e destinazioni

Il motore di generazione delle minacce usa frasi semplici per generare una minaccia. Alcuni esempi:

  • target is [nome elemento]
  • source is [nome elemento]

È anche possibile usare il nome dell'elemento in titoli e descrizioni. Il formato è: '{target.Name}' o '{source.Name}'.

Passaggio 2 - Combinare origini e destinazioni

È possibile precisare il modo in cui viene generata una minaccia. Combinare destinazioni, origini e le rispettive proprietà con operatori AND e OR. Alcuni esempi:

  • target.[nome proprietà] is 'Yes' AND source.[nome proprietà] is 'No'
  • flow crosses [nome limite di trust]
Passaggio 3 - Generare o ignorare le minacce

Il motore di generazione delle minacce usa due campi per generare o ignorare una minaccia:

  • Includi: una minaccia viene generata se le frasi aggiunte nel campo sono vere.
  • Escludi: una minaccia non viene generata se le frasi aggiunte nel campo sono vere.

Ecco un esempio effettivo del modello predefinito per riunire questi passaggi:

  • Minaccia: scripting tra siti
  • Includi: (target is [Web Server]) OR (target is [Web Application])
  • Escludi: (target.[Sanitizes Output] is 'Yes') AND (target.[Sanitizes Input] is 'Yes')

La minaccia scripting intersito in questo esempio è generata solo quando:

  • Il processo può essere un server Web o un'applicazione Web
  • Input e output non sono puri

Screenshot of Include/Exclude view.

Nota

La creazione di modelli Microsoft Threat Modeling Tool è un argomento complesso e non verrà trattato completamente in questo percorso di apprendimento.

Verificare le conoscenze

1.

Quali vantaggi non offre Threat Modeling Tool?