Sicurezza Informatica
Prof. Stefano Bistarelli
[email protected]
http://www.sci.unich.it/~bista/
Chapter 7: Hybrid Policies




Overview
Chinese Wall Model
ORCON
RBAC
Prof. Stefano Bistarelli - Sicurezza
Informatica
2
Overview

Chinese Wall Model


ORCON


Focuses on conflict of interest
Combines mandatory, discretionary access controls
RBAC

Base controls on job function
Prof. Stefano Bistarelli - Sicurezza
Informatica
3
Chinese Wall Model
Problem:



Tony advises American Bank about
investments
He is asked to advise Toyland Bank about
investments
Conflict of interest to accept, because
his advice for either bank would affect
his advice to the other bank
Prof. Stefano Bistarelli - Sicurezza
Informatica
4
Politica della Chinese Wall



Introdotto da Brewer and Nash nel 1989
Il motivo per questo lavoro è stato quello di
evitare che informazioni sensibili concernenti
una compagnia siano passate a compagnie
rivali per mezzo di consulenti finanziari
Si stabiliscono dinamicamente i diritti di
accesso di utente in base a quello a cui
l’utente ha già avuto accesso
Prof. Stefano Bistarelli - Sicurezza
Informatica
5
Organization




Organize entities into “conflict of
interest” classes
Control subject accesses to each class
Control writing to all classes to ensure
information is not passed along in
violation of rules
Allow sanitized data to be viewed by
everyone
Prof. Stefano Bistarelli - Sicurezza
Informatica
6
Definitions

Objects: items of information related to a

Company dataset (CD): contains objects
company
related to a single company


Written CD(O)
Conflict of interest class (COI): contains
datasets of companies in competition


Written COI(O)
Assume: each object belongs to exactly one COI
class
Prof. Stefano Bistarelli - Sicurezza
Informatica
7
Classificazione
dei
dati
Insieme di tutti gli oggetti
CoI 2
CoI 1
Bank A
Info
Info
Bank B
Info
Info
Info
CoI 3
Gas A
Oil A
Info
Info
Prof. Stefano Bistarelli - Sicurezza
Informatica
Oil B
Info
Info
8
Evoluzione dei diritti

Se un consulente legge un oggetto
appartenente ad un CD in una data COI, non
può più leggere oggetti di altri CD in quella
COI


E’ possibile che le informazioni apprese prima
possano consentirgli di prendere decisioni
“migliori” dopo (ovviamente in modo sleale)
Indichiamo con PR(S) l’insieme degli oggetti che S
ha già letto
Prof. Stefano Bistarelli - Sicurezza
Informatica
9
Condizione di semplice
sicurezza delle CW
Un soggetto s può leggere un oggetto o se
e solo se:

1.
2.


Esiste un oggetto o a cui s ha avuto accesso e
CD(o ) = CD(o), oppure
Per ogni o  O, o  PR(s)  COI(o) ≠ COI(o)
Ignoriamo per ora i dati “sanitized”
Inizialmente, PR(s) = , quindi qualunque
cosa può essere letta all’inizio
Prof. Stefano Bistarelli - Sicurezza
Informatica
10
In altri termini

Un soggetto può leggere un oggetto se:


l’oggetto è in un dataset di cui il soggetto ha già letto
qualcosa oppure
l’oggetto appartiene a una COI di cui il soggetto non ha
letto ancora niente
Bank A
R
R
Gas A
Consultant
R
X
R
Bank B
R
Oil B
Prof. Stefano Bistarelli - Sicurezza
Informatica
11
Regola
= John
diInsieme
lettura
di tutti gli oggetti
CoI 2
COI
CoI 11
Bank A
Info
Info
Info
Bank B
Info
Gas A
COI
CoI 33
Oil A
Prof. StefanoInfo
Bistarelli - Sicurezza Info
Info
Informatica
Oil B
Info
Info
12
Confronto con Bell-LaPadula




La politica Chinese Wall è una combinazione
di libera scelta e MAC
Inizialmente un soggetto è libero di accedere
a ciò che vuole
Una volta fatta la scelta, per quell’utente è
creata una Muraglia Cinese attorno al dataset
a cui l’oggetto appartiene
Si noti che la Chinese Wall può essere
combinata con le politiche DAC
Prof. Stefano Bistarelli - Sicurezza
Informatica
13
Scrittura




Anthony e Susan lavorano per la stessa azienda di
consulenza
Anthony può leggere i CD di Bank A e di Gas A
Susan può leggere i CD di Bank B e di Gas A
Se Anthony potesse scrivere sul CD di Gas A, Susan
potrebbe leggerlo


Perciò, indirettamente, potrebbe acquisire informazioni su
Bank B, un chiaro conflitto di interesse
La regola per la lettura non è in grado di prevenire
“fughe di notizie”
Prof. Stefano Bistarelli - Sicurezza
Informatica
14
Proprietà * delle CW

Un soggetto s può scrivere un oggetto o se e
solo se entrambe le condizioni valgono



La condizione di sicurezza semplice consente a s
di leggere o
Per ogni oggetto non “sanitized” o, se s può
leggere o, allora CD(o) = CD(o)
In pratica s può scrivere un oggetto se tutti
gli oggetti (non “sanitized”) che può leggere
sono nello stesso dataset
Prof. Stefano Bistarelli - Sicurezza
Informatica
15
In altri termini

Un soggetto può scrivere un oggetto se


Bank B
Bank A
lo può anche leggere E
non può leggere dati di altre compagnie
W
X
R
Consultant
A
Consultant
B
R
X
Oil B
W
Prof. Stefano Bistarelli - Sicurezza
Informatica
16
Conclusioni e critiche




Perciò secondo questa regola:
Il flusso di informazioni è confinato
all’interno della compagnia
Però un utente che ha letto da più
dataset non può scrivere nessuno
oggetto
Inoltre, una volta che ha scritto in un
dataset, può scrivere solo lì
Prof. Stefano Bistarelli - Sicurezza
Informatica
17
Regola
di
scrittura
Insieme
di tutti gli oggetti
= John
COI
CoI 11
Bank A
Info Info
ABC
Info
CoI 2
Gas A
Info
COI
CoI 33
Oil A
ABC Info
Prof. Stefano Bistarelli - Sicurezza
Informatica
18
Regola diInsieme
scrittura
di tutti gli oggetti
= Jane
COI 2
COI 1
Bank B
ABC Info
Gas A
COI 3
Oil A
Info
Info
Prof. StefanoInfo
Bistarelli -ABC
Sicurezza
Informatica
19
Informazioni “Sanitized”
Alcune informazioni pubbliche possono
appartenere ad un CD



Essendo pubbliche, non generano conflitti di
interesse
Tipicamente, tutti i dati sensibili sono rimossi
prima che tale informazione sia resa pubblica
(l’informazione è “sanitized”)
Una terza opzione per la Condizione di
sicurezza semplice è quindi:

3.
o è un oggetto “sanitized”
Prof. Stefano Bistarelli - Sicurezza
Informatica
20
Confronto con Bell-LaPadula

Sono fondamentalmente differenti



CW non ha etichette di sicurezza, B-LP sì
CW si basa sugli accessi passati, B-LP no
Bell-LaPadula può simulare CW istante per istante


Ogni coppia di (COI, CD) è una categoria
Due livelli di sicurezza, S (sanitized) and U (non sanitized)



S dom U
I livelli di sicurezza dei soggetti comprendono al massimo
una sola categoria per ogni classe COI
Ma B-LP non è in grado di modellare i cambiamenti
nel tempo
Prof. Stefano Bistarelli - Sicurezza
Informatica
21
Compare to Bell-LaPadula

Bell-LaPadula cannot track changes over time

Susan becomes ill, Anna needs to take over



C-W history lets Anna know if she can
No way for Bell-LaPadula to capture this
Access constraints change over time


Initially, subjects in C-W can read any object
Bell-LaPadula constrains set of objects that a
subject can access
Prof. Stefano Bistarelli - Sicurezza
Informatica
22
Confronto con Clark-Wilson


Il modello di Clark-Wilson si occupa dell’integrità
Se i “soggetti” e i “processi” sono la stessa cosa, una
singola persona potrebbe usare più processi e violare
la condizione di semplice sicurezza in CW


Ma rispetterebbe il modello di Clark-Wilson
Se il “soggetto” è una specifica persona che
comprende anche tutti i processi eseguiti, allora CW è
consistente con Clark-Wilson Model
Prof. Stefano Bistarelli - Sicurezza
Informatica
23
orcon
Prof. Stefano Bistarelli - Sicurezza
Informatica
24
ORCON


Problema: un’organizzazione vuole controllare
la diffusione dei propri documenti
Esempio: Il Ministro delle politiche agricole
scrive documento da distribuire per i propri
impiegati e concede il permesso un’ulteriore
ridistribuzione. Ciò si indica con il nome di
“originator controlled” (in questo caso, l’
“originator” è una persona).
Prof. Stefano Bistarelli - Sicurezza
Informatica
25
Requisiti
Il soggetto s  S marca l’oggetto o  O
come ORCON per conto dell’organizzazione
X.
X permette che o sia diffuso ai soggetti che
lavorano per conto dell’organizzazione Y con
le seguenti restrizioni:
1.
2.


o non può essere rilasciato a soggetti che
lavorano per conto di altre organizzazioni senza
il permesso di X e
Ogni copia di o deve avere le stesse restrizioni.
Prof. Stefano Bistarelli - Sicurezza
Informatica
26
DAC non va bene

Il possessore (owner) può concedere
qualsiasi diritto

La proprietà 2 non sarebbe soddisfatta
Prof. Stefano Bistarelli - Sicurezza
Informatica
27
MAC non va bene

Primo problema: esplosione del numero delle categorie


Ogni categoria C contiene o, X, Y. Se un soggetto y  Y vuole
leggere o ne fa una copia o. Nota che o ha categoria C. Se y
vuole dare a z  Z una copia, z deve essere in Y ma per
definizione non vi è. Se x vuole concedere a w  W di vedere il
documento, deve creare una nuova categoria C contenente o, X,
W.
Secondo problema: astrazione


In MAC la classificazione e le categorie sono controllate
centralmente e l’accesso è controllato da una politica centralizzata
ORCON è controllato localmente
Prof. Stefano Bistarelli - Sicurezza
Informatica
28
Combinare DAC e MAC


Il possessore dell’oggetto non ne può cambiare i
controlli di accesso.
Quando l’oggetto è copiato, le restrizioni di accesso
sono copiate dalla sorgente e legate alla copia.


Ciò è MAC (l’owner non può controllarlo)
Il creatore del documento (originator) può alterare le
restrizioni di accesso in base al soggetto e all’oggetto.

Ciò è DAC (l’originator/owner può controllarlo)
Prof. Stefano Bistarelli - Sicurezza
Informatica
29
rbac
Prof. Stefano Bistarelli - Sicurezza
Informatica
30
RBAC: Motivazioni



Un problema importante nell’organizzazione
di grandi sistemi è la complessità
dell’amministrazione della sicurezza
Quando il numero dei soggetti e degli oggetti
è alto, il numero di autorizzazioni può
diventare molto grande
Inoltre, se la popolazione di utenti è molto
dinamica, il numero di concessioni e di
revoche di permessi diventa eccessivamente
elevato
Prof. Stefano Bistarelli - Sicurezza
Informatica
31
RBAC: Motivazioni



Gli utenti finali spesso non “possiedono” le
informazioni a cui hanno accesso. Le aziende o gli
enti sono i reali possessori degli oggetti
Il controllo di accesso è quindi basato sulle mansioni
delle persone e non sul semplice possesso
RBAC è stato quindi proposto come alternativa al
DAC e al MAC per semplificare la gestione degli
accessi e per supportare direttamente il controllo
basato sulle mansioni (ruoli)
Prof. Stefano Bistarelli - Sicurezza
Informatica
32
RBAC

I diritti di accesso dipendono dal ruolo, non
dall’identità

Esempio:




Anna, segreteria del dipartimento, ha accesso ai dati
finanziari.
Anna cambia impiego e non ha più diritti di accesso.
Barbara prende il suo posto e adesso è lei che può
accedere a quei dati
E’ il ruolo che stabilisce i diritti e non l’identità del
singolo individuo.
Prof. Stefano Bistarelli - Sicurezza
Informatica
33
RBAC e ruoli



I ruoli rappresentano le mansioni
all’interno di un’organizzazione
Le autorizzazioni sono concesse ai ruoli
anzichè ai singoli utenti
Gli utenti sono perciò autorizzati
semplicemente ad assumere ruoli
appropriati, acquisendo le autorizzazioni
assegnate a quei ruoli
Prof. Stefano Bistarelli - Sicurezza
Informatica
34
Vantaggi del RBAC



Poichè i ruoli rappresentano le funzioni
dell’organizzazione, un modello RBAC
può direttamente supportare le politiche
di sicurezza proprie dell’organizzazione
Concedere e revocare autorizzazioni alle
categorie di utenti è grandemente
semplificato
I modelli RBAC sono perciò “policyProf. Stefano Bistarelli - Sicurezza
neutral”
Informatica
35
RBAC




I produttori di DBMS hanno visto l’importanza e i
vantaggi di RBAC, e oggi molti DBMS commerciali
supportano in vario modo RBAC
Esiste un certo consenso su un modello standard di
RBAC
Il modello NIST [Sandhu,Ferraiolo,Kuhn 00] è stato il
primo passo verso la definizione di uno standard
Una recente definizione è data dall’ ANSI: Role based
access control. ANSI INCITS 359-2004, February
2004
Prof. Stefano Bistarelli - Sicurezza
Informatica
36
Modello NIST

Tre livelli con capacità funzionali
crescenti



Core RBAC – anche chiamato Flat RBAC
RBAC gerarchico
RBAC vincolato
Prof. Stefano Bistarelli - Sicurezza
Informatica
37
RBAC- Concetti di base


Utente – un essere umano, una
macchina, un processo, o un agente
intelligente autonomo, ecc.
Ruolo – una funzione nel contesto di
un’organizzazione con una semantica
associata secondo l’autorità e la
responsibilità del ruolo
Prof. Stefano Bistarelli - Sicurezza
Informatica
38
RBAC- Concetti di base



Permesso – Modo di accesso che può essere
esercitato sugli oggetti nel sistema.
Sia gli oggetti e i modi di accesso sono
dipendenti dal dominio.
Per esempio, nel caso dei database, tra gli
oggetti si trovano tabelle, colonne e righe e
tra i modi di accesso le operazioni di insert,
delete e update.
Prof. Stefano Bistarelli - Sicurezza
Informatica
39
RBAC- Concetti di base




Sessione – E’ una particolare istanza di una
connessione di un utente al sistema e definisce un
sottoinsieme di ruoli attivati.
Ad ogni istante, possono essere attive più sessioni
differenti per ciascun utente.
Quando un utente entra nel sistema, stablisce una
sessione e durante tale sessione può attivare un
sottoinsieme dei ruoli che è autorizzato ad assumere.
L’utente ottiene i permessi associati al ruolo che ha
attivato nella sessione.
Prof. Stefano Bistarelli - Sicurezza
Informatica
40
Role-Based AC
Individui
Ruoli
Risorse
ruolo 1
Server 1
ruolo 2
Server 2
ruolo 3
Server 3
Gli utenti cambiano frequentemente, i ruoli no
Prof. Stefano Bistarelli - Sicurezza
Informatica
41
Definitions

Role r: collection of job functions


Active role of subject s: role s is currently in


actr(s)
Authorized roles of a subject s: set of roles s
is authorized to assume


trans(r): set of authorized transactions for r
authr(s)
canexec(s, t) iff subject s can execute
transaction t at current time
Prof. Stefano Bistarelli - Sicurezza
Informatica
42
Axioms


Let S be the set of subjects and T the set of
transactions.
Rule of role assignment:
(s 
S)(t  T) [canexec(s, t)  actr(s) ≠ ].



If s can execute a transaction, it has a role
This ties transactions to roles
Rule of role authorization:
(s  S) [actr(s)  authr(s)].

Subject must be authorized to assume an active role
(otherwise, any subject could assume any role)
Prof. Stefano Bistarelli - Sicurezza
Informatica
43
Axiom

Rule of transaction authorization:
(s  S)(t  T)
[canexec(s, t)  t 
trans(actr(s))].

If a subject s can execute a transaction,
then the transaction is an authorized one
for the role s has assumed
Prof. Stefano Bistarelli - Sicurezza
Informatica
44
RBAC gerarchico - Motivazioni

Le gerarchia tra ruoli sono un modo
naturale per strutturare i ruoli in modo
da riflettere le linee di autorità e
responsibilità di un’organizzazione
Prof. Stefano Bistarelli - Sicurezza
Informatica
45
Containment of Roles

Trainer can do all transactions that
trainee can do (and then some). This
means role r contains role r (r > r).
So:
(s  S)[ r  authr(s)  r > r  r 
authr(s) ]
Prof. Stefano Bistarelli - Sicurezza
Informatica
46
Esempio di RH
Director
Project Lead 1
Produczione
Engineer 1
Project Lead 2
Qualità
Engineer 1
Produczione
Engineer 2
Engineer 1
Qualità
Engineer 2
Engineer 2
Engineering Dept
Prof. Stefano Bistarelli - Sicurezza
Informatica
47
Semantica del RBAC
gerarchico



Ereditarietà di utente (UI): Tutti gli utenti
autorizzati ad un ruolo r sono anche
autorizzati ad un ruolo r’, ove r > r’
Eredità di permessi (PI): Un ruolo r è
autorizzato a tutti i permessi per i quali ogni
ruolo r’, tale che r > r’, è autorizzato
Eredità di attivazione (AI): Attivando un ruolo
r automaticamente si attivano tutti i ruoli r’,
tali che r > r’. Da usare solo con sessioni MRA
Prof. Stefano Bistarelli - Sicurezza
Informatica
48
RBAC vincolato



Il RBAC vincolato è un modello RBAC con la
capacità di supportare le politiche di
Separazione dei compiti (Separation of Duty)
Evita conflitti di interesse e collisioni tra
mansioni
Due categorie principali:


SoD statici
SoD dinamici
Prof. Stefano Bistarelli - Sicurezza
Informatica
49
Separation of Duty


Let r be a role, and let s be a subject such
that r  auth(s). Then the predicate
meauth(r) (for mutually exclusive
authorizations) is the set of roles that s
cannot assume because of the separation of
duty requirement.
Separation of duty:
(r1, r2  R) [ r2  meauth(r1) 
[ (s  S) [ r1 authr(s)  r2  authr(s) ] ] ]
Prof. Stefano Bistarelli - Sicurezza
Informatica
50
RBAC –SoD statici



SoD statici restringono l’insieme dei
ruoli and in particolare la possobilità ad
entrare nella relazione RA
Nessun utente può assumere più di t
ruoli in un insieme di m ruoli
Evita che una persona sia autorizzata a
usare troppi ruoli
Prof. Stefano Bistarelli - Sicurezza
Informatica
51
RBAC –SoD Dinamici


Questi vincoli limitano il numero di ruoli che
un utente può attivare in una singola sessione
Esempi di vincoli:



Nessun utente può attivare più di t ruoli nel corso
di una sessione.
se l’utente ha usato il ruolo r1 in una sessione,
non può usare il ruolo r2 nella stessa sessione
E’ necessario mantenere una storia dei ruoli
attivati da ciascun utente
Prof. Stefano Bistarelli - Sicurezza
Informatica
52
Key Points

Hybrid policies deal with both
confidentiality and integrity


ORCON model neither MAC nor DAC


Different combinations of these
Actually, a combination
RBAC model controls access based on
functionality
Prof. Stefano Bistarelli - Sicurezza
Informatica
53
Discussion:
Prof. Stefano Bistarelli - Sicurezza
Informatica
54
Scarica

S - Dipartimento di Matematica e Informatica