560 likes | 686 Vues
This chapter provides an overview of hybrid policies in information security, focusing on the Chinese Wall model, ORCON (Originator Controlled Access), and Role-Based Access Control (RBAC). It discusses the risks of conflict of interest, dynamic access rights, and the need to safeguard sensitive information among competing entities. Key concepts include how access controls evolve based on previously accessed information, ensuring that users cannot access conflicting information sources. The chapter emphasizes the importance of maintaining secure practices in financial consultancy and corporate environments.
E N D
Sicurezza Informatica Prof. Stefano Bistarelli bista@dipmat.unipg.it http://www.sci.unich.it/~bista/
Chapter 7: Hybrid Policies • Overview • Chinese Wall Model • ORCON • RBAC Prof. Stefano Bistarelli - Sicurezza Informatica
Overview • Chinese Wall Model • Focuses on conflict of interest • ORCON • Combines mandatory, discretionary access controls • RBAC • Base controls on job function Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
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
Definitions • Objects: items of information related to a company • Company dataset (CD): contains objects related to a single company • Written CD(O) • Conflict of interestclass (COI): contains datasets of companies in competition • Written COI(O) • Assume: each object belongs to exactly one COI class Prof. Stefano Bistarelli - Sicurezza Informatica
Info Info Info Info Info Info Info Info Info Classificazione dei dati Insieme di tutti gli oggetti CoI 2 CoI 1 CoI 3 Bank A Bank B Gas A Oil A Oil B Prof. Stefano Bistarelli - Sicurezza Informatica
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
Condizione di semplice sicurezza delle CW • Un soggetto s può leggere un oggetto o se e solo se: • 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
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 Consultant X R R Bank B Bank A R R R Gas A Oil B Prof. Stefano Bistarelli - Sicurezza Informatica
CoI 3 Bank B Oil B Oil A Info Info Info Info Info Regola di lettura = John Insieme di tutti gli oggetti CoI 2 COI 1 COI 3 CoI 1 Bank A Bank A Gas A Oil A Info Info Info Info Info Info Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
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
In altri termini • Un soggetto può scrivere un oggetto se • lo può anche leggere E • non può leggere dati di altre compagnie ConsultantA X Bank B W R Oil B X ConsultantB Bank A R W Prof. Stefano Bistarelli - Sicurezza Informatica
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
ABC Regola di scrittura Insieme di tutti gli oggetti = John CoI 2 COI 1 COI 3 CoI 3 CoI 1 Bank A Bank A Gas A Oil A Oil A Info Info ABC Info Info Info Info Info Prof. Stefano Bistarelli - Sicurezza Informatica
ABC Regola di scrittura Insieme di tutti gli oggetti = Jane COI 2 COI 1 COI 3 COI 3 COI 1 Bank B Gas A Oil A Bank B Oil A Info Info Info Info Info Info ABC Prof. Stefano Bistarelli - Sicurezza Informatica
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: • o è un oggetto “sanitized” Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
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
orcon Prof. Stefano Bistarelli - Sicurezza Informatica
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
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: • 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
DAC non va bene • Il possessore (owner) può concedere qualsiasi diritto • La proprietà 2 non sarebbe soddisfatta Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
rbac Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
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
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
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ò “policy-neutral” Prof. Stefano Bistarelli - Sicurezza Informatica
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
Modello NIST • Tre livelli con capacità funzionali crescenti • Core RBAC – anche chiamato Flat RBAC • RBAC gerarchico • RBAC vincolato Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
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
ruolo 1 ruolo 2 ruolo 3 Role-Based AC Individui Ruoli Risorse Server 1 Server 2 Server 3 Gli utenti cambiano frequentemente, i ruoli no Prof. Stefano Bistarelli - Sicurezza Informatica
Definitions • Role r: collection of job functions • trans(r): set of authorized transactions for r • 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 • authr(s) • canexec(s, t) iff subject s can execute transaction t at current time Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
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
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: (sS)[ r authr(s) r > r rauthr(s) ] Prof. Stefano Bistarelli - Sicurezza Informatica
Esempio di RH Director Project Lead 1 Project Lead 2 Produczione Engineer 1 Qualità Engineer 1 Produczione Engineer 2 Qualità Engineer 2 Engineer 1 Engineer 2 Engineering Dept Prof. Stefano Bistarelli - Sicurezza Informatica
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
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
Separation of Duty • Let r be a role, and let s be a subject such that rauth(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) [ r2meauth(r1) [ (sS) [ r1authr(s) r2authr(s) ] ] ] Prof. Stefano Bistarelli - Sicurezza Informatica