Chapter 14 Protection Goals of Protection n Operating

  • Slides: 21
Download presentation
Chapter 14: Protection

Chapter 14: Protection

Goals of Protection n Operating system consists of a collection of objects, hardware or

Goals of Protection n Operating system consists of a collection of objects, hardware or software n Each object has a unique name and can be accessed through a well-defined set of operations. n Protection problem - ensure that each object is accessed correctly and only by those processes that are allowed to do so. Operating System Concepts 14. 2 Silberschatz, Galvin and Gagne © 2005

Principles of Protection n Guiding principle – principle of least privilege l Programs, users

Principles of Protection n Guiding principle – principle of least privilege l Programs, users and systems should be given just enough privileges to perform their tasks Operating System Concepts 14. 3 Silberschatz, Galvin and Gagne © 2005

Domain Structure n Access-right = <object-name, rights-set> where rights-set is a subset of all

Domain Structure n Access-right = <object-name, rights-set> where rights-set is a subset of all valid operations that can be performed on the object. n Domain = set of access-rights Operating System Concepts 14. 4 Silberschatz, Galvin and Gagne © 2005

Domain Implementation (UNIX) n System consists of 2 domains: l User l Supervisor n

Domain Implementation (UNIX) n System consists of 2 domains: l User l Supervisor n UNIX l Domain = user-id l Domain switch accomplished via file system. 4 Each file has associated with it a domain bit (setuid bit). 4 When file is executed and setuid = on, then user-id is set to owner of the file being executed. When execution completes user-id is reset. Operating System Concepts 14. 5 Silberschatz, Galvin and Gagne © 2005

Domain Implementation (Multics) n Let Di and Dj be any two domain rings. n

Domain Implementation (Multics) n Let Di and Dj be any two domain rings. n If j < I Di Dj Multics Rings Operating System Concepts 14. 6 Silberschatz, Galvin and Gagne © 2005

Access Matrix n View protection as a matrix (access matrix) n Rows represent domains

Access Matrix n View protection as a matrix (access matrix) n Rows represent domains n Columns represent objects n Access(i, j) is the set of operations that a process executing in Domaini can invoke on Objectj Operating System Concepts 14. 7 Silberschatz, Galvin and Gagne © 2005

Access Matrix Figure A Operating System Concepts 14. 8 Silberschatz, Galvin and Gagne ©

Access Matrix Figure A Operating System Concepts 14. 8 Silberschatz, Galvin and Gagne © 2005

Use of Access Matrix n If a process in Domain Di tries to do

Use of Access Matrix n If a process in Domain Di tries to do “op” on object Oj, then “op” must be in the access matrix. n Can be expanded to dynamic protection. l Operations to add, delete access rights. l Special access rights: 4 owner 4 copy of Oi op from Oi to Oj 4 control – Di can modify Dj access rights 4 transfer Operating System Concepts – switch from domain Di to Dj 14. 9 Silberschatz, Galvin and Gagne © 2005

Access Matrix of Figure A With Domains as Objects Figure B Operating System Concepts

Access Matrix of Figure A With Domains as Objects Figure B Operating System Concepts 14. 10 Silberschatz, Galvin and Gagne © 2005

Access Matrix with Copy Rights Operating System Concepts 14. 11 Silberschatz, Galvin and Gagne

Access Matrix with Copy Rights Operating System Concepts 14. 11 Silberschatz, Galvin and Gagne © 2005

Access Matrix With Owner Rights Operating System Concepts 14. 12 Silberschatz, Galvin and Gagne

Access Matrix With Owner Rights Operating System Concepts 14. 12 Silberschatz, Galvin and Gagne © 2005

Use of Access Matrix (Cont. ) n Access matrix design separates mechanism from policy.

Use of Access Matrix (Cont. ) n Access matrix design separates mechanism from policy. l Mechanism 4 Operating system provides access-matrix + rules. 4 If ensures that the matrix is only manipulated by authorized agents and that rules are strictly enforced. l Policy 4 User dictates policy. 4 Who can access what object and in what mode. Operating System Concepts 14. 13 Silberschatz, Galvin and Gagne © 2005

Implementation of Access Matrix n Each column = Access-control list for one object Defines

Implementation of Access Matrix n Each column = Access-control list for one object Defines who can perform what operation on an object. Domain 1 = Read, Write Domain 2 = Read Domain 3 = Read n Each Row = Capability List (like a key) For each domain, what operations allowed on what objects. Object 1 – Read Object 4 – Read, Write, Execute Object 5 – Read, Write, Delete, Copy Operating System Concepts 14. 14 Silberschatz, Galvin and Gagne © 2005

Access Control n Protection can be applied to non-file resources n Solaris 10 provides

Access Control n Protection can be applied to non-file resources n Solaris 10 provides role-based access control to implement least privilege l Privilege is right to execute system call or use an option within a system call l Can be assigned to processes l Users assigned roles granting access to privileges and programs Operating System Concepts 14. 15 Silberschatz, Galvin and Gagne © 2005

Role-based Access Control in Solaris 10 Operating System Concepts 14. 16 Silberschatz, Galvin and

Role-based Access Control in Solaris 10 Operating System Concepts 14. 16 Silberschatz, Galvin and Gagne © 2005

Revocation of Access Rights n Access List – Delete access rights from access list.

Revocation of Access Rights n Access List – Delete access rights from access list. l Simple l Immediate n Capability List – Scheme required to locate capability in the system before capability can be revoked. l Reacquisition l Back-pointers l Indirection Operating System Concepts 14. 17 Silberschatz, Galvin and Gagne © 2005

Capability-Based Systems n Hydra l Fixed set of access rights known to and interpreted

Capability-Based Systems n Hydra l Fixed set of access rights known to and interpreted by the system. l Interpretation of user-defined rights performed solely by user's program; system provides access protection for use of these rights. n Cambridge CAP System l Data capability - provides standard read, write, execute of individual storage segments associated with object. l Software capability -interpretation left to the subsystem, through its protected procedures. Operating System Concepts 14. 18 Silberschatz, Galvin and Gagne © 2005

Language-Based Protection n Specification of protection in a programming language allows the high-level description

Language-Based Protection n Specification of protection in a programming language allows the high-level description of policies for the allocation and use of resources. n Language implementation can provide software for protection enforcement when automatic hardware-supported checking is unavailable. n Interpret protection specifications to generate calls on whatever protection system is provided by the hardware and the operating system. Operating System Concepts 14. 19 Silberschatz, Galvin and Gagne © 2005

End of Chapter 14

End of Chapter 14

Garbage Collection n Operating System Concepts 14. 21 Silberschatz, Galvin and Gagne © 2005

Garbage Collection n Operating System Concepts 14. 21 Silberschatz, Galvin and Gagne © 2005