CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.

Slides:



Advertisements
Similar presentations
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Advertisements

Lakshmi Narayana Gupta Kollepara 10/26/2009 CSC-8320.
CMSC 414 Computer (and Network) Security Lecture 12 Jonathan Katz.
8.2 Discretionary Access Control Models Weiling Li.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Authentication James Walden Northern Kentucky University.
Protection and Security. Policy & Mechanism Protection mechanisms are tools used to implement security policies –Authentication –Authorization –Cryptography.
CSE331: Introduction to Networks and Security Lecture 28 Fall 2002.
19: Protection1 PROTECTION Protection is the mechanism for controlling access to computer resources. Security concerns the physical integrity of the system.
CS-550 (M.Soneru): Protection and Security - 1 [SaS] 1 Protection and Security.
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Chapter 2 Access Control Fundamentals. Chapter Overview Protection Systems Mandatory Protection Systems Reference Monitors Definition of a Secure Operating.
1 CSE 380 Computer Operating Systems Instructor: Insup Lee and Dianna Xu University of Pennsylvania Fall 2003 Lecture Note: Protection Mechanisms.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
CMSC 414 Computer (and Network) Security Lecture 10 Jonathan Katz.
NS-H /11041 System Security. NS-H /11042 Authentication Verifying the identity of another entity Two interesting cases (for this class): –Computer.
G Robert Grimm New York University Protection and the Control of Information Sharing in Multics.
CMSC 414 Computer and Network Security Lecture 17 Jonathan Katz.
Access Control CS461/ECE422 Spring Reading Material Chapter 4 through section 4.5 Chapters 25 and 26 – For the access control aspects of Unix and.
Distributed Computer Security 8.2 Discretionary Access Control Models - Liang Zhao.
Lecture 7 Access Control
Distributed Computer Security 8.2 Discretionary Access Control Models - Sai Phalgun Tatavarthy.
Present by Napasakorn Sukjay Poom Samaharn
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
CMSC 414 Computer and Network Security Lecture 18 Jonathan Katz.
1 Securing Network Resources Understanding NTFS Permissions Assigning NTFS Permissions Assigning Special Permissions Copying and Moving Files and Folders.
Authentication and authorization Access control consists of two steps, authentication and authorization. Subject Do operation Reference monitor Object.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
CS-550 (M.Soneru): Protection and Security - 2 [SaS] 1 Protection and Security - 2.
CS426Fall 2010/Lecture 191 Computer Security CS 426 Lecture 19 Discretionary Access Control.
Protection.
Lecture 18 Page 1 CS 111 Online Access Control Security could be easy – If we didn’t want anyone to get access to anything The trick is giving access to.
Presented by Amlan B Dey.  Access control is the traditional center of gravity of computer security.  It is where security engineering meets computer.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
CMSC 414 Computer (and Network) Security Lecture 14 Jonathan Katz.
Announcements Assignment 3 due. Invite friends, co-workers to your presentations. Course evaluations on Friday.
CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz.
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.
Access Control. What is Access Control? The ability to allow only authorized users, programs or processes system or resource access The ability to disallow.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 18: Protection Goals of Protection Objects and Domains Access Matrix Implementation.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Protection (Chapter 14)
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
Academic Year 2014 Spring Academic Year 2014 Spring.
1 Introduction to NTFS Permissions Assign NTFS permissions to specify Which users and groups can gain access to folders and files What they can do with.
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
Access Control Lesson Introduction ●Understand the importance of access control ●Explore ways in which access control can be implemented ●Understand how.
Discretionary Access Control Models Adith Srinivasan.
Computer Security: Principles and Practice
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
CSS430 Protection1 Textbook Ch14 These slides were compiled from the OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s class materials.
Lecture 12 Page 1 CS 111 Summer 2014 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Chapter 15: Access Control Mechanisms Dr. Wayne Summers Department of Computer Science Columbus State University
19 Copyright © 2008, Oracle. All rights reserved. Security.
Access Control Model SAM-5.
Introduction to NTFS Permissions
Protection and Security
Chapter 14: System Protection
Protection in Operating Systems
CE Operating Systems Lecture 21
UNIX System Protection
OS Access Control Mauricio Sifontes.
Chapter 14: Protection.
Information Security CS 526 Topic 16
Access Control.
Computer Security Access Control
CS703 - Advanced Operating Systems
Presentation transcript:

CMSC 414 Computer and Network Security Lecture 10 Jonathan Katz

HW review: private-key encryption  What is the definition of an encryption scheme? –Is a ciphertext that is longer than the plaintext allowed?  How does CTR mode work? –What is the ciphertext?  What is a reasonable definition of security for an encryption scheme?

HW review --- problem 3

Discretionary access control

Access control matrix  Matrix indexed by all subjects and objects –Characterizes rights of each subject with respect to each object  Formally: set of objects O and subjects S, set of possible rights  Matrix A with subjects labeling the rows and objects labeling the columns –The entry (s,o) contains the rights for s on o –Examples: read/write/execute/etc.

Example File 1File 2File 3…File n User 1{r,w}{w}{r,w} User 2{w} {r,w} User 3{r}{w} … User k{r} {r,w}{r}{w} Subjects Objects

Delegation (one approach)  We augment the access control matrix to include subjects as objects –A[S,S] = “control” always –A[S,S’] = “control” if S created S’ –When S creates S’, a new column and row is created; A[S,S’] is set to “control”  Rights on other objects can also come with or without a “copy flag” set –Allows delegation, either with or w/o delegation of copy flag –Denote by *

Delegation (by S)  Delegate {r, r * } on X to S’ allowed if any of the following hold –A[S,X] = r * (S has right r on X, and copy flag set) –A[S,X] = “owner” (S owns X) –A[S,X] = r and A[S,S’] = “control” (S has right r on X, and S created S’)  Delete {r} on X from S’ allowed if any of the following hold –A[S,X] = “owner” –S[S,S’] = “control”

Creating a new subject  When S creates S’, why not populate row S’ with the same access rights that are in row S? –Least privilege…

Note  The OS can be treated as a subject with all rights  Examples –When Alice logs in do: Create shell process p with rights appropriate for Alice Delegate ownership of p to Alice –When Alice creates a file OS creates file f OS delegates {own, read, write} to Alice on file f

Drawbacks of access control matrix  Number of subjects/objects is very large  Most entries blank/default  One central matrix modified every time subjects/objects are created/deleted or rights are modified  “Small’ change can result in “many” changes to the access control matrix –E.g., making a file publicly readable

Access control lists (ACLs)  Can be viewed as storing the columns of the access control matrix with the appropriate object  Ideally, one list per object showing all subjects with access and their rights –Missing subjects given “default” access –Easy to make an object public

ACLs in practice  Again, full granularity may not be supported  E.g., unix allows permissions set for the owner of the file, the group to which the owner belongs, and everyone else (all)

Conflicts?  Need a mechanism for handling conflicts  E.g., what if group has fewer rights than all?  Resolution (in unix) if user = owner then owner permission else if user in group then group permission else all permission  In general, could have been done differently

Capabilities  Can be viewed as storing the rows of the access control matrix with the appropriate subject  Some burden for implementing protection placed on the user rather than just the OS –Analogy: user has a “ticket” which grants access to an object –A capability is an unforgeable token giving user access to an object and describing the level of allowable access –Capabilities can specify new types of rights

Capabilities: two approaches  Ticket is held by OS, which returns to the subject a pointer to the ticket  Ticket is held by the user, but protected from forgery by cryptographic mechanisms –How…? –Two possibilities: ticket verified by the object or by the OS itself Who holds the key in each case…?

ACLs vs. capabilities  Access control list –ACL associated with each object –Upon request, check user/group against the ACL –Relies on authentication of the user  Capabilities –Can be passed from one user/process to another –Upon request, check validity of capability No need to know the identity of the user/process making the request

ACLs vs. capabilities  How would delegation be handled using ACLs vs. using capabilities? –ACL: run process using the name of the caller, or OS can explicitly support delegation –Capabilities: allow delegation “for free”  How can a user make a file public when capabilities are used? –Maybe it is a good thing that this is hard to do!  How to revoke capabilities? –See later…

Example use of capabilities  From “The Confused Deputy,” by Hardy  Compiler in directory SYS –User can provide file for debugging output –Compiler can write statistics to SYS/stat Compiler given ability to write to SYS  User set debugging file to SYS/billing –Allowed… –Overwrote billing file!

Example continued…  Underlying problem: authority from two sources: static + authority of caller  How to solve this problem? –Check filenames explicitly? They can change… Legitimate access to SYS files… –Add specific list of conditions? Complexity grows –ACLs do not work… (why?)

Suggested solution  Use capabilities –Give compiler capability to write to SYS/stat Compiler does not even need to be aware of the filename it is writing to; the capability takes care of this –Caller can provide additional capabilities, as needed –Compiler must explicitly designate capabilities to use in a particular situation