• Non ci sono risultati.

1 Information Security Risk Management

1.1 A pprocci per il processo di valutazione dei rischi

1.1.3 Approccio ibrido

Quest’ultimo approccio è una sorta di combinazione degli altri due visti precedentemente: infatti, fa uso di strumenti qualitativi per raccogliere le informazioni (identificare i vari rischi, calcolare la frequenza, l’impatto di un evento dannoso, i fattori d’esposizione e di collusione), e di strumenti qualitativi per le valutazioni monetarie; in poche parole, questo metodo cerca di unire i benefici dell’uno e dell’altro approccio.

Capitolo 2

Attack Trees

Gli attack trees rappresentano uno strumento qualitativo largamente utilizzato per l’individuazione degli scenari d’attacco: rappresentano e analizzano i vari modi attraverso i quali un sistema può essere sottoposto ad un attacco; grazie ad essi è possibile mettere in evidenza le vulnerabilità del sistema in questione in modo da poter individuare le contromisure necessarie a contrastare gli attacchi stessi.

2.1 Struttura degli attack trees

In questa sezione analizzeremo la struttura degli attack trees:

• La radice di un attack tree rappresenta l’obiettivo finale dell’attaccante, ad esempio: rubare dei dati riservati, compromettere il sistema informativo di un’impresa, violare un DB remoto;

• I vari nodi figli scompongono l’obiettivo in un insieme di mini obiettivi che rappresentano i vari modi con i quali è possibile raggiungere l’obiettivo finale, o la serie di passi che l’attaccante deve compiere per raggiungere il suo obiettivo.

Gli attack trees sono un tipo di alberi con una struttura del tipo AND/OR nella quale:

¾ I nodi AND rappresentano l’insieme di passi che l’attaccante deve compiere per arrivare all’obiettivo; nell’albero sono rappresentati da una linea orizzontale che taglia gli archi verso i nodi figli;

¾ I nodi OR rappresentano invece, i diversi modi tramite i quali si può raggiungere lo stesso obiettivo.

Figura 2.1: Struttura di un attack tree.

2.2 Creazione di un attack tree

Gli attack trees sono degli strumenti qualitativi utilizzati nel processo di Information Security Risk Management dopo lo studio delle caratteristiche del sistema, di individuazione delle minacce e delle vulnerabilità.

Adesso andiamo a vedere quali sono i passi da seguire per la creazione di un attack tree. La prima cosa da fare è individuare tutte le risorse, le quali rappresentano i possibili obiettivi, e per ognuna di essi creare un albero differente;

successivamente, in base alle minacce e vulnerabilità individuare, vengono creati i vari scenari d’attacco i quali verranno poi ampliati con i vari metodi tramite i quali è possibile raggiungere l’obiettivo.

Vediamo adesso un

esempio

nel quale analizziamo lo scenario che si potrebbe verificare in caso di sabotaggio del sistema IT di un’azienda.

Figura 2.2: Esempio di attack tree.

Come possiamo vedere dall’albero rappresentato, esistono due possibilità per sabotare il sistema IT dell’azienda: o agire fisicamente sul sistema o tramite un attacco informatico dalla rete; nel primo caso, l’attaccante deve entrare nei locali dell’impresa (superando i sistemi d’allarme, passando in controllo delle guardie e superando la porta di sicurezza) e danneggiare i macchinari; nel secondo caso, l’attaccante può lanciare un attacco DoS oppure iniettare un virus.

Dopo aver creato l’attack tree, si procede all’

etichettatura

dello stesso con lo scopo di aggiungere maggiore semantica allo scenario; in questo modo, infatti, sarà possibile valutare quali attacchi avranno più probabilità di verificarsi e quali no.

Esempi di etichette possono essere rappresentate dal costo associato all’attacco, la percentuale di successo, l’utilizzo di attrezzature speciali, ecc.

Procediamo all’etichettatura del nostro attack tree aggiungendo le etichette AS e SAS per indicare rispettivamente, “attrezzature speciali” e “senza attrezzature speciali”.

Figura 2.3: Esempio di etichettatura dell’attack tree con l’attrezzatura utilizzata dall’attaccante: AS (attrezzature speciali), SAS (senza attrezzature speciali).

Si inizia ad etichettare l’albero dalle foglie; nel nostro esempio, etichettiamo la foglia “Superare i sistemi d’allarme” con AS in quanto è pensabile che questa operazione richieda attrezzature speciali; la stessa cosa vale per la foglia “Superare la porta di sicurezza”. Per quanto riguarda invece “Passare il controllo delle guardie”, etichettiamo questa foglia con SAS perché questa operazione non richiede attrezzature speciali. Passiamo adesso all’etichettatura del nodo AND “Entrare nei locali aziendali”: riguardo a ciò possiamo affermare che, dal momento che almeno un figlio di tale nodo richiede attrezzature speciali, e dovendo essere eseguite tutte e tre le operazioni, il nodo padre deve essere etichettato con AS, ovvero “Entrare nei locali aziendali” richiede attrezzature speciali. Se si fosse invece trattato di un nodo OR, avremmo etichettato il padre con SAS, perché almeno uno dei figli è etichettato SAS. Quindi, in generale si ha:

nodo Almeno un figlio Padre

AND AS AS

OR SAS SAS

nodo Tutti i figli Padre

AND SAS SAS

OR AS AS

Tabella 2.1: Etichette dei nodi padre.

Grazie a questo tipo di etichetta è possibile stabilire quali attacchi possono essere attuati da chiunque e quali, invece, richiedono dei requisiti particolari.

Un altro tipo di etichetta che viene molto utilizzata è rappresentata dal

costo

che l’attaccante deve sostenere:

Figura 2.4: Esempio di etichettatura dell’attack tree con il costo che l’attaccante deve sostenere.

Anche per il costo, si procede all’etichettatura dalle foglie in su; dopo aver etichettato tutte le foglie, si etichettano i nodi padre in base al tipo: l’etichetta di un nodo AND è data dalla somma dei costi dei nodi figli, mentre l’etichetta di un nodo OR è data dal costo più piccolo dei nodi figli.

Nell’esempio, entrare nei locali aziendali ha un costo pari a 9.000 € che è dato

dalla somma dei costi dei nodi figli (superare i sistemi d’allarme, passare il controllo delle guardie e superare la porta di sicurezza); mentre, si è assegnato il valore 150 € al nodo “sabotaggio remoto”, in quanto 150 € è il minor costo corrispondente a

“iniezione virus”.

L’ultimo esempio di etichetta proposto è rappresentato dalle

conoscenze

richieste per portare a termine l’attacco con successo ([1…5] 1= minime, 5=

approfondite):

Figura 2.5: Esempio di etichettatura dell’attack tree con le conoscenze richieste.

Come per i casi precedenti, si procede con l’etichettatura a ritroso dalle foglie alla radice; i nodi AND si etichettano con il valore più grande tra i figli, mentre i nodi OR con quello più piccolo.

Grazie all’uso di etichette è possibile avere maggiori informazioni sull’attacco ed è altresì possibile stabilire il tipo di nemici da cui difendersi: se ad esempio si teme l’attacco di un ladro qualsiasi, è molto probabile che questi scelga la strada per

se invece si temono attacchi da parte della concorrenza, ci si possono aspettare anche attacchi che richiedono costi sostenuti e conoscenze approfondite.

Figura 2.6: Strategia d’attacco che richiede costi minori.

Figura 2.7: Strategia d’attacco che richiede minori competenze.

Capitolo 3

Utilizzo degli indici quantitativi sugli attack trees

In questa sezione vedremo l’utilizzo degli attack trees come metodo quantitativo grazie all’utilizzo degli indici quantitativi discussi in precedenza; in particolare analizzeremo l’utilizzo degli attack trees in una doppia visione Difensore contro Attaccante.

3.1 Visione del difensore

La visione del difensore, dal punto di vista dell’impresa, permette di determinare i diversi scenari d’attacco a cui è soggetto il sistema IT, in modo da stabilire le contromisure più efficaci per fronteggiarli. Di seguito vedremo anche quali conseguenze ha la presenza di collusione nell’ambito di questa visione, conseguenze che saranno sicuramente negative per l’impresa.

A tal scopo, ci serviamo degli indici quantitativi definiti in precedenza:

ƒ

Asset Value (AV)

: valore monetario dell’asset;

ƒ

Fattore di Collusione (FC)

: indica la percentuale di complicità presente in un determinato attacco e viene stimato con metodi qualitativi in base al tipo d’attacco che viene analizzato;

ƒ

Exposure Factor (EF)

: livello d’esposizione di una risorsa ad un attacco;

ƒ

Exposure Factor in funzione della collusione (EF

FC

):

fattore d’esposizione in funzione del fattore di collusione:

EFFC = EF + FC – (EF * FC) ;

ƒ

Annualized Rate of Occurrence (ARO)

: frequenza con cui un evento dannoso si verifica nell’arco di un anno;

ƒ

Single Loss Exposure (SLE

FC

):

perdita derivante da una singola esposizione all’attacco relativamente al fattore di collusione: SLEFC= AV * EFFC

ƒ

Annualized Loss Expectancy (ALE):

perdita annua attesa derivante da un attacco e dal relativo fattore di collusione: ALE=

SLEFC * ARO.

Per gli attacchi formati da una serie di nodi OR, il calcolo dell’EFFC, SLEFC e dell’ALE dipende dai valori di EF, FC e ARO associati al nodo stesso, mentre nel caso di attacchi formati da nodi AND, si trasforma l’albero in forma normale disgiunta e si calcolano i valori della congiunzione che verranno rappresentati sul solo nodo AND.

Figura 3.1: Etichettatura dell’attack tree con gli indici.

Vediamo ora un esempio di scenario d’attacco:

“Furto dei dati di un’impresa memorizzati all’interno di un server”.

Figura 3.2: Scenario d’attacco base.

Un attaccante potrebbe agire in due modi: rubare i dati memorizzati all’interno del server o rubare fisicamente la macchina server; ampliamo entrambi gli scenari:

Nel caso di furto dei dati:

Figura 3.3: Scenario d’attacco nel caso di furto dei dati memorizzati.

Nel caso di furto del server:

Figura 3.4: Scenario d’attacco nel caso di furto del server.

Trasformiamo l’attack tree in forma normale disgiunta per poter calcolare gli indici del nodo and:

Figura 3.5: Attack tree della figura 3.4 trasformato in forma normale disgiunta.

Procediamo con il calcolo degli indici per ogni strategia d’attacco ipotizzando che il valore del server (AV), più le informazioni in esso contenute, è stimato pari a

100.000 €:

Attacco EF FC EFFC ARO SLE ALE 1) Furto dei dati memorizzati grazie

ai permessi rubati ad un utente con diritti di root

80% 5% 81% 0,09 81.000 € 7.290 €

2) Furto dei dati memorizzati grazie ai permessi ottenuti corrompendo un utente con diritti di root

70% 3% 71% 0,09 71.000 € 6.390 €

3) Furto dei dati memorizzati grazie al possesso dei permessi di root

90% 0% 90% 0,40 90.000 € 36.000 €

4) Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità del DB online

85% 25% 89% 0,08 89.000 € 7.120 €

5) Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità del server di posta

82% 25% 86% 0,68 86.000 € 58.480 €

6) Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei server sfondando la porta e uscendo inosservati dal palazzo

40% 35% 61% 0,10 61.000 € 6.100 €

7) Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei server, aprire la porta con le chiavi e uscendo inosservati dal palazzo

40% 37% 62% 0,10 62.000 € 6.200 €

Tabella 3.1: Valori delle etichette.

Vediamo un po’ più in dettaglio come abbiamo valutato il fattore di collusione: nel caso dell’attacco 1, “furto dei dati memorizzati grazie ai permessi rubati ad un utente con diritti di root”, stimiamo un fattore di collusione basso, del 5%, in quanto l’attacco è relativamente semplice e non richiede la presenza di molti complici.

Per quanto riguarda l’attacco 2, abbiamo stimato la collusione pari al 3% in quanto per mettere in atto questo attacco, l’attaccante necessita solo della complicità della vittima per ottenere i permessi.

Nel caso dell’attacco 3, abbiamo calcolato FC = 0% perché dal momento in cui è l’attaccante stesso a possedere i permessi, non serve la complicità di nessun altro.

Per quanto riguarda gli attacchi 4 e 5, l’attaccante potrebbe ingaggiare degli hackers che siano in grado di sferrare degli attacchi remoti, per cui assegniamo a FC un valore del 25%.

Nell’attacco 6, l’attaccante ha sicuramente bisogno di più complici per portare a termine l’attacco: ha certamente bisogno di qualcuno che gli permetta di entrare e uscire inosservato e di qualcuno che gli permetta di evadere i controlli presenti, quindi in questo caso abbiamo stimato un FC medio, pari al 35%.

Infine, l’attacco 7, similmente al 6 necessita di un elevato fattore di collusione:

entrare e uscire inosservati, ottenere le chiavi per aprire la porta ed evadere tutti i controlli… infatti, il fattore di collusione stimato è del 37%.

Andiamo adesso a scoprire quali sono le

contromisure

più appropriate per ogni strategia d’attacco.

Nel caso di furto di dati:

Figura 3.6: Individuazione delle contromisure per il furto di dati.

E nel caso di furto della macchina server:

Figura 3.7: Individuazione delle contromisure per il furto del server.

Dopo aver identificato tutte le possibili contromisure, si procede con

l’etichettatura

di queste ultime, in modo da stabilire la contromisura che riesce a mitigare il più possibile il livello di rischio.

Per far ciò ci serviamo delle seguenti etichette:

ƒ %SCC : indica il successo della contromisura nello scoraggiare l’attacco in presenza di collusione e si calcola come: %SC C = %SC * (1 – FC) dove %SC rappresenta il successo che avrebbe la contromisura in assenza di collusione e come detto in precedenza si calcola in funzione di due variabili: costo che l’attaccante deve sostenere per violare la contromisura e competenze necessarie; dopo aver stimato queste variabili, %SC si calcola come la media (costi, competenze).

ƒ

Costo contromisura:

indica il costo da sostenere per l’implementazione della contromisura;

ƒ

ROSI

(Return On Security Investment): è espresso in forma percentuale e permette di individuare le contromisure che riescono a mitigare gli effetti di un attacco nella maniera più economica possibile, tenendo conto dell’efficacia della contromisura, della perdita annuale che comporta l’attacco e del costo che l’azienda deve sostenere per implementare la contromisura in questione:

Vediamo invece come calcolare il ROSI in base ai tipi di nodi:

o Nel caso di nodi OR, il ROSI viene calcolato per ogni contromisura;

o Nel caso di nodi AND, bisogna calcolare il ROSI delle diverse combinazioni di contromisure.

Figura 3.8: Etichettatura delle contromisure.

Procediamo ora col calcolo delle etichette per ogni contromisura.

Attacco 1:

Furto dei dati memorizzati grazie ai permessi rubati ad un utente con diritti di root (ALE= 7.290 €, FC= 5%).

Tabella 3.2: Etichettatura delle contromisure per l’attacco 1.

Attacco 2:

Furto dei dati memorizzati grazie ai permessi ottenuti corrompendo un utente con diritti di root (ALE=6.390 €, FC= 3%).

Contromisure Costi

Tabella 3.3: Etichettatura delle contromisure per l’attacco 2.

Attacco 3:

Furto dei dati memorizzati grazie al possesso dei permessi di root (ALE= 36.000 €, FC=0).

Tabella 3.4: Etichettatura delle contromisure per l’attacco 3.

Attacco 4:

Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità del DB online (ALE=7.120 €, FC= 25%).

Contromisure Costi

Tabella 3.5: Etichettatura delle contromisure per l’attacco 4.

Attacco 5:

Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità del server di posta (ALE=58.480 €, FC= 25%).

Contromisure Costi

Tabella 3.6: Etichettatura delle contromisure per l’attacco 5.

Attacco 6:

Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei server sfondando la porta e uscendo inosservati dal palazzo (ALE=6.100 €, FC= 35%).

1° Combinazione:

Tabella 3.7: Etichettatura della prima combinazione di contromisure per l’attacco 6.

Per calcolare il ROSI di queste 2 contromisure, bisogna innanzitutto calcolare la percentuale di successo dell’unione delle due:

%SCCtot=%SCC1+%SCC2 – (%SCC1 * %SCC2) = 0,47+0,31 – (0,47 * 0,31)= 63%

e in seguito calcolare il costo totale:

Costotot= costo1 + costo2= 1.300 + 1.800 = 3.100 € Quindi, il ROSI sarà:

2° Combinazione:

Calcoliamo la percentuale di successo dell’unione:

%SCCtot=%SCC1+%SCC2 – (%SCC1 * %SCC2) = 0,55+0,31 – (0,55 * 0,31) =69%

e il costo totale:

Costotot= costo1 + costo2= 12.000 + 1.800 = 13.300 € Quindi, il ROSI sarà:

Quindi possiamo dedurre che conviene implementare la 1° combinazione di contromisure.

Attacco 7:

Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei server, aprire la porta con le chiavi e uscendo inosservati dal palazzo (ALE=6.200 €, FC= 37%).

1° Combinazione:

Tabella 3.9: Etichettatura della prima combinazione di contromisure per l’attacco 7.

Calcoliamo la percentuale di successo dell’unione:

%SCCtot=%SCC1+%SCC2 – (%SCC1 * %SCC2) = 0,46+0,58 – (0,46 * 0,58) =77%

e il costo totale:

Costotot= costo1 + costo2= 1.800 + 2.000 = 3.800 €

Quindi, il ROSI sarà:

2° Combinazione:

Contromisure Costi attaccante

Competenze attaccante

%SC %SCC Costo

Assumere un agente

all’ingresso 0.90 0.80 85% 54% 12.000 €

Utilizzare una serratura con tessera magnetica

0.90 0.95 93% 58% 2.000 €

Tabella 3.10: Etichettatura della seconda combinazione di contromisure per l’attacco 7.

Calcoliamo la percentuale di successo dell’unione:

%SCCtot=%SCC1+%SCC2 – (%SCC1 * %SCC2) = 0,54+0,58 – (0,54 * 0,58) =81%

e il costo totale:

Costotot= costo1 + costo2= 12.000 + 2.000 = 14.000 € Quindi, il ROSI sarà:

quindi possiamo affermare che anche qui conviene implementare la 1°

combinazione di contromisure.

A questo punto, siamo in grado di selezionare, per ogni attacco, la contromisura migliore in termini di efficienza e costo: ovvero quella che presenta il ROSI più elevato:

Attacco Contromisura selezionata ROSI

Furto dei dati memorizzati grazie ai permessi

rubati ad un utente con diritti di root Cambiare la password

periodicamente 39%

Furto dei dati memorizzati grazie ai permessi ottenuti corrompendo un utente con diritti di root

Cambiare la password

periodicamente 38%

Furto dei dati memorizzati grazie al possesso

dei permessi di root Motivare il personale 50%

Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità del DB online

Controllare la validità degli

script 28%

Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità del server di posta

Utilizzare un software

antivirus 58%

Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei server sfondando la porta e uscendo inosservati dal palazzo

Installare telecamere +

Installare una porta blindata

8%

Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei server, aprire la porta con le chiavi e uscendo inosservati dal palazzo

Installare telecamere +

Utilizzare una serratura con tessera magnetica

10%

Tabella 3.11: ROSI per ogni strategia d’attacco.

Le contromisure sopra elencate sono quelle che l’azienda adotterà, in quanto è emerso dall’analisi dei rischi essere quelle che riescono nel miglior modo e il più economico possibile a scoraggiare un attaccante.

3.2 Visione dell’attaccante

In questa sezione, mettendoci nei panni dell’attaccante, ci proponiamo di stabilire quale attacco è più vantaggioso in termini di guadagno, tenendo conto della sua efficacia nel violare la misura di sicurezza e dei costi sostenuti per portare a termine l’attacco; l’albero utilizzato in questa visione è lo stesso usato dal difensore, cioè l’impresa, con l’unica differenza delle etichette, che in questo caso sono:

• Il

guadagno

(gain) atteso da un attacco portato a termine con successo;

• Il

costo

associato ad ogni attacco che l’attaccante o gli attaccanti collusi devono sostenere;

Vediamo come si ottiene il costo in base al tipo di nodi:

¾ Per i nodi OR, il costo è dato dal costo associato alla foglia;

¾ Per i nodi AND, il costo complessivo è dato dalla somma dei costi associati ai nodi che lo compongono.

Figura 3.9: Etichettatura dell’attack tree con i costi per l’attaccante.

• Il

rischio

(%RA) per gli attaccanti di essere sorpresi nell’attacco; per calcolare questo indicatore sull’albero, nel caso di nodi OR, il valore di %RA è quello associato al nodo stesso, mentre nel caso di nodi AND, si deve trasformare l’albero in forma normale disgiunta e calcolare il valore %RA della congiunzione (come nel caso dell’EF, FC, ALE, ARO e SLE).

Procediamo adesso all’etichettatura delle

contromisure

, la quale ha lo scopo di valutare quale strategia d’attacco è più vantaggiosa per l’attaccante.

Le etichette che utilizzeremo per questo scopo sono:

%SA

: il successo dell’attaccante nel violare la contromisura in assenza di collusione: %SA = 1 - %SC;

%SA

C: l’efficacia di più attaccanti collusi: %SA C = 1- %SCC .

ROA

(Return On Attack), il rendimento per l’attaccante tenendo conto dell’efficacia dell’attaccante (o inefficacia della contromisura):

Anche il calcolo del ROA, come per gli altri indici, varia in base al tipo di nodi:

ƒ Nel caso di nodi OR, si calcola il ROA per ogni contromisura presente;

ƒ Nel caso di nodi AND, si calcola il ROA delle varie combinazioni delle contromisure.

Figura 3.10: Etichettatura delle contromisure per l’attack tree dell’attaccante.

A questo punto, l’attaccante deve etichettare tutte le possibili contromisure (supponendo che per egli il guadagno sia stimato pari a 30.000 €):

Attacco CostoPre CostoPost %RA FC Contromisure %SCC %SAC ROA 1 3.000 € 7.000 € 15% 5% Cambiare la

2 7.000 € 10.000 € 22% 3% Cambiare la

+

3.12: Etichettatura delle contromisure per la visione dell’attaccante.

Dalla tabella emerge che gli attacchi telematici sono meno costosi e presentano una percentuale di rischio per l’attaccante nettamente minore rispetto agli attacchi fisici.

Poiché l’attaccante non può sapere quale di queste contromisure verrà adottata dall’impresa, si prende sempre in considerazione il caso peggiore: ovvero la contromisura che presenta il ROA più piccolo:

Attacco ROA Furto dei dati memorizzati grazie ai permessi rubati ad un utente con diritti di root 4%

Furto dei dati memorizzati grazie ai permessi ottenuti corrompendo un utente con diritti di root

-8%

Furto dei dati memorizzati grazie al possesso dei permessi di root 33%

Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità

del DB online 39%

Furto dei dati memorizzati attraverso un attacco remoto che sfrutti una vulnerabilità

del server di posta 35%

Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei

Rubare la macchina server entrando nei locali dell’impresa, entrando nella stanza dei

Documenti correlati