Anteprima
Vedrai una selezione di 1 pagina su 5
Basi di dati - controllo dell'accesso in SQL standard Pag. 1
1 su 5
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Il controllo dell’accesso regola le operazioni che si possono compiere sui dati e le risorse, con lo scopo di

limitare e controllare le operazioni effettuate dagli utenti (prevenendo azioni che potrebbero

compromettere la correttezza e la sicurezza dei dati).

Nel controllo dell’accesso si distinguono 3 entità:

- oggetti, cioè le risorse da proteggere

- soggetti, cioè le entità che richiedono di poter accedere alle risorse

- privilegi, che sono le operazioni che i soggetti possono fare sugli oggetti

Il controllo dell’accesso è rispettato attraverso le Politiche di sicurezza (insieme regole e principi che

rappresentano direttive ad alto livello, che esprimono le scelte compiute in merito alla protezione dei

dati), tutte le politiche sono tradotte in un insieme di Autorizzazioni che stabiliscono i diritti dei soggetti a

poter accedere a determinati oggetti.

Le autorizzazioni vengono rappresentate mediante una tupla “tripla” (s,o,p) dove:

s è il soggetto a cui l’autorizzazione è concessa

- o è l’oggetto su cui l’autorizzazione è concessa

-

- p è il privilegio che s può esercitare su o

Il controllo dell’accesso è effettuato mediante il “reference monitor” (meccanismo di controllo), che

intercetta ogni comando e stabilisce, analizzando le autorizzazioni, se il soggetto è autorizzato a

compiere l’accesso richiesto. Le Politiche di sicurezza sono

suddivise in 2 classi:

- politiche per il controllo

dell’accesso ai dati (definiscono

i criteri secondo cui concedere

o negare l’accesso alle info del

sistema)

politiche per l’amministrazione

-

della sicurezza (definiscono chi

concede/revoca i diritti di

accesso)

La limitazione degli accessi, ossia la quantità di informazione accessibile a un soggetto, viene

determinata tra 2 principi:

Need to know (principio del minimo privilegio), permette l’accesso ai

- soli dati strettamente necessari.

Vantaggi: ottima garanzia di sicurezza, adatto il contesti di forti esigenze di sicurezza

Svantaggi: porta ad un sistema eccessivamente protetto, negando anche accessi che non

compromettono la sicurezza dei dati

- Maximized sharing (principio della massima condivisione), consente il massimo accesso di

informazioni ai soggetti, mantenendo comunque alcune info riservate.

Vantaggi: soddisfa il massimo numero possibile di richieste

Svantaggi: utilizzato in ambienti con una certa fiducia tra gli utenti e non è sentita una forte

esigenza di protezione

I sistemi per il controllo dell’accesso vengono distinti in:

in cui l’accesso è permesso

- sistemi aperti, a meno che non sia esplicitamente negato (le

autorizzazioni stabiliscono per ogni soggetto i privilegi che NON può esercitare), questo sistema si

adatta al principio di massima condivisione

l’accesso è permesso

- sistemi chiusi, solo se esplicitamente autorizzato (le autorizzazioni indicano

per ogni soggetto tutti e soli i privilegi che egli può esercitare), questo sistema si adatta col principio di

minimo privilegio.

n.b. La maggior parte dei DBMS commerciali si comporta come un sistema chiuso, dato che offre

maggiori garanzie di sicurezza.

Politiche per il controllo dell’accesso

Le politiche per controllo dell’accesso stabiliscono i criteri in base ai quali i soggetti possono accedere

agli oggetti nel sistema ed eventualmente se e come i diritti d'accesso possono venire trasmessi a terzi.

Vengono classificate in tre categorie:

- Politiche discrezionali

dette discrezionali, in quanto permettono agli utenti di concedere o revocare dei diritti di

l’accesso sulla base dell’identità del

accesso sugli oggetti a loro discrezione. Controllano

soggetto, tradotte in un insieme di autorizzazioni che stabiliscono esplicitamente i privilegi di

(accordano l’accesso se concesso da

ogni soggetto sugli oggetti del sistema

un’autorizzazione).

I meccanismi discrezionali sono vulnerabili ad attacchi di tipo “cavalli di Troia” (cavalli di Troia

sono programmi che apparentemente svolgono un compito utile ma che contengono istruzioni

nascoste che utilizzano fraudolentemente le autorizzazioni degli utenti che li eseguono per

trasferire illegalmente informazioni, senza violare le limitazioni imposte dalla politica

discrezionale)

Vantaggi: estremamente flessibili e adatte a numerosi contesti applicativi

Svantaggi: non controllano il flusso di informazioni nel sistema, dato che non impongono

restrizioni su come l’info viene trasmessa da un soggetto autorizzato a uno non autorizzato ad

accedervi

- Politiche mandatorie

chiamate anche etichette per i soggetti e gli oggetti del sistema, regolano l’accesso ai dati

mediante la definizione di classi di sicurezza (ordinate parzialmente o totalmente da una

relazione d’ordine).

La classe di sicurezza assegnata ad un oggetto è una misura della sensibilità dell’informazione

che l’oggetto contiene (maggiore è la classe assegnata all’oggetto, più ingente è il danno

derivante dal rilascio di informazioni in esso contenute).

La classe di sicurezza assegnata ad un soggetto è una misura del grado di fiducia del soggetto

a non commettere violazioni della politica, e a non trasmettere ad altri info riservate.

Tra le 2 classi di sicurezza deve intercorrere una relazione affinché il soggetto possa esercitare

un privilegio sull’oggetto, questa relazione è stabilita da assiomi di sicurezza che regolano il

controllo dell’accesso (la relazione da soddisfare dipende dal privilegio).

Le politiche mandatorie sono applicate in ambienti militari, dove ci sono forti esigenze di

protezione ed è possibile classificare gli elementi di sistema (sistemi multi-livello).

n.b. politiche mandatorie e discrezionali possono essere usate congiuntamente.

- Politiche basate sui ruoli

i privilegi non sono assegnati agli utenti ma sono mediati dal concetto di ruolo, un ruolo

rappresenta una funzione all’interno di un’azienda od organizzazione (es. direttoreVideoteca,

commesso, cliente). Le autorizzazioni non sono concesse ai soggetti ma ai ruoli, ogni soggetto

è poi abilitato a ricoprire uno o più ruoli e acquisirne le autorizzazioni associate.

Il ruolo semplifica la gestione delle autorizzazioni, nelle aziende/organizzazioni i privilegi sono

spesso legati al ruolo che i soggetti ricoprono e non ai soggetti stessi (le politiche basate sui

ruoli rendono più diretta la modellazione delle politiche aziendali).

Vantaggi: un ruolo di solito raggruppa un elevato numero di privilegi (in questo modo è

sufficiente specificare il ruolo quando un utente deve svolgere una mansione, invece di

specificare per ogni utente tutte le autorizzazioni associate al ruolo), un ruolo è più stabile

rispetto agli utenti (che possono cambiare o cambiare mansione).

n.b. Configurando opportunamente il sistema dei ruoli, questo tipo di politica può essere usato

per realizzare sia politiche discrezionali che mandatorie.

Modelli per il controllo dell’accesso in SQL

Un modello per il controllo dell’accesso definisce come vadano specificati i soggetti, gli oggetti e i privilegi

nelle autorizzazioni (specifica la relazione tra soggetto s e oggetto o, affinché s possa esercitare su o il

privilegio p).

Modello a matrice di accesso (modello di riferimento nei sistemi a politiche discrezionali)

Lo stato corrente del sistema rispetto alle autorizzazioni è descritto dalla tripla (S,O,M):

S è l’insieme di soggetti;

- O è l’insieme

- di oggetti;

- M è la matrice di accesso, in cui ogni riga corrisponde al un oggetto, ogni colonna ad un oggetto, e

l’elemento M [i,j] contiene la lista dei privilegi esercitabili dal soggetto Si sull’oggetto Oj.

La matrice d’accesso è solo un modello concettuale, nelle situazioni reali risulterebbe molto sparsa e

di dimensioni troppo elevate (ogni soggetto ha accesso a pochi oggetti del sistema) le soluzioni nella

pratica sono 2:

- Access Control List (ACL), la matrice viene implementata mediante un insieme di liste associate ad

ogni oggetto (l’ACL associata ad ogni oggetto contiene un elemento per ogni soggetto che ha

privilegi sull’oggetto, tale elemento contiene la lista dei privilegi)

- Capability List, implementa la matrice mediante liste associate ai soggetti (la capability list

associata ad un soggetto contiene un elemento per ogni oggetto su cui ha dei privilegi, tale

elemento contiene la lista dei privilegi)

n.b. L’approccio ACL è quello usato sui moderni sistemi operativi, mentre le capability sono più

(un soggetto si autentica un sola volta presso l’host, acquisisce le sue

adatte a sistemi distribuiti

capability e le utilizza per accedere a tutti gli host che compongono il sistema).

Modello RBAC Role-Based-Access-Control (modello basato sui ruoli)

Ripasso: nel controllo dell’accesso basato su ruoli, i ruoli rappresentano le funzioni che gli utenti

ricoprono all’interno dell’organizzazione o azienda in cui operano.

I privilegi sono concessi ai ruoli invece che agli utenti, le autorizzazioni specificate per un ruolo sono

quelle necessarie a esercitare le funzioni offerte dal ruolo.

Gli utenti sono abilitati a ricoprire uno o più ruoli, in base alle mansioni che devono svolgere (implica

l’acquisizione delle autorizzazioni connesse al ruolo).

End_Ripasso.

Per rendere più agibile lo sviluppo di meccanismi per il controllo dell’accesso basati su ruoli, NIST

definisce un modello standard di riferimento basato su 3 componenti:

– “Core RBAC”, definisce i requisiti minimi per realizzare il controllo dell’accesso

- modello base

basato su ruoli, questo modello si compone di:

- utente: essere umano, macchina, processo, agente attivo nel sistema

ruolo: funzione all’interno di un contesto organizzativo, con associati dei privilegi

- diritti d’accesso esercitabili sugli oggetti del sistema, sono coppie (Obj, O), cove

- privilegi:

Obj è l’oggetto, O è l’operazione

- sessione: stabilisce la corrispondenza tra utente e ruoli attivi durante la sua connessione

– “Hierarchical RBAC”, aggiunge al modello base

- modello gerarchico la possibilità di strutturare i

relazione d’ordine parziale

ruoli in gerarchie (un ordinamento speziale fra di essi), introduce una

detta relazione di ereditarietà denotata con >= (se r1 e r2 sono ruoli, r1>=r2 implica che r1 eredita

tutti i privilegi di r2 e tutti gli utenti associati a r1 sono anche associati a r2) e prevede che un ruolo

possa effettuare sugli oggetti tutte le operazioni che vengono effettuate da ruoli corrispondenti a

funzioni più in basso nella gerarchia.

Dettagli
Publisher
A.A. 2013-2014
5 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher koganzjo di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Carminati Barbara.