463.2 Foundations. UIUC CS463 Computer Security. Based on slides provided by Matt Bishop for use with Computer Security: Art and Science. Overview. Access Control Matrices (ACMs) and state transitions on them Harrison-Ruzzo-Ullman (HRU) result Take-grant protection model ACMs and privacy.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
F I N
Plus de contenu associé
Transcription de la présentation
463.2 Foundations UIUC CS463 Computer Security Based on slides provided by Matt Bishop for use with Computer Security: Art and Science
Overview • Access Control Matrices (ACMs) and state transitions on them • Harrison-Ruzzo-Ullman (HRU) result • Take-grant protection model • ACMs and privacy
Required • Reading • Chapter 2, as needed • Section 3.1 • Section 3.2 through the proof of Theorem 3-2 • All of Section 3.3 through the paragraph after Definition 3-6 • The example in Section 3.3 after Corollary 3-2 • Exercises: From 3.9 do 1, 4.
Access Control • Controlling access is a fundamental security problem • Access control policy expresses who is authorized to do what • Read files • Modify data • Access services • Change access
Subjects S = { s1,…,sn } Objects O = { o1,…,om } Rights R = { r1,…,rk } Entries A[si, oj] R A[si, oj] = { rx, …, ry } means subject si has rights rx, …, ry over object oj objects (entities) o1 … oms1 … sn s1 s2 … sn subjects Access Control Matrices
Example 2: Siebel Center • Unlock - right to unlock a door • Log - request entry logs from a door
State Transitions • Change the protection state of system • |– represents transition • Xi|– Xi+1: command moves system from state Xi to Xi+1 • Xi|– *Xi+1: a sequence of commands moves system from state Xi to Xi+1 • Commands often called transformation procedures
Primitive Operations • create subjects; create object o • Creates new row, column in ACM; creates new column in ACM • destroy subjects; destroy object o • Deletes row, column from ACM; deletes column from ACM • enterrintoA[s, o] • Adds r rights for subject s over object o • deleterfromA[s, o] • Removes r rights from subject s over object o
Creating File • Process p creates file f with r and w permission command create•file(p, f) create object f; enter own into A[p, f]; enter r into A[p, f]; enter w into A[p, f]; end
Own Right • Usually allows possessor to change entries in ACM column • So owner of object can add, delete rights for others • May depend on what system allows • Can’t give rights to specific (set of) users • Can’t pass copy right to specific (set of) users
Mono-Operational Commands • Make process p the owner of file g command make•owner(p, g) enter own into A[p, g]; end • Mono-operational command • A command with a single primitive operation in its body
Conditional Commands • Let p give qr rights over f, if p owns f command grant•read•file•1(p, f, q) if own in A[p, f] then enter r into A[q, f]; end
Multiple Conditions • Let p give q the r rights over f, if p has rights r and c over f command grant•read•file•2(p, f, q) if r in A[p, f] and c in A[p, f] then enter r into A[q, f]; end
Copy Right • Allows possessor to give rights to another • Often attached to a right, so only applies to that right • r is read right that cannot be copied • rc (r with copy flag) is read right that can be copied • Is copy flag copied when giving r rights? • Depends on model, instantiation of model
Attenuation of Privilege • Principle says you can’t give rights you do not possess • Restricts addition of rights within a system • Usually ignored for owner • Why? Owner gives herself rights, gives them to others, deletes her rights. • Example: let a friend have a copy of the key to your house • Non-example: let a graduate program have a copy of a letter of reference for you
Key Points • Access control matrix simple abstraction mechanism for representing protection state • Transitions alter protection state • 6 primitive operations alter matrix • Transitions can be expressed as commands composed of these operations and, possibly, conditions
Proving Security • Want to prove system “secure” • What does that mean? • Subjects should only have “authorized” rights • E.g. no one except for me can write to my home directory • Easy to check in any given protection state • What about the dynamic protection system?
Formalizing Security • Adding a generic right r to a subject or object that did not have it before is “leaking r” • If a system S, beginning in initial state s0, cannot leak right r, it is secure with respect to the right r. • General property, can simulate: • Leaking a right r on a specific object o • Leaking r to a subject outside a “trusted” set
Deciding Security • Does there exist an algorithm for determining whether a protection system S with initial state s0 is secure with respect to a generic right r?
General Case • Answer: no • Sketch of proof: Reduce halting problem to security problem Turing Machine review: • Infinite tape in one direction • States K, symbols M; distinguished blank b • Transition function (k, m) = (k, m, L) means in state k, symbol m on tape location replaced by symbol m, head moves to left one square, and enters state k • Halting state is qf; TM halts when it enters this state Harrison Ruzzo Ullman 76
Mapping 1 2 3 4 s1 s2 s3 s4 A B C D … s1 A own head s2 B own s3 C k own Current state is k s4 D end
Mapping 1 2 3 4 s1 s2 s3 s4 A B X D … s1 A own head s2 B own s3 X own After (k, C) = (k1, X, R) where k is the current state and k1 the next state s4 D k1 end
Command Mapping (k, C) = (k1, X, R) at intermediate becomes command ck,C(s3,s4) ifowninA[s3,s4] andkinA[s3,s3] and C inA[s3,s3] then deletekfromA[s3,s3]; delete C fromA[s3,s3]; enter X intoA[s3,s3]; enterk1intoA[s4,s4]; end
Mapping 1 2 3 4 5 s1 s2 s3 s4 s5 A B X Y b s1 A own head s2 B own s3 X own After (k1, D) = (k2, Y, R) where k1 is the current state and k2 the next state s4 Y own s5 bk2 end
Command Mapping (k1, D) = (k2, Y, R) at end becomes command crightmostk,C(s4,s5) ifendinA[s4,s4] andk1inA[s4,s4] and D inA[s4,s4] then deleteendfromA[s4,s4]; create subjects5; enterown into A[s4,s5]; enterendintoA[s5,s5]; deletek1fromA[s4,s4]; delete D fromA[s4,s4]; enter Y intoA[s4,s4]; enterk2intoA[s5,s5]; end
Rest of Proof • Protection system exactly simulates a TM • Exactly 1 end right in ACM • 1 right in entries corresponds to state • Thus, at most 1 applicable command • If TM enters state qf, then right has leaked • If security question decidable, then represent TM as above and determine if qf leaks • Implies halting problem decidable • Conclusion: security question undecidable
Mono-Operational Commands • Is security decidable if we restrict commands to be mono-operational? • Answer: yes • Sketch of proof: Consider minimal sequence of commands c1, …, ck to leak the right. • Has no instances of delete, destroy • Can rewrite to have only one create Worst case: insert every right into every entry; with s subjects and o objects initially, and n rights, upper bound is k ≤ n(|S|+1)(|O|+1)
Has no Destroy or Delete • c1…cn-1 (if B then delete r’ from a[p,o]) leaks rights that are µ those leaked by c1…cn-1 • Suppose ck is the rightmost deletion: c1…ck-1 (if B then delete r’ from a[p,o]) ck+1…cn • Rights leaked by this expression are µ those leaked by c1…ck-1ck+1 (if B then delete r’ from a[p,o]) ck+2…cn • So move the deletion to the right and remove it Example case: if B’ then create s
Consolidate Creates to One • Suppose the expression created s1 and s2 and tested rights in a[s1,o1] and a[s2,o2] • Use the same tests for a[s1,o2] = a[s1,o2] [ a[s2,o2] instead with s1 in place of s2
Take-Grant Protection Model • A specific (not generic) system • Set of rules for state transitions • Safety decidable, and in time linear with the size of the system • Goal: find conditions under which rights can be transferred from one entity to another in the system Jones Lipton Snyder 76
System Оobjects (files, …) l subjects (users, processes, …) don't care (either a subject or an object) G |–x G' apply a rewriting rule x (witness) to G to get G' G |–* G' apply a sequence of rewriting rules (witness) to G to get G' R = { t, g, r, w, … } set of rights
Rules l l |- take t t |- grant g g l l
More Rules |- create l l |- – l l remove These four rules are called the de jure rules
Example: Shared Buffer • Initially s has grant rights for processes p and q. • S sets up a shared buffer for p,q with the following steps • s creates ({r,w} to new object) b • s grants ({r,w} to b) to p • s grants ({r,w} to b) to p
tg g ¡ v Symmetry x y l l |– t t l l z x creates (tg to new) v z takes (g to v) from x z grants (a to y) to v x takes (a to y) from v Similar result for grant
Islands • tg-path: path of distinct vertices connected by edges labeled t or g • Call them “tg-connected” • island: maximal tg-connected subject-only subgraph • Any right one vertex has can be shared with any other vertex
Example s q t r p s' g t t g g t y u v x w
can•share Predicate Definition: can•share(r, x, y, G0) if, and only if, there is a sequence of protection graphs G0, …, Gn such that G0 |–* Gn using only de jure rules and in Gn there is an edge from x to y labeled r.
can•share Properties • If x and y are subjects in an island, then can•share(r, x, y, G0) • Proof by induction using the properties of tg-connected subjects • General result: can•share(r, x, y, G0) is decidable using an algorithm of complexity O(|V| + |E|) where V and E are the vertices and edges in the graph • Proof omitted. Sketch given at the end of 3.3.1.
Graham-Denning ACM Subject executing the commands is x Transferable rights are denoted r* Non-transferable rights are denoted r Graham Denning 72
Approach • Formalize legal texts and use model checking to evaluate their static properties. • Compare to policy in practice to find compliance. Command set Selection Model Full Text Privacy commands English English Promela Reference checking
Privacy Fundamentals • Transfer: What is the right of a principal p to transfer an object x to a principal q where x is about a subject r? • Action: What is the right of a principal p to carry out an action that affects the privacy of a principal q? • Creation: Which principals p are allowed to create objects x whose subject is q? • Right Establishment: How are rights established for a principal p? Gunter May Stubblebine 04
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.