AccessControl Revised Handouts
AccessControl Revised Handouts
Overview
Access control concepts
» Matrix, ACLs, Capabilities
Classical Access Control Models
– Discretionary Access Control (DAC)
– Mandatory Access Control (MAC)
– Role-Based Access Control (RBAC)
– Other Access Control Models
1
IT security and Privacy
The state of a system is the collection of the current
values of all memory locations, all secondary storage,
and all registers and other components of the system.
The subset of this collection that deals with protection
is the protection state of the system.
An access control matrix is one tool that can describe
the current protection state.
Security mechanisms can be divided into internal
mechanisms that are enforced by the IT system and
external mechanisms that are implemented outside of
the system. 3
2
IT - Security
Traditionally, term IT - Security has evolved in the recent
years. For a long time, secure systems had been
concentrated on security aspects to protect the IT-system
and its information against unauthorised or inappropriate
use.
Emphasis of IT-security was initially on confidentiality in
the meaning of secrecy of classified information (military).
Since the late eighties, IT security has been defined by
Confidentiality, Integrity and Availability.
3
Authorization
Authorization is the act of checking whether a user has
permission to conduct some action.
Whereas authentication is about verifying identity,
authorization is about verifying a user’s authority.
E.g. ATM withdrawal per day (limit 40,000)
Operating systems do authorization checks all the time.
E.g. Alice attempts to delete a file, the operating system
checks whether Alice is allowed to do so.
A general mechanism called an access control list
(ACL) is used by many operating systems.
7
4
9
10
10
5
11
11
12
12
6
13
13
14
14
7
Access control: introduction
Different access control models exist to accommodate
different policies
Model should be simple, expressive, intuitive,
manageable, implementable,…
15
15
Terminology
• Subject: entity that can access objects
– a process representing user/application
– often have 3 classes: owner, group, world
• Object: access controlled resource
– e.g. files, directories, records, programs etc
– number/type depend on environment
• Access right: way in which subject
accesses an object
– e.g. read, write, execute, delete, create,
search
16
16
8
Access control matrix
The rights in a cell specify the accesses of the subject (row) to the object
(column)
Example:
Subject/ object File_1 File_2 File_3 Process_1
17
18
18
9
Capability lists
19
19
ACL vs Capabilities
ACCESS REVIEW
• ACL's provide for superior access review on a per-
object basis
• Capabilities provide for superior access review on a
per-subject basis
REVOCATION
• ACL's provide for superior revocation facilities on a
per-object basis
• Capabilities provide for superior revocation facilities
on a per-subject basis
20
20
10
ACL vs Capabilities
The per-object basis usually wins out so most Operating
Systems protect files by means of ACL's
Many Operating Systems use an abbreviated form of
ACL's with just three entries (Unix)
» owner
» group
» other
21
21
Controls Assessments
We are looking at all access permissions including
building access, access to server rooms, access to
networks and applications and utilities.
These are all implementations of access control and are
part of a layered defense strategy, also known as
defense in depth, developed by an organization.
Defense in depth describes an information security
strategy that integrates people, technology and
operations capabilities to establish variable barriers
across multiple layers and missions of the organization.
22
22
11
Controls Assessments – E.g.
A technical example of defense in depth, is when a
username and password are required for logging in to
your account.
Followed by a code sent to your phone to verify your
identity.
This is a form of multi-factor authentication using
methods on two layers, something you have and
something you know.
The combination of the two layers is much more difficult
for an adversary to obtain than either of the
authentication codes individually. 23
23
24
12
Principle of Least Privilege
The Principle of Least Privilege (NIST SP 800-179) is a
standard of permitting only minimum access necessary
for users or programs to fulfill their function.
Users are provided access only to the systems and
programs they need to perform their specific job or
tasks.
To preserve the confidentiality of information and ensure
that it is only available to personnel who are authorized,
we use privileged access management. That means
each user is granted access only to the items they need
and nothing further.
25
25
26
13
Privileged Access Management
Privileged accounts are those with permissions beyond
those of normal users, such as managers and
administrators.
Broadly speaking, these accounts have elevated
privileges and are used by many different classes of
users, including:
» Systems administrators,
» Help desk or IT support staff,
» Security analysts
27
27
Segregation of Duties
A element of authorization is the principle of segregation
of duties (also known as separation of duties).
Segregation of duties is based on the security practice
that no one person should control an entire high-risk
transaction from start to finish.
Segregation of duties breaks the transaction into
separate parts and requires a different person to
execute each part of the transaction.
28
28
14
Segregation of Duties
For example, an employee may submit an invoice for
payment to a vendor (or for reimbursement to
themselves), but it must be approved by a manager
prior to payment;
In another instance, almost anyone may submit a
proposal for a change to a system configuration, but the
request must go through technical and management
review and gain approval, before it can be implemented.
29
29
Segregation of Duties
Another implementation of segregation of duties is dual
control. This would apply at a bank where there are two
separate combination locks on the door of the vault.
Some personnel know one of the combinations and
some know the other, but no one person knows both
combinations.
Two people must work together to open the vault; thus,
the vault is under dual control.
30
30
15
Physical Access
Badge Systems and Gate Entry
Environmental Design
Biometrics
Monitoring
» Camera
» Logs
» Security Guards
» Alarm system
31
31
32
32
16
Discretionary Access Control (DAC)
Discretionary access control (DAC) is a specific type of
access control policy that is enforced over all subjects
and objects in an information system.
In DAC, the policy specifies that a subject who has
been granted access to information can do one or more
of the following:
» Pass the information to other subjects or objects
» Grant its privileges to other subjects
» Change security attributes on subjects, objects, information systems or
system components
» Choose the security attributes to be associated with newly created or
revised objects; and/or
» Change the rules governing access control; mandatory access controls 33
restrict this capability
33
34
17
Discretionary Access Control (DAC) Revisited
35
36
36
18
Mandatory Access Control (MAC)
This also means that for all subjects defined by the
organization (that is, known to its integrated identity
management and access control system), the
organization assigns a subset of total privileges for a
subset of objects, such that the subject is constrained
from doing any of the following:
» Passing the information to unauthorized subjects or objects
» Granting its privileges to other subjects
» Changing one or more security attributes on subjects, objects, the
information system or system components
» Choosing the security attributes to be associated with newly created or
modified objects
» Changing the rules governing access control 37
37
38
38
19
Role-Based Access Control (RBAC)
Role-based access control (RBAC), as the name
suggests, sets up user permissions based on roles.
Each role represents users with similar or identical
permissions.
Role-based access control provides each worker
privileges based on what role they have in the
organization.
Only Human Resources staff have access to personnel files, for
example; only Finance has access to bank accounts; each
manager has access to their own direct reports and their own
department.
Very high-level system administrators may have access to
everything; new employees would have very limited access, the39
minimum required to do their jobs.
39
Security models/policies
40
40
20
Military Security Policy
Classification of information
» Ranks of levels: unclassified, restricted, confidential, secret,
top secret
Need-to-know
» Access to sensitive data is allowed only to subjects who need
to know them to perform their jobs
» Compartment
• Projects describing the subject matter of the information
Security class (of information)
» Determined by both rank and compartment
» Example: <secret, {crypto}>
41
41
42
21
Military Security Policy
Clearance
» A clearance is an indication that a person is trusted to access
information up to
• A certain level of sensitivity, and
• Certain categories of information
» Denoted in the same way as security classes
A subject can read an object only if
» The clearance level is at least as high as that of the
information, and
» The subject has a need-to-know about all compartments for
which the information is classified
» Dominate relation
43
43
Security Models
• Multi-level security models
– Bell La Padula model -- multi-level
confidentiality
– Biba model -- multi-level integrity
– Models for determining the system security
policy
44
44
22
Bell-LaPadula Model: A MAC Model
(Use other lecture notes to study BLP)
• Introduced in 1973
• Air Force was concerned with security in time-
sharing systems
– Many OS bugs
– Accidental misuse
• Basic idea
– Information should not flow downward
• Main Objective
– Enable one to show that a computer system can
securely process classified information
45
45
Basic Idea
• There are security classifications or security levels
• Example
– Top Secret
– Secret
– Confidential
– Unclassified
• In this case,
• Top Secret > Secret > Confidential > Unclassified
46
46
23
Multi level security
TS
Lattice of S
security
labels
C
Information Dominance
Flow
U
47
47
48
24
Bell-Lapadula model (BLP)
SIMPLE-SECURITY
Subject S can read object O only if
• label(S) dominates label(O)
• information can flow from label(O) to label(S)
STAR-PROPERTY
Subject S can write object O only if
• label(O) dominates label(S)
• information can flow from label(S) to label(O)
49
49
STAR property
Applies to subjects not to users
Users are trusted (must be trusted) not to disclose
secret information outside of the computer system
Subjects are not trusted because they may have Trojan
Horses embedded in the code they execute
Star-property prevents overt leakage of information and
addresses Trojan horse problem
50
50
25
Issues with BLP
51
Trojan horses
A Trojan Horse is rogue software installed, perhaps
unwittingly, by duly authorized users
A Trojan Horse does what a user expects it to do, but
in addition exploits the user's legitimate privileges to
cause a security breach
52
52
26
Trojan horse example
ACL
A:r
File F
A:w
B:r
File G
A:w
53
Trojan Horse
B:r
File G
write A:w
54
27
Trojan Horse Revisited (Cont’d)
55
55
56
28
Integrity Defined (Biba)
57
29
Five Mandatory Policies in Biba
59
59
• Rules:
– s can read o iff i(s) ≤ i(o)
• no read down
• stops indirect sabotage by contaminated data
– s can write to o iff i(o) ≤ i(s)
• no write up
• stops directly malicious modification
• Ensures no information path from low-
integrity object to high-integrity object
– Why is this desirable? 60
60
30
Subject Integrity Levels
61
61
62
62
31
Subject Low-Water Policy
• Subject’s integrity level decreases as
reading lower integrity data
• The reading rule is relaxed:
– When s reads o, the integrity level of s is set to
min[i(s), i(o)]
– Can read down, but lower integrity level
– If the integrity levels are not totally ordered,
then glb[i(s), i(o)]
• Ensures that there is no information path
from low integrity data to high integrity
data 63
63
64
64
32
Low-Water Mark Integrity Audit Policy
65
65
66
33
Summary of Biba’s Policies
67
67
68
68
34
Clark-Wilson Commercial Security Policy
In commercial environment, preventing unauthorized
data modification is usually paramount
» No user of the system, even if authorized, may be permitted
to modify data items in such a way that assets or accounting
records of the company are lost or corrupted
Introduce the notion of well-formed transactions
69
69
70
35
Clark-Wilson Commercial Security Policy
• Well-formed transactions
– Date items must satisfy some integrity constraints
• Constrained Data Items (CDIs)
– Perform the steps in order
– Perform exactly the steps listed
– Authenticate the individuals who perform the steps
– Can manipulate data only through trusted code!
• Called Transformation Procedures (TPs)
• Policy defined in terms of access triples
– <userID, TP, {CDIs}>
– Combine a transformation procedure, one or more
constrained data items, and the identification of 71
authorized user
71
Separation of Duty
72
72
36
Clark-Wilson Model (Cont’d)
73
73
74
74
37
The Clarke-Wilson Model for Integrity (1)
• Unconstrained Data Items (UDIs)
– data with low integrity
• Constrained Data Items (CDIs)
– data items within the system to which the
integrity model must apply
• Integrity Verification Procedures (IVPs)
– confirm that all of the CDIs in the system
conform to the integrity specification
• Transformation Procedures (TPs)
– well-formed transactions 75
75
76
38
The Clarke-Wilson Model for Integrity (3)
77
78
78
39
The Clarke-Wilson Model for Integrity (5)
• C4: All TPs must be certified to write to an
append-only CDI (the log) all information
necessary to permit the nature of the
operation to be reconstructed
79
80
80
40
Mandatory Access Control
81
81
82
41
Why MAC is Necessary -- Inherent
Weakness of DAC
• Unrestricted DAC allows information from
an object which can be read to any other
object which can be written by a subject
– Do not provide multi-level security
• Suppose our users are trusted not to do this
deliberately. It is still possible for Trojan
Horses to copy information from one object
to another
83
83
84
84
42
Inherent weakness of DAC
85
85
43
Role-Based Access Control (RBAC)
Access depends on function, not identity
Example:
» Allison, bookkeeper for Math Dept, has access to financial
records.
» She leaves.
» Betty hired as the new bookkeeper, so she now has access
to those records
» The role of “bookkeeper” dictates access, not the identity of
the individual.
87
87
Roles
Role:
» many-to-many relation between users and permissions
» Corresponds to a well-defined job or responsibility
When a user starts a session, he can activate some or
all of his roles
A session has all the permissions associated with the
activated roles
88
88
44
RBAC advantage
• For each job position, let:
U Number of individuals in job position
P Number of permissions required for job position
(U P ) (U P ) RBAC advantage
U , P 2 (U P ) (U P )
89
89
UA PA
Users Roles Operations Objects
Permissions
user_sessions role_sessions
(one-to-many) (many-to-many)
Sessions
90
90
45
Core RBAC (relations)
Users: set of users
Roles: set of roles
Operations: set of operations
Objects: set of objects
UA ⊆ Users x Roles
assigned_users: Roles 2Users
» assigned_users(r) = { u Users | (u, r) UA}
PRMS = 2Operations x Objects
PA ⊆ PRMS x Roles
assigned_permissions: Roles 2PRMS
» assigned_permissions(r) = { p PRMS | (p, r) PA}
subject_user: Subjects Users
subject_roles: Subjects 2Roles
» subject_roles(s) = {r | (subject_user(s), r) UA)}
91
91
Axioms
Rule of role authorization:
(s Subjects)(u Users)(r Roles)
r subject_roles(s) u subject_users(s)
u assigned_users(r)
» A subject can never have an active role that is not authorized
for its user
92
92
46
Axioms
Definition:
access: Subjects x Operations x Objects BOOLEAN
access(s, op, o) = 1 if subject s can access object o using
operation op; 0 otherwise
Rule of object access authorization:
(s Subjects)(op Operations)(o Objects)
access(s, op, o) (r Roles)(p PRMS)
[r subject_roles(s) p assigned_permissions(r) (op, o) p]
» A subject s can perform an operation op on object o only if
there exists a role r that is included in the subject’s active role
set and there exists a permission that is assigned to r such
that the permission authorizes operation op on o
93
93
Role Hierarchies
Reflect enterprise structure
» Partially ordered set of roles (R, 6)
Used to further reduce the number of user- and
permission-role assignments
» If (u, r) 2 UA then u is (implicitly) assigned to all roles
s6r
» If (p, r) 2 PA then p is (implicitly) assigned to all roles
s>r
94
94
47
A typical role hierarchy
If Jason is assigned to PL1
then he can also activate all
roles less senior than PL1
If permission p is assigned to
QE1 then it can also be used
by any role more senior than
QE1
Jason can use p
95
95
UA PA
Users Roles Operations Objects
Permissions
user_sessions role_sessions
(one-to-many) (many-to-many)
Sessions
96
96
48
RBAC with Role Hierarchy
authorized_users: Roles 2Users
authorized_users(r) = {u | r’ ≥ r (r’, u) UA)
authorized_permissions: Roles 2PRMS
authorized_users(r) = {p | r’ ≥ r (p, r’) PA}
RH ⊆ Roles x Roles is a partial order
» called the inheritance relation
» written as ≥.
(r1 ≥ r2) authorized_users(r2) ⊆ authorized_users(r1) &
authorized_permisssions(r1) ⊆ authorized_permisssions(r2)
97
97
Separation of Duty
No single user possesses all the permissions
needed to perform a sensitive task
Prevents accidental or malicious violation of
business requirements
Examples
» A cheque must be raised and authorised by two
different people
» A nuclear missile must be armed and launched by two
different people
98
98
49
Varieties of Separation of Duty
Static SoD
» No user can have the opportunity to access both file1
and file2
» Based on configuration of system
Dynamic SoD
» No user can have access to both file1 and file2 at the
same time
» Based on current state of system
Historical SoD
» No user can have accessed both file1 and file2
» Based on all previous states of the system
99
99
Constrained RBAC
RH
Static (role hierarchy)
Separation
of Duty
UA PA
Users Roles Operations Objects
Permissions
user_sessions
(one-to-many) Dynamic
Separation
of Duty
Sessions
100
100
50
Constrained RBAC: Static SoD
SSD ⊆ 2Roles x N is a collection of pairs (rs, n)
» rs: role set
» n: n ≥ 2 is a natural number
For each (rs, n) in SSD no user is authorized for
n or more roles in rs
101
101
102
102
51
Constrained RBAC: Dynamic SoD
DSD ⊆ 2Roles x N is a collection of pairs (rs, n)
» rs: role set
» n: n ≥ 2 is a natural number
For each (rs, n) in SSD no user is allowed to
activate n or more roles in rs in one session
103
103
Harrison-Ruzzo-Ullman Model
In HRU model, a configuration (or state) of a protection
system is defined as a triple (S,O,A), where S is the set
of current subjects, O is the set of current objects S O,
and A is an access matrix, with a row for every subject
in S and a column for every object in O.
A[s,o] is a subset of R, the finite set of generic rights,
and gives the rights to object o possessed by subject s.
104
104
52