INFSCI 2935: Introduction of Computer Security1 September 13, 2005 Introduction to Computer Security Lecture 3 Take Grant Model (Cont) HRU Schematic Protection.

Slides:



Advertisements
Similar presentations
© 2004 Ravi Sandhu The Schematic Protection Model (SPM) Ravi Sandhu Laboratory for Information Security Technology George Mason University.
Advertisements

Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
1 Turing Machines and Equivalent Models Section 13.2 The Church-Turing Thesis.
Lecture 24 MAS 714 Hartmut Klauck
1 1 -Access Control Foundational Results. 2 2 Preliminaries Undecidability The Halting Problem The Turing Machine.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
April 13, 2004ECS 235Slide #1 Expressive Power How do the sets of systems that models can describe compare? –If HRU equivalent to SPM, SPM provides more.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result –Corollaries.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Homework #9 Solutions.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
Section 11.4 Language Classes Based On Randomization
1 September 14, 2006 Lecture 3 IS 2150 / TEL 2810 Introduction to Security.
CS526: Information Security Prof. Cristina Nita-Rotaru September 9, 2003 Protection Models.
CH14 – Protection / Security. Basics Potential Violations – Unauthorized release, modification, DoS External vs Internal Security Policy vs Mechanism.
IS-2150/TEL-2810: Introduction of Computer Security1 September 7, 2005 Introduction to Computer Security Access Control Matrix Take-grant model.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model Protection State Transitions –Commands –Conditional Commands.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 6 September 27, 2011 Take Grant Model.
Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result –Corollaries.
Slide #2-1 Access Control Matrix and Safety Results CS461/ECE422 Computer Security I, Fall 2009 Based on slides provided by Matt Bishop for use with Computer.
Introduction to Computer Security Review
The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Other Access Control Models
Turing Machine. Turing machine The mathematical models (FAs, TGs, PDAs) that have been discussed so far can decide whether a string is accepted or not.
2/1/20161 Computer Security Foundational Results.
1 IS 2150 / TEL 2810 Introduction to Security James Joshi Associate Professor, SIS Lecture 4 September 18, 2012 Access Control Model Foundational Results.
Courtesy of Professors Chris Clifton & Matt Bishop INFSCI 2935: Introduction of Computer Security1 September 23, 2004 Introduction to Computer Security.
Fall 2013 CMU CS Computational Complexity Lecture 2 Diagonalization, 9/12/2013.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 Introduction to Turing Machines
April 8, 2004ECS 235Slide #1 Overview Safety Question HRU Model Take-Grant Protection Model SPM, ESPM –Multiparent joint creation Expressive power Typed.
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result.
© 2004 Ravi Sandhu The Extended Schematic Protection Model (ESPM) Ravi Sandhu Laboratory for Information Security Technology George Mason.
1 Design and Analysis of Algorithms Yoram Moses Lecture 13 June 17, 2010
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
Chapters 11 and 12 Decision Problems and Undecidability.
Part VI NP-Hardness.
Busch Complexity Lectures: Reductions
IS 2150 / TEL 2810 Introduction to Security
Reductions Costas Busch - LSU.
Introduction to Computer Security Lecture 2
September 16, 2004 Introduction to Computer Security Lecture 3
Turing Machines Acceptors; Enumerators
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
IS 2150 / TEL 2810 Information Security & Privacy
Jaya Krishna, M.Tech, Assistant Professor
IS 2150 / TEL 2810 Introduction to Security
Decidable Languages Costas Busch - LSU.
Expressive Power How do the sets of systems that models can describe compare? If HRU equivalent to SPM, SPM provides more specific answer to safety question.
Overview Safety Question HRU Model Take-Grant Protection Model
Computer Security: Art and Science, 2nd Edition
Computer Security Foundations
Recap lecture 44 Decidability, whether a CFG generates certain string (emptiness), examples, whether a nonterminal is used in the derivation of some word.
Turing Machines Complexity ©D.Moshkovitz.
IS 2150 / TEL 2810 Information Security & Privacy
Chapter 3: Foundational Results
Instructor: Aaron Roth
IS 2150 / TEL 2810 Introduction to Security
Presentation transcript:

INFSCI 2935: Introduction of Computer Security1 September 13, 2005 Introduction to Computer Security Lecture 3 Take Grant Model (Cont) HRU Schematic Protection Model

INFSCI 2935: Introduction to Computer Security2 Theorem: Can_share(α,x,y,G 0 ) (for subjects) Subject_can_share(α, x, y,G 0 ) is true iff x and y are subjects and Subject_can_share(α, x, y,G 0 ) is true iff x and y are subjects and  there is an α edge from x to y in G 0 OR if: s-y   a subject s  G 0 with an s- to- y α edge, and x   islands I 1, …, I n such that x  I 1, s  I n, and there is a bridge from I j to I j+1 x s α α α α y I1I1I1I1 I2I2I2I2 InInInIn

INFSCI 2935: Introduction to Computer Security3 What about objects? Initial, terminal spans x initially spans to y if x is a subject and there is a tg-path associated with word {t → *g → } between them x initially spans to y if x is a subject and there is a tg-path associated with word {t → *g → } between them  xy  x can grant a right to y x terminally spans to y if x is a subject and there is a tg-path associated with word {t → *} between them x terminally spans to y if x is a subject and there is a tg-path associated with word {t → *} between them  xy  x can take a right from y

INFSCI 2935: Introduction to Computer Security4 Theorem: Can_share(α,x,y,G 0 ) Can_share(α, x, y, G 0 ) iff there is an α edge from x to y in G 0 or if: Can_share(α, x, y, G 0 ) iff there is an α edge from x to y in G 0 or if: ssy   a vertex s  G 0 with an s to y α edge, x’x’=xx’x   a subject x’ such that x’=x or x’ initially spans to x, s’s’=ss’s   a subject s’ such that s’=s or s’ terminally spans to s, and IIx’Is’I   islands I 1, …, I n such that x’  I 1, s’  I n, and there is a bridge from I j to I j +1 x’ s’ α α α α y I1I1I1I1 I2I2I2I2 InInInIn s x x’ can grant a right to x s’ can take a right from s α

INFSCI 2935: Introduction to Computer Security5 Theorem: Can_share(α,x,y,G 0 ) Corollary: There is an O(|V|+|E|) algorithm to test can_share: Decidable in linear time!! Corollary: There is an O(|V|+|E|) algorithm to test can_share: Decidable in linear time!! Theorem: Theorem:  Let G 0 contain exactly one vertex and no edges,  R a set of rights.  G 0 ├* G iff G is a finite directed acyclic graph, with edges labeled from R, and at least one subject with no incoming edge.  Only if part: v is initial subject and G 0 ├* G; No rule allows the deletion of a vertex No rule allows an incoming edge to be added to a vertex without any incoming edges. Hence, as v has no incoming edges, it cannot be assigned any

INFSCI 2935: Introduction to Computer Security6 Theorem: Can_share(α,x,y,G 0 )  If part : G meets the requirement Assume v is the vertex with no incoming edge and apply rules 1.Perform “v creates ( α  {g} to ) new x i ” for all 2<=i <= n, and α is union of all labels on the incoming edges going into x i in G 2.For all pairs x, y with x α over y in G, perform “v grants ( α to y ) to x” 3.If β is the set of rights x has over y in G, perform “v removes ( α  {g} - β ) to y”

INFSCI 2935: Introduction to Computer Security7 Example

8 Take-Grant Model: Sharing through a Trusted Entity Let p and q be two processes Let p and q be two processes Let b be a buffer that they share to communicate Let b be a buffer that they share to communicate Let s be third party (e.g. operating system) that controls b Let s be third party (e.g. operating system) that controls b g g q b s rw u v g g q s u v Witness S creates ({r, w}, to new object) b S grants ({r, w}, b) to p S grants ({r, w}, b) to q

INFSCI 2935: Introduction to Computer Security9 Theft in Take-Grant Model Can_steal(α,x,y,G 0 ) is true if there is no α edge from x to y in G 0 and  sequence G 1, …, G n s. t.: Can_steal(α,x,y,G 0 ) is true if there is no α edge from x to y in G 0 and  sequence G 1, …, G n s. t.:   α edge from x to y in G n,,   rules ρ 1,…, ρ n that take G i-1 ├ ρ i G i, and   v,w  G i, 1 ≤i<n, if  α edge from v to y in G 0 then ρ i is not “v grants (α to y) to w” -Disallows owners of α rights to y from transferring those rights -Does not disallow them to transfer other rights -This models a Trojan horse

INFSCI 2935: Introduction to Computer Security10 A witness to theft u grants (t to v) to s u grants (t to v) to s s takes (t to u) from v s takes (t to u) from v s takes ( α to w) from u s takes ( α to w) from u g s w t t α u v

INFSCI 2935: Introduction to Computer Security11 Conspiracy Theft indicates cooperation: which subjects are actors in a transfer of rights, and which are not? Theft indicates cooperation: which subjects are actors in a transfer of rights, and which are not? Next question is Next question is  How many subjects are needed to enable Can_share(α,x,y,G 0 )? Note that a vertex y Note that a vertex y  Can take rights from any vertex to which it terminally spans  Can pass rights to any vertex to which it initially spans Access set A(y) with focus y (y is subject) is union of Access set A(y) with focus y (y is subject) is union of  set of vertices y,  vertices to which y initially spans, and  vertices to which y terminally spans

INFSCI 2935: Introduction to Computer Security12 Conspiracy Deletion set δ(y,y’): All z  A(y) ∩ A(y’) for which Deletion set δ(y,y’): All z  A(y) ∩ A(y’) for which  y initially spans to z and y’ terminally spans to z  y terminally spans to z and y’ initially spans to z  z=y & z=y’ Conspiracy graph H of G 0 : Conspiracy graph H of G 0 :  Represents the paths along which subjects can transfer rights  For each subject in G 0, there is a corresponding vertex h(x) in H  if δ(y,y’) not empty, edge from h(y) to h(y’)

INFSCI 2935: Introduction to Computer Security13 Example t ggt g t gtgg abcd e fhij x y z r

INFSCI 2935: Introduction to Computer Security14 Theorems I(p) = I(p) =  contains the vertex h(p) and the se t of all vertices h(p’) such that p’ initially spans to p T(q) = T(q) =  contains the vertex h(q) and the se t of all vertices h(q’) such that q’ terminally spans to q Theorem 3-13: Theorem 3-13:  Can_share(α,x,y,G 0 ) iff there is a path from som h(p) in I(x) to some h(q) in T(y) Theorem 3-14: Theorem 3-14:  Let L be the number of vertices on a shortest path between h(p) and h(q) (as in theorem 3-13), then L conspirators are necessary and sufficient to produce a witness to Can_share(α,x,y,G 0 )

INFSCI 2935: Introduction to Computer Security15 Back to HRU: Fundamental questions How can we determine that a system is secure? How can we determine that a system is secure?  Need to define what we mean by a system being “secure” Is there a generic algorithm that allows us to determine whether a computer system is secure? Is there a generic algorithm that allows us to determine whether a computer system is secure?

INFSCI 2935: Introduction to Computer Security16 Turing Machine & halting problem The halting problem: The halting problem:  Given a description of an algorithm and a description of its initial arguments, determine whether the algorithm, when executed with these arguments, ever halts (the alternative is that it runs forever without halting). Reduce TM to Safety problem Reduce TM to Safety problem  If Safety problem is decidable then it implies that TM halts (for all inputs) – showing that the halting problem is decidable (contradiction)

INFSCI 2935: Introduction to Computer Security17 Turing Machine TM is an abstract model of computer TM is an abstract model of computer  Alan Turing in 1936 TM consists of TM consists of  A tape divided into cells; infinite in one direction  A set of tape symbols M M contains a special blank symbol b  A set of states K  A head that can read and write symbols  An action table that tells the machine What symbol to write How to move the head (‘L’ for left and ‘R’ for right) What is the next state

INFSCI 2935: Introduction to Computer Security18 Turing Machine The action table describes the transition function The action table describes the transition function Transition function  (k, m) = (k, m, L): Transition function  (k, m) = (k, m, L):  in state k, symbol m on tape location is replaced by symbol m,  head moves to left one square, and TM enters state k Halting state is q f Halting state is q f  TM halts when it enters this state

INFSCI 2935: Introduction to Computer Security19 Turing Machine A BC … 1234 head Current state is k Let  (k, C) = (k 1, X, R) where k 1 is the next state Current symbol is C D A BX … 1234 head D A B? … 1234 ? Let  (k 1, D) = (k 2, Y, L) where k 2 is the next state ? ?

INFSCI 2935: Introduction to Computer Security20 General Safety Problem Theorem: It is undecidable if a given state of a given protection system is safe for a given generic right Theorem: It is undecidable if a given state of a given protection system is safe for a given generic right Proof: Reduce TM to safety problem Proof: Reduce TM to safety problem  Symbols, States  rights  Tape cell  subject  Cell s i has A  s i has A rights on itself  Cell s k  s k has end rights on itself  State p, head at s i  s i has p rights on itself  Distinguished Right own: s i owns s i +1 for 1 ≤ i < k

INFSCI 2935: Introduction to Computer Security21 Mapping s1s1 s2s2 s3s3 s4s4 s4s4 s3s3 s2s2 s1s1 A B C k D end own A BC … 124 head Current state is k Current symbol is C D 1 234

INFSCI 2935: Introduction to Computer Security22 Command Mapping (Left move)  (k, C) = (k 1, X, L) command c k,C (s i, s i-1 ) if own in a[s i-1, s i ] and k in a[s i, s i ] and C in a[s i, s i ] then delete k from A[s i,s i ]; delete C from A[s i,s i ]; enter X into A[s i,s i ]; enter k 1 into A[s i-1, s i-1 ]; end

INFSCI 2935: Introduction to Computer Security23 Mapping (Left Move) s1s1 s2s2 s3s3 s4s4 s4s4 s3s3 s2s2 s1s1 A B k 1 X D end own After  (k, C) = (k 1, X, L) where k is the current state and k 1 the next state A BX … 124 head D 1 234

INFSCI 2935: Introduction to Computer Security24 Mapping (Initial) s1s1 s2s2 s3s3 s4s4 s4s4 s3s3 s2s2 s1s1 A B C k D end own A BC … 124 head Current state is k Current symbol is C D 1 234

INFSCI 2935: Introduction to Computer Security25 Command Mapping (Right move)  (k, C) = (k 1, X, R) command c k,C (s i, s i+1 ) if own in a[s i, s i+1 ] and k in a[s i, s i ] and C in a[s i, s i ] then delete k from A[s i,s i ]; delete C from A[s i,s i ]; enter X into A[s i,s i ]; enter k 1 into A[s i+1, s i+1 ]; end

INFSCI 2935: Introduction to Computer Security26 Mapping s1s1 s2s2 s3s3 s4s4 s4s4 s3s3 s2s2 s1s1 A B X D k 1 end own After  (k, C) = (k 1, X, R) where k is the current state and k 1 the next state A BX … 124 head D 1 234

INFSCI 2935: Introduction to Computer Security27 Command Mapping (Rightmost move)  (k 1, D) = (k 2, Y, R) at end becomes command crightmost k,C (s i,s i+1 ) if end in a[s i,s i ] and k 1 in a[s i,s i ] and D in a[s i,s i ] then delete end from a[s i,s i ]; create subject s i+1 ; enter own into a[s i,s i+1 ]; enter end into a[s i+1, s i+1 ]; delete k 1 from a[s i,s i ]; delete D from a[s i,s i ]; enter Y into a[s i,s i ]; enter k 2 into A[s i,s i ]; end

INFSCI 2935: Introduction to Computer Security28 Mapping s1s1 s2s2 s3s3 s4s4 s4s4 s3s3 s2s2 s1s1 A B X Y own After  (k 1, D) = (k 2, Y, R) where k 1 is the current state and k 2 the next state s5s5 s5s5 own b k 2 end A BX 124 head Y 1 234

INFSCI 2935: Introduction to Computer Security29 Rest of Proof Protection system exactly simulates a TM Protection system exactly simulates a TM  Exactly 1 end right in ACM  1 right corresponds to a state  Thus, at most 1 applicable command in each configuration of the TM If TM enters state q f, then right has leaked If TM enters state q f, then right has leaked If safety question decidable, then represent TM as above and determine if q f leaks If safety question decidable, then represent TM as above and determine if q f leaks  Leaks halting state  halting state in the matrix  Halting state reached Conclusion: safety question undecidable Conclusion: safety question undecidable

INFSCI 2935: Introduction to Computer Security30 Other theorems Set of unsafe systems is recursively enumerable Set of unsafe systems is recursively enumerable  Recursively enumerable? For protection system without the create primitives, (i.e., delete create primitive); the safety question is complete in P-SPACE For protection system without the create primitives, (i.e., delete create primitive); the safety question is complete in P-SPACE It is undecidable whether a given configuration of a given monotonic protection system is safe for a given generic right It is undecidable whether a given configuration of a given monotonic protection system is safe for a given generic right  Delete destroy, delete primitives;  The system becomes monotonic as they only increase in size and complexity

INFSCI 2935: Introduction to Computer Security31 Other theorems The safety question for biconditional monotonic protection systems is undecidable The safety question for biconditional monotonic protection systems is undecidable The safety question for monoconditional, monotonic protection systems is decidable The safety question for monoconditional, monotonic protection systems is decidable The safety question for monoconditional protection systems with create, enter, delete (and no destroy) is decidable. The safety question for monoconditional protection systems with create, enter, delete (and no destroy) is decidable. Observations Observations  Safety is undecidable for the generic case  Safety becomes decidable when restrictions are applied

INFSCI 2935: Introduction to Computer Security32 Schematic Protection Model Key idea is to use the notion of a protection type Key idea is to use the notion of a protection type  Label that determines how control rights affect an entity  Take-Grant: subject and object are different protection types  TS and TO represent subject type set and object set   (X) is the type of entity X A ticket describes a right A ticket describes a right  Consists of an entity name and a right symbol: X/z Possessor of the ticket X/z has right r over entity X Y has tickets X/r, X/w -> Y has tickets X/rw  Each entity X has a set dom(X) of tickets Y/z   (X/r:c) =  (X)/r:c is the type of a ticket

INFSCI 2935: Introduction to Computer Security33 Schematic Protection Model Inert right vs. Control right Inert right vs. Control right  Inert right doesn’t affect protection state, e.g. read right  take right in Take-Grant model is a control right Copy flag c Copy flag c  Every right r has an associated copyable right rc  r:c means r or rc Manipulation of rights Manipulation of rights  A link predicate Determines if a source and target of a transfer are “connected”  A filter function Determines if a transfer is authorized

INFSCI 2935: Introduction to Computer Security34 Transferring Rights dom(X) : set of tickets that X has dom(X) : set of tickets that X has Link predicate: link i (X,Y) Link predicate: link i (X,Y)  conjunction or disjunction of the following terms X/z  dom(X); X/z  dom(Y); Y/z  dom(X); Y/z  dom(Y) true  Determines if X and Y “connected” to transfer right  Examples: Take-Grant: link(X, Y) = Y/g  dom(X) v X/t  dom(Y) Broadcast:link(X, Y) = X/b  dom(X) Pull: link(X, Y) = Y/p  dom(Y) Universal:link(X, Y) = true Scheme: a finite set of link predicates is called a scheme Scheme: a finite set of link predicates is called a scheme

INFSCI 2935: Introduction to Computer Security35 Filter Function Filter function: Filter function:  Imposes conditions on when tickets can be transferred  f i : TS x TS → 2 TxR (range is copyable rights) X/r:c can be copied from dom(Y) to dom(Z) iff  i s. t. the following are true: X/r:c can be copied from dom(Y) to dom(Z) iff  i s. t. the following are true:  X/rc  dom(Y)  link i (Y, Z)   (X)/r:c  f i (  (Y),  (Z)) Examples: Examples:  If f i (  (Y),  (Z)) = T x R then any rights are transferable  If f i (  (Y),  (Z)) = T x RI then only inert rights are transferable  If f i (  (Y),  (Z)) = Ө then no tickets are transferable One filter function is defined for each link predicate One filter function is defined for each link predicate

INFSCI 2935: Introduction to Computer Security36 SCM Example 1 Owner-based policy Owner-based policy  Subject U can authorize subject V to access an object F iff U owns F  Types: TS= {user}, TO = {file}  Ownership is viewed as copy attributes If U owns F, all its tickets for F are copyable  RI: { r:c, w:c, a:c, x:c }; RC is empty read, write, append, execute; copy on each   U, V  user, link(U, V) = true Anyone can grant a right to anyone else if they posses the right to do so (copy)  f(user, user) = { file/r, file/w, file/a, file/x } Can copy read, write, append, execute

INFSCI 2935: Introduction to Computer Security37 SPM Example 1 Peter owns file Doom; can he give Paul execute permission over Doom? Peter owns file Doom; can he give Paul execute permission over Doom? 1.  (Peter) is user and  (Paul) is user 2.  (Doom) is file 3.Doom/xc  dom(Peter) 4.Link(Peter, Paul) = TRUE 5.  (Doom)/x  f(  (Peter),  (Paul)) - because of 1 and 2 Therefore, Peter can give ticket Doom/xc to Paul

INFSCI 2935: Introduction to Computer Security38 SPM Example2 Take-Grant Protection Model Take-Grant Protection Model  TS = { subjects }, TO = { objects }  RC = {tc, gc}, RI = {rc, wc} Note that all rights can be copied in T-G model  link(p, q) = p/t  dom(q) v q/t  dom(p)  f(subject, subject) = { subject, object }  { tc, gc, rc, wc } Note that any rights can be transferred in T-G model

INFSCI 2935: Introduction to Computer Security39 Demand A subject can demand a right from another entity A subject can demand a right from another entity  Demand function d:TS → 2 TxR  Let a and b be types a/r:c  d(b) : every subject of type b can demand a ticket X/r:c for all X such that  (X) = a  A sophisticated construction eliminates the need for the demand operation – hence omitted

INFSCI 2935: Introduction to Computer Security40 Create Operation Need to handle Need to handle  type of the created entity, &  tickets added by the creation Relation cancreate(a, b)  TS x T Relation cancreate(a, b)  TS x T  A subject of type a can create an entity of type b Rule of acyclic creates Rule of acyclic creates  Limits the membership in cancreate(a, b)  If a subject of type a can create a subject of type b, then none of the descendants can create a subject of type a

INFSCI 2935: Introduction to Computer Security41 Create operation Distinct Types create rule cr(a, b) specifies the create rule cr(a, b) specifies the  tickets introduced when a subject of type a creates an entity of type b B object: cr(a, b)  { b/r:c  RI } B object: cr(a, b)  { b/r:c  RI }  Only inert rights can be created  A gets B/r:c iff b/r:c  cr(a, b) B subject: cr(a, b) has two parts B subject: cr(a, b) has two parts  cr P (a, b) added to A, cr C (a, b) added to B  A gets B/r:c if b/r:c in cr P (a, b)  B gets A/r:c if a/r:c in cr C (a, b)

INFSCI 2935: Introduction to Computer Security42 Non-Distinct Types cr(a, a): who gets what? cr(a, a): who gets what?  self/r:c are tickets for creator  a/r:c tickets for the created cr(a, a) = { a/r:c, self/r:c | r:c  R} cr(a, a) = { a/r:c, self/r:c | r:c  R} cr(a, a) = cr C (a, b)|cr P (a, b) is attenuating if: cr(a, a) = cr C (a, b)|cr P (a, b) is attenuating if: 1.cr C (a, b)  cr P (a, b) and 2.a/r:c  cr P (a, b)  self/r:c  cr P (a, b) A scheme is attenuating if, A scheme is attenuating if,  For all types a, cc(a, a) → cr(a, a) is attenuating

INFSCI 2935: Introduction to Computer Security43 Examples Owner-based policy Owner-based policy  Users can create files: cc(user, file) holds  Creator can give itself any inert rights: cr(user, file) = {file/r:c| r  RI} Take-Grant model Take-Grant model  A subject can create a subject or an object cc(subject, subject ) and cc(subject, object ) hold  Subject can give itself any rights over the vertices it creates but the subject does not give the created subject any rights (although grant can be used later) cr C (a, b) = Ө; cr P (a, b) = {sub/tc, sub/gc, sub/rc, sub/wc} Hence, cr(sub, sub) = {sub/tc, sub/gc, sub/rc, sub/wc} | Ө cr(sub, obj) = {obj/tc, obj/gc, obj/rc, obj/wc} | Ө

INFSCI 2935: Introduction to Computer Security44 Safety Analysis in SPM Idea: derive maximal state where changes don’t affect analysis Idea: derive maximal state where changes don’t affect analysis  Indicates all the tickets that can be transferred from one subject to another  Indicates what the maximum rights of a subject is in a system Theorems: Theorems:  A maximal state exists for every system  If parent gives child only rights parent has (conditions somewhat more complex), can easily derive maximal state  Safety: If the scheme is acyclic and attenuating, the safety question is decidable

INFSCI 2935: Introduction to Computer Security45 Typed Access Matrix Model Finite set T of types (TS  T for subjects) Finite set T of types (TS  T for subjects) Protection State: (S, O, , A) Protection State: (S, O, , A)   :O  T is a type function  Operations same as in HRU model except create adds type  is child type iff command create creates subject/object of type   is child type iff command create creates subject/object of type  If parent/child graph from all commands acyclic, then: If parent/child graph from all commands acyclic, then:  Safety is decidable  Safety is NP-Hard  Safety is polynomial if all commands limited to three parameters

INFSCI 2935: Introduction to Computer Security46 HRU vs. SPM SPM more abstract SPM more abstract  Analyses focus on limits of model, not details of representation HRU allows revocation HRU allows revocation  SPM has no equivalent to delete, destroy HRU allows multiparent creates, SPM does not HRU allows multiparent creates, SPM does not  SPM cannot express multiparent creates easily, and not at all if the parents are of different types because cancreate allows for only one type of creator  Suggests SPM is less expressive than HRU

INFSCI 2935: Introduction to Computer Security47 Comparing Models Expressive Power Expressive Power  HRU/Access Control Matrix subsumes Take-Grant  HRU subsumes Typed Access Control Matrix  SPM subsumes Take-Grant Multilevel security Integrity models What about SPM and HRU? What about SPM and HRU?  SPM has no revocation (delete/destroy) HRU without delete/destroy (monotonic HRU) HRU without delete/destroy (monotonic HRU)  MTAM subsumes monotonic mono-operational HRU

INFSCI 2935: Introduction to Computer Security48 Extended Schematic Protection Model Adds “joint create”: new node has multiple parents Adds “joint create”: new node has multiple parents  Allows more natural representation of sharing between mutually suspicious parties Create joint node for sharing Monotonic ESPM and Monotonic HRU are equivalent Monotonic ESPM and Monotonic HRU are equivalent