Sicurezza su Grid
Mattia Cinquilli
Prof: Stefano Bistarelli
Outline
•
•
•
•
•
Grid Computing: introduzione
Esempio di Computing Grid
Introduzione alla sicurezza in Grid
Esigenze, problemi, politiche e soluzioni per la Grid Security
Autentifica e autorizzazione in Grid
•
•
Mattia Cinquilli
Certificati, VO, Proxy, MyProxy, ...
Conclusioni
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Definizione
•
•
•
•
•
Mattia Cinquilli
Definita da Ian Foster e Carl Kesselman nel 1998, nel libro:
“The GRID: A blueprint for a new computing infrastructure”
“...the Grid is a service for sharing computer power and data storage
capacity over the Internet...”
Ossia:
“...é un sistema pensato per consentire ad una comunità di utenti di
usare risorse di calcolo distribuite in Internet come se fossero di fronte
ad un unico sistema di calcolo...”
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Cosa e’
”Virtualizzazione” di risorse locali
•Accesso trasparente a risorse distribuite globalmente
‣ dati ( di esperimenti, finanziari, ... )
‣ potenza di calcolo ( processori, cluster, supercomputer, ... )
•L’infrastruttura della Grid consiste in
‣ servizi per accedere alle risorse
‣ le risorse stesse
Mattia Cinquilli
Computing Grid
Memorie di massa (dati)
Supercomputer e cluster
G
R
I
D
Accesso con dispositivi mobili
M
I
D
D
L
E
W
A
R
E
Desktop/Laptop
Network e Internet
Mattia Cinquilli
Visualizzazione
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Ideale
•Le risorse della Computing Grid non sono controllate centralmente
(amministrazione locale)
•E’ fondamentale usare dei protocolli e delle interfacce che siano:
standard e generici
•La qualita’ dei servizi deve essere elevata
•Gli utenti e risorse sono organizzati in gruppi dinamici di lavoro
chiamati
Virtual Organization (VO)
Le infrastrutture della Computing
Grid sono generiche: non
dipendono dalle applicazione che
servono
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Struttura
Utente accede alla Grid
tramite una User
Interface
La Grid mette a
disposizione il
middleware per
accedere alle risorse
Ideale
Le applicazioni e la
Grid garantiscono un
accesso trasparente
alle risorse
(eterogenee)
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Architettura
Applicazioni dell'utente che interagiscono,
direttamente o non, con la Grid (contiene
l'interfaccia che consente all'utente di interagire con
la Grid)
Parte caratterizzante della Grid che include: servizi,
sicurezza, protocolli di comunicazione,
organizzazione, monitoraggio
Risorse viste come oggetti che hanno proprietari,
che possono essere usate per un certo periodo di
tempo e che possono essere rinnovabili oppure no
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Perche’
•
•
Il problema da risolvere richiede troppe risorse di calcolo (usando solo
un processore si impiegherebbero anni)
Velocizzare la risoluzione del problema “parallelizzandolo”
suddivisione del problema in pezzetti per poterlo assegnare a
diversi processori che funzionano in parallelo (cluster).
•
Mattia Cinquilli
Grid collega cluster di PC situati in sedi distanti geograficamente
anche grazie all'aumento della velocità di trasmissione delle reti (10
Gbit/sec attualmente).
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Computing Grid
Stato attuale
•Esistono varie comunità di ricerca in Europa, negli USA, in Asia e
in altre nazioni, che sviluppano e raccordano tra di loro diverse
Computing Grid.
•La fisica delle alte energie (HEP) ha avviato il progetto WLCG
(Worlwide LHC Computing Grid) il cui obiettivo e’ quello di
costruire e mantenere un’infrastruttura per le attivita’ della
comunita’ fisica dell’esperimento LHC (Large Hadron Collider), in
attivita’ presso il CERN di Ginevra.
•WLCG sfrutta due progetti paralleli:
• Enabling Grid for E-sciencE (EGEE) in Europa
• Open Science Grid (OSG) negli USA
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Progetti Grid
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Grid Computing
EGEE
• “Enabling Grid for E-sciencE” e’ un progetto che raccoglie piu’ di 50
nazioni con il fine comune di costruire un’infrastruttura Grid che
fornisca servizi per scienziati 24/24h e 7/7gg
•
uso delle piu’ avanzate e recenti tecnologie Grid
•
servizi disponibili indipendentemente dalla locazione geografica
degli utenti
•
interesse nell’attirare un ampio spettro di nuovi utenti ed utilizzi
Proprio per le sue necessita’, la
“fisica delle alte energie” (HEP) e’
diventata l’applicazione pilota della
Grid EGEE
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
EGEE
Infrastruttura
Dal punto di vista infrastrutturale
abbiamo il seguente schema
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
EGEE
Organizzazione Sito
Un singolo sito Grid è
organizzato nel seguente modo
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Problema Grid Security
‣
Mattia Cinquilli
In un ambiente computazionale multiorganico e’ imperativo che
tutti gli utenti e servizi interagiscano in un modo sicuro:
-
uso delle risorse sotto controllo
-
i proprietari delle risorse hanno il diritto di decidere chi e chi non puo’ usare le loro risorse
-
i dati che sono in Grid devono avere un proprietariodev’essere possibile trovare chi ha
fatto cosa
-
i differenti servizi Grid e gli utenti devono essere in grado di ‘fidarsi’ l’uno dell’altro
-
La sicurezza e’ alla base di un sistema come Grid:Autenticazione ⇒
-
Certificati ⇒ provano l’identita’ di un soggetto
processo per stabilire una mutua fiduciaAutorizzazione ⇒ capacita’ di dire chi e’ capace a
fare qualcosa
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Problema Grid Security
ancora...
• Le risorse appartengono a domini multipli e distinti
• Un’applicazione puo’ utilizzare contemporaneamente risorse di piu’ siti
• Virtual Organization:
-
tipicamente variabile, dinamica
-
proprie politiche e specifiche di sicurezza
-
singolo utente o risorsa puo’ far parte di piu’ VO
• Grid è estremamente dinamica: non ha un punto di controllo centrale e
ogni provider di risorse ha le proprie policy (requisiti, politiche, tecnologie)
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Le tre sfide
•
Il Gruppo di lavoro GGF (Global Grid Forum) OGSA (Open Grid
Service Infrastructure) ha raggruppato le sfide di sicurezza in 3
categorie:
•
•
•
Mattia Cinquilli
Integration
Interoperability
Trust Relationship
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Integration
•
•
Le infrastrutture di sicurezza esistenti non possono essere
rimpiazzate: non esiste una soluzione di sicurezza globale
Ogni dominio crea-gestisce-supporta la propria infrastruttura
•
Mattia Cinquilli
Esempio: user account directory
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Interoperability
•
•
I servizi Grid che interagiscono fra loro devono poter attraversare
domini e hosts
Necessita’ di interoperabilita’ a diversi livelli:
•
•
•
Mattia Cinquilli
Protocol: messaggi che i servizi si scambiano (SOAP/HTTP)
Policy: policy differenti fra domini,
specificate con una comune
sintassi e semantica
Identity: identificare utenti
attraverso domini diversi
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Trust Relationship
•
•
•
Sicurezza: proteggere le risorse
Come faccio a proteggermi da chi offre le risorse (e viceversa)?
Attraverso il concetto di fiducia (Trust)
•
•
•
Mattia Cinquilli
Tramite utilizzo di terze parti
Organizzazioni di utenti che si fidano l’una dell’altra
Utenti si fidano l’uno dell’altro per identificare altri utenti.
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Grid Computing
Esigenze di Sicurezza
•
•
•
•
Mattia Cinquilli
Single sign-on: l’utente dovrebbe essere in grado di autentificarsi una
sola volta per iniziare la computazione che acquisisce-usa-rilascia le
risorse, senza nessun altra autenticazione dell’utente
Protection of credential: le credenziali dell’utente (password, chiavi
private, ...) devono essere protette
Interoperability with local security solutions: l’accesso a risorse locali
e’ determinato dalle politiche/meccanismi di sicurezza locali => soluzioni
che prevedano un meccanismo di accesso interdominio e intradominio
Uniform credential/certification infrastructure: accesso interdominio
richiede almeno una via comune per esprimere/verificare l’identita’ di un
utente/risorsa.
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
•
•
•
•
•
Grid Computing
Politiche di Sicurezza
Grid consiste di piu’ domini di fiducia: integrare collezioni eterogenee di utenti e
risorse localmente amministrati, controllando le interazioni interdominio e l’associazione
fra le operazioni interdominio e le politiche di sicurezza locale
Esistono sia soggetti locali che globali; per ogni dominio esiste un’associazione
parziale fra soggetti globali e locali: ogni utente di una risorsa ha due nomi, uno
globale ed uno locale che e’ potenzialmente differente per ogni risorsa; l’associazione
(mapping) di un nome golbale in uno locale dipende dal sito; il nome globale permette il
single sign-on
Un soggetto globale autenticato, associato (mapped) in un soggetto locale e’
uguale ad un soggetto locale autenticato: in un dominio “fidato” la combinazione
delle politiche d’autenticazione Grid e l’associazione locale corrispondono alle politiche
di sicurezza del dominio locale
Il controllo sull’accesso avviene in base al soggetto locale: le politiche d’accesso
rimangono quelle del dominio locale
Un processo puo’ lavorare a nome di un utente ed avere i suoi diritti: permette
computazioni lunghe che possono acquisire risorse dinamicamente (single sign-on)
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Grid Security
Soluzione
•
•
•
Mattia Cinquilli
CERTIFICATI X.509. Standard ISO e IETF che collega credenziali a
chiave pubblica (chiave pubblica e privata) ad un’identità. I certificati
sono rilasciati da un insieme di ben definite Certification
Authorities(CAs). Le credenziali sono divise in due parti: parte
pubblica nel certificato (da condividere), parte privata che DEVE
essere tenuta segreta.
PKI –Public Key Infrastructure. Insieme di standards che definisce
come i certificati e le CA debbano lavorare insieme.
GSS-API –Generic Security Services Application Program
Interface. Standard IETF definisce un’interfaccia unificata a
meccanismi di sicurezza eterogenei (Kerberos, certificati X.509, etc..)
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
GSI
Grid Security
Infrastructure
•
•
•
Mattia Cinquilli
Infrastruttura di sicurezza che collega insieme le tre componenti
(certificati X.509, PKI e GSS-API) e aggiunge capacita’ di delega delle
credenziali (vedi piu’ avanti...)
Una Certification Authority(CA) rilascia i certificati.
Ogni utente/servizio e’ identificato da un certificato codificato in
formato X.509 che contiene il subject name che identifica
utente/servizio, la chiave pubblica, l’identita’ della CA che ha rilasciato
il certificato assieme alla sua firma digitale.
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Utenti &
Organizzazioni Virtuali
• Utenti raggruppati in Virtual Organizations
Mattia Cinquilli
-
raccolgono utenti che lavorano assieme con un fine comune
(esempio: i membri di uno stesso esperimento scientifico)
-
i membri di una stessa VO condividono alcuni privilegi della VO
stessa (accesso alle risorse esclusive della VO)
-
negoziazione fra gli utenti e i fornitori di risorse e’ normalmente fatta
al livello della VO
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Certification Authorities
(CA)
• Chi garantisce che una chiave pubblica appertinga veramente a
qualcuno?
•
Certification Authorities rilasciano una coppia di chiavi dopo aver verificato oltre
ogni dubbio l’identita’ del richiedente
•
Registration Authorities: entita’ che ha l’obbligo di verificare l’identita’
• Come si prova che la chiave pubblica appartenga realmente a
qualcuno?
•
•
•
La CA firma la chiave pubblica dell’utente utilizzando la propria chiave privata
Una chiave pubblica firmata da una CA e’ un certificato
I certificati delle CA sono autofirmati
• Cos’accade se un certificato viene compromesso?
•
•
•
Mattia Cinquilli
La CA revoca il certificato (non sara’ mai piu’ valido)
Viene incluso in una lista di certificati revocati (CRL: Certificate Revocation List)
che viene regolarmente aggiornata
Esempio: WLCG/EGEE riconoscono una serie di ben definite CA
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Struttura certificato X.509
• Un certificato X.509 contiene:
Struttura certificato X.509
✓ chiave pubblica del proprietario
✓ identita’ del proprietario
✓ informazioni sulla CA
✓ validita’
✓ Numero di serie
Chiave Pubblica
Subject: /C=IT/O=INFN/OU=Personal
Certificate/L=Perugia/CN=Mattia Cinquilli/CN=proxy
Issuer: /C=IT/O=INFN/CN=INFN CA
Expiration date: Feb 23 13:52:02 2010 GMT
Serial number:
DD:1E:C4:A9:E7:51:21:AC:5B:85:1E:7F:25:8B:
4A:E1:B1:FC:7D:BC
✓ Firma digitale della CA
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
Firma digitale CA
11 Marzo 2009
Procedura di richiesta
certificato
Certificato
CA
Utente genera
una coppia di chiavi
pubblica/privata
in un browser
Richiesta
certificato
Chiave
pubblica
La firma di CA collega
l’identita’ e la chiave pubblica
Certificato inviato all’utente
Certificato
Utente
Utente invia la chiave
pubblica a CA e mostra
la prova d’identita’
fornita da RA
State of Illinois
ID
Chiave privata criptata
su disco locale
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Tipi di certificati
• Certificati Host
‣ Certificati Personali
‣ rilasciati a persone fisiche (utenti)
‣ DN (Distinguished Name)
‣ C=IT
‣ O=INFN
‣ OU=Personal Certificate
‣ L=Perugia
‣ CN=Mattia Cinquilli
‣ unico certificato valido come client (per inviare job
sulla Grid)
• Certificati per Serivzi
rilasciati per servizi particolari
• DN
• C=IT
• O=INFN
• OU=Host
• L=Perugia
• CN=phedex/xyz.pg.infn.it
•
‣ Validita’
‣ Ceritificati hanno una data di scadenza: tipicamente
hanno durata di un anno dal momento della creazione
Mattia Cinquilli
rilasciato per la macchina
• DN
‣ C=IT
‣ O=INFN
‣ OU=Host
‣ L=Perugia
‣ CN=xyz.pg.infn.it
•
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Grid Authentication
B
A
Certificato A
• L’autenticazione su Grid e’ un’operazione fatta in comune
(normalmente fra un utente ed un servizio)
•
L’utente invia la sua chiave pubblica al servente
•
Il servente verifica la firma della CA
•
Il servente invia una frase random all’utente
•
L’utente calcola l’hash della frase e la cripta con la
sua chiave privata
•
L’hash criptata e’ inviata al servente
•
Il servernte decripta l’hash con la chiave pubblica
del certificato dell’utente e la confronta con la propia
hash della frase
Verifica firma della CA
Frase Random
Firma con chiave privata A
Hash Criptata
Decripta con chiave pubblica A
Compare with original phrase
L’intero processo e’ trasparente:
l’utente non si accorge di tutti i
passaggi della comunicazione
necessaria per l’autentifica
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Certificati Proxy
Definizione:

Cosa sono?



Sono certificati temporanei con una durata corta e senza una password
Perche’ sono necessari?


il proxy di un utente e’ un processo a cui e’ dato il
permesso di operare “a nome” dell’utente
Perche’ altrimenti ogni processo d’autenticazione richiederebbe la password della chiave privata dell’utente!
Cosa sono “in senso pratico”?

Sono dei file contenti sia il certificato che la chiave privata

Il certificato del proxy e’ firmato con il certificato dell’utente

Tipicamente hanno una durata corta (esempio: 12 ore)

Il file del proxy deve essere protetto dalla lettura
Delega di Proxy (Proxy Delegation)

Mattia Cinquilli
Un proxy puo’ essere usato per firmare un altro proxy
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Proxy Renewal
MyProxy
• Il Proxy ha un tempo di vita corto (esempio: 12 h)
• avere un proxy lungo non e’ una buona idea
• Ma un’operazione in Grid puo’ avere la necessita’ di un proxy valido
per un tempo molto piu’ lungo
• alcune applicazioni Grid necessitano anche di qualche giorno (trasferimenti
automatizzati di grandi quantita’ di dati, jobs di analisi particolarmente lunghi)
• MyProxy server:
• permette di creare e memorizzare un certificato proxy di lunga durata
• un servizio Grid puo’ contattarlo per rinnovare un proxy che sta per scadere
• solo i servizi registrati sono autorizzati a chiedere/ricevere la delega
• Un servizio dedicato puo’ rinnovare il proxy in modo automatico
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Diventare parte di una
VO
•
Steps
• L’utente ottiene un ceritificato dalla CA
• L’utente si registra alla VO
• Normalmente avviene attraverso
un’interfaccia web con il certificato
utente caricato nel browser
Ottiene un
certificato:
Annualmente
Diventa parte
di una VO: una
volta
• Il manager della VO approva la richiesta
• L’utente viene conosciuto come appartente alla
VO anche dai servizi Grid
CA
VO
mgr
VOMS
Aggiorna il database
locale delle VO ogni
poche ore
VO
database
Servizi Grid
L’identita’ dell’utente nella Grid = Subject del certificato:
/C=IT/O=INFN/OU=Personal Certificate/L=Perugia/CN=Mattia Cinquilli/CN=proxy
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Virtual Organization
Management System
(VOMS)
• Permette di estendere un proxy per includere
che l’utente:
• Appartiene ad una specifica VO
• Appartiene ad uno o piu’ gruppi della VO
• Ha uno speciale ruolo nella VO
• Le informazioni possono servire a specificare
privilegi speciali (o limitati...):
• jobs con priorita’ speciale
• permesso di leggere/scrivere in certe aree di storage
• …
• Il server VOMS per una VO contiene:
• Tutti i gruppi e i ruoli che esistono
• Tutti gli utenti e a quali gruppi-ruoli essi appartengono
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Gruppi e ruoli in VOMS
• I gruppi di VOMS sono gerarchici
• /myvo
gruppo principale
• /myvo/gruppoA
• /myvo/gruppoB/sottogruppo1
• I ruoli di VOMS sono sempre collegati ad un gruppo
• /myvo/Ruolo=ruolo1
• /myvo/gruppoB/Ruolo=ruolo1
• /myvo/gruppoB/sottogruppo1/Ruolo=ruolo2
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Pericoli
Mattia Cinquilli
•
Attacchi ai servizi di rete della Grid
•
Codice utente vulnerabile, escalation di privilegi di utenti autenticati,
accessi non autenticati guadagnati tramite jobs o codice errato
•
Software di base vulnerabile (librerie incluse)
•
Utilizzo degli account alla Grid non autorizzato/autentificato
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Conclusioni
•
Le soluzioni di sicurezza sono abbastanza rigide e presentano dei colli di
bottiglia per quanto riguarda la scalabilita’
•
•
•
necessita’ di migliorare i sistemi gia’ presenti e sviluppare dei
sistemi dedicati sfruttando l’esperienza maturata
Sicurezza degli Storage Element: delicata perche’ contiene dei dati che
sono accessibili da “chiunque” nella Grid, tramite particolari/dedicati
protocolli:
•
•
Mattia Cinquilli
associazione fra soggetto globale-locale con l’aumentare degli
utenti e’ un limite
Il sistema di sicurezza e’ basato sui sistemi gia’ esistenti
•
•
le richieste degli utenti devono avvenire sempre attraverso un
proxy
•
e’ come condividere il disco fisso del vostro computer su internet
necessita’ di protocolli d’accesso dedicati particolarmente affidabili per autorizzazione
e autentifica: sono in fase di migioraramento
necessario gestire
beneSicurezza
i permessi
di lettura/scrittura
Seminario
Informatica
- Sicurezza su Grid
11 Marzo 2009
Grid Computing
Futuro
•
•
•
•
Difficile ad immaginarsi...
Pensate alla nascita del WEB ......
O alla diffusione e uso dei cellulari .........
Pensate infine a quello che disse Faraday ad un ministro che
gli chiedeva a cosa servissero le correnti elettriche:
“Non so a cosa serviranno, ma voi
di sicuro ne tasserete l'uso......”
Mattia Cinquilli
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Bibliografia e Referenze
•
•
•
Mattia Cinquilli
GSI from Globus web site
http://www.globus.org/security/overview.html
“A Security Architecture for Computational Grids” by Ian Foster et al
ftp://ftp.globus.org/pub/globus/papers/security.pdf
EGEE main web page
http://www.eu-egee.org/
Seminario Sicurezza Informatica - Sicurezza su Grid
11 Marzo 2009
Scarica

Sicurezza su Grid - Dipartimento di Matematica e Informatica