SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano...

46
SI 04-05 1 Sicurezza della Sicurezza della Base di Dati Base di Dati Mariagrazia Fugini Mariagrazia Fugini Barbara Pernici Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005

Transcript of SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano...

Page 1: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 1

Sicurezza della Base Sicurezza della Base di Dati di Dati

Mariagrazia FuginiMariagrazia Fugini

Barbara PerniciBarbara Pernici

Politecnico di MilanoSistemi Informativi 2004-2005

Page 2: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 2

Argomenti

• Problemi di sicurezza e requisiti• Politiche di sicurezza, DAC/ MAC• Tipi di controlli e modelli per le basi dati • Architettura di un DBMS con caratteristiche di

sicurezza

Page 3: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 3

Requisiti di protezione delle bd Protezione da accessi impropri (letture) Protezione da inferenza Integrità della bd:

Protezione da modifiche improprie Integrità operativa dei dati (concurrency manager, locking back up e

recovery) Integrità semantica (vincoli di integrità)

Accountability e auditing (log) Autenticazione utente Individuazione e Gestione protetta di dati sensitibili Protezione multilivello (in ambienti militari/governativi) Confinamento: per evitare trasferimento di informazione lungo

canali autorizzati (es. scambio file) canali di memoria canali covert (di cui non è palese l’esistenza)

Page 4: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 4

Controlli sui dati1) Controlli di flusso: da oggetto X (autorizzato) a oggetto Y (non autorizzato)

eseguite in sequenza: READ X , WRITE Y trasferiscono informazione dall’oggetto X all’oggetto Y

2) Controlli di inferenza• accesso indiretto

SELECT X FROM r WHERE Y = value

Rivela che esistono n-tuple in r che verificano la condizione Y= value

Se utente non è autorizzato su Y, riesce comunque a leggere il data set Y

• dati correlati z = t * k con t,k visibili, z non visibile

z può essere inferito tramite la relazione aritmetica ‘*’

• dati mancanti conoscere il nome di un oggetto anche senza poterne vedere il contenuto

Inferenza Statistica: prevenuta mediante perturbazione dati controllo sulle query (sulle dimensioni del query set)

Page 5: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 5

ProcedurediControllo

PolitichediSicurezza

richiestadiaccesso

RegolediAccesso

accessonegato

accessopermesso

modificadella richiesta

3) Controlli di accesso

Page 6: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 6

Controlli di accesso: politiche Insieme di regole per limitare gli accessi:

Pattern di Regola <soggetto, privilegio, oggetto> Policies:

• privilegio minimo (need-to-know)• privilegio massimo (per favorire scambio di informazioni, es. in

ambienti di ricerca – Unix è nato così)• amministrazione centralizzata o decentralizzata (ownership degli utenti)• amministrazione gerarchica decentralizzata/• autorizzazione cooperativa (sono richieste autorizzazioni congiunte per

esguire operazioni, principio del binding of duties)• politiche di delega dei privilegi (in sistemi discrezionali, tramite

operazione GRANT)

Sistemi aperti vs chiusi (quasi tutti sono chiusi)

Page 7: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 7

richiesta di accesso

esiste una regolache autorizza l’accesso?

sì no

accessopermesso

accessonegato

RegolediAccesso

accessiautorizzati

Controllo accessi: sistema chiuso

Page 8: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 8

esiste una regolache nega l’accesso?

no si

accessopermesso

accessonegato

RegolediAccesso

accessinegati

richiesta di accesso

Controllo accessi: sistema aperto

Page 9: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 9

Controllo di accesso discrezionale

• Gli utenti amministrano i dati che possiedono (concetto di proprietario)

• Il proprietario dei dati può autorizzare (GRANT) altri utenti all’accesso

• Il proprietario può definire il tipo di accesso da concedere ad altri (lettura, scrittura, esecuzione)

• Accessi selettivi (basati su nome, contenuto, parametri di sistema, storia, aggregazione di dati)

Page 10: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 10

Controllo di accesso discrezionale

Richiesta di

accesso Regole di

autorizzazione

La richiesta è conforme

alle regole di autorizzazione?

no sì

Accesso negato

il predicato P della regola è

soddisfatto?

no sì

Accesso negato Accesso autorizzato

Page 11: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 11

Controllo di accesso mandatorio

Per basi di dati con dati sensitivi (es., governative, militari) DAC non è sufficiente (per esempio, non si puà controllare il flusso da oggetto X a oggetto Y)

Informazioni vitali, diversi livelli di sensitività, controlli sul flusso di dati e sul rilascio di dati, controlli sugli utenti

Attacchi sofisticati da parte di utenti determinati (e.g., Cavalli di Troia)

Politiche basate su classificazione di dati e utenti: Multilevel Access Control (MAC)

Page 12: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 12

Controllo di accesso mandatorio Classificazione dei dati (livello di sensitività) Classificazione dei soggetti (clearance) Classe di sicurezza:

<componente gerarchica, insieme di categorie> Ordinamento (parziale) tra le classi di sicurezza (relazione

domina) I meccanismi di sicurezza devono garantire che tutti i soggetti

abbiano accesso solo ai dati per cui possiedono la clearance appropriata (regole soggetti-oggetti)

Non si possono propagare privilegi (No Grant)

Page 13: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 13

Controllo di accesso mandatorio Richiesta di

accesso Assiomi di sicurezza

Classi di sicurezza

La richiesta è conforme di soggetti/oggetti

agli assiomi della politica

mandatoria ?

sì no

Accesso autorizzato Accesso negato

Page 14: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 14

MAC: Classificazione Livelli di classificazione (Sensitività dati e clearance utenti):

Unclassified, Confidential, Secret, Top Secret

Categorie: es. Nuclear, NATO, Intelligence es. Produzione, Personale, Engineering TS

S

C

U

(Secret, {Nuclear, Intelligence})

(Secret, {Nuclear})

(Confidential, {Nuclear})Legenda: è contenuto in

Page 15: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 15

Sistemi mandatori: esempioLivelli di classificazione: 0 = Unclassified 1 = Confidential 2 = Secret 3 = Top SecretCategorie: Nuclear, Nato, Intelligence Produzione, Personale, Engineering, Amministrazione

(per m aree, 2m possibili categorie)

Relazione di ordinamento parziale sulle Security Classes (SC) : SC = (A,C) con A livello di classificazione, C categoria

date SC = (A,C) e SC’ = (A’,C’) SC <= SC’ iff A<= A’ e C inC’Esempi: (2, Nuclear) <= (3,(Nuclear,Nato)) verificata (2, (Nuclear,Nato) <= (3,Nato) non verificata

Page 16: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 16

Tipi di controllo accessi alle bd

Page 17: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 17

R

Accesso basato sul nomeEMP

PERSONNEL MANAGER

MAILROOM CLERK

name salary manager dept

B 10k J comp

A

eval skill

g netw

20k J fin s acc

15k H comp m PC

D 18k J admin m payroll

Page 18: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 18

Accesso basato sul contenuto

EMPVISTE

John può vedere solo gli impiegati del reparto 50

GRANT SELECT ON D50 TO John

CREATE VIEW D50 (Codice, Nome,Qualifica) AS

SELECT Codice, Nome, Qualifica

FROM EMP

WHERE Codice_Reparto=50;

JOHN

Page 19: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 19

Accesso basato sul tipo di accesso

Page 20: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 20

MODELLI DI SICUREZZA

Page 21: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 21

Modelli di sicurezza per i dati

Modelli discrezionali propagazione privilegi ownership (grant/revoke)

Modelli mandatori soggetti oggetti classificazione e etichettatura

Page 22: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 22

DISCREZIONALI: BASATI SU MATRICE DI ACCESSO MATRICE DI ACCESSO ACL, CAPABILITIES MODELLI BASATI SUI RUOLI

MANDATORI: MODELLI PER SISTEMI MULTILIVELLO BELL-LA PADULA (per sistemi operativi) SEA-VIEW (per basi di dati)

Page 23: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 23

Modello a matrice di accesso

Basato su Matrice A[s,o] = p con s soggetto (programma, processo,utente) o oggetto (programma,file,area di memoria

centrale) p privilegio di accesso (read,write,execute,call)

insieme dei soggetti e oggetti possono essere non disgiunti

pensato per i sistemi operativi; matrice è sparsa (occupa memoria), per le bd servono anche condizioni di accesso (es. per vincoli sul contenuto)

Page 24: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 24

Matrice di accesso: implementazione

ACL ogni colonna della matrice di accesso è memorizzata con

l’oggetto corrispondente a quella colonna (molto efficiente: ACL viene aperta con l’oggetto, es. File)

Capability ogni riga della matrice di accesso è memorizzata con il

soggetto corrispondente a quella riga (ogni soggetto ha un insieme di capabilities, o ticket di autorizzazione

Tabella (triple, quadruple, in genere n-uple) generalmente utilizzato in DBMS

Page 25: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 25

Classe di sistemi : contenenti dati a diversi livelli di sensitività che permette l'accesso contemporaneo ai dati

da parte di utenti con diverse autorizzazioni (clearances) e need-to-know

che impedisce agli utenti accessi non autorizzati in base a regole di confronto livello/clearance

Nati in ambienti militari o security-critical, oggi sono in fase di ricerca avanzata per applicazioni industriali e commerciali e per sistemi di comunicazioni

SISTEMI MULTILIVELLO

Page 26: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 26

Simple Security (SS) Property (per la lettura): uno stato soddisfa la proprietà SS se, per ogni soggetto s che ha accesso READ, la clearance di s domina la classificazione dell'oggetto o:

(s,o,x) soddisfa la proprietà SS relativa a F se x=READ e Fs (s) domina Fo(o)

Condensata in No Read Up

Page 27: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 27

Star (*) Property (confinement property): per la scrittura un s non può avere accesso WRITE a un o a meno

che la classificazione di o sia >= livello di sicurezza corrente di s: (s,o,x) è permessa se x=WRITE e Fc(s) <= Fo(o)

s non può avere accesso READ/WRITE a un oggetto o a meno che la classificazione di o eguagli il livello di sicurezza corrente del soggetto:

(s,o,x) è permessa se x=READ-WRITE e Fc(s) = Fo(o)

Si condensa in No Write Down

Page 28: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 28

Page 29: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 29

Progetto di DBMS sicuri DBMS vs. SO

granularità oggetti protetti correlazioni semantiche dei dati metadati molteplicità di tipi di dati oggetti statici e dinamici transazioni (multilivello in MAC) ciclo di vita dei dati

Page 30: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 30

Progetto di DBMS sicuri Meccanismi di sicurezza nei DBMS: requisiti

diverse granularità diversi modi di accesso e tipologie di controllo

(covert channels, controlli di inferenza, controlli di flusso)

polinstanziazione in MAC autorizzazione dinamica uniformità dei meccanismi assenza di back doors prestazioni ragionevoli

Page 31: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 31

Sicurezza nei DBMS Regole di accesso Protezione e gestione delle autorizzazioni nei

DBMS Meccanismi di sicurezza nei DBMS Autorizzazioni in RDBMS Basi di dati multilivello Architetture di DBMS sicuri

Page 32: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 32

accesso

accesso

Transazioni come Soggetti/Oggetti

Page 33: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 33

Esempi di regole di accesso Modello a 3 componenti: <subj,obj,right> nato per SO, esteso alle bd Modello a 4 componenti: <subj,obj,right, constraint> vincoli dipendenti dal

contenuto subj obj right constraint

mgr EMP ALL = mgr of NAME

NAME READ NOT mgr of NAME

ADDRESS

employee NAME READ,UPDATE employee=NAME

AGE

ADDRESS

NAME READ mgr(NAME)=

AGE mgr(employee)

ADDRESS

Page 34: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 34

Regole di accesso per le bd Modello a 5 componenti: <gtor, gtee, obj, right,

constraint, prop_rule>

prop-rule: nessuna propagazione: solo privilegio USE propagazione incondizionata (UP): privilegi USE e

PROPAGATE propagazione limitata (BP): orizzontale/verticale problema della modifica delle regole di accesso

(REVOCA)

Page 35: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 35

Authorization Tablegtor gtee obj right constraint prop rule

creator creator EMP ALL NO UP

creator mgr EMP ALL =mgr(NAME) BPmgr employee NAME READ mgr(NAME) BP AGE =mgr(employee) ADDRESS

creator employee NAME READ employee=NAME NO AGE UPDATE ADDRESS

Page 36: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 36

Regole e Autorizzazioni Modalità di specifica di autorizzazioni di accesso

ai dati nella BD: regole di accesso nel profilo utente nella descrizione dell’oggetto

Meccanismi per la specifica di autorizzazioni: Query Language /Data Manipulation Language (DML)

del DBMS Data Definition Language (DDL) del DBMS Comandi di SO

Page 37: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 37

Regole e Autorizzazioni In RDBMS

GRANT INSERT, SELECT ON EMP TO John Viste: EMP(Codice,Nome,Codice_Reparto,Mansione,Qualifica)

CREATE VIEW D50(Codice,Nome,Qualifica) AS SELECT Codice,Nome,Qualifica FROM EMP WHERE Codice_Reparto=50

GRANT SELECT ON D50 TO John

Page 38: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 38

Query modificationGRANT SELECT ON EMP TO John WHERE Stipendio<1500

JohnSELECT *FROM EMP

DBMSSELECT *FROM EMPWHERE Stipendio < 1500

Page 39: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 39

Esempio Oracle In Oracle:

soggetti: utenti, gruppi, ruoli gruppo PUBLIC ruoli definiti dall’amministratore (comando GRANT) organizzazione gerarchica dei ruoli (GRANT sui ruoli) comando SET ROLE per assegnazione di ruoli ad

applicazioni (abilitazione attraverso password) oggetti: BD, tabelle, viste, cataloghi, procedure,

etichette a livello di relazione

Page 40: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 40

Oracle modi di accesso: select,insert,delete,update,alter, drop,

index, reference, execute privilegi:

connect: collegamento alla BD e esecuzione di operazioni autorizzate su tabelle

resource: creazione di tabelle e concessione di autorizzazioni ad altri

DBA: tutti i privilegi (anche creazione di user account)

Page 41: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 41

Oracle audit: comando per l’amministratore; audit trail

(SO/DB) amministrazione delle autorizzazioni:

decentralizzata qualunque utente può essere autorizzato a creare

una tabella utente che crea tabella ne è il proprietario il proprietario ha tutti i privilegi e può concedere

(GRANT) privilegi sulla tabella eventualmente con GRANT OPTION

solo il proprietario può cancellare la tabella

Page 42: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 42

Autorizzazioni dinamiche: problema della revoca Ogni utente che possiede un privilegio P con GO su tabella T

può revocare P Un utente autorizzato può revocare solo le autorizzazioni a lui

concesse ------>

problema: autorizzazioni concesse con GO richiedono

REVOCA RICORSIVA (cascading) Revoca di P su T all’utente Y da parte dell’utente X

---------------> è come se tutte le autorizzazioni per P su T concesse da X a Y non fossero mai state concesse

Uso di timestamp associati alle autorizzazioni revocate

Page 43: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 43

Basi di dati multi-livello Regole per la classificazione degli elementi nella BD Multi-Level Relation (MLR)

R(A1,C1,...,An,Cn, TC)

Page 44: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 44

2.21 Esempio di relazione multilivello

Name CName Department CDepartment Salary Csalary TC

Bob S Dept1 S 10K S S

Ann S Dept2 S 20K TS TS

Sam TS Dept2 TS 30K TS TS

Page 45: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 45

2.22 a) Istanza SecretName CName Department CDepartment Salary Csalary TC

Bob S Dept1 S 10K S S

Ann S Dept2 S -- S S

Page 46: SI 04-051 Sicurezza della Base di Dati Mariagrazia Fugini Barbara Pernici Politecnico di Milano Sistemi Informativi 2004-2005.

SI 04-05 46

2.22 b) Istanza TopSName CName Department CDepartment Salary Csalary TC

Bob S Dept1 S 10K S S

Ann S Dept2 S 20K TS TS

Sam TS Dept2 TS 30K TS TS