Computer Security: Art and Science, 2nd Edition

Slides:



Advertisements
Similar presentations
1 Access Control Matrix CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute March 9, 2004.
Advertisements

Authentication James Walden Northern Kentucky University.
April 6, 2004ECS 235Slide #1 Chapter 13: Design Principles Overview Principles –Least Privilege –Fail-Safe Defaults –Economy of Mechanism –Complete Mediation.
19: Protection1 PROTECTION Protection is the mechanism for controlling access to computer resources. Security concerns the physical integrity of the system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
ITIS 3200: Introduction to Information Security and Privacy Dr. Weichao Wang.
590J Lecture 21: Access Control (contd). Review ● Recall: – Protection system is a description of conditions under which a system is secure – P is the.
CMSC 414 Computer (and Network) Security Lecture 10 Jonathan Katz.
1 Access Control Matrix CSSE 442 Computer Security Larry Merkle, Rose-Hulman Institute March 16, 2007.
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
Csci5233 computer security & integrity 1 Access Control Matrix.
IS-2150/TEL-2810: Introduction of Computer Security1 September 7, 2005 Introduction to Computer Security Access Control Matrix Take-grant model.
ECE509 Cyber Security : Concept, Theory, and Practice Access Control Matrix Spring 2014.
Chapter 2: Access Control Matrix
ISA Access Control ISA 562 Internet Security Theory & Practice.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Access Control.
Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model Protection State Transitions –Commands –Conditional Commands.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 4 – Access Control.
G53SEC 1 Access Control principals, objects and their operations.
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
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.
Access Control in Practice CS461/ECE422 Fall 2010.
Access Control: Policies and Mechanisms Vinod Ganapathy.
1/30/20161 Computer Security Access Control Matrix.
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model.
November 1, 2004Introduction to Computer Security © 2004 Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model Protection.
CSE Operating System Principles Protection.
September 10, 2012Introduction to Computer Security © 2004 Matt Bishop Slide #2-1 Chapter 2: Access Control Matrix Overview Access Control Matrix Model.
Saurav Karmakar. Chapter 14: Protection  Goals of Protection  Principles of Protection  Domain of Protection  Access Matrix  Implementation of Access.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
PROTECTION.
IS 2150 / TEL 2810 Introduction to Security
Chapter 14: Protection Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 14: System Protection
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection Source & Copyright: Operating System Concepts, Silberschatz, Galvin and Gagne.
Chapter 14: Protection.
2. Access Control Matrix Introduction to Computer Security © 2004 Matt Bishop 9/21/2018.
General OS Security: Memory Protection and Access Control
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 13: Design Principles
CE Operating Systems Lecture 21
Chapter 14: Protection.
Chapter 14: Protection.
Computer Security Access Control Matrix
Access Control Lists CSCI Fall 2008 GWU Sources:
Chapter 14: Protection.
IS 2150 / TEL 2810 Introduction to Security
Chapter 14: Protection.
Chapter 28: User Security
IS 2150 / TEL 2810 Introduction to Security
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Operating System Concepts
Chapter 29: Program Security
Outline Motivation Access Control Matrix Model
IS 2150 / TEL 2810 Information Security & Privacy
Chapter 2: Access Control Matrix
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
IS 2150 / TEL 2810 Introduction to Security
Computer Security Access Control Mechanisms
IS 2150 / TEL 2810 Introduction to Security
Chapter 14: Protection.
Chapter 2: Access Control Matrix
Presentation transcript:

Computer Security: Art and Science, 2nd Edition Access Control Matrix Chapter 2 Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Overview Access Control Matrix Model Boolean Expression Evaluation History Protection State Transitions Commands Conditional Commands Special Rights Principle of Attenuation of Privilege Section 2.1 A subject is an active entity Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Description 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) subjects s1 s2 … sn o1 … om s1 … sn Section 2.2 Note the way “object” is used here; it means “any entity”, not a “passive entity” as is usually the case. An object that is passive cannot take any actions, of course. Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Example 1 Processes p, q Files f, g Rights r, w, x, a, o f g p q p rwo r rwxo w Figure 2-1, slightly redone The change here is to use the letters r, w, o, x, a to mean read, write, own, execute, and append respectively (Figure 2-1 spells them out) Own is often treated specially, though (it can alter rights in the column, not row, in which it lies) Note interpretation of rights is not relevant here; “x” can mean execute (as with a UNIX file) or “search” (as with a UNIX directory) q a ro r rwxo Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Example 2 Host names telegraph, nob, toadflax Rights own, ftp, nfs, mail telegraph nob toadflax telegraph own ftp ftp nob ftp, mail, nfs, own ftp, nfs, mail toadflax ftp, mail ftp, mail, nfs, own Figure 2-3 This is a data module to increment and decrement a counter Note manager can call itself, so it’s recursive Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Example 3 Procedures inc_ctr, dec_ctr, manage Variable counter Rights +, –, call counter inc_ctr dec_ctr manage inc_ctr + dec_ctr – manager call call call Figure 2-3 This is a data module to increment and decrement a counter Note manager can call itself, so it’s recursive Version 1.0 Computer Security: Art and Science, 2nd Edition

Boolean Expression Evaluation ACM controls access to database fields Subjects have attributes Verbs define type of access Rules associated with objects, verb pair Subject attempts to access object Rule for object, verb evaluated, grants or denies access Section 2.2.1 Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Example Subject annie Attributes role (artist), group (creative) Verb paint Default 0 (deny unless explicitly granted) Object picture Rule: paint: ‘artist’ in subject.role and ‘creative’ in subject.groups and time.hour ≥ 0 and time.hour ≤ 4 The next two slides are similar to the example in Section 2.2.1, but use painting rather than a file Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition ACM at 3AM and 10AM At 3AM, time condition met ACM is: At 10AM, time condition not met ACM is: … picture … … annie … paint … picture … … annie … Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition History Problem: what a process has accessed may affect what it can access now Example: procedure in a web applet can access other procedures depending on what procedures it has already accessed S set of static rights associated with procedure C set of current rights associated with each executing process When process calls procedure, rights are S ∩ C Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Example Program // This routine has no filesystem access rights // beyond those in a limited, temporary area procedure helper_proc() return sys_kernel_file // But this has the right to delete files program main() sys_load_file(helper_proc) tmp_file = helper_proc() sys_delete_file(tmp_file) sys_kernel_file contains system kernel tmp_file is in limited area that helper_proc() can access Version 1.0 Computer Security: Art and Science, 2nd Edition

Before helper_proc Called Static rights of program sys_kernel_file tmp_file main delete delete helper_proc delete When program starts, current rights: sys_kernel_file tmp_file main delete delete helper_proc delete process delete delete In “current rights”, helper_proc() is not yet loaded Version 1.0 Computer Security: Art and Science, 2nd Edition

After helper_proc Called Process rights are intersection of static, previous “current” rights: sys_kernel_file tmp_file main delete delete helper_proc delete process delete In “current rights”, helper_proc() is not yet loaded Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition State Transitions Change the protection state of system |– represents transition Xi |– Xi+1: command  moves system from state Xi to Xi+1 Xi |–* Y: a sequence of commands moves system from state Xi to Y Commands often called transformation procedures Section 2.3 State is the triple (S, O, A), where O here means the set of entities, not the set of passive entities (so O ⊆ S) Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Primitive Operations create subject s; create object o Creates new row, column in ACM; creates new column in ACM destroy subject s; destroy object o Deletes row, column from ACM; deletes column from ACM enter r into A[s, o] Adds r rights for subject s over object o delete r from A[s, o] Removes r rights from subject s over object o Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Create Subject Precondition: s  S Primitive command: create subject s Postconditions: S = S { s }, O = O  { s } (y  O) [A[s, y] = ], (x  S) [A[x, s] = ] (x  S)(y  O) [A[x, y] = A[x, y]] Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Create Object Precondition: o  O Primitive command: create object o Postconditions: S = S, O = O  { o } (x  S) [A[x, o] = ] (x  S)(y  O) [A[x, y] = A[x, y]] Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Add Right Precondition: s  S, o  O Primitive command: enter r into A[s, o] Postconditions: S = S, O = O A[s, o] = A[s, o]  { r } (x  S)(y  O – { o }) [A[x, y] = A[x, y]] (x  S – { s })(y  O) [A[x, y] = A[x, y]] Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Delete Right Precondition: s  S, o  O Primitive command: delete r from A[s, o] Postconditions: S = S, O = O A[s, o] = A[s, o] – { r } (x  S)(y  O – { o }) [A[x, y] = A[x, y]] (x  S – { s })(y  O) [A[x, y] = A[x, y]] Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Destroy Subject Precondition: s  S Primitive command: destroy subject s Postconditions: S = S – { s }, O = O – { s } (y  O) [A[s, y] = ], (x  S) [A[x, s] = ] (x  S)(y  O) [A[x, y] = A[x, y]] Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Destroy Object Precondition: o  O Primitive command: destroy object o Postconditions: S = S, O = O – { o } (x  S) [A[x, o] = ] (x  S)(y  O) [A[x, y] = A[x, y]] Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition 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 Version 1.0 Computer Security: Art and Science, 2nd Edition

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 Single primitive operation in this command Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Conditional Commands Let p give q r 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 Mono-conditional command Single condition in this command Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Multiple Conditions Let p give q r and w rights over f, if p owns f and p has c rights over q command grant•read•file•2(p, f, q) if own in A[p, f] and c in A[p, q] then enter r into A[q, f]; enter w into A[q, f]; end Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Copy Flag and Right Allows possessor to give rights to another Often attached to a right (called a flag), so only applies to that right r is read right that cannot be copied rc is read right that can be copied Is copy flag copied when giving r rights? Depends on model, instantiation of model Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition 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 flag to specific (set of) users Version 1.0 Computer Security: Art and Science, 2nd Edition

Attenuation of Privilege Principle says you can’t increase your rights, or 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. Version 1.0 Computer Security: Art and Science, 2nd Edition

Computer Security: Art and Science, 2nd Edition Key Points Access control matrix simplest 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 Version 1.0 Computer Security: Art and Science, 2nd Edition