Come Stimare il Rischio - Parte 2
In questo secondo articolo concludiamo la panoramica sul processo di Risk Assessment introducendo Risk Analysis, Threat Modeling e una metodologia OWASP per la costruzione di un modello di calcolo personalizzato del rischio.
Risk comes from not knowing what you're doing. - Warren Buffett
Nella prima parte abbiamo visto un excursus sul processo di Risk Assessment in ambito Information Security facendo riferimento allo standard ISO/IEC 27005. In questo articolo completeremo la panoramica introducendo gli ultimi concetti propedeutici alla stima del rischio, Risk Analysis e Threat Modelling, per poi riportare una metodologia OWASP per la costruzione di un modello di calcolo personalizzato del rischio.
Risk Analysis
In generale il processo di Risk Analysis esamina le possibile conseguenze positive e negative a partire da fattori di rischio, tenendo in considerazione quanto sia verosimile che tali conseguenze possano effettivamente verificarsi e, inoltre, l'esistenza di misure che tendono a minimizzare le conseguenze negative o che accentuano i fattori positivi. Sebbene non vi sia una formula generale fissata e precisa per il calcolo del rischio, la maggior parte delle metodologie e degli standard – tra cui ISO/IEC 27005 – prediligono una convenzione comune che può essere riassunta nella seguente formula e mostrata dalla heat map in figura:
Risk = Impact x Likelihood
ovvero il livello di rischio, su una data coppia asset-threat, può essere stimato, utilizzando analisi statistica e calcoli, combinando l'impatto che quel threat ha sull'asset – quindi quanto quella minaccia degradi il valore della risorsa – e verosimiglianza – che quella minaccia si verifichi, considerandone anche la frequenza –, prestando attenzione che ogni formula e metodi utilizzati per tale combinazione siano coerenti con i criteri definiti durante la definizione di contesto del risk management. È bene sottolineare che le scale dei livelli possono variare anche in base al tipo di analisi che viene condotta – in figura la scala utilizzata va da Very Low (VL) a Very High (VH).
Il risk analysis può essere prevalentemente di tre tipi: qualitativo, semi-quantitativo e quantitativo. In alcuni casi si potrebbe inoltre presentare come una combinazione di questi.
Analisi Qualitativa
In chimica un'analisi di tipo qualitativa è quel processo che mira all'identificazione delle sostanze presenti in un campione. Nel caso di risk analysis qualitativo, l'entità e la verosimiglianza delle potenziali conseguenze sono presentate e descritte in dettaglio, utilizzando delle scale ben precise adattate alle circostanze per delineare in maniera diversa tipologie di rischio diverse. Secondo lo standard ISO/IEC 27005, è più opportuno adottare un'analisi qualitativa come prima valutazione per identificare i rischi – i quali saranno in seguito ulteriomente analizzati – e in situazioni dove mancano informazioni e dati numerici adeguati o, in generale, risorse necessarie per un approccio statisticamente accettabile.
Analisi Quantitativa
Per richiamare nuovamente la chimica, un'analisi di tipo quantitativa è quel processo utilizzato per determinare la quantità (o concentrazione) di una determinata sostanza presente in un campione. Nel caso di risk analysis quantitativo, dei valori numerici derivati da più sorgenti sono assegnati sia all'impatto – ottenuto da una valutazione e processamento di più risultati di un evento oppure estrapolandolo da studi empirici o dati precedenti – che alla verosimiglianza. In questo caso. per avere un'alta accuratezza di analisi, risultano fondamentali l'accuratezza dei valori assegnati e la validità dei modelli statistici utilizzati. Le conseguenze possono essere espresse in termini differenti di criteri di impatto: monetario, tecnico, operazionale, umano.
Analisi Semi-Quantitativa
In un'analisi semi-quantitativa l'obiettivo è quello di cercare di assegnare dei valori alle scale utilizzate nel metodo qualitativo. Tali valori sono solitamente indicativi e non reali, il che è un prerequisito fondamentale dell'approccio quantitativo. Pertanto, poiché il valore attribuito a ciascuna scala non può essere una rappresentazione accurata dell'effettiva magnitudo dell'impatto o della verosimiglianza, i numeri utilizzati devono essere combinati esclusivamente utilizzando una formula che riconosca i limiti o le ipotesi formulate nella descrizione delle scale utilizzate. Infine, poichè i valori scelti potrebbero non riflettere adeguatamente le analogie tra i rischi, questo tipo di analisi può portare a varie incongurenze.
Come si evince da queste differenti tipologie di analisi, la specifica del livello di rischio non è univoca. Anzi, impatto e verosimiglianza possono essere espressi o combinati in diversi modi a seconda del tipo di rischio considerato e dell'obiettivo del processo di risk management.
Threat Modelling
Prima di procedere alla costruzione di un modello per il calcolo del rischio, è bene introdurre un'ultima componente di fondamentale importanza: il Threat Modelling. Possiamo definire quest'ultimo come un processo che mira a identificare ed enumerare potenziali minacce (vulnerabilità strutturali, assenza di appropriate misure, ecc.) e a dare una priorità per le possibili mitigazioni. Non a caso il threat modelling viene anche adottato nel processo di Vulnerability Assessment (VA) - di cui abbiamo parlato nella prima parte - e, in effetti, questo rappresenta un ulteriore punto in comune fra VA e RA. Combinato con il Risk Management / Risk Assessment, il threat modelling aiuta a rispondere a domande del tipo "Dove sono più vulnerabile ad attacchi?", "Quali sono le minacce più rilevanti?", "Cosa posso fare per mettermi al sicuro da tali minacce?".
In generale le minacce possono avere origini diverse: bisogna infatti considerare disastri di origine naturale (terremoti, alluvioni, ecc.) e industriali (inquinamento, contaminazione, guasti elettrici, ecc.), problemi causati da errori di progettazione e/o implementazione che hanno conseguenze negative per il sistema, minacce scaturenti da eventi accidentali (non intenzionali) e, infine, attacchi deliberati per ottenere un ingiusto vantaggio o con l'intenzione di causare danni. Oltre alla tipologia delle minacce, nel processo di threat modelling è importante valutare anche i cosiddetti threat agents (o actors), ovvero una terza parte che è responsabile per (o tenta di causare) danni a un'organizzazione – non a caso Sun Tzu afferma che è importante conoscere il proprio nemico, oltre che se stessi –, ed eventuali condizioni aggravanti o attenuanti – nell'ultima sezione dell'articolo ne vedremo alcuni esempi proposti dalla metodologia OWASP.
STRIDE
La metodologia STRIDE, sviluppata da Microsoft rappresenta una tra le opzioni più diffuse quando si tratta di threat modelling. L'approccio STRIDE si basa in cinque passi: identificazione degli obiettivi di sicurezza, indagine sull'applicazione, scomposizione dell'applicazione, identificazione delle minacce e identificazione delle vulnerabilità. L'acronimo STRIDE deriva da sei categorie di minacce principali, ciascuna delle quali vìola una specifica proprietà di sicurezza: Spoofing identity, Tamperig with data, Repudiation, Information disclosure, Denial of service, Elevation of privilege.
Per mettere in pratica la metodologia STRIDE si può pensare (modo più semplice) alla creazione di una tabella in cui per ogni asset si considera ognuna delle sei categorie di minaccia. A questo punto si procede a segnare nella tabella le minacce che potrebbero influenzare quella risorsa:
Asset | S | T | R | I | D | E |
---|---|---|---|---|---|---|
A1 | x | - | x | - | - | x |
A2 | - | x | x | x | x | - |
A3 | x | - | - | x | - | x |
In alternativa, si può optare a una classificazione più generale, complessa ed esaustiva, raggruppando le minacce per categoria e tenendo in considerazione anche altre informazioni, quali threat agent identificati, condizioni aggravanti o attenuanti e, infine, impatto stimato:
Altri approcci
Esistono numerosi approcci al threat modelling, ma oltre allo STRIDE ve ne sono altri tre che completano il quartetto più utilizzato in ambito industriale:
- PASTA: Process for Attack Simulation and Threat Analysis è un approccio incentrato sul rischio formato da sette fasi. Questa metodologia ha lo scopo di fornire una visione incentrata sull'attaccante, da cui i difensori possono sviluppare una strategia di mitigazione incentrata sulle risorse.
- Trike: l'obiettivo della metodologia Trike è l'utilizzo di modelli di minaccia come strumento di gestione del rischio. I modelli di minaccia si basano su un "modello dei requisiti". Il modello dei requisiti stabilisce il livello di rischio “accettabile” definito dagli stakeholder assegnato a ciascuna classe di attività. L'analisi del modello dei requisiti produce un modello di minaccia da cui vengono enumerate le minacce e assegnati i valori di rischio. Il modello di minaccia completato viene utilizzato per costruire un modello di rischio basato su asset, ruoli, azioni ed esposizione al rischio calcolata.
- VAST: Visual, Agile, and Simple Threat modelling mira a integrare la modellazione delle minacce all’interno di programmi di sviluppo Agile attraverso lo sviluppo di applicazioni, comprendendo l’intero ciclo di vita di sviluppo del software (SDLC).
OWASP Risk Rating Methodology
Avere un sistema per il calcolo del rischio universale sarebbe una cosa stupenda. Peccato che nella pratica, come abbiamo più volte ricordato, bisogna tenere in considerazione diversi fattori, i quali rendono questi processi altamente specifici su quei casi. In effetti, le metodologie per il risk analysis – e in generale per il risk assessment – sono solitamente molto generiche e lasciano libero spazio a personalizzazione. La metodologia OWASP per il Risk Rating, sebbene rappresenti una delle linee guida più semplici se confrontata con la letteratura, potrebbe costituire un buon punto di partenza per la costruzione di un modello di calcolo del rischio ad hoc. Poichè abbiamo introdotto tutti gli step preliminari, possiamo analizzare i fattori di default che la metodologia prende in considerazione nelle stime di impatto e verosimiglianza, per poi comprendere come determinare il livello di rischio. In questo caso, la scala utilizzata comprende valori che vanno da 0 a 9, dove 0 significa "tranquillamente trascurabile" e 9 "estremamente grave". Per semplicità, riportiamo di seguito solamente i fattori e non l'enumerazione dei possibili valori che questi possono assumere – comunque riportati nella pagina ufficiale.
Fattori per la stima della verosimiglianza
Per determinare il valore della verosimiglianza si effetta una media dei seguenti valori:
- Threat Agent Factors: l'obiettivo è stimare la verosimiglianza di un attacco di successo da parte del threat agent – ricordiamo che questi può essere composto da più entità–, considerando lo scenario peggiore. I quattro fattori da tenere in considerazione sono: Skill Level, Motive, Opportunity, Size.
- Vulnerability Factors: l'obiettivo è stimare la verosimiglianza che la particolare vulnerabilità coinvolta venga scoperta e sfruttata, supponendo il threat agent sopra. I quattro fattori da tenere in considerazione sono: Ease of Discovery, Ease of Exploit, Awareness, Intrusion Detection.
Fattori per la stima dell'impatto
Per determinare il valore dell'impatto si effetta una media dei seguenti valori:
- Technical Impact Factors: l'obiettivo è stimare l'entità dell'impatto sul sistema in caso di exploit della vulnerabilità. I quattro fattori da tenere in considerazione sono: Loss of Confidentiality, Loss of Integrity, Loss of Availability, Loss of Accountability.
- Business Impact Factors: l'obiettivo è stimare l'entità dell'impatto sul sistema facendo considerazioni di natura prettamente socio-economica, in termini legali e di conformità. I quattro fattori da tenere in considerazione sono: Financial Damage, Reputation Damage, Non-compliance, Privacy Violation.
Ovviamente per migliorare questo modello "base", è possibile aggiungere ulteriori fattori, aggiornare in maniera più dettagliata alcune classi di informazione, utilizzare delle metriche con pesi differenti e considerare minacce, impatto e verosimiglianza in base al caso specifico. Inoltre, trattandosi di processi ciclici, i modelli possono (e dovrebbero) essere aggiornati di volta in volta prima di poter ottenere un'analisi più accurata possibile.
Calcolo del rischio
In base al valore che abbiamo stimato per impatto e verosimiglianza, è possibile discretizzare entrambi i valori ottenuti nella scala 0-9 in LOW, MEDIUM e HIGH come mostrato in figura:
A questo punto verrà più semplice ricavare una stima del livello di rischio secondo la formula "standard" per la quale il rischio è direttamente proporzionale a impatto e verosimiglianza:
OWASP Risk Rating Calculator
Una volta definito il modello, è ovviamente possibile implementare un piccolo tool interattivo che mostri i valori su un grafico. Un esempio open source – e valida alternativa a un classico foglio di calcolo – è l'OWASP Risk Assessment Calculator implementato secondo la metodologia OWASP da Javier Olmedo:
Conclusioni
In questa seconda parte abbiamo completato la panoramica dei principali concetti e fattori che concorrono in un processo di Risk Assessment, evidenziando l'importanza della fase di Risk Analysis e del Threat Modelling. Abbiamo infine riportato un esempio di calcolo del livello di rischio secondo la metodologia OWASP, la quale, nonostante sia molto semplificata e non tenga in considerazione dettagli specifici circa le risorse e le minacce in sè, offre certamente uno spunto iniziale per la definizione di un modello ad hoc.
Per concludere, se state pensando che l'obiettivo finale del processo di risk management sia quello di portare il livello del rischio a 0, bisogna puntualizzare che non ha senso parlare di "rischio 0": lo scopo è infatti raggiungere un livello di rischio minimo e trascurabile o, in altri termini, accettabile per il contesto definito.
References
- AURA: https://github.com/tsumarios/AURA-MSc-Thesis
- ISO/IEC 27005, Information technology - Security techniques - Information security risk management: https://www.iso.org/standard/75281.html
- MAGERIT, Book I: The Method: https://www.pilar-tools.com/magerit/index.html
- OWASP Risk Rating Methodology: https://owasp.org/www-community/OWASP_Risk_Rating_Methodology
Cover page credits: Business vector created by stories on Freepik