analisi dei rischi: esercizi (esercizio 2) - torsecsecurity.polito.it/~lioy/01jem/lab02.pdf ·...
TRANSCRIPT
![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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022021607/5c6a7e8609d3f2b2078cbac3/html5/thumbnails/25.jpg)
Analisi dei rischi - lab02 (lab02 - maggio'09)
© Marco Domenico Aime, Marco Vallini (2009) 25