Announcements Assignment 3 due. Invite friends, co-workers to your presentations. Course evaluations on Friday.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Protection Goals of Protection Domain of Protection Access Matrix
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Protection. Goals of Protection Operating system consists of a collection of objects, hardware or software Each object has a unique name and can be accessed.
Bilkent University Department of Computer Engineering
1999 Chapter 8-Protection Goals of Protection Domain of Protection Access Matrix Implementation of Access Matrix Revocation of Access Rights Capability-Based.
Reasons for Protection n Prevent users from accessing information they shouldn’t have access to. n Ensure that each program component uses system resources.
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.
1 CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania Fall 2003 Lecture Note: Protection Mechanisms.
Chapter 14: Protection.
Chapter 14: Protection.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 14: Protection.
Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Protection.
Page 19/4/2015 CSE 30341: Operating Systems Principles Raid storage  Raid – 0: Striping  Good I/O performance if spread across disks (equivalent to n.
Operating Systems Protection & Security.
Protection.
14.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 14: Protection Goals of Protection Principles of Protection Domain of Protection.
Chapter 14 Protection Bernard Chen Spring Goal of Protection Protection was originally conceived as an adjunct to multiprogramming operation.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 14: Protection Goals of Protection Principles of Protection Domain.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 18: Protection Goals of Protection Domain of Protection Access Matrix.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 18: Protection Goals of Protection Objects and Domains Access Matrix Implementation.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 14: Protection.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Protection (Chapter 14)
Cosc 4740 Chapter 13: Protection. Goals of Protection Operating system consists of a collection of objects, hardware or software Each object has a unique.
Protection Nadeem Majeed Choudhary
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
Modul ke: Fakultas Program Studi Proteksi SISTEM OPERASI Misbahul Fajri, ST., MTI. 14 FASILKOM Teknik Informatika.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 11, 2005 Chapter 14: Protection Goals.
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 11, 2005 Goals of Protection Operating.
Chapter 14: Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Goals of Protection Operating system consists of a collection.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 14: Protection.
11.1 CSE Department MAITSandeep Tayal 11: Protection Goals of Protection Domain of Protection Access Matrix Implementation of Access Matrix Revocation.
ANKITA NAIK. INTRODUCTION g598 An access matrix is a model of system resources protection. It consists of rows and columns. The rows of access matrix.
CSS430 Protection1 Textbook Ch14 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class materials.
CSE Operating System Principles Protection.
18.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 18: Protection Goals of Protection Domain of Protection Access Matrix.
Chapter 17: System Protection Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 17: Protection Goals of Protection Principles.
Saurav Karmakar. Chapter 14: Protection  Goals of Protection  Principles of Protection  Domain of Protection  Access Matrix  Implementation of Access.
PROTECTION.
Operating Systems Protection Alok Kumar Jagadev.
Chapter 14: Protection Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 14: System Protection
Chapter 14: Protection.
Operating System Concepts
Chapter 14: Protection.
Chapter 14: Protection Source & Copyright: Operating System Concepts, Silberschatz, Galvin and Gagne.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
CE Operating Systems Lecture 21
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 14: Protection.
Operating System Concepts
Chapter 14: Protection.
Presentation transcript:

Announcements Assignment 3 due. Invite friends, co-workers to your presentations. Course evaluations on Friday.

Chapter 18: Protection Protection Goal. Protection Domain. Access Matrix. Java Protection.

Protection Goal Operating system consists of a collection of objects, hardware and software. Each object has a unique name and can be accessed through a well-defined set of operations. Protection goal: ensure that each object is accessed only by those processes that are allowed to do so, and only in a prescribed manner. Protection not concerned with verifying identity of  Objects (e.g. whether IP address is real or spoofed) or  Processes (e.g. whether a process executing on behalf of Bob was started by Bob, or Sue who broke into Bob’s office). That is security (next chapter).

Protection Domain An access right is a pair consisting of  An object, e.g. a file.  A subset of all valid operations that can be performed on the object, e.g. read, write, execute. A domain is a set of access rights. A process executes “within” a domain, which limits what the process can do.

Access Matrix View protection as a matrix (access matrix):  Rows are domains D i.  Columns are objects (files F j in the example, and printer).  Access(i, j) is the set of operations that a process executing in D i can invoke on F j.

Process Domain in UNIX Each user associated with a domain:  When user logs in, his/her domain is identified. Each user group associated with a domain:  A user can belong to many groups but only one is current at a time. All users also belong to the world domain (others). Process domain: process usually started by user in the context of an interactive user session. Process domain is union of  World domain (operations anybody can do),  Session user’s current group domain (users of the group can do),  Session user domain (only the user can do). Many refinements, such as:  For user to execute privileged operation (e.g. modify the printer’s spool queue directory) in a safe manner (e.g. when printing a job), some processes must be executed under supervisor (root) domain.  Each program file has a user owner (possibly different than user executing program) and a permission bit called setuid.  If setuid==0, then process runs as above. If setuid==1, then process domain is that of user owner, not executing user.

Access Matrix: Add Domains Domains can be treated as objects:  We can now control whether a process can switch domains (e.g. setuid): switch right.  A process that runs in a domain can change the full matrix row for any other domain if it has the control right. Process runs in D 2 and changes D 4.

Access Matrix: Add Refined Control Process runs in D 2 and copies read right for F 2 into D 3. Processes run in D 1, D 2 and change rights for F 1, F 2, F 3. Copy right (*): right to copy a specific right from one domain onto another. Owner right: right to modify all rights of a specific object.

Access Matrix Usage Access matrix design separates mechanism from policy. Mechanism:  OS stores matrix.  OS defines operations to change matrix.  OS protects matrix storage and enforces changes only via prescribed operations.  OS forces processes to obey matrix. Policy:  User(s) decide what matrix contains, i.e.  what system objects are protected,  what domains exist, and  what rights are assigned to each combination.

Access Matrix Implementation Store each column with each object. This is the Access- control list (ACL) for that object. Example: Domain 1: Read, Write. Domain 2: Read. Store each row with each domain. This is the Capability List of the domain. Example: Object 1: Read. Object 4: Read, Write, Execute. Combination:  Explicit:  Process P starts with an empty capability list.  When P attempts to use object O, we consult ACL.  Add capability entry in P’s list: (O, ).  Future access to O consults list only. List is cache.  Implicit:  File open() returns file handle to process after ACL check.  All file operations use this handle.

Access Matrix: Revoking Rights Access List: Delete access rights from access list. Simple and immediate. Capability List (alone, or in part): scheme required to locate capability throughout system before capability can be revoked.  Reacquisition: process must reacquire capability at regular intervals (e.g. re-check ACL in combination system).  Back-pointers from objects to their capabilities (e.g. from files to processes that are using them; invalidate file handle if file ACL changed to prevent further access).  And others.

Java Protection Protection is handled by the Java Virtual Machine (JVM). When JVM loads a class, it assigns it a protection domain; all instances operate within this domain. Each domain is a set of permissions. Example: grant codeBase "file:/${java.home}/lib/" { permission java.io.FilePermission "/home/-", "read" ; } All JDK code can read files from directory /home and its subdirectories. The above snippet is from the Java security policy file. Run-time checks: a thread can execute an operation iff  It is executing a method of a class which has the necessary permissions, and  The same applies for the method’s caller, and its caller, all the way to the bottom of the stack (stack inspection). So if unsafe applet calls system code to open file, open() will fail because applet doesn’t have such permission.

Java Protection: doPrivileged What if applet wants to show dialog box? Internally, JDK must load font file but applet cannot open files. Solution is void showDialogBox() {... AccessController.doPrivileged (new PrivilegedAction() { public Object run() { /* load font */ } } )... } Change to run-time checks: we stop stack inspection when we encounter a privileged block. Invoking stack inspection (inside open() ): AccessController.checkPermission (new FilePermission(name,access)); Either throws (no permission) or returns silently. Fully extensible: new permissions, explicit checks, etc.

Java Protection Example Will fail:because checkPermission will realize applet doesn’t have required permission. Will succeed because doPrivileged ends stack inspection, and until doPrivileged all callers have permission.