Stefania Ciarlo Capability-Based Computer Systems Corso di Sicurezza a.a.2002/03.

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 Tutto su liceoclassicojesi.it 1° Incontro sulla gestione di liceoclassicojesi.it.
Meccanismi di IPC Problemi classici di IPC
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
1 Semantica Operazionale di un frammento di Java: lo stato.
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
Frontespizio Economia Monetaria Anno Accademico
Amministrazione di una rete con Active Directory
Definizione e caratteristiche
Realizzazione del file system
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Ordini Parziali - Reticoli
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
I MATEMATICI E IL MONDO DEL LAVORO
Algoritmi e Strutture Dati
EIE 06/07 II / 1 Strumenti delle politiche agricole in economia aperta equilibrio di mercato in economia aperta politiche di un paese importatore politiche.
EIE 0607 III / 1 A B P a = 30 P b = 35 t = 2, tc = 1 Questo può essere un equilibrio? No! Politiche di un paese importatore: una tariffa allimportazione.
Programmazione 1 9CFU – TANTE ore
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
eliana minicozzi linguaggi1a.a lezione2
Risorse e Stallo.
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
DHTML: Modello degli Eventi 1. 2 Sommario Introduzione Evento onclick Evento onload Gestione errori con onerror Gestione mouse con levento onmousemove.
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
Lezione 6 Encoder ottici
Introduzione alle basi di dati
Portale Capacità STOGIT
Contatore: esempio di circuito sequenziale
Velocità ed accelerazione
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
MATRICI classe 3 A inf (a.s ).
MACCHINARI SICURI WORKSHOP FASCICOLO TECNICO E ANALISI DEI RISCHI
1 Informatica Senza Computer? Chiariamoci un po le idee!!! Carlo Gaibisso Informatica senza Computer?
ISTITUTO COMPRENSIVO TORREGROTTA REPORT DATI QUESTIONARIO Alunni Scuola Primaria Classe V A.S.2012/2013.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Protocollo informatico: interoperabilità e PEC
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
LE SAI LE TABELLINE? Mettiti alla prova!.
QUIZ – PATENTE EUROPEA – ESAME WORD
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
BIOINFO3 - Lezione 321 ACCESSO REMOTO AL SERVER SIBILLA Attraverso Internet è possibile accedere al server sibilla.cribi.unipd.it. Potrete così effettuare.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
TRASFORMATA DI FOURIER
I processi.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Le basi di dati.
Transcript della presentazione:

Stefania Ciarlo Capability-Based Computer Systems Corso di Sicurezza a.a.2002/03

2 Indice (1/2) Introduzione Problema:Controllo degli accessi Matrice di protezione –ACLACL –Lista di capabilityLista di capability Cosè una capability? Capability-Based Computer Systems

3 Indice (2/2) Capability : Problemi –Memorizzare le capabilityMemorizzare le capability –Revocare laccessoRevocare laccesso Capability vs ACL EROS:un sistema operativo basato su capability –PersistenzaPersistenza –CapabilityCapability

4 Privatezza Integrità Disponibilità Correttezza Robustezza File System Sistemi non necessariamente connessi in rete Introduzione (1/2) Sicurezza nei Sistemi Operativi stand-alone

5 Introduzione (2/2) In un Sistema Operativo, la parte file system gestisce informazioni che sono di grande valore per gli utenti La protezione di queste informazioni verso usi non autorizzati è uno dei problemi principali

6 Problema: Controllo degli accessi (1/4) Problema base : Controllare a quali oggetti può accedere un dato processo e in quali modi Tali oggetti possono essere componenti hardware (CPU, segmenti di memoria, lettori di dischi, stampanti..) o software (processi, file, basi di dati, semafori..) Accesso = quali operazioni posso fare sugli oggetti (leggere, modificare, cancellare un file...)

7 Problema: Controllo degli accessi (2/4) determina a cosa un processo può accedere e non a cosa una persona può accedere Importante distinzione perché: –La stessa persona può agire con differenti identità (login) –Lo stesso programma può girare per conto di utenti diversi con diritti diversi –Le persone non sempre sanno quali programmi stanno lanciando

8 Problema: Controllo degli accessi (3/4) Parlando di controllo degli accessi faccio riferimento a quattro concetti: 1.Preventing access: assicurarsi che una persona non possa danneggiarne unaltra o carpirne informazioni private 2.Limiting access : Accertarsi che un processo o un utente non faccia più di quello che gli è consentito

9 Problema: Controllo degli accessi (4/4) 3.Granting access: Voglio ad esempio consentire a due persone di lavorare contemporaneamente sullo stesso documento oppure consentire laccesso ad un file ad una persona alla quale voglio delegare un compito. 4.Revoking access: Dopo aver consentito ad una persona laccesso ad un oggetto, voglio negarglielo

10 Matrice di protezione (1/4) Una macchina virtuale è composta da: – Oggetti : implementano un insieme di operazioni – Soggetti : invocano le operazioni implementate dagli oggetti Una componente può essere oggetto ad un istante e soggetto ad un istante diverso

11 Matrice di protezione (2/4) Definisce ad ogni istante lo stato di protezione del sistema : quali operazioni possono essere eseguite da un soggetto del sistema Ogni sistema che ha tra i suoi obiettivi la robustezza deve avere una rappresentazione di questa matrice

12 Matrice di protezione (3/4) Oggetti Soggetti op1 o1 op1 op2 o4o5o6....oNo2o3 op1 op1 op2 op3 op1 op2 op2 s1 s2 s3op2 op1 op2 op3

13 Matrice di protezione (4/4) Le operazioni che possono essere invocate da un soggetto X allistante t definiscono i diritti di X in quellistante ( dominio di protezione di X ) La matrice di protezione può essere implementata: –Per colonne(per oggetti):ACL –Per righe (per soggetti): Liste di Capability

14 ACL (1/3) Idea: associare ad ogni oggetto una lista contente tutti i soggetti che possono accedere alloggetto e come Questa lista viene detta ACL( Access Control List) In Unix: Ciascun elemento della lista di protezione sarà del tipo Nomefile:(uid,gid,permessi)

15 ACL (2/3) Il controllo è spostato nelloggetto Quando un oggetto riceve una invocazione controlla se nella sua lista esiste il diritto corrispondente Aumenta lautonomia delloggetto rispetto al soggetto

16 ACL (3/3) Esempio : Quattro utenti Jan, Els, Jelle e Mike che appartengono rispettivamente ai gruppi system, staff, student e student File0: (Jan,*,RWX) File1(Jan,system, RWX) File2: (Jan,*,RW-), (Els, staff, RW-), (Mike,*,RWX) File3: ( *, student, R--) File4: (Jelle,*,---), (*,student, R--)

17 Lista di capability (1/2) Idea: associare ad ogni soggetto la lista degli oggetti ai quali ha accesso insieme allelenco delle operazioni consentite per ciascuno di essi Nella rappresentazione interna di un soggetto esiste la lista delle capability del soggetto

18 Lista di capability (2/2) Se il soggetto X può invocare loperazione op sulloggetto Y allora X ha una capability(Y,op) Ad ogni invocazione di un operazione si controlla che esista una capability che lo permetta Il controllo avviene nellambiente del soggetto

19 Cosè una capability? Termine introdotto per la prima volta da Dennis e Van Horn nel 1966 Idea: Vogliamo progettare un sistema software – Per accedere ad un oggetto un processo deve avere uno speciale token –Questo token descrive un oggetto e conferisce al processo il diritto di eseguire un insieme di azioni su quelloggetto. –Tale token è detto capability

20 Capabilities = Car keys (1/3) capabilitychiavi di una macchina Si riferiscono ad un oggetto specifico (es: file) Si possono usare solo per una particolare macchina Chi le possiede può effettuare certe azioni ( R,W,X.. ) su certi oggetti (file, stampanti...) Chiunque le possiede può effettuare certe azioni (aprire la macchina, far partire la macchina) Non si preoccupano di chi le sta usando Non sa chi usa la chiave, limportante è che la possegga

21 Capabilities = Car keys (2/3) capabilitychiavi di una macchina Possono essere delegate Se mi dai le chiavi della tua macchina è perché sai che io non le darò a nessun altro Possono essere copiate Se mi dai le chiavi della tua macchina nulla mi vieta di andare a farne un duplicato

22 Capabilities = Car keys (3/3) capabilitychiavi di una macchina Due capability possono riferirsi allo stesso oggetto ma autorizzare diversi insiemi di azioni Vari tipi di chiavi sulla stessa macchina ( per aprire le porte, per laccensione) Un processo può possedere una capability su un insieme di altre capability Posso avere una chiave che apre una scatola piena di altre chiavi

23 Capability-Based Computer Systems (1/3) AccessoCapability Laccesso agli oggetti è realizzato attraverso delle capability Le capability sono l unico mezzo di accesso agli oggetti del sistema

24 Capability-Based Computer Systems (2/3) Un processo che vuole eseguire una certa azione su un oggetto deve possedere una capability su quelloggetto Lunico modo per ottenere le capability è ottenerle a seguito di una comunicazione Se il processo A possiede la capability di comunicare con B allora in seguito possono scambiarsi capability luno con laltro

25 Capability-Based Computer Systems (3/3) Possedere un numero elevato di capability è assurdo Obiettivo: rendere linsieme delle capability possedute il più specifico e piccolo possibile (principio del minimo privilegio ) Un processo non può abusare di una autorità che non ha

26 Capability: problemi Primo problema: conservare le informazioni relative alle capability consentendone un futuro accesso Secondo problema: revocare laccesso in modo selettivo

27 Memorizzare le capability (1/2) Ci chiediamo: –Dove vanno a finire quando il sistema è shut-down e come vengono recuperate? –Da dove i processi presenti allavvio del sistema prendono le loro capability? –Quale autorità le conserva?

28 Memorizzare le capability (2/2) Problema che affligge i capability systems designers fin dai primi anni 70 Principale causa del fatto che pochi capability systems siano stati finora realizzati

29 Soluzione tradizionale (1/2) Ho una sorta di file system che garantisce di default ad ogni processo il privilegio di accedere al file system Inoltre, utilizzo una specie di user-identity based system per decidere quale programma può accedere a quali file (Se un programma sta girando per conto dellutente A potrà accedere soltanto ai file che A ha creato)

30 Soluzione tradizionale (2/2) Questo tipo di sistema – mi permette di effettuare: Prevent e Revoke accessPrevent e Revoke – non mi consente di effettuare: Limit e Grant accessLimit e Grant Inoltre non mi permette di delegare lautorità su un oggetto

31 Soluzione migliore: Universal Persistence (1/3) Non avere un file system comune Non dare ad ogni processo laccesso al file system di default (I file system sono molto utili ma molti programmi o sottosistemi non hanno bisogno di accedervi) Idea : ricordare tutto

32 Soluzione migliore: Universal Persistence (2/3) Ogni 5 minuti tener traccia degli oggetti su cui il sistema sta lavorando Se stavo lavorando su un file e avviene il reset del sistema, al riavvio si tornerà allultima copia salvata Poiché viene salvata una copia di tutti i processi non cè bisogno di capire chi è incaricato di cosa quando il sistema riparte

33 Soluzione migliore: Universal Persistence (3/3) Si può pensare che sia inefficiente In realtà: –Ha più velocità di esecuzione di un File System –Richiede meno codice É usato da EROS (attualmente il più veloce capability system esistente)

34 Revocare laccesso (1/4) Non cè modo di dire: revoca tutti i permessi che Fred ha su questo oggetto ( revoca selettiva ) Nella realtà questo problema si presenta spesso: ad esempio se un impiegato si trasferisce in unaltra ditta voglio fare in modo che non abbia più accesso ai vecchi file.

35 Revocare laccesso (2/4) Tre aspetti: 1.Rimuovere interamente laccesso di un utente 2.Revocare il corrente accesso di un utente senza rimuovere lutente 3.Revocare laccesso dellutente ad un particolare oggetto

36 Revocare laccesso (3/4) Soluzione 1: Si risolve eliminando la login dellutente Soluzione 2,3: Creare una nuova login per lo stesso utente e copiare nel nuovo account tutti i documenti personali a cui lutente vuole accedere

37 Revocare laccesso (4/4) Oppure: costruire un contenitore che non consenta di copiare i documenti fuori da esso e ne consenta invece laccesso agli utenti solo dentro al contenitore (n.b. diverso da uno user group)

38 Capability vs ACL (1/4) Diritti di accesso e persistenza (Cosa succede quando avviene il shut down del sistema e tutti i processi scompaiono?) – ACL:nessun problema, anche le sessioni di login scompaiono –Capability:il problema cè. Soluzioni: associare una lista di capability iniziale ad ogni login oppure rendere persistenti tutti i processi

39 Capability vs ACL (2/4) Minimo privilegio – Capability: forniscono una granularità più fine di protezione. Ogni processo ha uno specifico insieme di diritti di accesso –ACL:ogni processo eseguito da Fred ha gli stessi diritti.

40 Capability vs ACL (3/4) Revoca dei privilegi – ACL: posso rimuovere un utente dalla lista ed egli non potrà più accedere ai suoi oggetti –Capability: non cè un operazione equivalente. Questo è un problema : gli utenti vanno e vengono e dobbiamo essere in grado di rimuoverli affinché non possano più accedere ai vecchi dati.

41 Capability vs ACL (4/4) Delega dei diritti –ACL: non possibile trasferire i diritti. Se Fred ottiene il diritto su un oggetto non può trasferirlo a Mary. – Capability: posso trasferire le capability. Questo è molto utile ( delego ad una persona un compito ) ma anche pericoloso ( se il programma che sto eseguendo è malizioso può rubarmi i diritti di accesso )

42 EROS E un nuovo Sistema Operativo basato su capability implementato inizialmente presso lUniversità della Pennsylvania, in seguito portato avanti presso la Johns Hopkins University Team di sviluppatori: Jonathan S. Shapiro, Jonathan Adams, Colin McLean, Mike Laskin, Mike Berry, Daniel Brushteyn

43 EROS: persistenza (1/3) In molti sistemi operativi le applicazioni muoiono quando il sistema ha un crash. Tutte le informazioni non salvate vengono perse In EROS questo non succede: una volta che unapplicazione viene lanciata continua ad operare anche dopo il crash del sistema.

44 EROS: persistenza (2/3) Tutto questo è realizzato mediante una tecnica chiamata checkpointing : ogni 5 minuti viene fatta una fotografia di uno stato consistente del sistema e tutte le informazioni relative vengono salvate. Il ripristino del sistema avviene agevolmente e rapidamente

45 EROS: persistenza (3/3) Altri vantaggi del checkpointing: –Richiede 100ms ogni 5 minuti. –Molte applicazioni non devono più salvare le proprie informazioni su file –Migliora le prestazioni del disk drive. Il meccanismo di checkpoint sposta i dati raggruppati in blocchi. I dischi in eros sono più veloci rispetto a Windows e Unix

46 EROS: capability (1/8) Costituisce il meccanismo del sistema per garantire la sicurezza e il controllo degli accessi Come già detto, una capability consente a chi la possiede di effettuare specifiche operazioni su un determinato oggetto Il possesso della capability è la condizione necessaria e sufficiente per effettuare det. operazioni su un det.oggetto

47 EROS: capability (2/8) In EROS i processi posseggono le capability per conto dei loro utilizzatori In contrasto: Unix e Microsoft Windows in cui: –Ogni programma ha accesso al file system e può creare, rimuovere, aprire, modificare i file presenti –La protezione è basata sullidentità dellutente che sta utilizzando lapplicazione piuttosto che su cosa lapplicazione è autorizzata a fare

48 EROS: capability (3/8) EROS consente di delegare i diritti, Unix e Microsoft Windows no EROS risolve ad esempio alcuni problemi che si possono presentare per quanto riguarda il controllo degli accessi e lintegrità

49 EROS: capability (4/8) Problema 1: A ha un database di un certo valore e non vuole che venga copiato. Vende a B il diritto di eseguire un numero fissato di query e vuole assicurarsi che A non ne lanci più di quelle che ha pagato. Soluzione: nei sistemi tradizionali è difficile da risolvere. In un capability system no.

50 EROS: capability (5/8) ClientMediatorDatabase Interpongo un mediatore tra il Client e il Database. Il Mediatore manterrà un contatore e quando sarà a zero mi impedirà di lanciare ulteriori query. In questo modo solo il Mediatore ha accesso al Database, mentre lutente no. La sicurezza non viene compromessa.

51 EROS: capability (6/8) Problema 2: B ha un database costoso e A ha implementato un importante algoritmo che B ha bisogno di lanciare –A non vuole che B acceda al codice dellalgoritmo –B non vuole che A acceda al database Come possono collaborare? Soluzione: impossibile in un sistema tradizionale. Piuttosto facile in un capability system.

52 EROS: capability (7/8) Constructor ClientApplication Fase1: Il Client chiede al Constructor: E sicuro se lancio questo programma?

53 EROS: capability (8/8) Fase2: Il Constructor risponde si o no basandosi sulle capability che il programma possiede. Il Client decide se lanciare o no il programma. Se si richiede una copia del programma. Fase3: Il Constructor ne prepara una copia e restituisce una capability al Client Fase4: Il Client e lapplicazione possono comunicare liberamente

54 Bibliografia Anrew S. Tanenbaum, Albert S.Woodhull Sistemi Operativi, Progetto e Implementazione Cosè una capability, Capability-Based Computer Systems EROS Altri riferimenti e informazioni sulle capability

Stefania Ciarlo Fine