Overview Safety Question HRU Model Take-Grant Protection Model

Slides:



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

Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Complexity Classes: P and NP
Variants of Turing machines
Lecture 24 MAS 714 Hartmut Klauck
1 1 -Access Control Foundational Results. 2 2 Preliminaries Undecidability The Halting Problem The Turing Machine.
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.
April 6, 2004ECS 235Slide #1 Chapter 13: Design Principles Overview Principles –Least Privilege –Fail-Safe Defaults –Economy of Mechanism –Complete Mediation.
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.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #3-1 Chapter 3: Foundational Results Overview Harrison-Ruzzo-Ullman result –Corollaries.
Applied Discrete Mathematics Week 10: Equivalence Relations
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.
Zvi Kohavi and Niraj K. Jha 1 Capabilities, Minimization, and Transformation of Sequential Machines.
IS-2150/TEL-2810: Introduction of Computer Security1 September 7, 2005 Introduction to Computer Security Access Control Matrix Take-grant model.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
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
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
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.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
April 8, 2004ECS 235Slide #1 Overview Safety Question HRU Model Take-Grant Protection Model SPM, ESPM –Multiparent joint creation Expressive power Typed.
INFSCI 2935: Introduction of Computer Security1 September 13, 2005 Introduction to Computer Security Lecture 3 Take Grant Model (Cont) HRU Schematic Protection.
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.
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.
De Bruijn sequences 陳柏澍 Novembers Each of the segments is one of two types, denoted by 0 and 1. Any four consecutive segments uniquely determine.
Capabilities, Minimization, and Transformation of Sequential Machines
Turing’s Thesis Costas Busch - LSU.
Graphing Linear Relations and Functions
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
GRAPHS Lecture 16 CS2110 Fall 2017.
Busch Complexity Lectures: Reductions
Linear Bounded Automata LBAs
IS 2150 / TEL 2810 Introduction to Security
LIMITS OF ALGORITHMIC COMPUTATION
Introduction to Computer Security Lecture 2
September 16, 2004 Introduction to Computer Security Lecture 3
Turing Machines Acceptors; Enumerators
Other Models of Computation
IS 2150 / TEL 2810 Information Security & Privacy
Chapter 13: Design Principles
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.
Computer Security: Art and Science, 2nd Edition
Computer Security Foundations
Outline Motivation Access Control Matrix Model
Theory of Computability
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.
The Church-Turing Thesis
IS 2150 / TEL 2810 Information Security & Privacy
Chapter 3: Foundational Results
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
GRAPHS Lecture 17 CS2110 Spring 2018.
Chapter 14 Graphs © 2011 Pearson Addison-Wesley. All rights reserved.
Instructor: Aaron Roth
Turing Machines Everything is an Integer
IS 2150 / TEL 2810 Introduction to Security
Presentation transcript:

Overview Safety Question HRU Model Take-Grant Protection Model SPM, ESPM Multiparent joint creation Expressive power Typed Access Matrix Model April 8, 2004 ECS 235

What Is “Secure”? Adding a generic right r where there was not one is “leaking” If a system S, beginning in initial state s0, cannot leak right r, it is safe with respect to the right r. April 8, 2004 ECS 235

Safety Question Does there exist an algorithm for determining whether a protection system S with initial state s0 is safe with respect to a generic right r? Here, “safe” = “secure” for an abstract model April 8, 2004 ECS 235

Mono-Operational Commands Answer: yes Sketch of proof: Consider minimal sequence of commands c1, …, ck to leak the right. Can omit delete, destroy Can merge all creates into one 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) April 8, 2004 ECS 235

General Case Answer: no Sketch of proof: Reduce halting problem to safety problem Turing Machine review: Infinite tape in one direction States K, symbols M; distinguished blank b Transition function d(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 April 8, 2004 ECS 235

Mapping 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 April 8, 2004 ECS 235

Mapping s1 s2 s3 s4 A B X D … s1 A own head s2 B own s3 X own After d(k, C) = (k1, X, R) where k is the current state and k1 the next state s4 D k1 end April 8, 2004 ECS 235

Command Mapping d(k, C) = (k1, X, R) at intermediate becomes command ck,C(s3,s4) if own in A[s3,s4] and k in A[s3,s3] and C in A[s3,s3] then delete k from A[s3,s3]; delete C from A[s3,s3]; enter X into A[s3,s3]; enter k1 into A[s4,s4]; end April 8, 2004 ECS 235

Mapping s1 s2 s3 s4 s5 A B X Y b s1 A own head s2 B own s3 X own After d(k1, D) = (k2, Y, R) where k1 is the current state and k2 the next state s4 Y own s5 b k2 end April 8, 2004 ECS 235

Command Mapping d(k1, D) = (k2, Y, R) at end becomes command crightmostk,C(s4,s5) if end in A[s4,s4] and k1 in A[s4,s4] and D in A[s4,s4] then delete end from A[s4,s4]; create subject s5; enter own into A[s4,s5]; enter end into A[s5,s5]; delete k1 from A[s4,s4]; delete D from A[s4,s4]; enter Y into A[s4,s4]; enter k2 into A[s5,s5]; end April 8, 2004 ECS 235

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 safety question decidable, then represent TM as above and determine if qf leaks Implies halting problem decidable Conclusion: safety question undecidable April 8, 2004 ECS 235

Other Results Set of unsafe systems is recursively enumerable Delete create primitive; then safety question is complete in P-SPACE Delete destroy, delete primitives; then safety question is undecidable Systems are monotonic Safety question for monoconditional, monotonic protection systems is decidable Safety question for monoconditional protection systems with create, enter, delete (and no destroy) is decidable. April 8, 2004 ECS 235

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 April 8, 2004 ECS 235

System G Hx G' apply a rewriting rule x (witness) to G to get G' ¡ objects (files, …) l subjects (users, processes, …) Ä don't care (either a subject or an object) G Hx G' apply a rewriting rule x (witness) to G to get G' G H* G' apply a sequence of rewriting rules (witness) to G to get G' R = { t, g, r, w, … } set of rights April 8, 2004 ECS 235

H H Rules take Ä l Ä l Ä Ä Ä Ä Ä Ä grant l l a t a t a a g g a a April 8, 2004 ECS 235

H H More Rules These four rules are called the de jure rules create l Ä l H a a - b Ä l Ä l remove These four rules are called the de jure rules April 8, 2004 ECS 235

H Symmetry l Ä l Ä l l x creates (tg to new) v z takes (g to v) from x ¡ z v 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 April 8, 2004 ECS 235

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 April 8, 2004 ECS 235

Initial, Terminal Spans initial span from x to y: x subject, tg-path between x, y with word in { t*g }  { n } x can give rights it has to y terminal span from x to y: x subject, tg-path between x, y with word in { t* }  { n } x can acquire any rights y has    April 8, 2004 ECS 235

Bridges bridge: tg-path between subjects x, y, with associated word in { t*, t*, t*g t*, t*g t* } rights can be transferred between the two endpoints not an island as intermediate vertices are objects         April 8, 2004 ECS 235

Example islands { p, u } { w } { y, s' } bridges u, v, w; w, x, y q t r p s' l l m m g t t g g t l m l m l u v w x y islands { p, u } { w } { y, s' } bridges u, v, w; w, x, y initial span p (associated word n) terminal span s's (associated word t) April 8, 2004 ECS 235

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 H* Gn using only de jure rules and in Gn there is an edge from x to y labeled r. April 8, 2004 ECS 235

can•share Theorem can•share(r, x, y, G0) if, and only if, there is an edge from x to y labeled r in G0, or the following hold simultaneously: There is an s in G0 with an s-to-y edge labeled r There is a subject x = x or initially spans to x There is a subject s = s or terminally spans to s There are islands I1,…, Ik connected by bridges, and x in I1 and s in Ik April 8, 2004 ECS 235

Outline of Proof s has r rights over y s acquires r rights over y from s Definition of terminal span x acquires r rights over y from s Repeated application of sharing among vertices in islands, passing rights along bridges x gives r rights over y to x Definition of initial span April 8, 2004 ECS 235

Key Question Characterize class of models for which safety is decidable Existence: Take-Grant Protection Model is a member of such a class Universality: In general, question undecidable, so for some models it is not decidable What is the dividing line? April 8, 2004 ECS 235

Schematic Protection Model Type-based model Protection type: entity label determining how control rights affect the entity Set at creation and cannot be changed Ticket: description of a single right over an entity Entity has sets of tickets (called a domain) Ticket is X/r, where X is entity and r right Functions determine rights transfer Link: are source, target “connected”? Filter: is transfer of ticket authorized? April 8, 2004 ECS 235

Link Predicate Idea: linki(X, Y) if X can assert some control right over Y Conjunction or disjunction of: X/z  dom(X) X/z  dom(Y) Y/z  dom(X) Y/z  dom(Y) true April 8, 2004 ECS 235

Examples Take-Grant: Broadcast: Pull: link(X, Y) = Y/g  dom(X)  X/t  dom(Y) Broadcast: link(X, Y) = X/b  dom(X) Pull: link(X, Y) = Y/p  dom(Y) April 8, 2004 ECS 235

Filter Function Range is set of copyable tickets Entity type, right Domain is subject pairs Copy a ticket X/r:c from dom(Y) to dom(Z) X/rc  dom(Y) linki(Y, Z) (Y)/r:c  fi((Y), (Z)) One filter function per link function April 8, 2004 ECS 235

Example f((Y), (Z)) = T  R f((Y), (Z)) = T  RI f((Y), (Z)) =  Any ticket can be transferred (if other conditions met) f((Y), (Z)) = T  RI Only tickets with inert rights can be transferred (if other conditions met) f((Y), (Z)) =  No tickets can be transferred April 8, 2004 ECS 235

Example Take-Grant Protection Model TS = { subjects }, TO = { objects } RC = { tc, gc }, RI = { rc, wc } link(p, q) = p/t  dom(q)  q/t  dom(p) f(subject, subject) = { subject, object }  { tc, gc, rc, wc } April 8, 2004 ECS 235

Create Operation Must handle type, tickets of new entity Relation can•create(a, b) Subject of type a can create entity of type b Rule of acyclic creates: April 8, 2004 ECS 235

Types cr(a, b): tickets introduced when subject of type a creates entity of type b B object: cr(a, b)  { b/r:c  RI } B subject: cr(a, b) has two parts crP(a, b) added to A, crC(a, b) added to B A gets B/r:c if b/r:c in crP(a, b) B gets A/r:c if a/r:c in crC(a, b) April 8, 2004 ECS 235

Non-Distinct Types cr(a, a): who gets what? self/r:c are tickets for creator a/r:c tickets for created cr(a, a) = { a/r:c, self/r:c | r:c  R} April 8, 2004 ECS 235

Attenuating Create Rule cr(a, b) attenuating if: crC(a, b)  crP(a, b) and a/r:c  crP(a, b)  self/r:c  crP(a, b) April 8, 2004 ECS 235

Safety Result If the scheme is acyclic and attenuating, the safety question is decidable April 8, 2004 ECS 235

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 If HRU describes more systems, SPM applies only to the systems it can describe April 8, 2004 ECS 235

HRU vs. SPM SPM more abstract HRU allows revocation Analyses focus on limits of model, not details of representation HRU allows revocation SMP has no equivalent to delete, destroy HRU allows multiparent creates SPM cannot express multiparent creates easily, and not at all if the parents are of different types because can•create allows for only one type of creator April 8, 2004 ECS 235

Multiparent Create Solves mutual suspicion problem In HRU: Create proxy jointly, each gives it needed rights In HRU: command multicreate(s0, s1, o) if r in a[s0, s1] and r in a[s1, s0] then create object o; enter r into a[s0, o]; enter r into a[s1, o]; end April 8, 2004 ECS 235

SPM and Multiparent Create can•create extended in obvious way cc  TS  …  TS  T Symbols X1, …, Xn parents, Y created R1,i, R2,i, R3, R4,i  R Rules crP,i((X1), …, (Xn)) = Y/R1,1  Xi/R2,i crC((X1), …, (Xn)) = Y/R3  X1/R4,1  …  Xn/R4,n April 8, 2004 ECS 235

Example Anna, Bill must do something cooperatively But they don’t trust each other Jointly create a proxy Each gives proxy only necessary rights In ESPM: Anna, Bill type a; proxy type p; right x  R cc(a, a) = p crAnna(a, a, p) = crBill(a, a, p) =  crproxy(a, a, p) = { Anna/x, Bill/x } April 8, 2004 ECS 235