Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf ·...

35
Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 1 1 Analisi dei rischi: esercizi (esercizio 4) Marco Domenico Aime < m.aime @ polito.it > con la collaborazione di Marco Vallini < marco.vallini @ polito.it > Politecnico di Torino Dip. di Automatica e Informatica 2 Obiettivi modellazione di un sistema applicativo attraverso lo strumento Threat Analysis and Modeling Tool: 1. modellazione ruoli, dati, controllo accessi 2. modellazione scenari di utilizzo e interazioni 3. modellazione componenti applicativi 4. analisi del modello 5. identificazione delle minacce in base al modello 6. analisi delle minacce 7. assegnazione di un livello di rischio 8. selezione delle contromisure 9. documentazione

Transcript of Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf ·...

Page 1: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 1

1

Analisi dei rischi: esercizi

(esercizio 4)

Marco Domenico Aime< m.aime @ polito.it >

con la collaborazione di Marco Vallini< marco.vallini @ polito.it >

Politecnico di Torino

Dip. di Automatica e Informatica

2

Obiettivi

n modellazione di un sistema applicativo attraverso lo strumento Threat Analysis and Modeling Tool:

1. modellazione ruoli, dati, controllo accessi

2. modellazione scenari di utilizzo e interazioni

3. modellazione componenti applicativi

4. analisi del modello

5. identificazione delle minacce in base al modello

6. analisi delle minacce

7. assegnazione di un livello di rischio

8. selezione delle contromisure

9. documentazione

Page 2: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 2

3

Sommario

1. panoramica sullo strumento

2. esempio di utilizzo

3. esercizi

4

Strumento

n Threat Analysis and Modeling Tool v.2.1

n sviluppato dal team Application Consulting & Engineering (ACE) originalmente per l'utilizzo interno a Microsoft

n home: http://msdn.microsoft.com/en-us/security/aa570413.aspx

n blog ACE: http://blogs.msdn.com/ace_team/

n scaricabile liberamente

n download: http://www.microsoft.com/downloads/details.aspx?familyid=59888078-9daf-4e96-b7d1-944703479451&displaylang=en

Page 3: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 3

5

Strumento

n documentazione (via Help menu):

n manuale distribuito con il tool

n “Getting Started.rtf”

n video (più completi del manuale)

n esempio distribuito con il tool

n “IBuySpy.atmx”

n online community

n http://go.microsoft.com/fwlink/?LinkId=77002

6

Panoramica sullo strumento

n come prima cosa eseguite il tool e aprite il progetto “lab04ex.atmx”:

n contiene un semplice esempio da cui partire per svolgere l'esercitazione

n si tratta di una versione semplificata dell'esempio allegato al tool (“IBuySpy.atmx”)

Page 4: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 4

7

Elementi principali

n modellazione dell'applicazione:

n ruoli e identità

n dati

n componenti dell'applicazione

n scenari (use case)

n libreria di attacchi

n minacce

n strumenti di analisi

n report

8

Ruoli

n utenti:

n identificano le categorie di utenti che interagiscono con l’applicazione

n es. amministratori, utenti non registrati, utenti registrati

n servizi:

n utilizzati per rappresentare con quale identità viene eseguita una certa operazione svolta da un componente

n es. identità usata da un particolare web-service per interrogare il database

Page 5: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 5

9

Ruoli

10

Ruoli

n per ogni ruolo è possibile specificare informazioni aggiuntive quali:

n una descrizione testuale

n numero approssimato di identità con questo ruolo

n meccanismo di autenticazione usato

n una lista di specifiche identità (tasto destro mouse)

Page 6: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 6

11

Ruoli

n le informazioni aggiuntive sono opzionali e non influenzano il processo di analisi automatica

n sono però disponibili ad eventuali plug-in per il calcolo dei livelli di rischio

n via menù Tools -> Options -> Plugins

n cfr. la successiva discussione sull'assegnazione del livello di rischio

n la lista dei metodi di autenticazione e la scala di numerosità delle identità sono configurabili

n via menù Tools -> Options -> Metadata Editor

12

Dati

n identificano:

n informazioni persistenti (es. basi dati)

n informazioni scambiate tra gli elementi dell'applicazione

n è possibile specificare:

n descrizione testuale

n una classificazione dei dati

n la matrice di accesso:

n ruoli - dati - permessi CRUD

Page 7: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 7

13

Dati

14

Dati

n opzioni di classificazione dati:

n personalizzabili via menù Tools -> Options -> Metadata Editor

n non influenzano l'analisi automatica

n matrice di controllo accesso (ACL):

n non influenza l'analisi automatica

n utile per avere un quadro riassuntivo dei permessi legati ai vari dati gestiti dall'applicazione

n via menù Analytics / Data Access Control Matrix

n entrambe disponibili ai plug-in per il calcolo dei livelli di rischio

Page 8: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 8

15

Controllo accesso ai dati

16

Componenti

n rappresentano gli elementi software che costituiscono l’applicazione

n es. sito web, web service, dbms, browser, ...

n è possibile specificare:

n descrizione testuale

n tipo del componente e tecnologia usata

n identità del componente

n ruoli

n dati

n caratteristiche comportamentali rilevanti

n sotto-componenti (tasto destro mouse)

Page 9: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 9

17

Componenti

18

Componenti

n tipo del componente e tecnologia usata

n personalizzabili via menù Tools -> Options -> Metadata Editor

n non influenzano l'analisi automatica

n identità

n specifica l'identità di default associata al componente

n come vedremo meglio in seguito, un componente può anche impersonare l'identità del chiamante

Page 10: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 10

19

Componenti

n ruoli

n i ruoli che possono interagire con il componente

n definiscono il controllo accessi per componente

n utile per avere un quadro riassuntivo dei permessi legati all'uso dei vari componenti dell'applicazione

n via Analytics -> Component Access Control Matrix

n dati

n dati persistenti presso il componente

n un componente con uno o più dati persistenti è considerato un datastore

20

Controllo accesso componenti

Page 11: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 11

21

Componenti

n caratteristiche comportamentali rilevanti

n sono un elemento fondamentale dell'analisi

n permettono di identificare le classi di minacce che interessano un componente

n le opzioni sono definite come parte di una libreria di attacchi predefinita

n importabile/esportabile via Tools -> Attack Library

n una libreria di default è distribuita con il tool

22

Componenti

n sotto componenti (object)

n permettono la decomposizione di un componente in sotto componenti

n max 2 livelli

Page 12: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 12

23

Dipendenze esterne

n è possibile modellare le dipendenze dell'applicazione da componenti esterni

n sono componenti con cui l'applicazione interagisce ma che sono fuori dal nostro controllo

24

Scenari (use case)

n descrivono gli scenari di interazione propri dell’applicazione (coreografia)

n scenari costituiti da una sequenza di interazioni che relaizzano un sottoinsieme delle matrici di accesso (dati e componenti)

n in genere bidirezionali

n ogni interazione specifica:

n l'interazione tra una coppia di componenti dell'applicazione

n il flusso di informazioni scambiate, in ambo le direzioni

Page 13: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 13

25

Scenari (use case)

n per ogni scenario è possibile specificare:

n descrizione testuale

n lista dei ruoli che interagiscono nello scenario

n obiettivi a livello business interessati

n effetto globale sui dati

n lista di interazioni (tasto destro mouse)

26

Scenari

Page 14: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 14

27

Scenari (use case)

n lista dei ruoli

n la consistenza con gli elementi effettivamente coinvolti nella lista di azioni non è mantenuta

n pertanto non ha influenza sull'analisi

n obiettivi di business

n lista configurabile nella sezione “Business Objectives”

n non influenza l'analisi automatica

n effetto globale sui dati

n non sincronizzato con la lista di azioni

n pertanto non influenza l'analisi

28

Interazioni (Call)

n per ogni interazione è possibile specificare:

n chiamante e chiamato

n descrizione testuale

n se un componente assume l'identità del chiamante nell'eseguire l'interazione

n i dati scambiati in ambo le direzioni

n l'effetto dell'interazione in termini di operazioni CRUD sui dati gestiti dall'applicazione

n la consistenza tra le varie informazioni non è forzata dal tool, ma sono disponibili alcuni aiuti per rilevare inconsistenze

Page 15: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 15

29

Interazioni

30

Interazioni (Call)

n impersonificazione identità:

n si applica solo ai componenti

n indica il fatto che un componente può impersonare l'identità del chiamante nell'eseguire un'interazione

n es. applicazione che usa le credenziali utente per accedere al database (controllo accessi presso il database) VS usa sempre la propria identità (controllo accessi presso l'applicazione)

n usata per analizzare il trust flow

n cfr. sezione successiva su trust flow

n al momento non influenza l'analisi automatica

Page 16: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 16

31

Scenari (use case)

n è possibile analizzare la composizione delle azioni relative ad uno scenario attraverso varie viste:

n call flow: grafo delle azioni

n ogni arco rappresenta un'interazione

n data flow: flusso dati

n ogni arco rappresenta un dato scambiato in un'interazione

n trust flow:

n ogni arco rappresenta un ruolo/identità che il chiamante assume nell'invocare un'interazione

n subject object matrix

32

Call flow

n utile per avere un quadro riassuntivo delle interazioni previste dall'applicazione

n anche per l'intera applicazione via Visualizations -> Call Flow

Page 17: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 17

33

Call flow

34

Data flow

n utile per avere un quadro riassuntivo del flusso di informazioni previsto dall'applicazione

Page 18: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 18

35

Trust flow

n utile per individuare le identità realmente usate nell'accesso ai dati e invocazione operazioni

n permette di identificare possibili minacce di tipo aumento di privilegi

n unsate per la vista Visualizations -> Attack Surface

n al momento non influenza l'analisi automatica

36

Subject Object Matrix

n utile per visualizzare in forma tabellare tutte le azioni previste dall'applicazione

n via Analytics -> Subject Object Matrix

n questa vista fornisce un controllo di consistenza incrociando la descrizione delle azioni e il controllo accessi definito sui componenti

n segnalando le interazioni non esplicitamente permesse nella definizione dei componenti

Page 19: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 19

37

Subject Object Matrix

38

Generazione automatica degli scenari

n il tool è in grado di generare automaticamente un template di scenari:

n via Tools -> Generate Use Cases

n a partire dalla definizione del controllo accessi sui dati

Page 20: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 20

39

Libreria di attacchi

n contiene:

n una lista di caratteristiche comportamentali dei componenti (relevancies)

n una lista di categorie di minacce in termini di:

n tipo di attacco

n lista di caratteristiche comportamntali che determinano la possibilità di attacco

n vulnerabilità sfruttate

n possibili rimedi per rimuovere una vulnerabilità

40

Libreria di attacchi

n il tool fornisce una liberia di default che elenca classi di attacchi comuni

n indipendenti dalla specifica piattaforma applicativa

n è possibile personalizzare la libreria e esportarla

n aggiungere/rimuovere caratteristiche e attacchi

n aggiungere descrizione di vulnerabilità e contromisure

Page 21: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 21

41

Libreria

di attacchi

42

Libreria di attacchi

n per ogni attacco è possibile specificare:

n la lista delle caratteristiche rilevanti

n descrizione testuale

n note su come rilevare la potenziale vulnerabilità all'attacco

n per ogni vulnerabilità è possibile specificare:

n descrizione testuale

n note su come rilevare la presenza della vulnerabilità

n per ogni contromisura è possibile specificare:

n descrizione testuale

n note su come implementare la contromisura

Page 22: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 22

43

Minacce

n il tool genera automaticamente una lista di possibili minacce in base al modello dell'applicazione

n via Tools -> Generate Threats

n per ogni interazione il tool genera:

n una minaccia relativa alla riservatezza

n una minaccia relativa all'integrità

n unam minaccia relativa alla disponibilità

n la lista generata è poi personalizzabile

n cancellazione minacce (tasto destro mouse)

n aggiunta di nuove minacce relative ad una delle tre proprietà CIA

44

Minacce

n ad ogni minaccia è associata:

n un'interazione all'interno di uno scenario

n descrizione testuale

n la selezione dei fattori primari della minaccia

n un livello di rischio

n una decisione di trattamento del rischio e giustificazione testuale

n una lista di possibili contromisure

Page 23: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 23

45

Minacce

46

Minacce

n fattori primari di minaccia

n descrivono l'impatto della minaccia

n identificando in pratica delle sotto categorie di minacce

n variano in base alla classe principale CIA

n per alcuni è necessario fornire una caratterizzazione attraverso una descrizione testuale

Page 24: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 24

47

Minaccen riservatezza

n esposizione dell'identità (del chiamante)

n esposizione dei dati (ricevuti)

n integrità

n violazione del controllo accessi

n violazione di una regola di business (+ descrizione regola)

n violazione dell'integrità dei dati (ricevuti)

n disponibilità

n non disponibilità (+ descrizione condizione)

n degradazione delle performance (+ descrizione requisito)

48

Minacce

n nota:

n al momento non è possibile specificare esplicitamente l'impatto in termini di elementi del modello

n es. specificando il dato esposto o la violazione di accesso

Page 25: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 25

49

Rischio

n livello di rischio:

n di base è possibile specificare il livello di impatto in [1,3] e il livello di probabilità in [1,3]

n il tool calcola il rischio come impatto x probabilità

n è possibile selezionare altri metodi di calcolo del rischio attraverso plugin

n via Tools -> Options -> Plugins

n distribuito con il tool un plugin che usa la metodologia DREAD

50

Rischio

n trattamento (response):

n scelta tra:

n evitare

n ridurre

n trasferire

n accettare

n nessuna

n la scelta può essere giustificata attraverso una descrizione testuale

Page 26: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 26

51

Contromisure

n contromisure:

n è possibile elencare per ogni minaccia una lista di possibili contromisure utili a ridurre il rischio

n le contromisure disponibili sono quelle elencate nella libreria di attacchi

n sono suggerite automaticamente dal tool incrociando la descrizione degli attacchi in libreria e le caratteristiche (relevancies) del componente coinvolto nell'azione

n via Tools -> Refresh Countermeasures (oltre che via Tools -> Generate Threats)

52

Contromisure

n nota:

n al momento il tool gestisce unitamente l'associazione di attacchi, vulnerabilità e contromisure

n non è possibile specificarle separatamente

n interpretazione (non forzata da tool):

n la presenza di una voce indica la presenza della corrispondente vulnerabilità e quindi la possibilità attacco

n la selezione di una voce indica che si è scelto di implementare la contromisura, rimuovendo così la vulnerabilità

Page 27: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 27

53

Threat tree

n è possibile visualizzare un sorta di attack tree contenente minacce e attacchi

n via Visualizations -> Threat tree

n l'albero include

n una minaccia

n i possibili attacchi con relative vulnerabilità e contromisure

n nota:

n al momento l'associazione è in effetti basata sulla lista di contromisure associate alla minaccia

Page 28: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 28

55

Report

n il tool permette di generare tipologie di report con informazioni e livello di dettaglio diversi tra cui:

n Risk Report : minacce e rischi per chiamata

n Design/Operations Team Report : modello app

n Development Team: modello app + note di implementazione per ogni contromisura

n Test Team Report : lista attacchi + informazioni per il test

n Comprehensive Report : modello app + lista contromisure per minaccia

56

Report per l’analisi dei rischi

n generato via Reports -> Risk Owners Report

n contiene informazioni sintetiche sul livello di rischio a cui sono esposti i dati

n contiene per ogni scenario (e relative azioni):

n le categorie di minacce

n il livello di rischio

n il trattamnto scelto

Page 29: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 29

57

Report rischi - Esempio

58

Report di sviluppo

n generato via Reports -> Development Team Report

n contiene una sintesi delle informazioni definite per i componenti dell’applicazione

n suggerisce al progettista/sviluppatore le contromisure da adottare per contrastare gli attacchi

n attraverso l’utilizzo di esempi e best-practice, suggerisce come implementare le contromisure

n sono informazioni estratte dalla libreria di attacchi

Page 30: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 30

59

Esempio

n report di sviluppo:

sintetica descrizione del componente

suggerimenti utili all'implementazione della contromisura

60

Report di riepilogo

n generato via Reports -> Comprehensive Report

n contiene una sintesi per ciò che riguarda:

n i ruoli definiti

n i componenti

n i dati, in particolare la matrice di accesso ai dati e le operazioni che possono essere svolte

n gli scenari con rappresentazione testuale e grafica

n le categorie di minacce e relativi attacchi

Page 31: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 31

62

Esercitazione

1. modificare l’esempio fornito per adeguarlo alle nuove specifiche

2. analisi delle nuove minacce

3. selezione delle contromisure

4. generazione del report

Page 32: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 32

63

Esempio fornito: contesto

n si consideri il seguente esempio di applicazione web-based:

n due tipologie di utenti:

n utente non registrato

n amministratore

n gli utenti possono visualizzare le informazioni dei prodotti di un catalogo elettronico

n l’amministratore può inserire un nuovo prodotto nel catalogo

64

Esempio fornito: attori

n Il sistema è composto da:

n sito web che interagisce direttamente con gli utenti (non è previsto l’utilizzo del protocollo HTTPS)

n database server contenente informazioni sui prodotti

n web-service che interagisce con il database server per ottenere le informazioni

n admin web-service usato dagli amministratori per inserire un nuovo prodotto nel catalogo: questo servizio utilizza il protocollo HTTPS

n admin client, ovvero applicazione specifica che consente all’amministratore di inserire i nuovi prodotti, utilizza HTTPS

Page 33: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 33

65

Esempio fornito: funzionamento

n gli utenti interagiscono con il sito web

n il sito web interagisce con un web-service per ottenere le informazioni sui prodotti

n il web-service esegue delle query SQL sul database per ottenere le informazioni del catalogo

66

Esempio fornito: minacce

n use case: aggiunta di nuovi prodotti al catalogo

n la postazione client dell’amministratore interagisce con il web-site, il canale è protetto da SSL

n minacce relative alle tre categorie CIA

n “Unauthorized disclosure of <inserimento delle informazioni nuovo prodotto> using <admin client>”

n gli amministratori utilizzano un'applicazione locale:

n probabilità e rischio bassi

n nessun attacco considerato (non sono elencate contromisure)

n trattamento: accettare

Page 34: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 34

67

Esempio fornito: minacce

n Unauthorized disclosure of <invio delle informazioni> using <admin web-service>

n l'interazione può attraversare segmenti di rete non fidati

n probabilità e rischio medio/alti

n attacchi Man in the middle e cattura del traffico:

n la decisione è di ridurre il rischio utilizzando SSL/TLS per proteggere l'interazione

n alcuni attacchi sono invece accettati:

n es. SQL injection

68

Esempio fornito: minacce

n Ineffective execution of <invio delle informazioni> using <admin web-service>

n idealmente un amministratore dovrebbe sempre poter aggiornare il catalogo, ma i prodotti non sono real-time quindi l'impatto è basso

n impatto e rischio bassi

n attacchi DoS sono possibili:

n la decisione è di accettarli

n nota: le minacce rimanenti, generate automaticamnte dal tool, non sono state personalizzate

Page 35: Analisi dei rischi: esercizi (esercizio 4) - TORSECsecurity.polito.it/~lioy/01jem/lab04.pdf · Analisi dei rischi - lab04 (lab04 - maggio'09) © Marco Domenico Aime (2009) 6 11 Ruoli

Analisi dei rischi - lab04 (lab04 - maggio'09)

© Marco Domenico Aime (2009) 35

69

Modifiche

n si aggiunga una nuova categoria di utenti (Utente registrato) che sia in grado di:

n visualizzare le informazioni del catalogo

n effettuare il login sul sito web

n ordinare un oggetto del catalogo

n le credenziali degli utenti registrati sono memorizzate all’interno di un database (db-utenti), diverso da quello utilizzato per il catalogo

n il sito web utilizza un web-service (ACL-web-service) per interagire col database degli utenti

70

Modifiche

n gli ordini devono essere memorizzati all’interno di un database (db-ordini), diverso da quello utilizzato per il catalogo

n il sito web utilizza un web-service (ordini-web-service) per interagire col database degli ordini

n generate le minacce relative ai nuovi scenari

n identificate i possibili attacchi

n valutate il livello di rischio

n selezionate le contromisure

n analizzate i report generati