Date post: | 14-Feb-2017 |
Category: |
Internet |
Upload: | patrizio-tufarolo |
View: | 226 times |
Download: | 0 times |
Tesi di Laurea di
Patrizio Tufarolo
N. Matr. 810684
Relatore: Marco Anisetti
Correlatore: Claudio Ardagna
Secondo correlatore: Filippo Gaudenzi
Corso di Laurea in Sicurezza dei Sistemi e delle Reti InformaticheA.A. 2014/2015
Studio, implementazione e validazione di un’architettura di certificazione cloud basata
su sonde
Relatore: Marco Anisetti
Correlatore: Claudio Ardagna
Secondo correlatore: Filippo Gaudenzi
Università degli Studi di Milano
La certificazione
• Cosa è
Università degli Studi di Milano
Emissione di un documento che attesta laconformità di un sistema rispetto a determinatirequisiti o proprietà
2 di 15
Test Agent(TA)
ToChook
ProbeDriverTest Manager
(TM)Certificate
Probe DriverRepository
CMi
Il framework CUMULUS
Università degli Studi di Milano
• Certificazione multi-layer• Deployment distribuito ed espandibile• Certificazione di proprietà basata sulle
evidenze• Certificazione incrementale• Implementazione affidabile
REQUISITI
3 di 15
OBIETTIVO
• Stabilire una relazione di fiducia tra le parti coinvolte
• Conciliare le caratteristiche del cloudcon le esigenze di trasparency, trustworthiness e accountability
Obiettivi del lavoro di tesi
• Fornire un'architettura di certificazione basata su sonde adatta ai requisiti del framework CUMULUS
• Implementazione di una sonda di testing
• Sviluppo di driver di sonda per la certificazione di OpenStack
• Effettuare una valutazione approssimativa dei costi del processo di certificazione e del componente sviluppato
Università degli Studi di Milano 4 di 15
TEST MANAGER INTERFACE
COLLECTOR MANAGER
COLLECTOR AGENT1
COLLECTOR AGENTn
TEST MANAGER INTERFACE
COLLECTORMANAGER
XML PARSER
PROBE DRIVERREPOSITORY INTERFACE
EVIDENCE COLLECTOR
SELF ASSESSMENT MODULE
Sonda di testing
Test Agent previsto dal framework CUMULUS
Sonda sviluppata nel progetto di tesi
PROBE WRAPPER
PROBE DRIVER
TESTCASES
RESULTS HANDLER
COLLECTOR AGENT 1
COLLECTOR AGENT n
Università degli Studi di Milano
MONITORING REST
INTERFACE
SUBSCRIPTIONREST
INTERFACE
COMMUNICATION BUS
5 di 15
Driver di sondaclass probe(testagent.Probe):
Results
Rollback 1def rollback1(self, input):
conn.close()
Rollback 2
Rollback 3def rollback3(self, input):
conn2.close()return True
def rollback4(self, input):pass
def rollback2(self, input):conn.close(); conn.connect()conn.deleteUser("name="test")conn.close()
def appendAtomics(self):self.appendAtomic(action1,rollback1)self.appendAtomic(action2,rollback2)self.appendAtomic(action3,rollback3)self.appendAtomic(results,rollback4)
Rollback 4
Action 1
Action 2
Action 3
def action2(self, conn):print("Aggiunta di un utente test")conn.createUser(name="test", pwd="test")
def action3(self, input):print("Login con nuovo utente")conn2 = shell(ip, "test", "test")return conn2.status
def results(self, input):conn.deleteUser(name="test")conn.close(); conn2.close()return not input
def action1(self, input):print("Connessione al Target")conn = shell(ip,"root",chiave="sshkey")return conn
Università degli Studi di Milano 6 di 15
Driver di sondaclass probe(testagent.Probe):
Results
Rollback 1def rollback1(self, input):
conn.close()
Rollback 2
Rollback 3def rollback3(self, input):
conn2.close()return True
def rollback4(self, input):pass
def rollback2(self, input):conn.close(); conn.connect()conn.deleteUser("name="test")conn.close()
def appendAtomics(self):self.appendAtomic(action1,rollback1)self.appendAtomic(action2,rollback2)self.appendAtomic(action3,rollback3)self.appendAtomic(results,rollback4)
Rollback 4
Action 1
Action 2
Action 3
def action1(self, input):print("Connessione al Target")conn = shell(ip,"root",chiave="sshkey")return conn
def action2(self, conn):print("Aggiunta di un utente test")conn.createUser(name="test", pwd="test")
def action3(self, input):print("Login con nuovo utente")conn2 = shell(ip, "test", "test")return conn2.status
def results(self, input):conn.getUserId(name="test")conn.deleteUser(name="test")conn.close(); conn2.close()return not input
Università degli Studi di Milano 7 di 15
Caso d’uso: certificazione di OpenStack
Management
Public
Data
Guest
KEY
STO
NE
NO
VA
NEU
TRO
N
CIN
DER
SWIF
THO
RIZ
ON
OSSG (Open Stack Security Group)
DO
MIN
I DI S
ICU
REZ
ZA
Ambienti di test realizzati
Patch/Review #98854 – Rob Crittenden
Università degli Studi di Milano 8 di 15
Infrastruttura Sesar Stack
Università degli Studi di Milano
Controller(Nova, Keystone, Horizon)
Network(Neutron L2 and L3 agents)
Compute 1(Nova, Neutron L2 and L3
agents)
Compute 2(Nova, Neutron L2 and L3
agents)
Tunneling
Management
10.20.0.0/24
10.20.1.0/24
10.20.1.2 10.20.1.3
10.20.0.3 10.20.0.4
172.25.27.0/24Rete di laboratorio
172.25.27.69 172.25.27.70
10.20.0.1
10.20.1.1
Sonda
Sonda
9 di 15
Certificazione di OpenStack
Proprietà certificate
• Confidenzialità dei dati di autenticazione• Confidenzialità del block-storage (R. Veca)• Network Isolation e firewalling
• Resistenza di Keystone agli attacchi a forza bruta
Pubblicazione «Toward Security and Performance Certification of OpenStack» M.
Anisetti, C.A. Ardagna, E. Damiani, F. Gaudenzi, R. Veca, in Proc. of
the 8th IEEE International Conference on Cloud Computing (CLOUD
2015), New York, NY, USA, June-July, 2015
Università degli Studi di Milano 10 di 15
Testing della proprietà di network-isolation e firewalling
Creazione di un Security Group
Prerequisito
OpenStack
SGi
Firewall Rules
Università degli Studi di Milano 11 di 15
OpenStack
SGi
Testing della proprietà di network-isolation e firewalling
Università degli Studi di Milano
Deploy di una VM honeypot con SGi
Retrieve di tutte le regole di firewalling
Scansione con NMap
Sonda--------
Driver di test per Network Isolation
--------NMap
12 di 15
Testing della proprietà di network-isolation e firewalling
Università degli Studi di Milano
OpenStack
SGi
Distruzione dell'honeypot
Sonda--------
Driver di test per Network Isolation
NMapResults
Security Group Rules
⊂
13 di 15
Conclusioni
• E' stata proposta un'architettura di certificazione basata su sonde di test
• E' stata sviluppata una sonda utilizzabile in vari scenari di deployment (physical e cloud)
• E' stato definito un modello per l'implementazione di driver di sonda
• Sono stati implementati driver di sonda per la certificazione di OpenStack
• Il software sviluppato viene attualmente utilizzato nel framework CUMULUS e sono stati già svolti altri lavori di tesi sulla base di quanto esposto
Università degli Studi di Milano 14 di 15
Sviluppi futuri
Università degli Studi di Milano 15 di 15
• Sviluppo di un modello quantitativo per la valutazione dell'impatto dell'architettura di certificazione illustrata
• Realizzazione di un componente embedded per effettuare il processo di certificazione on-the-fly
• Sviluppo di un repository per i driver di sonda
• Utilizzo del TPM per implementare metodologie di sicurezza a livello hardware