Condividi tramite


Raccomandazioni per l'analisi delle minacce

Si applica a questa raccomandazione dell'elenco di controllo per la sicurezza di Azure Well-Architected Framework:

SE:02 Mantenere un ciclo di vita di sviluppo sicuro usando una catena di approvvigionamento software avanzata, per lo più automatizzata e controllabile. Incorporare una progettazione sicura usando la modellazione delle minacce per proteggersi dalle implementazioni di sicurezza che sconfiggono.

Guida correlata: Suggerimenti per la protezione di un ciclo di vita di sviluppo

Un'analisi completa per identificare minacce, attacchi, vulnerabilità e misure di contatore è fondamentale durante la fase di progettazione di un carico di lavoro. La modellazione delle minacce è un esercizio di progettazione che include la definizione dei requisiti di sicurezza, l'identificazione e la mitigazione delle minacce e la convalida di tali mitigazioni. È possibile usare questa tecnica in qualsiasi fase di sviluppo o produzione di applicazioni, ma è più efficace durante le fasi di progettazione di nuove funzionalità.

Questa guida descrive le raccomandazioni per la modellazione delle minacce in modo da poter identificare rapidamente i gap di sicurezza e progettare le difese di sicurezza.

Definizioni 

Termine Definizione
Ciclo di vita dello sviluppo software (SDLC) Un processo multistage e sistematico per lo sviluppo di sistemi software.
STRIDE Tassonomia definita da Microsoft per la categorizzazione dei tipi di minacce.
Modellazione delle minacce Processo per identificare potenziali vulnerabilità di sicurezza nell'applicazione e nel sistema, attenuare i rischi e convalidare i controlli di sicurezza.

Strategie di progettazione chiave

La modellazione delle minacce è un processo cruciale che un'organizzazione deve integrare nel suo SDLC. La modellazione delle minacce non è esclusivamente un'attività dello sviluppatore. È una responsabilità condivisa tra:

  • Il team del carico di lavoro, responsabile degli aspetti tecnici del sistema.
  • Stakeholder aziendali, che comprendono i risultati aziendali e hanno un interesse per la sicurezza.

Spesso si verifica una disconnessione tra i team tecnici e i dirigenti dell'organizzazione per quanto riguarda i requisiti aziendali per i carichi di lavoro critici. Questa disconnessione può portare a risultati indesiderati, in particolare per gli investimenti in termini di sicurezza.

Quando il team del carico di lavoro esegue un esercizio di modellazione delle minacce, deve considerare sia i requisiti aziendali che tecnici. Il team del carico di lavoro e gli stakeholder aziendali devono concordare le esigenze specifiche della sicurezza del carico di lavoro in modo che possano effettuare investimenti adeguati nelle contromisure.

I requisiti di sicurezza servono come guida per l'intero processo di modellazione delle minacce. Per renderlo un esercizio efficace, il team del carico di lavoro deve avere una mentalità orientata alla sicurezza ed essere addestrata negli strumenti di modellazione delle minacce.

Comprendere l'ambito dell'esercizio

Una chiara comprensione dell'ambito è fondamentale per una modellazione efficace delle minacce. Aiuta a concentrare le attività e le risorse sulle aree più critiche. Questa strategia implica la definizione dei limiti del sistema, l'inventario degli asset che devono essere protetti e la comprensione del livello di investimento richiesto nei controlli di sicurezza.

Raccogliere informazioni su ogni componente

Un diagramma dell'architettura del carico di lavoro è un punto di partenza per raccogliere informazioni perché fornisce una rappresentazione visiva del sistema. Il diagramma evidenzia le dimensioni tecniche del sistema. Ad esempio, mostra i flussi utente, il modo in cui i dati si spostano attraverso la rete, i livelli di riservatezza dei dati e i tipi di informazioni e i percorsi di accesso alle identità.

Questa analisi dettagliata può spesso fornire informazioni dettagliate sulle potenziali vulnerabilità nella progettazione. È importante comprendere le funzionalità di ogni componente e le relative dipendenze.

Valutare le potenziali minacce

Analizzare ogni componente dal punto di vista esterno. Ad esempio, quanto facilmente un utente malintenzionato può ottenere l'accesso ai dati sensibili? Se gli utenti malintenzionati ottengono l'accesso all'ambiente, possono spostarsi in modo successivo e potenzialmente accedere o persino manipolare altre risorse? Queste domande consentono di comprendere in che modo un utente malintenzionato potrebbe sfruttare gli asset del carico di lavoro.

Classificare le minacce usando una metodologia di settore

Una metodologia per classificare le minacce è STRIDE, usata dal ciclo di vita dello sviluppo della sicurezza Microsoft. La classificazione delle minacce consente di comprendere la natura di ogni minaccia e di usare i controlli di sicurezza appropriati.

Attenuare le minacce

Documentare tutte le minacce identificate. Per ogni minaccia, definire i controlli di sicurezza e la risposta a un attacco se tali controlli hanno esito negativo. Definire un processo e una sequenza temporale che riducono al minimo l'esposizione a eventuali vulnerabilità identificate nel carico di lavoro, in modo che tali vulnerabilità non possano essere rimosse.

Usare l'approccio presupporre la violazione . Può aiutare a identificare i controlli necessari nella progettazione per ridurre i rischi in caso di errore di un controllo di sicurezza primario. Valutare la probabilità che il controllo primario restituisca un errore. In caso di esito negativo, qual è l'entità del potenziale rischio organizzativo? Inoltre, qual è l'efficacia del controllo di compensazione? In base alla valutazione, applicare misure di difesa approfondite per risolvere potenziali errori dei controlli di sicurezza.

Ecco un esempio:

Porre questa domanda Per determinare i controlli che...
Le connessioni vengono autenticate tramite Microsoft Entra ID, Transport Layer Security (TLS) con autenticazione reciproca o un altro protocollo di sicurezza moderno approvato dal team di sicurezza:

- Tra gli utenti e l'applicazione?

- Tra i componenti dell'applicazione e i servizi?
Impedire l'accesso non autorizzato ai componenti e ai dati dell'applicazione.
Si limita l'accesso solo agli account che devono scrivere o modificare i dati nell'applicazione? Impedire la manomissione o la modifica di dati non autorizzata.
L'attività dell'applicazione viene registrata e inserita in un sistema SIEM (Security Information and Event Management) tramite Monitoraggio di Azure o una soluzione simile? Rilevare e analizzare rapidamente gli attacchi.
I dati critici sono protetti con la crittografia approvata dal team di sicurezza? Impedire la copia non autorizzata dei dati inattivi.
Il traffico di rete in ingresso e in uscita viene crittografato tramite TLS? Impedire la copia non autorizzata dei dati in transito.
L'applicazione è protetta da attacchi DDoS (Distributed Denial of Service) tramite servizi come Protezione DDoS di Azure? Rilevare gli attacchi progettati per sovraccaricare l'applicazione in modo che non possa essere usata.
L'applicazione archivia le credenziali di accesso o le chiavi per accedere ad altre applicazioni, database o servizi? Identificare se un attacco può usare l'applicazione per attaccare altri sistemi.
I controlli dell'applicazione consentono di soddisfare i requisiti normativi? Proteggere i dati privati degli utenti ed evitare multe di conformità.

Tenere traccia dei risultati della modellazione delle minacce

È consigliabile usare uno strumento di modellazione delle minacce. Gli strumenti possono automatizzare il processo di identificazione delle minacce e generare un report completo di tutte le minacce identificate. Assicurarsi di comunicare i risultati a tutti i team interessati.

Tenere traccia dei risultati come parte del backlog del team del carico di lavoro per consentire la responsabilità in modo tempestivo. Assegnare attività a utenti responsabili della mitigazione di un particolare rischio identificato dalla modellazione delle minacce.

Quando si aggiungono nuove funzionalità alla soluzione, aggiornare il modello di minaccia e integrarlo nel processo di gestione del codice. Se si rileva un problema di sicurezza, assicurarsi che sia presente un processo per valutare il problema in base alla gravità. Il processo deve essere utile per determinare quando e come risolvere il problema( ad esempio, nel ciclo di rilascio successivo o in una versione più veloce).

Esaminare regolarmente i requisiti del carico di lavoro business critical

Incontra regolarmente gli sponsor esecutivi per definire i requisiti. Queste revisioni offrono un'opportunità per allineare le aspettative e garantire l'allocazione operativa delle risorse all'iniziativa.

Facilitazione di Azure

Microsoft Security Development Lifecycle offre uno strumento di modellazione delle minacce per facilitare il processo di modellazione delle minacce. Questo strumento è disponibile senza costi aggiuntivi. Per altre informazioni, vedere la pagina Modellazione delle minacce.

Esempio

Questo esempio si basa sull'ambiente IT (Information Technology) stabilito nella baseline di sicurezza (SE:01). Questo approccio offre un'ampia comprensione del panorama delle minacce in diversi scenari IT.

Diagramma che mostra un esempio di baseline di sicurezza di un'organizzazione con panorama delle minacce.

  1. Personas del ciclo di vita dello sviluppo. Esistono molti utenti coinvolti in un ciclo di vita di sviluppo, tra cui sviluppatori, tester, utenti finali e amministratori. Tutti possono essere compromessi e mettere a rischio l'ambiente attraverso vulnerabilità o minacce create intenzionalmente.

  2. Potenziali utenti malintenzionati. Gli utenti malintenzionati considerano un'ampia gamma di strumenti disponibili facilmente da usare in qualsiasi momento per esplorare le vulnerabilità e avviare un attacco.

  3. Controlli di sicurezza. Come parte dell'analisi delle minacce, identificare i servizi di sicurezza di Azure da usare per proteggere la soluzione e l'efficacia di tali soluzioni.

  4. Raccolta di log. I log dalle risorse di Azure e alcuni componenti locali possono essere inviati ad Azure Log Analytics in modo da comprendere il comportamento della soluzione sviluppata e provare a acquisire le vulnerabilità iniziali.

  5. Soluzione SIEM (Security Information Event Management). Microsoft Sentinel può essere aggiunto anche in una fase iniziale della soluzione, in modo da poter creare alcune query di analisi per attenuare le minacce e le vulnerabilità, anticipando l'ambiente di sicurezza quando si è in produzione.

  6. Microsoft Defender per il cloud potrebbero apportare alcune raccomandazioni di sicurezza per migliorare il comportamento di sicurezza.

Open Web Application Security Project (OWASP) ha documentato un approccio di classificazione delle minacce per le applicazioni.

Elenco di controllo relativo alla sicurezza

Fare riferimento al set completo di raccomandazioni.