Diventa Autore per CoreTech | Scopri di più





Il threat modeling per la sicurezza delle applicazioni

21/07/22 CoreTech Blog

Il threat modeling permette di identificare e mitigare le minacce. È molto importante perché evidenzia i rischi per la sicurezza, dai più gravi ai meno gravi. Permette di concentrarsi sul processo decisionale, individuare le priorità della sicurezza informatica, stabilire come utilizzare le risorse nel miglior modo possibile.

Esistono molti approcci al threat modeling, ma tutti hanno lo stesso obiettivo: mostrare cosa può danneggiare un’infrastruttura IT e come fare per proteggerla.

Il threat modeling è una forma di valutazione del rischio che offre un modello degli aspetti dell'attacco e della difesa di una entità logica: un dato, un'applicazione, un host, un sistema o un ambiente. Il principio fondamentale alla base del threat modeling è che le risorse per la sicurezza informatica sono limitate ed è necessario stabilire come utilizzarle in modo efficace. (NIST SP 800-154 publication)

Come funziona il threat modeling

Il threat modeling porta a comprendere come pensano gli hacker. Fa in modo che ci si faccia domande come: che cosa potrebbe far gola ai malintenzionati del web? Come potrebbero attaccare per impossessarsene? Da dove partirebbero nel portare avanti il loro attacco?

Utilizza anche rappresentazioni che consentono di individuare le minacce e i vettori di attacco in modo più chiaro.

Se dovessi utilizzare il theat modeling per proteggere la tua casa, faresti disegni di ogni piano, indicando dove si trovano le finestre e le porte. Poi cercheresti di capire cosa vorrebbe rubare il ladro, come cercherebbe di entrare in casa per rubarlo e cosa potresti installare per evitarlo (serrature, sistemi di allarme, casseforti, ecc.).

Funziona allo stesso modo il theat modeling per lo sviluppo di software e applicazioni web.

Il threat modeling per la sicurezza delle applicazioni web è solo una parte del threat modeling nel suo insieme e non dovrebbe essere considerato un esercizio separato. Le applicazioni web sono sempre interconnesse con altri elementi del sistema: server web, server delle applicazioni, archivi dati, sistemi operativi a loro volta connessi ad altre risorse.

Concentrarsi solo sul threat modeling per il web, di conseguenza, fa trascurare molte minacce. Il modello così ottenuto è inutile.

Chi deve occuparsi del threat modeling

Il threat modeling è più efficace se vengono coinvolte tutte le figure professionali di un’azienda, non solo gli esperti di sicurezza informatica. Infatti, ogni professionista offre una prospettiva unica in cui emergono dettagli che altrimenti sarebbero trascurati.

In alcuni casi, il threat modeling richiede anche l'aiuto di subappaltatori, partner commerciali o clienti.

Chiedi ai colleghi di immedesimarsi di un hacker che vuole attaccare la tua attività.

Che cosa pensano che sia profittevole rubare o compromettere?

Banner

Come farebbero per scatenare l’attacco?

Il team di sviluppo potrebbe ricordarti che il codice sorgente dell'applicazione è prezioso perché contiene algoritmi open source e anche algoritmi proprietari.

Il responsabile marketing potrebbe ricordarti che se qualcuno rovina il tuo sito web, potrebbe abbassare il valore del tuo marchio.

Un amministratore dell'ufficio può mostrarti che è molto facile per un estraneo entrare in azienda e rubare la chiave della stanza dei server.

Gli amministratori del sistema IT potrebbero ricordarti che occorre prestare attenzione a desktop, server e anche dispositivi IoT.

Quando e dove eseguire il threat modeling

Il threat modeling comincia quando si inizia a progettare l'applicazione e non dovrebbero mai finire. Deve diventare parte integrante della gestione dei rischi per la sicurezza delle informazioni.

Gli esperti di sicurezza dovrebbero pensare subito a come utilizzarle e a creare un modello delle potenziali minacce, non appena parte il progetto di un’applicazione.

Prima si individuano potenziali minacce, più è facile capire come proteggersi con varie contromisure, per esempio, riprogettando parti del sistema. Pertanto, è necessario includere il threat modeling nel ciclo di vita dello sviluppo del software (SDLC), dalle prime fasi di progettazione a ogni aspetto del DevOps.

I tuoi sistemi sono in continua evoluzione, quindi il threat modeling non può mai fermarsi. Ogni modifica all'ambiente deve essere associata alla rivalutazione delle potenziali minacce. Anche una modifica molto piccola può introdurre una nuova minaccia molto seria da prendere in considerazione.

Allo stesso tempo, il threat modeling non va limitato alle proprie risorse. Per esempio, potrebbe essere necessario prendere in considerazione l'audit di utenti, partner commerciali e altro ancora. Se i tuoi sistemi fanno parte di un insieme più grande, le minacce ai tuoi sistemi potrebbero essere indirette.

Quali sono le fasi del threat modeling

La teoria del threat modeling individua quattro fasi cui corrispondono quattro domande da porsi:

  • su cosa stiamo lavorando? (rappresentazione attraverso diagrammi);
  • cosa può andare storto? (elenco delle minacce);
  • cosa faremo al riguardo? (mitigazione);
  • abbiamo fatto un buon lavoro? (verifica).

 

La creazione dei diagrammi per il threat modeling

Il threat modeling inizia con la creazione di diagrammi: è il modo più semplice per comunicare agli altri come è costruito il tuo sistema.

I diagrammi sono anche facili da capire per la maggior parte delle persone.

I diagrammi più diffusi utilizzati per il threat modeling sono i diagrammi di flusso di dati (DFD). Si concentrano sui dati, uno degli elementi chiave del threat modeling, e consentono di determinare facilmente il livello di affidabilità.

Cosa può andare storto sul fronte della sicurezza informatica

Una volta che i diagrammi iniziali sono pronti, tutte le figure professionali coinvolte possono guardarli dal punto di vista di un utente malintenzionato: da qui parte il brainstorming per trovare i problemi di sicurezza.

Mitigazione delle minacce

L'enumerazione dettagliata delle minacce coinvolge più strumenti e tecniche che consentono di coprire tutte le categorie di pericoli: per esempio, la creazione di alberi di attacco e la progettazione di controlli di sicurezza. L’obiettivo è soddisfare i requisiti di sicurezza del software.  

La verifica

La verifica consente di capire se la mitigazione è efficace.

Facciamo un esempio.

Quando si raccolgono informazioni sulle minacce, bisogna sempre identificare e mitigare le potenziali vulnerabilità delle applicazioni web.

Durante l'enumerazione delle minacce, si nota che qualsiasi applicazione web è potenzialmente esposta ai primi 10 attacchi OWASP come SQL injection, cross-site scripting e altro.

Banner

Un altro aspetto da evidenziare è che gli utenti possono utilizzare password deboli, esponendo il sistema ad attacchi.

È possibile utilizzare uno scanner di vulnerabilità delle applicazioni web per pensare come un utente malintenzionato e trovare le vulnerabilità.

Nelle fasi di mitigazione e verifica, una soluzione di sicurezza web completa come Acunetix può aiutarti. Infatti, assegna automaticamente le priorità e verifica se i problemi sono stati risolti.

Anche se questo strumento automatico non copre tutte le vulnerabilità ed è sempre importante effettuare test di penetrazione, rappresenta uno degli elementi essenziali per fare un’enumerazione completa delle minacce e procedere alla loro mitigazione.

Threat modeling: quali approcci adottare

Esistono diversi metodi per utilizzare il threat modeling. Il più popolare è STRIDE creato da Microsoft nel 1999.

Il nome fa riferimento a sei aspetti chiave da considerare durante il threat modeling: spoofing, manomissione, ripudio, divulgazione di informazioni, negazione del servizio ed elevazione dei privilegi.

Inoltre, ci sono metodi come PASTA (Process for Attack Simulation and Threat Analysis), Trike, VAST (Visual, Agile e Simple Threat modeling) e molti altri.

Il metodo va scelto in base a diversi fattori.

Per esempio, la scelta va fatta in base a processi e metodologie di sviluppo software usati in azienda (Scrum, Kanban, Waterfall, ecc.), dimensioni dell’azienda, processi aziendali, settore di appartenenza.

Per individuare l’approccio giusto, è necessario eseguire ricerche dettagliate che vanno ben oltre lo scopo di questo articolo.

Quali tool utilizzare per il threat modeling

Gli approcci al threat modeling dipendono dall'architettura del sistema, dagli obiettivi aziendali, dai requisiti e da molto altro. Allo stesso modo, i tool da usare dipendono dall’approccio scelto.

Tra i molti tool per il threat modeling, uno è spesso menzionato perché è facile da usare e gratuito: il tool di Microsoft.

Il vantaggio di utilizzarlo è il numero di risorse di formazione disponibili online.


Articoli su Sicurezza

Sicurezza aziendale: da cosa è minacciata e come proteggerla?Il threat modeling per la sicurezza delle applicazioniScanner di vulnerabilità: ecco come funzionanoWeb security: 5 motivi per cui è essenziale contro i ransomwareChe cos'è DevSecOps e come dovrebbe funzionare?Test di penetrazione vs scansione delle vulnerabilitàConsiderazioni sui test di correzione delle applicazioni WebQuattro modi in cui l'analisi AppSec aiuta i tuoi professionisti DevSecOpsQuattro modi per combattere il divario di competenze di sicurezza informaticaDove i framework di cybersecurity incontrano la sicurezza webCome costruire un piano di risposta agli incidenti informaticiRendi i tuoi utenti parte della soluzione di sicurezza webSei l'unico che può proteggere le tue applicazioni webNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaConvergenza Dev-Sec: i progressi e le sfide sulla strada per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?Sei l'unico che può proteggere le tue applicazioni webCos'è la sicurezza del sito Web: come proteggere il tuo sito Web dall'hackingRendi i tuoi utenti parte della soluzione di sicurezza webConvergenza Dev-Sec: la ricerca illustra i progressi per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?La differenza tra XSS e CSRFNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaPrevenzione e mitigazione XSSStop ai compromessi sulla sicurezza delle applicazioni webSfatare 5 miti sulla sicurezza informaticaBasta compromessi sulla sicurezza delle applicazioni webNozioni di base sulla sicurezza web: la tua applicazione web è sicura?Che cos'è l'iniezione dell’header HTTP?Fare shift left o no?Individuazione e correzione di falle di sicurezza in software di terze partiClassi di vulnerabilità Web nel contesto delle certificazioniScripting tra siti (XSS)Che cos'è un attacco CSRFChe cos'è una SQL Injection (SQLi) e come prevenirlaAttacchi di attraversamento di directoryChe cos'è la falsificazione delle richieste lato server (SSRF)?7 migliori pratiche per la sicurezza delle applicazioni WebBlack Hat 2021: la più grande minaccia alla sicurezza informaticaÈ ben fatto? Chiedi allo sviluppatore!Scegli la soluzione di sicurezza delle applicazioni web che fa per teSicurezza fai-da-te: lo stai facendo bene?Sulla sicurezza delle applicazioni web professionali per MSSPLa cattiva comunicazione è al centro delle sfide di AppSecImpostazione e raggiungimento degli obiettivi di sicurezza delle applicazioniMetriche di sicurezza informatica per le applicazioni WebCome evitare attacchi alla supply chainPerché la maggior parte delle misure di sicurezza delle applicazioni fallisceVuoi che la tua sicurezza sia costruita su scuse?Cos'è SCA e perché ne hai bisognoLa scansione ad hoc non è sufficienteEsposizione dei dati sensibili: come si verificano le violazioniHai paura dei test di sicurezza nell'SDLC?Vantaggi di Web Asset DiscoveryStrumenti di scansione delle vulnerabilità: perché non open source?Protezione WAF - Ottieni il massimo dal tuo firewall per applicazioni webL'errore di comunicazione è al centro delle sfide di AppSecDebugger remoti come vettore di attaccoDAST è una parte essenziale di un programma completo per la sicurezza delle applicazioniCome difendersi dagli attacchi recenti su Microsoft Exchange5 principali vantaggi dei primi test di sicurezzaTecniche di attacco Denial-of-Service con avvelenamento della cacheQuali principali attacchi web possiamo aspettarci nella nuova top 10 di OWASP?Hack di SolarWindsPillole di Sicurezza | Episodio 38Pillole di Sicurezza | Episodio 37Perché gli sviluppatori evitano la sicurezza e cosa puoi fare al riguardoPillole di Sicurezza | Episodio 36Cos'è l'attacco RUDYCos'è la navigazione forzataCome gli scanner trovano le vulnerabilitàPillole di Sicurezza | Episodio 34Pillole di Sicurezza | Episodio 35Come eseguire il benchmark di uno scanner di vulnerabilità Web?Pillole di Sicurezza | Episodio 33Pillole di Sicurezza | Episodio 325 proposte di vendita comuni sulla sicurezza delle applicazioni web5 motivi per non fare affidamento sui programmi BountyPillole di Sicurezza | Episodio 315 motivi per cui la sicurezza web è importante quanto la sicurezza degli endpointPillole di Sicurezza | Episodio 305 motivi per cui la sicurezza web è importante per evitare il ransomwarePillole di Sicurezza | Episodio 293 motivi per cui DAST è il migliore per la sicurezza delle applicazioni WebPillole di Sicurezza | Episodio 28Pillole di Sicurezza | Episodio 27Pillole di Sicurezza | Episodio 24Pillole di Sicurezza | Episodio 25Pillole di Sicurezza | Episodio 21Pillole di Sicurezza | Episodio 22Pillole di Sicurezza | Episodio 20Pillole di Sicurezza | Episodio 17Il flag HttpOnly: protezione dei cookie da XSSPillole di Sicurezza | Episodio 16Il Bug Heartbleed – I vecchi Bug sono duri a morirePillole di Sicurezza | Episodio 15Pillole di Sicurezza | Episodio 14Pillole di Sicurezza | Episodio 13Pillole di Sicurezza | Episodio 12Pillole di Sicurezza | Episodio 11Pillole di Sicurezza | Episodio 10Sicurezza delle reti: gli hacker puntano CitrixCyber hacking: la Germania chiede l’intervento dell’UESicurezza informatica: Cisco rilascia aggiornamentiOcchio al cryptojacking: malware infiltrato in Docker HubSIGRed: bug di sistema in Windows Server scovato dopo 17 anniPillole di Sicurezza | Episodio 9Summit Live - Disponibili le registrazioni delle live di MonteleoneCriminalità informatica: Schmersal sventa un cyber-attaccoPillole di Sicurezza | Episodio 8Pillole di Sicurezza | Episodio 7Analisi pratica dei rischi per il SysAdmin, DevOps e Dev | Summit LivePillole di Sicurezza | Episodio 6Pillole di Sicurezza | Episodio 5Pillole di Sicurezza | Episodio 4Pillole di Sicurezza | Episodio 3Pillole di Sicurezza | Episodio 2Pillole di Sicurezza | Episodio 1Pillole di Sicurezza | Episodio 23