polito.it
Politecnico di Torino (logo)

Attestazione remota di sistemi cloud = Remote attestation of cloud systems

Renna, Davide

Attestazione remota di sistemi cloud = Remote attestation of cloud systems.

Rel. Antonio Lioy, Marco De Benedictis. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2018

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Accesso al documento: Accesso libero
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (3MB) | Preview
[img] Archive (ZIP) (Documenti_allegati) - Altro
Accesso al documento: Accesso libero
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (6MB)
Abstract:

Dati e codice all'interno di un ambiente Cloud costituiscono risorse molto importanti per gli utenti del Cloud stesso. Spesso all'interno di un'infrastruttura Cloud si deve far fronte ad un problema di gestione di dati e software dovuto alla presenza di un numero molto elevato di macchine. Un'azione accidentale o intenzionale che coinvolga in qualche modo software e/o dati potrebbe minare alla fruizione dei servizi al generico utente. Sarebbe molto importante garantire l'integrità di codice e dati, riuscendo quindi a comprendere la presenza di un'eventuale manipolazione. Il Trusted Computing (TC) permette di definire delle architetture di Cloud robuste a questo tipo di minacce proponendo una soluzione al problema dell'Attestazione Remota. L'Attestazione Remota è un metodo che consente all’hardware e al software di un host di essere autenticato tramite un altro host remoto in modo da poter definire lo stato di integrità della piattaforma. Per trovare la soluzione di attestazione utile agli scopi del lavoro di tesi sono state analizzati varie soluzioni tra le quali: Excalibur, Cobweb, Intel Software Guard Extensions, Open Attestation e Open Cloud Integrity Technology (Open CIT). La scelta è ricaduta su OpenCIT un progetto open source realizzato da Intel. Tale progetto sfrutta le specifiche di attestazione del TC per recuperare delle informazioni chiave che consentano di definire lo stato di affidabilità della macchina. Il problema principale di questa tecnologia è che il processo di attestazione attualmente implementato si limita a verificare le misure dei componenti software a "load time", ossia in fase di avvio della macchina, ma non tiene conto di eventuali modifiche ai componenti software eseguiti a "run time", ossia in fase di esecuzione dei nodi Cloud. In questo lavoro di tesi ci si pone come obiettivo quello di estendere Open CIT integrando al suo interno un'architettura nota come Integrity Measurement Architecture (IMA). Tale soluzione prevista per kernel Linux, permette di effettuare un controllo di integrità a runtime, consentendo di avere un flusso di informazioni costante che indichino il comportamento della macchina in esecuzione. Le informazioni raccolte dall'host prendono il nome di misure. Un misura è un digest calcolato su un componente delle macchine (e.g. file, hardware, software). Le misure raccolte dall'host danno la possibilità di avere uno stato che rispecchi la situazione attuale della macchina. Il lavoro di tesi sviluppato propone due differenti scenari o workflow per realizzare la logica di verifica delle misure IMA raccolte dall'host. Il primo scenario adotta la logica di verifica proposta da Open CIT consentendo di verificare le misure attraverso la definizione di valori di Whitelist statici al momento della registrazione dell'host. Nel secondo scenario si assiste ad una soluzione più dinamica, dal momento che la verifica delle misure IMA si sposta al di fuori di Open CIT e non viene definito a priori alcun valore che venga utilizzato nelle operazioni di verifica. Questo grazie al fatto che la logica di verifica esterna si basa su un Verifier che prende le informazioni necessarie alle operazioni di verifica da un database costantemente aggiornato. In questo modo non si ha il bisogno di registrare nuovi valori di Whitelist per le misure IMA ogni qualvolta venga eseguito nuovo software. Inoltre sfruttando il Verifier esterno è possibile ricavare delle informazioni aggiuntive sui pacchetti di cui le misure IMA fanno parte. Queste informazioni includono il numero dei pacchetti che hanno bisogno di un aggiornamento di sicurezza e il numero di pacchetti che hanno bisogno di un aggiornamento dovuto alla presenza di bug.

Relatori: Antonio Lioy, Marco De Benedictis
Anno accademico: 2017/18
Tipo di pubblicazione: Elettronica
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/8003
Modifica (riservato agli operatori) Modifica (riservato agli operatori)