Uploaded by Glo M

Access Control

advertisement
ADMINISTRATIVE
 Project 1 is due today!
 NB: You can submit as many times as you would like, we will grade
your last submission.
CURRENT EVENTS?
ACCESS CONTROL
CS 526
Christina Garman
ACCESS CONTROL
ACCESS CONTROL
 Provides the essential services of authorization, identification and
authentication, access approval, and accountability
• authorization specifies what a subject can do
• identification and authentication ensure that only legitimate subjects can log
on to a system
• access approval grants access during operations, by association of users
with the resources that they are allowed to access, based on the
authorization policy
• accountability identifies what a subject (or all subjects associated with a
user) did
ACCESS CONTROL
 A reference monitor mediates all access to
resources
• Principle: Complete mediation: control all accesses to resources
Reference
monitor
User
process
access request
?
policy
Adapted from Ninghui Li
Resource
REFERENCE MONITOR
 Three required properties for reference monitors in “trusted systems”
• tamper-proof
• non-bypassable (complete mediation)
• small enough to be analyzable
 Multics is a classic system using this model
Adapted from Eugene Spafford
MANDATORY ACCESS CONTROL (MAC)
 Means of assigning access rights based on regulations by a central
authority
 Rules are enforced on every attempted access, not at the discretion
of any system user
 Authorized processes CANNOT pass along their capabilities to other
processes
 Ex. Bell-LaPadula Model
BELL-LAPADULA MODEL
 MAC system
 When is it OK to release information?
 Simple Security Property - subject at a given security level may not
read an object at a higher security level
 *-Property - subject at a given security level may not write to any
object at a lower security level
 “read down, write up”
BIBA INTEGRITY MODEL
 Rules that preserve integrity of information
 Simple Integrity Property - subject at a given level of integrity must not
read data at a lower integrity level
 *-Integrity Property - subject at a given level of integrity must not write
to data at a higher level of integrity
 “read up, write down”
PROBLEMS?
 Bell-LaPadula – Confidentiality
• Read down, write up
 Biba – Integrity
• Read up, write down
 Want both confidentiality and integrity
• May use Bell-LaPadula for some classification of personnel and data, Biba
for another
• Otherwise, only way to satisfy both models is only allow read and write at
same classification
DISCRETIONARY ACCESS CONTROL (DAC)
 Means of assigning access rights based on rules specified by users
 Rule enforcement may be waived or modified by some users
 Authorized processes can pass along their capabilities to other
processes
 Ex. Unix file mode, which represent write, read, and execute in each
of the 3 bits for each of User, Group and Others
ACCESS CONTROL MATRIX
 Introduce rules that control what accesses (i.e., actions) subjects may
take with respect to objects
object1
subject1
…
objectn
Ai , Aj
Ø
Al
Ai , Am
…
subjectn
ACCESS CONTROL MATRIX
subjects
objects
File 1
File 2
File 3
File 4
User 1
rwx
----
---
rw
User 2
r
w
rw
x
User 3
----
rw
rwx
rwx
User 4
w
r
rw
---
IMPLEMENTATION CONCEPTS
 Access control list (ACL)
• Store column of matrix with the resource
 Capabilities
• User holds a “ticket” for each resource
• Two variations
• Store row of matrix with user
• Unforgeable ticket in user space
ACCESS CONTROL LIST
 File 1 – User 1:rwx, User 4:rw
 File 2 – User 1:r, User 2:w, User 3:rw, User 4:x
 File 3 – User 2:rw, User 3:rwx, User 4:rwx
 File 4 – User 1:w, User 2:r, User 3:rw
CAPABILITIES LIST
 User 1 – File 1:rwx, File 2:r, File 4:w
 User 2 – File 2:w, File 3:rw, File 4:r
 User 3 – File 2:rw, File 3:rwx, File 4:rw
 User 4 – File 1:rw, File 2:x, File 3: rwx
ACL VS. CAPABILITIES
 Access control list
• Associate list with each object
• Check user/group against list
• Relies on authentication: need to know user
 Capabilities
• Capability is unforgeable ticket
• Random bit sequence, or managed by OS
• Can be passed from one process to another
• Reference monitor checks ticket
• Does not need to know identity of user/process
CONFUSED DEPUTY PROBLEM
 Process or program is tricked into performing an operation on an
adversary’s behalf that the adversary could not perform on their own
• Ex. write to (read from) a privileged file
 Type of privilege escalation
 One solution is to bundle together the designation of an object and
the permission to access that object
• This is exactly a capability
• When a user wants to run a program, the user must pass along their
capability to the program
ROLE-BASED ACCESS CONTROL
 Access rights need to change as the responsibilities of users change
 Associate permissions with job functions
• Each job defines a set of tasks
• The tasks need permissions
• The permissions define a role
 Ex. Bank Teller
• Read/Write to client accounts
• Cannot create new accounts
• Cannot create a loan
• Role defines only the permissions allowed for the job
ROLE-BASED ACCESS CONTROL
 Model consists of two relationships
• Role-permission assignments
• User-role assignments
 Assign permissions to roles
• These are largely fixed
 Assign a user to the roles they can assume
• These change with each user
• Administrators must manage this relationship
LINUX CAPABILITIES
Download