CSE473 Operating Systems - Spring 2008 - Professor Jaeger
Protection
CSE473 - Spring 2008 Professor Jaeger
www.cse.psu.edu/~tjaeger/cse473-s08/
Protection CSE473 - Spring 2008 Professor Jaeger - - PowerPoint PPT Presentation
Protection CSE473 - Spring 2008 Professor Jaeger www.cse.psu.edu/~tjaeger/cse473-s08/ CSE473 Operating Systems - Spring 2008 - Professor Jaeger Protection Protect yourself from untrustworthy users in a common space They may try to
CSE473 Operating Systems - Spring 2008 - Professor Jaeger
www.cse.psu.edu/~tjaeger/cse473-s08/
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
2
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
3
Operating System
Resource Mechanisms Process 1 Program Data Process 2 Program Data Process n Program Data
...
Security Scheduling
Disk Network Display ...
Memory Device Disk Device Network Device Display Device
...
Memory
CSE473 Operating Systems - Spring 2008 - Professor Jaeger Page
CSE473 Operating Systems - Spring 2008 - Professor Jaeger Page
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
assignments (i.e., policy)
6
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
O1 O2 O3 S1 Y Y N S2 N Y N S3 N Y Y
7
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
8
O1 O2 O3 J ? ? ? S2 ? ? ? S3 ? ? ?
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
9
O1 O2 O3 J1 R W R W N? J2 N R R W J3 N R R W
CSE473 Operating Systems - Spring 2008 - Professor Jaeger
10
Memory
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
11
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
12
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
13
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
14
R=1,E=1,S=1 setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1) setresuid(1, 1, 0) setresuid(1, 1, 1) R=1,E=1,S=0 setresuid(1, 1, 1) setresuid(1, 1, 0) R=0,E=0,S=0 setresuid(0, 0, 0) R=0,E=0,S=1 setresuid(0, 0, 1) R=0,E=1,S=0 setresuid(0, 1, 0) R=0,E=1,S=1 setresuid(0, 1, 1) R=1,E=0,S=0 setresuid(1, 0, 0) R=1,E=0,S=1 setresuid(1, 0, 1) setresuid(1, 1, 1) setresuid(1, 1, 0) setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1) setresuid(1, 1, 1) setresuid(1, 1, 0) setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1) setresuid(1, 1, 1) setresuid(1, 1, 0) setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1) setresuid(1, 1, 1) setresuid(1, 1, 0) setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1) setresuid(1, 1, 1) setresuid(1, 1, 0) setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1) setresuid(1, 1, 1) setresuid(1, 1, 0) setresuid(0, 0, 0) setresuid(0, 0, 1) setresuid(0, 1, 0) setresuid(0, 1, 1) setresuid(1, 0, 0) setresuid(1, 0, 1)(c) An FSA describing setresuid in Linux
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
drwxr-xr-x 26 mcdaniel fcse 884 Feb 21 11:56 slides/
15
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
16
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
17
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
18
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
19
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
20
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
21
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
22
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
(internet), untrusted
23
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
24
Page CSE473 Operating Systems - Spring 2008 - Professor Jaeger
25
CSE473 Operating Systems - Spring 2008 - Professor Jaeger Page
– Initially, our shell process has RWX capabilities for our home directory, and RX capabilities for all the directories to the root. – The “ls -lt” command is exec()ed, and the shell delegates the directory permissions by giving “ls” the capabilities
– The “ls -lt” process exercises the rights to read the directories structure all the way down to the local – Of course, the “ls -lt” process now need to obtain read rights to the files (to get their specific meta-information), and obtains them by appealing to the security manager (in kernel) -- the request fulfills the policy, and they are added and exercised – The “ls -lt” uses access rights given to the terminal to write output
CSE473 Operating Systems - Spring 2008 - Professor Jaeger Page
CSE473 Operating Systems - Spring 2008 - Professor Jaeger Page
– Well, anyone they have the capability to send messages to – I can give the capabilities you gave to me to someone else – And so on...
– Without deleting the object – E.g., Give them an indirect capability
– You can then revoke the indirect capability
Object Revoker
Not Revocable
Revocable
CSE473 Operating Systems - Spring 2008 - Professor Jaeger Page