Access Control Lists CSCI Fall 2008 GWU Sources:

Slides:



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

1 Chapter Overview Understanding and Applying NTFS Permissions Assigning NTFS Permissions and Special Permissions Solving Permissions Problems.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #14-1 Chapter 14: Access Control Mechanisms Access control lists Capabilities.
Linux+ Guide to Linux Certification, Second Edition
CS 497C – Introduction to UNIX Lecture 15: - File Attributes Chin-Chih Chang
July 1, 2004Computer Security: Art and Science © Matt Bishop Slide #15-1 Chapter 15: Access Control Mechanisms Access control lists Capabilities.
UNIX Chapter 08 File Security Mr. Mohammad Smirat.
Lecture 7 Access Control
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
1 Securing Network Resources Understanding NTFS Permissions Assigning NTFS Permissions Assigning Special Permissions Copying and Moving Files and Folders.
Getting Started with Linux Linux System Administration Permissions.
O.S security Ge Zhang Karlstad University. Outline Why O.S. security is important? Security schemes in Unix/Linux system Security schemes in windows system.
Filesystem Hierarchy Standard (FHS) –Standard of outlining the location of set files and directories on a Linux system –Gives Linux software developers.
Va-scanCopyright 2002, Marchany Unit 6 – Solaris File Security Randy Marchany VA Tech Computing Center.
Linux+ Guide to Linux Certification, Second Edition
Managing Files CSCI N321 – System and Network Administration Copyright © 2000, 2011 by the Trustees of Indiana University except as noted.
Module 4 - File Security. Security Overview File Ownership Access to Files and Dircetories Changing File and Directory Ownership Changing File and Directory.
File Permission and Access. Module 6 File Permission and Access ♦ Introduction Linux is a multi-user system where users can assign different access permission.
Lesson 9-Setting and Using Permissions. Overview Describing file permissions. Using execute permissions with a file. Changing file permissions using mnemonics.
CE Operating Systems Lecture 21 Operating Systems Protection with examples from Linux & Windows.
Chapter 3 & 6 Root Status and users File Ownership Every file has a owner and group –These give read,write, and execute priv’s to the owner, group, and.
May 20, 2004ECS 235Slide #1 Proactive Password Checking Analyze proposed password for “goodness” –Always invoked –Can detect, reject bad passwords for.
Linux+ Guide to Linux Certification, Third Edition
Linux+ Guide to Linux Certification, Third Edition
PacNOG 6: Nadi, Fiji UNIX ™/ /Linux Permissions Hervey Allen Network Startup Resource Center.
Privileges: who can control what Introduction to Unix June 16, 2009 Papeete, French Polynesia Hervey Allen.
Privileges: who can control what Introduction to Unix May 24, 2008 Rabat, Morocco Hervey Allen.
Managing Files CSCI N321 – System and Network Administration Copyright © 2000, 2007 by the Trustees of Indiana University except as noted.
Chapter 8 File System Security. File Protection Schemes Login passwords Encryption File Access Privileges.
CSCI 330 The UNIX System Unit V Permissions. all access to directories and files is controlled UNIX uses discretionary access control (DAC) model each.
Chapter 8 File System Security. File Protection Schemes Password-Based Protection Encryption-Based Protection Protection-Based on Access Permission.
Linux Use the Command-Line Interface to Administer the System.
SUSE Linux Enterprise Desktop Administration Chapter 9 Manage Users, Groups, and Permissions.
Agenda The Linux File System (chapter 4 in text) Setting Access Permissions Directory vs File Permissions chmod Utility Symbolic Method Absolute Method.
UNIX file systems Learning Objectives: 1. To understand the basics of file systems 2. To understand the hierarchical structure in Unix file system 3. To.
Jozef Goetz, expanded by Jozef Goetz, 2008 Credits: Parts of the slides are based on slides created by UNIX textbook authors, Syed M. Sarwar, Robert.
Chapter 15: Access Control Mechanisms Dr. Wayne Summers Department of Computer Science Columbus State University
Karlstad University Operating System security Ge Zhang Karlstad University.
ORAFACT The Linux File System. ORAFACT Filesystem Support Support for dozens of filesystem types including: Minix, ext2, MS-DOS, UMSDOS, VFAT, NTFS, NFS,
Linux Filesystem Management
Privileges: who can control what
Permissions: who can control what Unix/IP Preparation Course July 19, 2009 Eugene, Oregon, USA
Introduction to Unix – CS 21
Agenda The Linux File System (chapter 4 in text)
Chapter 15: Access Control Mechanisms
File permissions Operating systems I800
Chapter 14: Protection Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 14: System Protection
Chapter 14: Protection.
Chapter 11: Managing Users
Chapter 8 File Security.
BIF703 File Permissions.
Privileges: who can control what
Chapter 14: Protection.
Systems Administration CSCI Fall 2016
Unix Access Control Basic CE 2
CE Operating Systems Lecture 21
Access Control CSCI283 Fall 2003 Lecture 6 GWU
UNIX System Protection
Security and File Permission
OPS235 Lab4: Investigations 5 – 9
Proactive Password Checking
Chapter 14: Protection.
Computer Security: Art and Science, 2nd Edition
Agenda The Linux File System (chapter 4 in text)
Chapter 14: Access Control Mechanisms
Adding New Users.
FILE SECURITY AND ACCESS CONTROL
Figure 6-13: Managing Permissions
Windows Vista Inside Out
Presentation transcript:

Access Control Lists CSCI283-172 Fall 2008 GWU Sources: Memon’s notes, Brooklyn Poly Bishop’s Text, Chapter 15 Bishop’s slides, Chapter 15 Text by Pfleeger and Pfleeger, Chapter 4

Access Control Mechanisms Access Control Matrix Access Control List Capability based access control Lock and Key based access control. Rings-based access control 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Access Control Lists Instead of using ACM, Access Control List (ACL). Essentially store each column of ACM with the object it represents. Definition: Let S be set of subjects and R the set of rights of a system. An access control list l is a set of pairs l = {(s, r): s S, r  R} Let acl be a function that determines the access control list associated with a particular object o. Acl(o) = {(si, ri) : 1  i  n} means that subject si may access o using any right in ri. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Access Control Lists: example Columns of access control matrix file1 file2 file3 Andy rx r rwo Betty rwxo r Charlie rx rwo w ACLs: file1: { (Andy, rx) (Betty, rwxo) (Charlie, rx) } file2: { (Andy, r) (Betty, r) (Charlie, rwo) } file3: { (Andy, rwo) (Charlie, w) } 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Abbreviated ACL’s Although same amount of storage, it is now distributed. To further reduce storage, one can abbreviate ACL’s as in UNIX. One can also assign default access to groups of subjects as well as specific rights to individual subjects. Two ways of doing this: 1) What is not prohibited is permitted 2) What is not permitted is prohibited. Latter always better!! 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Default Permissions Normal: if not named, no rights over file Principle of Fail-Safe Defaults If many subjects, may use groups or wildcards in ACL UNICOS: entries are (user, group, rights) If user is in group, has rights over file ‘*’ is wildcard for user, group (holly, *, r): holly can read file regardless of her group (*, gleep, w): anyone in group gleep can write file 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Accessing Files User not in file’s ACL nor in any group named in file’s ACL: deny access ACL entry denies user access: deny access Take union of rights of all ACL entries giving user access: user has this set of rights over file 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Example - File Protection in Unix UNIX - allow read, write, execute, delete to each of the individual groups - owner, group, world. Difficult for users in different groups to share files, since each file may belong to exactly one group. rwx rwx rwx owner group rest 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Temporary Privilege Elevation: UNIX Unix set userid (suid) allows another user to temporarily acquire the protection level of a file’s owner. While executing the program to change their own password, Unix users actually acquire temporary modify access to the systems password file, but in a controlled way using suid. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Unix special users Special user with extra privileges –root. UID is 0. Can do (almost) anything!! Holy grail of hackers! Other special users daemon or sys – handles some network services ftp – used for anonymous FTP access. uucp – manages UUCP (Unix to Unix Copy) system. guest – used for site visitors. lp - used by printer system Etc. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Unix Groups Every user belongs to one or more groups. The GID of primary group the user belongs to is stored in passwd file. Groups useful for access control features. /etc/groups contains a list of all groups in the system along with GID’s. Some special groups – wheel - group of administrators uucp, lp, etc. – groups corresponding to special users. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Unix file access control Each file entry in a directory is a pointer to a data structure called inode. mode Type of file and access rights uid User who owns the file gid Group which owns the file atime Access time mtime Modification time itime Inode alteration Block count Size of file Pointer to physical location 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Unix file permission bits Two examples of file permissions obtained by ls –l command -rw------- drwxr-xr-x First character indicates type of file - plain file d directory c character device (tty or printer) b block device l symbolic link Etc. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

File permission bits (contd.) Next nine characters taken in groups of three indicate who can do what with the file R – Permission to read W – Permission to write X – Permission to execute The three classes of permission correspond respectively to Owner Group Other 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

File permission bits – special cases File permission bits do not apply to symbolic links. If you have x access but no r access you can execute the program without reading it (not on linux). Execute permission in a directory means you can change to the directory. Secret Files! File permission bits also commonly specified in octal notation. 0777 mean -rwxrwxrwx, 0600 means -r_x------, etc. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Umask and default permissions umask (User file creation mode mask) is a four digit octal number used to determine file permissions for newly created files. It defines permission you do not want to be given (the bit-wise complement of the permission you want a file to have by default). 0666 – default mode means 0222 umask. 0077 umask means … 0022 means … Set up at log in time in environment variables. 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set The suid bit Sometimes unprivileged users must perform tasks that are privileged. Change password thereby modify /etc/passwd. UNIX allows certain programs to change UID to their owner when executed. SUID programs – change UID to owner. SGID programs – change GID to owners group. ls –l command indicates if SUID or SGID -rwsr-xr-x indicates SUID -rwxr-sr-x indicates SGID 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Limitations of UNIX file permission system Abbreviated ACL’s in general and UNIX in particular may not be flexible enough for many circumstances. Consider the following example: 5 users, Anne, Beth, Caroline, Della and Elizabeth. Anne wants Beth to read her file and nothing else. She wants Caroline to write Della to only read and write Elizabeth to only execute Above not possible with Unix file permission bits!! 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set ACLs + Abbreviations Augment abbreviated lists with ACLs Intent is to shorten ACL ACLs override abbreviations Exact method varies Example: IBM AIX Base permissions are abbreviations, extended permissions are ACLs with user, group ACL entries can add rights, but on deny, access is denied 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Augmenting abbreviated ACL’s AIX (IBM Unix) uses extended permissions to augment base permissions. attributes: base permissions: owner (bishop): rw- group (sys): r— others: --- extended permissions enabled permit -w- u:nelson, g=sys permit rw- u:levitt deny -w- u:heberlei, g=faculty 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Issues to consider while designing an ACL based system Which subject can modify an object in ACL? Does ACL apply to privileged user (root), if any? Does ACL support groups or wildcards? How are contradictory permissions handled? If default permissions allowed, do ACL’s modify it? Or is default used only when subject not explicitly mentioned in ACL? 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set ACL Modification Who can do this? Creator is given own right that allows this Some systems provide a grant modifier (like a copy flag) allowing a right to be transferred, so ownership not needed Transferring right to another modifies ACL Do ACLs apply to privileged users (root)? Solaris: abbreviated lists do not, but full-blown ACL entries do Other vendors: varies 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Groups and Wildcards Classic form: no; in practice, usually AIX: base perms gave group sys read only permit -w- u:heidi, g=sys line adds write permission for heidi when in that group UNICOS: holly : gleep : r user holly in group gleep can read file holly : * : r user holly in any group can read file * : gleep : r any user in group gleep can read file 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Conflicts Deny access if any entry would deny access AIX: if any entry denies access, regardless of rights given so far, access is denied Apply first entry matching subject Cisco routers: run packet through access control rules (ACL entries) in order; on a match, stop, and forward the packet; if no matches, deny Note default is deny so honors principle of fail-safe defaults 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

Handling Default Permissions Apply ACL entry, and if none use defaults Cisco router: apply matching access control rule, if any; otherwise, use default rule (deny) Augment defaults with those in the appropriate ACL entry AIX: extended permissions augment base permissions 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Revocation Question How do you remove subject’s rights to a file? Owner deletes subject’s entries from ACL, or rights from subject’s entry in ACL What if ownership not involved? Depends on system System R: restore protection state to what it was before right was given May mean deleting descendent rights too … 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set

CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set Windows NT ACLs Different sets of rights Basic: read, write, execute, delete, change permission, take ownership Generic: no access, read (read/execute), change (read/write/execute/delete), full control (all), special access (assign any of the basics) Directory: no access, read (read/execute files in directory), list, add, add and read, change (create, add, read, execute, write files; delete subdirectories), full control, special access 11/28/2018 CS283-172/Fall08/GW/Vora Many slides from Matt Bishop's slide set