SEC01-BP07 Identificare le minacce e dare priorità alle mitigazioni utilizzando un modello di minaccia. - Framework AWSWell-Architected

SEC01-BP07 Identificare le minacce e dare priorità alle mitigazioni utilizzando un modello di minaccia.

Effettua la modellazione delle minacce per identificare e mantenere un registro aggiornato delle minacce potenziali e delle relative mitigazioni per il carico di lavoro. Definisci le priorità delle minacce e adatta le mitigazioni dei controlli di sicurezza per prevenire, intercettare e rispondere. Riesamina e mantieni questo aspetto nel contesto del tuo carico di lavoro e dell'evoluzione del panorama della sicurezza.

Livello di rischio associato se questa best practice non fosse adottata: elevato

Guida all'implementazione

Che cos'è la modellazione delle minacce?

"La modellazione delle minacce mira a identificare, comunicare e comprendere minacce e mitigazioni nel contesto della protezione di qualcosa di valore". – The Open Web Application Security Project (OWASP) Application Threat Modeling

Perché adottare la modellazione delle minacce?

I sistemi sono complessi, e nel tempo lo diventano sempre di più, e capaci di fornire un maggiore valore aziendale e una maggiore soddisfazione e coinvolgimento dei clienti. Ciò significa che le decisioni di progettazione IT devono tenere conto di un numero sempre maggiore di casi d'uso. Questa complessità e il numero di combinazioni di casi d'uso rendono in genere gli approcci non strutturati inefficaci per individuare e mitigare le minacce. È invece necessario un approccio sistematico per enumerare le potenziali minacce al sistema ed elaborare le mitigazioni, oltre che per stabilirne le priorità per assicurarsi che le risorse limitate dell'organizzazione abbiano il massimo impatto nel migliorare lo stato di sicurezza complessiva del sistema.

La modellazione delle minacce è progettata per offrire questo approccio sistematico, con l'obiettivo di trovare e affrontare i problemi nelle prime fasi del processo di progettazione, quando le mitigazioni hanno un costo e un impegno relativi bassi rispetto alle fasi successive del ciclo di vita. Questo approccio è in linea con il principio di sicurezza shift-left. In definitiva, la modellazione delle minacce si integra con il processo di gestione del rischio di un'organizzazione e aiuta a prendere decisioni sui controlli da implementare utilizzando un approccio orientato alle minacce.

Quando eseguire la modellazione delle minacce?

La modellazione delle minacce deve essere avviata il prima possibile nel ciclo di vita del carico di lavoro, in modo da avere una maggiore flessibilità di intervento sulle minacce identificate. Come per i bug del software, prima si identificano le minacce, più è conveniente affrontarle. Un modello di minacce è un documento vivo e deve continuare a evolvere in base ai cambiamenti dei carichi di lavoro. I modelli di minaccia vanno riesaminati nel tempo, anche in caso di modifiche importanti, di cambiamenti nel panorama delle minacce o di adozione di nuove funzionalità o servizi.

Passaggi dell'implementazione

In che modo è possibile eseguire la modellazione delle minacce?

Esistono diversi modi per eseguire la modellazione delle minacce. Come per i linguaggi di programmazione, anche in questo caso ci sono vantaggi e svantaggi e bisogna scegliere il metodo più adatto alle proprie esigenze. Un approccio consiste nell'iniziare con 4 Question Frame for Threat Modeling di Shostack, che pone domande aperte per fornire una struttura per il tuo esercizio di modellazione delle minacce:

  1. A cosa si sta lavorando?

    Questa domanda ha lo scopo di aiutare a comprendere e concordare il sistema che si sta costruendo e i dettagli di tale sistema che sono rilevanti per la sicurezza. La creazione di un modello o di un diagramma è la soluzione più comune per rispondere a questa domanda, in quanto consente di visualizzare ciò che si sta creando, ad esempio utilizzando un diagramma di flusso dei dati. Scrivere ipotesi e dettagli importanti del sistema aiuta anche a definire l'ambito di applicazione. In questo modo, tutti coloro che contribuiscono alla modellazione delle minacce possono concentrarsi sullo stesso aspetto, evitando deviazioni dispendiose in termini di tempo su argomenti fuori portata (comprese le versioni non aggiornate del sistema). Ad esempio, se si sta realizzando un'applicazione Web, probabilmente non vale la pena procedere alla modellazione per la sequenza di avvio attendibile del sistema operativo per i browser client, poiché non si ha la possibilità di influire su questo aspetto con il proprio progetto.

  2. Che cosa può andare storto?

    In questa fase si identificano le minacce al sistema. Le minacce sono azioni o eventi accidentali o intenzionali che producono impatti indesiderati e potrebbero compromettere la sicurezza del sistema. Senza una visione chiara di ciò che potrebbe andare storto, non è possibile fare nulla per evitarlo.

    Non esiste un elenco canonico di ciò che può andare storto. La creazione di questo elenco richiede un brainstorming e la collaborazione tra tutte le persone del team e le persone pertinenti coinvolte nell'esercizio di modellazione delle minacce. Per semplificare il brainstorming, utilizza un modello per identificare le minacce, come STRIDE, che suggerisce diverse categorie da valutare: spoofing, manomissione, ripudio, divulgazione di informazioni, negazione del servizio ed elevazione dei privilegi. Inoltre, potresti contribuire al brainstorming consultando gli elenchi esistenti e traendone ispirazione, tra cui OWASP Top 10, HiTrust Threat Catalog e il catalogo delle minacce della tua organizzazione.

  3. Cosa si intende fare al riguardo?

    Come nel caso della domanda precedente, non esiste un elenco canonico di tutte le possibili mitigazioni. Gli input di questa fase sono le minacce, gli attori e le aree di miglioramento identificate nella fase precedente.

    Sicurezza e conformità sono una responsabilità condivisa tra AWS e l'utente. È importante capire che quando si chiede "Che si farà al riguardo?", si chiede anche "Chi è responsabile? Chi ha la responsabilità di fare qualcosa?" Comprendere l'equilibrio delle responsabilità tra utente e AWS consente di limitare l'esercizio di modellazione delle minacce alle mitigazioni sotto il proprio controllo, che di solito sono una combinazione di opzioni di configurazione del servizio AWS e di mitigazioni specifiche del proprio sistema.

    In merito alla parte di responsabilità di AWS condivisa, scoprirai che i servizi AWS rientrano nell'ambito di molti programmi di conformità. Questi programmi aiutano a comprendere i solidi controlli in atto presso AWS per mantenere la sicurezza e la conformità del cloud. I report di audit di questi programmi possono essere scaricati per i clienti AWS da AWS Artifact.

    Indipendentemente dai servizi AWS utilizzati, c'è sempre una responsabilità del cliente e le mitigazioni allineate a tale responsabilità devono essere incluse nel modello di minaccia. Per quanto riguarda le mitigazioni dei controlli di sicurezza per i servizi AWS stessi, è necessario considerare l'implementazione dei controlli di sicurezza in tutti i domini, compresi quelli quali la gestione delle identità e degli accessi (autenticazione e autorizzazione), la protezione dei dati (a riposo e in transito), la sicurezza dell'infrastruttura, la creazione di log e il monitoraggio. La documentazione di ciascun servizio AWS prevede un capitolo dedicato alla sicurezza, con indicazioni sui controlli di sicurezza da prendere in considerazione come mitigazioni. È importante considerare il codice che si sta scrivendo e le sue dipendenze e pensare ai controlli attuabili per affrontare queste minacce. Questi controlli potrebbero corrispondere a elementi quali la convalida degli input, la gestione delle sessioni e la gestione dei limiti. Spesso la maggior parte delle vulnerabilità viene introdotta nel codice personalizzato, quindi è bene concentrarsi su quest'area.

  4. È stato fatto un buon lavoro?

    L'obiettivo è il miglioramento da parte del team e dell'organizzazione sia della qualità dei modelli di minacce sia della relativa velocità di esecuzione nel tempo. Questi miglioramenti derivano da una combinazione di pratica, apprendimento, insegnamento e revisione. Per approfondire e sperimentare nella pratica, è consigliabile che tu e il tuo team completiate il corso di formazione Threat modeling the right way for builders training course o il workshop. Inoltre, se stai cercando indicazioni su come integrare la modellazione delle minacce nel ciclo di vita di sviluppo delle applicazioni della tua organizzazione, consulta il post How to approach threat modeling sul blog di AWS sulla sicurezza.

Threat Composer

Come strumento di ausilio e guida nella modellazione delle minacce, prendi in considerazione l'utilizzo dello strumento Threat Composer, il cui scopo è ridurre il time-to-value di questa attività. Lo strumento consente di eseguire le seguenti operazioni:

  • Scrivere dichiarazioni utili sulle minacce in linea con la sintassi delle minacce che funzionino in un flusso di lavoro naturale non lineare

  • Generare un modello di minaccia leggibile dall'uomo

  • Generare un modello di minaccia leggibile dal computer per consentire la gestione dei modelli di minaccia come codice

  • Velocizzare l'individuazione delle aree di miglioramento della qualità e della copertura utilizzando l'area del pannello di controllo contenente le informazioni dettagliate

Per ulteriori informazioni, visita Threat Composer e passa all'area di lavoro esemplificativa definita dal sistema.

Risorse

Best practice correlate:

Documenti correlati:

Video correlati:

Formazione correlata:

Strumenti correlati: