25
Analisi dei rischi - lab02 (lab02 - maggio'09) © Marco Domenico Aime, Marco Vallini (2009) 1 1 Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it > Marco Vallini < marco.vallini @ polito.it > Politecnico di Torino Dip. di Automatica e Informatica 2 Strumenti software modellazione ad alto livello: Attraverso il linguaggio DFD Attraverso il modello STRIDE Threat Modeling Tool v.3.1 risorse: (home) http://msdn.microsoft.com/en- us/security/dd206731.aspx (tutorial) http://msdn.microsoft.com/en-us/magazine/ cc163519.aspx (altre risorse) http://msdn.microsoft.com/en- us/security/cc448120.aspx

Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

  • Upload
    vutram

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 1

1

Analisi dei rischi: esercizi

(esercizio 2)

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

Marco Vallini< marco.vallini @ polito.it >

Politecnico di Torino

Dip. di Automatica e Informatica

2

Strumenti software

n modellazione ad alto livello:

n Attraverso il linguaggio DFD

n Attraverso il modello STRIDE

n Threat Modeling Tool v.3.1

n risorse:

n (home) http://msdn.microsoft.com/en-us/security/dd206731.aspx

n (tutorial) http://msdn.microsoft.com/en-us/magazine/cc163519.aspx

n (altre risorse) http://msdn.microsoft.com/en-us/security/cc448120.aspx

Page 2: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 2

3

Workflow

1. costruzione del modello DFD

n a partire dai requisiti descritti di seguito

2. analisi del modello (suggerimenti del tool)

n via metodologia STRIDE

n aggingere indicazioni sulle possibili contromisure

3. descrizione dell’ambiente

n assunzioni sulla piattaforma software e infrastruttura

n a partire dai requisiti descritti di seguito

4. generazione dei report

4

Contesto

n l’applicazione PetShop 4.0:

n è un’applicazione web

n permette agli utenti registrati ed anonimi di visualizzare un catalogo elettronico degli oggetti presenti

n permette agli utenti registrati di ordinare alcuni oggetti appartenenti al catalogo

Page 3: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 3

5

Agenti esterni

n gli agenti esterni sono di tre categorie diverse:

n Utente anonimo

n Utente registrato

n Amministratore

6

Processo complesso

n l’applicazione PetShop può essere rappresentata ad alto livello come un processo complesso

PetShop

AppUtente

registratoAmministratore

Utenteanonimo

Richiesta

Risposta

Visualizza log

Applica modifiche

RichiestaRisposta

Page 4: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 4

7

Funzionamento dell’applicazione

n il processo complesso deve essere scomposto in sotto-processi:

n Gestore_Catalogo: processo responsabile di interagire con gli altri processi ed utenti

n Gestore_Profili: processo per la gestione dei profili utente (creazione nuovi utenti, modifica del profilo, ecc.)

n Gestore_Ordini: processo per la gestione degli ordini

n Gestore_Admin: processo utilizzato dall’amministratore per interagire col catalogo, i profili e leggere i dati di audit

8

Funzionamento dell’applicazione

n Gestore_Catalogo:

n interagisce con Processo_Catalogo per:

n leggere i prodotti contenuti nella base dati del catalogo

n interagisce con gli utenti

Page 5: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 5

9

Funzionamento dell’applicazione

n Gestore_Catalogo:

n interagisce col processo Gestore_Profili per

n Creare/aggiornare/leggere i dati relativi

n interagisce col processo Gestore_Ordini per

n Creare/aggiornare/leggere i dati relativi

10

Funzionamento dell’applicazione

n Gestore_Profili:

n interagisce con la base dati (Profili) per leggere/creare ed aggiornare i dati relativi ai profili

Page 6: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 6

11

Funzionamento dell’applicazione

n Gestore_Ordine:

n interagisce con la base dati degli ordini (Ordini) per:

n aggiornare/inserire/leggere un ordine

n interagisce con Processo_Audit per:

n registrare le operazioni effettuate sugli ordini

n Processo_Audit scrive le informazioni all’interno della base dati Audit

12

Funzionamento dell’applicazione

n Processo_Catalogo:

n interagisce con la base dati del catalogo (Catalogo) per:

n leggere le informazioni sui prodotti

Page 7: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 7

13

Funzionamento dell’applicazione

n l’amministratore, attraverso Gestore_Admin, può:

n leggere i dati di audit (Audit)

n aggiornare la base dati dei profili degli utenti

n aggiornare la base dati del catalogo

14

Funzionamento dell’applicazione

n le informazioni scambiate tra gli utenti ed il Gestore_Catalogo non sono protette con SSL/TLS

n le informazioni scambiate tra l’amministratore e il Gestore_Admin sono protette con SSL/TLS

n le informazioni scambiate tra i processi sono protette con SSL/TLS e mutua autenticazione attraverso certificati digitali

Page 8: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 8

15

Funzionamento dell’applicazione

n le informazioni presenti nelle basi dati possono essere lette e scritte solo previa autenticazione

n Gestore_Catalogo utilizza il web server MS IIS ed un software per elaborare le informazioni fornito da terzi

16

Costruzione del modello DFD

n utilizzando lo strumento Threat Modeling Tool v. 3.1:

n costruire il modello DFD all’interno dell’area ‘Context’

n verificare che non vi siano errori di validazione per il modello

Page 9: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 9

18

Analisi del modello

n analizzare il modello utilizzando la voce ‘Analyze Model’

n si aprirà una vista in cui saranno visualizzati:

n Interazioni

n Processi

n Utenti

n Dati

Page 10: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 10

20

Analisi del modello

n analisi delle categorie di minacce rilevate dallo strumento:

n è importante analizzare le diverse categorie per comprendere quali contromisure sono necessarie per annullare o mitigare le minacce

n è buona norma descrivere le contromisure da adottare

Page 11: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 11

21

Analisi del modello

n per ciascun elemento (processo, interazione, ecc.):

n analizzare le categorie di minacce

n approccio STRIDE

n verificare quali contromisure potrebbero essere adottate:

n il tool fornisce alcuni consigli

Page 12: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 12

23

Analisi del modellodomande e suggerimenti per identificare meglio la categoria di minaccia

24

Analisi del modello

serve a certificare che la minaccia non si applica: è necessario fornire una motivazione

Page 13: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 13

25

Analisi del modello

descrizione dell’impatto che la minaccia potrebbe avere sull’applicazione

26

Analisi del modello

descrizione di come mitigare la minaccia

Page 14: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 14

27

Analisi del modello

aggiunge un bug noto

28

Analisi del modello

aggiunge un’altra minaccia della stessa tipologia

Page 15: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 15

29

Analisi del modello

n per ogni categoria di minaccia è possibile:

n stabilire che non si applica ad un certo elemento accettando il rischio o fornendo una motivazione:

n es: per il tampering potremmo utilizzare SSL

n specificare come si può mitigare una minaccia

n specificare un particolare bug

30

Analisi del modello

n utilizzo SSL/TLS per evitare il tampering:

Page 16: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 16

31

Analisi del modello

n come esercizio provare ad analizzare e completare le diverse categorie di minacce, evidenziate dallo strumento

n per alcune certificare che la minaccia non si applica al sistema, specificando una motivazione

n per altre definire come si intende mitigare le problematiche evidenziate

32

Analisi del modello

n attacchi DoS verso Gestore_Catalogo:

n un attaccante potrebbe eseguire un attacco DoS sul Gestore_Catalogo

n non è possibile definire contromisure efficaci

n tuttavia è possibile mitigare la problematica utilizzando un processo che valuti il consumo delle risorse

Page 17: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 17

33

Analisi del modello

n attacchi DoS verso Gestore_Catalogo:

34

Analisi del modello

n Information Discosure per gli archivi:

n l’accesso agli archivi potrebbe essere effettuato da diversi processi

n è necessario prevedere che vi siano meccanismi di autenticazione

n è consigliabile che vi sia solo un servizio che possa accedere ai dati, che espone delle API per gli altri

Page 18: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 18

35

Analisi del modello

n Spoofing:

n gli utenti registrati possono subire spoofing:

n è necessario che sia utilizzato un meccanismo di autenticazione

n è necessario proteggere le credenziali in transito

n gli utenti anonimo non possono subire spoofing

36

Descrizione dell’ambiente

n procedere alla descrizione dell’ambiente in cui opera il sistema :

n utilizzando la voce ‘Describe Environment’

Page 19: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 19

37

Descrizione dell’ambiente

n esempi di categorie di informazioni da definire:

n Gestore_Catalogo utilizza il software MS Windows Server 2003 ed IIS

n Gestore_Ordini utilizza un web-service sviluppato all’interno dell’organizzazione

n Gestore_Catalogo è configurato per offrire il servizio esclusivamente attraverso HTTP + SSL/TLS (HTTPS)

38

Descrizione dell’ambiente

n la descrizione dell’ambiente può essere strutturata in diversi modi:

n utilizzando la suddivisione proposta dal tool (assunzioni, dipendenze, ecc.)

n definendo le caratteristiche come assunzioni

Page 20: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 20

39

Descrizione dell’ambiente

n la vista permette di classificare le informazioni con le seguenti categorie:

n eventuali dipendenze

n assunzioni circa gli elementi del sistema

n note di sicurezza per elementi esterni

n alcune informazioni sul documento

40

Descrizione dell’ambiente

n dipendenze:

n elementi software che interagiscono col sistema ma che non sono descritti nel modello DFD

n esempio:

n Gestore_Catalogo utilizza IIS (External)

n Gestore_Ordini utilizza un servizio sviluppato internamente

Page 21: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 21

41

Descrizione dell’ambiente

n assunzioni:

n utilizzate per descrivere note e considerazioni emerse durante la descrizione del modello del sistema

n si applicano agli elementi del DFD

n ad esempio:

n assumiamo che le il meccanismo di autenticazione presente nel processo principale sia implementato correttamente

42

Descrizione dell’ambiente

n note di sicurezza per elementi esterni:

n considerazioni e note utili per chi deve utilizzare il sistema

n ad esempio:

n Il servizio web può essere contattato solo utilizzando il protocollo SSL (HTTPS sulla porta 443)

Page 22: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 22

43

Descrizione dell’ambiente

n informazioni sul documento:

n utili ad individuare il responsabile dell’analisi

n permette di inserire riferimenti circa:

n il componente/prodotto software a cui si applica l’analisi

n quali persone hanno partecipato al processo di analisi (partecipanti e revisori)

44

Generazione del report

n procedere alla generazione dei report utilizzando la voce ‘Generate Reports’

n sono disponibili diverse tipologie di report, i più rilevanti per i nostri scopi sono:

n Bug Report

n Analysis Report

n Threat Model Report

Page 23: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 23

45

Generazione del report

n Bug Report:

n utile per evidenziare tutti i bug specificati durante l’analisi

n permette di avere una visione globale sulle possibili problematiche di sicurezza introdotte per ciascun componente

46

Generazione del report

n Analysis Report:

n permette di evidenziare rapidamente alcune informazioni circa le analisi condotte, in particolare:

n quali minacce non sono state trattate dall’analista di sicurezza: ad esempio se non abbiamo preso nessuna decisione per mitigare una problematica

n le certificazioni e le giustificazioni adottate

Page 24: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 24

47

Generazione del report

n Threat Model Report:

n è il report finale che lo strumento produce

n contiene informazioni circa:

n il modello DFD del sistema

n le diverse categorie di minacce identificate e le soluzioni adottate

n le dipendenze esterne, assunzioni, ecc.

n può essere esportato

48

Generazione del report

n le analisi effettuate evidenziano solo le macro categorie di minacce (STRIDE):

n questa analisi è di alto livello e può essere utile al security manager, meno al progettista

n per le analisi successive considereremo:

n l’ultimo report generato

n Threat Model Report

n il modello DFD del sistema in esame

Page 25: Analisi dei rischi: esercizi (esercizio 2) - TORSECsecurity.polito.it/~lioy/01jem/lab02.pdf · Analisi dei rischi: esercizi (esercizio 2) Marco Domenico Aime < m.aime @ polito.it

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

© Marco Domenico Aime, Marco Vallini (2009) 25