Condividi tramite


Analisi del modello di minaccia

L'analisi del modello di minaccia (Threat Model Analysis, TMA) consente di determinare i rischi per la sicurezza di un prodotto, un'applicazione, una rete o un ambiente e le modalità con cui possono verificarsi gli eventuali attacchi. L'obiettivo è quello di stabilire quali minacce devono essere attenuate e le modalità di attenuazione da adottare.

In questa sezione vengono fornite informazioni generali sul processo di analisi TMA. Per altre informazioni, vedere il capitolo 4 della scrittura di codice sicuro, seconda edizione, di Michael Howard e David LeBlanc.

Di seguito sono riportati alcuni dei vantaggi offerti da un'analisi TMA:

  • Garantisce una migliore comprensione dell'applicazione

  • Facilita l'individuazione dei bug

  • Consente ai nuovi membri del team di comprendere l'applicazione in dettaglio

  • Contiene informazioni importanti per altri team che si avvalgono dell'applicazione

  • È utile per i tester

    I passaggi principali per eseguire un'analisi TMA sono i seguenti:

  • Passaggio 1. Raccogliere informazioni in background

  • Passaggio 2. Creare e analizzare il modello di minaccia

  • Passaggio 3. Esaminare le minacce

  • Passaggio 4. Identificare tecniche e tecnologie di mitigazione

  • Passaggio 5. Considerazioni sul modello di sicurezza e sulla distribuzione dei documenti

  • Passaggio 6. Implementare e testare le mitigazioni

  • Passaggio 7. Mantenere sincronizzato il modello di minaccia con la progettazione

Passaggio 1. Raccogliere informazioni in background

Per preparare la corretta esecuzione di un'analisi TMA, è necessario raccogliere alcune informazioni preliminari. A tale scopo, è utile analizzare l'ambiente di destinazione (un'applicazione, un programma o l'intera infrastruttura) nel seguente modo:

  • Identificare gli scenari di utilizzo. Per ogni scenario di utilizzo relativo all'ambiente di destinazione, determinare le modalità con cui si prevede che tale ambiente venga utilizzato dalla società, con le eventuali limitazioni o restrizioni applicate. Tali informazioni consentono di definire l'ambito della discussione sul modello di minaccia e identificare puntatori alle risorse (ovvero qualsiasi elemento di valore per la società, come i dati e i computer) e punti di ingresso.

  • Creare un diagramma di flusso dei dati per ogni scenario. I livelli del diagramma devono essere tali da consentire una comprensione sufficiente delle possibili minacce.

  • Determinare i limiti e l'ambito dell'ambiente di destinazione.

  • Comprendere i limiti tra componenti attendibili e non attendibili.

  • Comprendere il modello di configurazione e amministrazione per ciascun componente.

  • Creare un elenco delle dipendenze esterne.

  • Creare un elenco dei presupposti relativi ad altri componenti da cui dipende ciascun componente. In questo modo è possibile verificare con altri team i presupposti che riguardano componenti correlati tra loro, le azioni da intraprendere e le attività da svolgere per controllare lo stato delle operazioni.

Passaggio 2. Creare e analizzare il modello di minaccia

Dopo aver raccolto le informazioni preliminari, è consigliabile convocare una o più riunioni sul modello di minaccia. Assicurarsi che alla riunione partecipi almeno un rappresentante per ogni ambito di sviluppo, ad esempio program manager, sviluppatori e tester. Ricordare inoltre ai partecipanti che lo scopo della riunione è quello di individuare le eventuali minacce, non di eliminarle. Durante la riunione sul modello di minaccia effettuare le seguenti operazioni:

  • Esaminare il diagramma di flusso dei dati per ogni caso di utilizzo identificando i seguenti elementi:

    • Punti di ingresso

    • Limiti di attendibilità

    • Flusso dei dati dal punto di ingresso alla posizione finale (e viceversa)

  • Prendere nota delle risorse coinvolte.

  • Discutere ogni DFD e cercare le minacce nelle categorie seguenti per tutte le voci del DFD: identificazione delpoofing S, amperazione Tcon dati, epudiazione R, divulgazione di Information, Denial of service e levazione Edei privilegi.

  • Creare un elenco delle minacce identificate. È consigliabile che questo elenco includa quanto segue: titolo, breve descrizione (inclusi alberi delle minacce), asset (asset), impatto, rischi, tecniche di mitigazione, stato di mitigazione e numero di bug.

    Nota

    È possibile aggiungere il rischio, le strategie di attenuazione e lo stato di attenuazione durante l'esame delle minacce. Evitare di dedicare troppo tempo a questi aspetti durante la riunione sul modello di minaccia.

Passaggio 3. Esaminare le minacce

Dopo aver identificato le minacce correlate all'ambiente, è necessario classificare il rischio associato a ciascuna minaccia e decidere come si intende rispondere. A tale scopo, è possibile organizzare altre riunioni con il team o comunicare tramite posta elettronica. È possibile usare le categorie di effetti seguenti per calcolare l'esposizione al rischio: potenziale diamage, Reproducibilità, Exploitability, Utenti infetti Ae Discoverability.

Dopo aver preparato un elenco delle minacce relative all'ambiente di destinazione ordinate in base al rischio, è necessario stabilire come rispondere a ciascuna minaccia. È infatti possibile decidere di non intraprendere alcuna azione (scelta quasi sempre inopportuna), avvertire gli utenti, eliminare il problema oppure correggerlo.

Passaggio 4. Identificare tecniche e tecnologie di mitigazione

Dopo aver identificato le minacce su cui intervenire, è necessario determinare per ognuna le strategie di attenuazione disponibili e la tecnologia più appropriata per ridurne gli effetti.

Ad esempio, in base alle caratteristiche dell'ambiente di destinazione, è possibile ridurre gli effetti delle minacce di manomissione dei dati adottando strategie di autorizzazione. È quindi necessario determinare la tecnologia di autorizzazione appropriata da utilizzare, ad esempio elenchi di controllo di accesso discrezionale (DACL), autorizzazioni o restrizioni IP.

Importante

Quando si valutano le strategie e le tecnologie di attenuazione da utilizzare, è necessario prendere in considerazione gli elementi che rappresentano un valore aziendale e gli eventuali criteri adottati dalla società che possono influire sulla scelta della strategia.

Dopo aver completato l'analisi TMA, effettuare le seguenti operazioni:

  • Documentare le considerazioni relative al modello di sicurezza e alla distribuzione.

  • Implementare e testare le misure di attenuazione.

  • Mantenere la sincronizzazione tra il modello di minaccia e la progettazione.

Passaggio 5. Considerazioni sul modello di sicurezza e sulla distribuzione dei documenti

È importante documentare quanto viene rilevato durante l'analisi TMA, nonché le modalità con cui si decide di ridurre gli effetti delle diverse minacce sull'ambiente di destinazione. La presente documentazione può essere utile per il personale addetto al controllo di qualità (QA), ai test, al supporto e alle operazioni. Inserire informazioni relative ad altre applicazioni che interagiscono o si interfacciano con l'ambiente di destinazione, oltre che le indicazioni e i requisiti per firewall e topologia.

Passaggio 6. Implementare e testare le mitigazioni

Quando il team è pronto per intervenire sulle minacce identificate durante l'analisi TMA, seguire gli elenchi di controllo per lo sviluppo e la distribuzione in modo da essere certi di attenersi agli standard per un utilizzo del codice e una distribuzione sicuri e ridurre così al minimo il rischio di introdurre nuove minacce.

Dopo aver implementato una misura di attenuazione, è necessario testarla per accertarsi che per la minaccia venga fornito il livello di sicurezza desiderato.

Passaggio 7. Mantenere sincronizzato il modello di minaccia con la progettazione

Con l'aggiunta di nuove applicazioni, server e altri elementi all'ambiente, è opportuno riesaminare i dati emersi dall'analisi del modello di minaccia e ripetere questo tipo di analisi per ogni nuova funzionalità.

Vedere anche

Case study sulla sicurezza per piccole e medie imprese
Scenari di esempio per l'analisi del modello di rischio