Uso di ACL per la protezione di un sistema operativo. Robustezza Informatica



Documenti analoghi
Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Protezione. Protezione. Protezione. Obiettivi della protezione

File system II. Sistemi Operativi Lez. 20

Architetture Applicative

Organizzazione degli archivi

Gestione della memoria centrale

Protezione. Sistemi Operativi mod. B 16.1

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Approccio stratificato

Introduzione alla teoria dei database relazionali. Come progettare un database

Ottimizzazione delle interrogazioni (parte I)

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Database. Si ringrazia Marco Bertini per le slides

Esercizio 1: trading on-line

Progettazione di Basi di Dati

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Progettaz. e sviluppo Data Base

La Metodologia adottata nel Corso

Esame di INFORMATICA

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Università degli Studi di Salerno

Facoltà di Farmacia - Corso di Informatica

Calcolatori Elettronici A a.a. 2008/2009

Piano di gestione della qualità

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Lezione 1. Introduzione e Modellazione Concettuale

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Capitolo 13. Interrogare una base di dati

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Automazione Industriale (scheduling+mms) scheduling+mms.

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

Il File System. Il file system

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Generazione Automatica di Asserzioni da Modelli di Specifica

Introduzione all Information Retrieval

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

lem logic enterprise manager

Progettaz. e sviluppo Data Base

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

SISTEMI OPERATIVI DISTRIBUITI

Strutturazione logica dei dati: i file

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Le Infrastrutture Software ed il Sistema Operativo

Informatica per la comunicazione" - lezione 13 -

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Corso di Informatica

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

MService La soluzione per ottimizzare le prestazioni dell impianto

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Tecnologia di un Database Server (centralizzato) Introduzione generale

Introduzione al data base

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Scenario di Progettazione

Architettura di un sistema operativo

Corso di Sistemi di Elaborazione delle informazioni

Sicurezza dei sistemi e delle reti Introduzione

Ingegneria del Software 5. Esercizi sui casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Mac Application Manager 1.3 (SOLO PER TIGER)

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Organizzazione della memoria principale Il bus

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Architettura hardware

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Protezione. Univ. Ferrara Laurea in Informatica Sistemi Operativi 1. Scopi della protezione. Autenticazione/Autorizzazione. Principi di protezione

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Architettura di un calcolatore

Reti di Telecomunicazione Lezione 6

DMA Accesso Diretto alla Memoria

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Web Application Libro Firme Autorizzate

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Sistema operativo: Gestione della memoria

SICUREZZA. Sistemi Operativi. Sicurezza

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1

VALORE DELLE MERCI SEQUESTRATE

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

3. Introduzione all'internetworking

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Transcript:

Uso di ACL per la protezione di un sistema operativo Uso di ACL (e non solo) per la protezione di un sistema operativo F.Baiardi Università di Pisa Fabrizio Baiardi-Uso di ACL... -1 Robustezza Informatica robustezza di un componente = capacità di non danneggiare il sistema in cui è inserito quando vengono violate le specifiche del componente stesso violazione delle specifiche = input diversi da quelli specificati, risorse diverse da quelle specificate Fabrizio Baiardi-Uso di ACL... -2

Robustezza Informatica è una proprietà diversa da correttezza, efficienza, facilità d uso,,... è in contrasto con efficienza e facilità d uso, può aumentare solo a spese di queste due proprietà No Free Lunch Theorem Fabrizio Baiardi-Uso di ACL... -3 Quanto robusto valore dipende dai controlli che il componente esegue sul proprio ambiente robustezza tende ad 1 al tendere ad infinito dei controlli normalmente i controlli sono inutili, ciò limita il numero dei controlli possibili senza danneggiare le prestazioni Fabrizio Baiardi-Uso di ACL... -4

Tre politiche per la robustezza politiche fondamentali per la robustezza controlli controlli nell accesso agli oggetti controlli di identificazione politiche di crittografia per l identificazione dei soggetti per la confidenzialità dei dati Fabrizio Baiardi-Uso di ACL... -5 Matrice di protezione oggetti A B C X Y X Op1 Op1, Op2 Op3 soggetti Y Op3 Op1 Op1, Op2 Op4 Z Fabrizio Baiardi-Uso di ACL... -6

Valutazione: primo criterio esiste una struttura dati che rappresenta i diritti degli utenti sul componente diritto = operazioni che utente può invocare assenzaassenza di informazioni deve essere interpretata come un divieto la struttura o è interna al componente o è utilizzata dal sistema operativo Fabrizio Baiardi-Uso di ACL... -7 Valutazione: primo criterio struttura dati complessiva = matrice di protezione soggetto = può invocare una operazione componente = utente o altro oggetto = un componente condiviso controllo degli accessi = controllo dei diritti dei soggetti sugli oggetti Fabrizio Baiardi-Uso di ACL... -8

Matrice di protezione: quando non serve non tutte le risorse sono sotto il controllo del sistema ad esempio non è possibile garantire che nessuno stia monitorando il traffico sulle linee fisiche crittografia Fabrizio Baiardi-Uso di ACL... -9 Valutazione: secondo criterio durante la computazione i diritti (e la matrice) variano occorre minimizzare il dominio corrente di ogni soggetto al diminuire del dominio aumenta la capacità di rilevare comportamenti anomali Fabrizio Baiardi-Uso di ACL... -10

Valutazione: secondo criterio in teoria occorre modificare la matrice per ogni istruzione eseguita questo produce un sistema robusto ma troppo inefficiente per essere utile una granularità più ragionevole è quella delle procedure o dei metodi degli oggetti Fabrizio Baiardi-Uso di ACL... -11 Valutazione: terzo criterio non deve essere possibile violare i controlli operando ad un livello diverso da quello considerato ciò avviene tipicamente se è possibile utilizzare nella stessa applicazione due linguaggi di programmazione con caratteristiche diverse (linguaggio ad alto livello e assembler) Fabrizio Baiardi-Uso di ACL... -12

Valutazione: : quarto criterio la robustezza aumenta ripetendo lo stesso controllo in componenti diversi ad esempio l esistenzal di un diritto viene controllato prima nell invocante e poi nell invocato evitare i punti di caduta catastrofica = sandbox di Java, firewall,... Fabrizio Baiardi-Uso di ACL... -13 Matrice di protezione Politica di sicurezza S1 O1 S2 Sn MP Security Kernel indipendente dalla politica O2 Om Fabrizio Baiardi-Uso di ACL... -14

Matrice di protezione problemi da affrontare implementazione distribuita dei controlli affidabilità dei flussi di informazione strutture dati security kernel Fabrizio Baiardi-Uso di ACL... -15 Matrice di protezione Politica di sicurezza S1 O1 S2 Security Kernel O2 Sn Om Fabrizio Baiardi-Uso di ACL... -16

Matrice di protezione due tipi di controlli discretionary access control = verifica che l operazione l invocata sia coerente con i diritti concessi al soggetto = coerente con la funzione (ruolo) del soggetto mandatory access control = verifica che l accesso l sia coerente con il livello di sicurezza del soggetto e dell oggetto Fabrizio Baiardi-Uso di ACL... -17 Mandatory e Discretionary AC possono essere fusi poichè il MAC può essere visto come una politica di protezione supplementare e ortogonale a quella scelta per la robustezza = una operazione viene eseguita se è permessa dalla politica di protezione (ruolo)) e dal livello di sicurezza del soggetto Fabrizio Baiardi-Uso di ACL... -18

MAC e DAC può essere utile distinguere il MAC perchè si applica alle informazioni permanenti del sistema è più semplice del DAC perchè le operazioni si possono fondere nelle due classi read e update deve permettere di evitare information leakege tramite inferenze e query covert channels Fabrizio Baiardi-Uso di ACL... -19 Politica fondamentale per MAC un insieme I di elementi (label) ed una relazione di ordinamento parziale tra tali elementi associare un elemento I(s) ad ogni soggetto s associare un elemento I(o) ad ogni oggetto o s può leggere il valore di o solo se I(s) è maggiore o uguale ad I(o) s può modificare il valore di o solo se I(o) è maggiore o uguale ad I(s) Fabrizio Baiardi-Uso di ACL... -20

soggetto MAC domina gli oggetti che legge è dominato dagli oggetti che può modificare è vietata la scrittura sugli oggetti dominati perchè ciò diffonde le informazioni ai livelli bassi è utile, ma pericolosa, una operazione che riduce il livello di un oggetto per evitare l affollamento l ai livelli alti Fabrizio Baiardi-Uso di ACL... -21 MAC occorre prestare particolare attenzione se record diversi o campi diversi di uno stesso record hanno livelli di sicurezza diversi opportune query possono permettere di stabilire l esistenza l di record o attributi non visibili polinstanziazione = record diversi a livelli di sicurezza diversi Fabrizio Baiardi-Uso di ACL... -22

MAC: livelli di sicurezza Normale segreto A segreto B segreto C segreto+aa segreto+ab segreto+c segreto++aa segreto++c segreto+++aa Fabrizio Baiardi-Uso di ACL... -23 MAC: i diritti è opportuno raffinare il diritto di scrittura in append e update un soggetto può modificare gli oggetti che hanno il suo stesso livello di sicurezza appendere nuova informazione ma non modificare quella esistente se gli oggetti hanno un livello maggiore del suo Fabrizio Baiardi-Uso di ACL... -24

MAC e Robustezza i domini di un soggetto possono essere troppo estesi per essere utili per i controlli di robustezza è possibile una caduta catastrofica se è possibile impersonare un soggetto associato ad un livello alto un sistema che può implementare efficientemente il DAC può includere in esso anche il MAC Fabrizio Baiardi-Uso di ACL... -25 Come implementare il DAC definizione di un sistema astratto ed ideale il confronto tra un sistema reale e quello astratto evidenzia i limiti di quello reale ed i possibili rischi il sistema astratto permette di parlare di sicurezza senza elencare i buchi dei sistemi reali Fabrizio Baiardi-Uso di ACL... -26

Dove implementare il DAC Applicazioni Sistema Operativo Assembler Firmware Hardware Fabrizio Baiardi-Uso di ACL... -27 Come implementare il DAC la nozione di matrice di protezione può essere applicata ad una qualunque macchina astratta e quindi a risorse diverse o ad astrazioni diverse della stessa risorsa l implementazione può essere limitata ad una sola macchina astratta solo a prezzo di un aumento di complessità e quindi di costo Fabrizio Baiardi-Uso di ACL... -28

Come implementare il DAC non esiste una sola matrice per tutto il sistema una gerarchia di matrici che rispecchia la gerarchia delle macchine astratte livelli possibili di gerarchia aree di memoria risorse risorse del sistema risorse delle applicazioni Fabrizio Baiardi-Uso di ACL... -29 Come implementare il DAC la corretta identificazione del soggetto è fondamentale la macchina astratta inferiore deve garantire l identitl identità del soggetto sono necessarie opportune funzioni di identificazion per non dipendere dai parametri trasmessi Fabrizio Baiardi-Uso di ACL... -30

Come implementare il DAC capability molto popolari nel periodo 65-80 architetture basate su questo concetto nuova popolarità negli USA con forte supporto NSA lista di controllo degli accessi (ACL) hanno sempre scontato il costo maggiore rispetto alle capability nessun supporto architetturale Fabrizio Baiardi-Uso di ACL... -31 Matrice di protezione: : capability S1 Politica di sicurezza O1 S2 O2 Sn Security Kernel Om Fabrizio Baiardi-Uso di ACL... -32

Matrice di protezione: : ACL Politica di sicurezza S1 O1 S2 O2 Sn Security Kernel Om Fabrizio Baiardi-Uso di ACL... -33 Matrice di protezione scelta tra capability e ACL si ripete per ogni macchina astratta della gerarchia scelte sono in linea di principio ortogonali tra di loro efficienza dei controlli è critica per macchine di livello basso flessibilità è critica per le macchine di livello alto Fabrizio Baiardi-Uso di ACL... -34

DAC tramite capability capability = puntatore ad un oggetto + diritti del soggetto quando il soggetto invoca una operazione fornisce anche la capability che autorizza l operazionel l operazione viene eseguita solo se i diritti della capability autorizzano l operazionel le capability di un soggetto sono memorizzate nell ambiente del soggetto le le capability sono generate dal sistema e non dal soggetto Fabrizio Baiardi-Uso di ACL... -35 DAC tramite capability capability oggetto correttezza op a, op b,..., op n la capability non può essere falsificata dal soggetto l unico modo di accedere all oggetto è mediante le procedure definite dal sistema Fabrizio Baiardi-Uso di ACL... -36

DAC tramite capability per evitare la falsificazione di una capability si possono usare: la macchina astratta inferiore = la lista delle capability è memorizzata,, al momento della generazione,, in un area in cui il soggetto può leggere ma non scrivere una strategia di firma delle capability al momento della generazione un meccanismo di indirezione, il puntatore è in realtà la chiave per accedere ad una tabella di indirizzi Fabrizio Baiardi-Uso di ACL... -37 DAC tramite capability accesso all oggetto solo mediante le procedure definite dal sistema mediazione mediante la macchina virtuale inferiore = il soggetto ha solo il diritto di eseguire le procedure che possono leggere/scrivere oggetto protection through obscurity = non vengono rivelate le strategie di implementazione dell oggetto firma = dati restituiti sono criptati per garantire che l unico l modo di operare sia mediante le procedure stesse Fabrizio Baiardi-Uso di ACL... -38

DAC tramite capability/capability cap0, read, del soggetto cap1 cap2 cap3 capg, write, generazione capn Fabrizio Baiardi-Uso di ACL... -39 DAC tramite capability/capability ACL con diritti del soggetto, di chi genera le capability, di chi le modifica,... cap1 cap2 cap3 capn Fabrizio Baiardi-Uso di ACL... -40

DAC tramite capability il costo per garantire la correttezza dipende fortemente dai meccanismi forniti dalle macchine virtuali inferiori, in particolare da quelli architetturali l uso di strategie basate su meccanismi di crittografia permette di superare insufficienze della macchina virtuale inferiore Fabrizio Baiardi-Uso di ACL... -41 Capability mediante crittografia S1 Politica di sicurezza O1 S2 O2 Sn Security Kernel Om Fabrizio Baiardi-Uso di ACL... -42

DAC tramite capability è possibile un efficiente supporto architetturale fondendo i controlli di protezione con l indirizzamento nel passaggio da indirizzo logico a quello fisico vengono anche controllati i diritti i controlli vengono implementati nella MMU e non nel processore Fabrizio Baiardi-Uso di ACL... -43 DAC tramite capability trasferendo una capability il soggetto può delegare ad altri soggetti le operazioni che ha diritto di invocare la controparte è la difficoltà di revocare i diritti che il soggetto perde in alcuni sistemi usano un meccanismo di trasferimento che indebolisce la capability Fabrizio Baiardi-Uso di ACL... -44

DAC tramite capability per garantire l autenticitl autenticità la strategia di generazione è fondamentale è difficile usare le capability per il controllo su oggetti a priori non definiti possibilità di uso in un ambiente ben confinato e noto a priori Fabrizio Baiardi-Uso di ACL... -45 DAC mediante ACL un ACL memorizza, nell ambiente dell oggetto oggetto,, i diritti dei vari soggetti il controllo dei diritti avviene perciò nell ambiente dell oggetto dopo che l operazione è stata invocata non è possibile fondere i controlli nell indirizzamento Fabrizio Baiardi-Uso di ACL... -46

DAC mediante ACL le informazioni sui diritti sono centralizzate nell oggetto la revoca di un diritto è molto più semplice poichè i diritti non si possono propagare nel sistema la verifica di un diritto richiede una scansione della lista e questa scansione può permettere di esprimere politiche più complesse,, e.g. firewall Fabrizio Baiardi-Uso di ACL... -47 DAC mediante ACL la scansione permette di definire comportamenti di default nel caso il soggetto non sia noto è possibile definire politiche per negazione,, e.g. è permesso a tutti ma non ad un certo insieme questi comportamenti non sono possibili mediante capability Fabrizio Baiardi-Uso di ACL... -48

DAC mediante ACL anche in questo caso occorre garantire la non modificabilità delle liste macchina astratta inferiore firma,... è molto più semplice definire un comportamento dipendente dal tempo dopo ogni operazione è possibile modificare i diritti è possibile modificare i diritti ad istanti predeterminati Fabrizio Baiardi-Uso di ACL... -49 DAC mediante ACL centralizzazione permette una migliore interazione con la memoria secondaria salvataggio periodico delle ACL nella memoria secondaria controlli di consistenza tra ACL in memoria secondaria e quelle utilizzate ripristino di ACL dalla memoria secondaria se si rivela una inconsistenza Fabrizio Baiardi-Uso di ACL... -50

E se questo non basta? definizione di applicazioni o sistemi proattivi (intrusion tolerant) un sistema proattivo assume che parte dei suoi componenti siano stati violati garantire un comportamento corretto anche se parte dei componenti non è più sotto il controllo del sistema Fabrizio Baiardi-Uso di ACL... -51 Un sistema proattivo correttezza garantita purchè k su n sottosistemi siano ben funzionanti con k n/2 informazione critica non è memorizzata in nessun sottosistema informazione viene ricomposta solo quando serve Fabrizio Baiardi-Uso di ACL... -52

Come condividere un segreto -1 n persone vogliono condividere un segreto S che deve essere noto solo quando k di loro sono riunite consideriamo un polinomio di grado k- 1 e che interseca l asse l delle Y in S distribuiamo ad ogni persona le coordinate di un punto del polinomio quando k persone sono riunite possono derivare sia i coefficenti sia S Fabrizio Baiardi-Uso di ACL... -53 Come condividere un segreto -1 (x n, y n ) S (x 0, y 0 ) (x 2, y 2 ) (x 3, y 3 ) (x 1, y 1 ) Fabrizio Baiardi-Uso di ACL... -54

Come condividere un segreto -1 in questo modo è possibile ricostruire le informazioni senza memorizzarle comunque le informazioni esistono, anche se per un tempo molto breve con ulteriori vincoli è possibile far si che le informazioni possano essere utilizzate senza essere ricostruite Fabrizio Baiardi-Uso di ACL... -55 Come condividere un segreto -2 supponiamo di utilizzare codifiche basate sul calcolo di C m m m non viene memorizzato su g nodi abbiamo m1,..., mg tali che m1+m2+... +mg =m {m} [1..N] { m1, m2,..., mg } [-N..N] facendo circolare prodotti parziali tra i g nodi siamo in grado di codificare senza ricostruire la chiave Fabrizio Baiardi-Uso di ACL... -56

Come condividere un segreto -2 possiamo scegliere gruppi diversi di g nodi gruppi possono o no avere intersezione il sistema può continuare a funzionare anche se alcuni nodi sono stati violati robustezza vs prestazioni g g alto = robustezza elevata ma codifica lenta g basso = robustezza ridotta ma codifica veloce Fabrizio Baiardi-Uso di ACL... -57 Come utilizzare (??) quanto visto un uso paranoico dei criteri può portare a sistemi robusti ma inutilizzabili questo non sembra comunque un rischio a breve termine attualmente un pizzico di paranoia non può che essere utile e produttivo Fabrizio Baiardi-Uso di ACL... -58