studio, implementazione e validazione di un'architettura di certificazione cloud basata su...

16
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 Informatiche A.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

Upload: patrizio-tufarolo

Post on 14-Feb-2017

232 views

Category:

Internet


0 download

TRANSCRIPT

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

grazie per l'attenzione

[email protected]

Università degli Studi di Milano