01 Security Ac Models
01 Security Ac Models
Tuomas Aura
CS-C3130 Information security
2
ACCESS CONTROL (AC)
3
Access control concepts
▪ Subjects request actions on objects
Subjects Objects
Access requests
4
Access control (AC)
▪ Traditional definition: AC = authentication + authorization
5
Reference monitor
Access policy
Audit trail
The focus for the rest of this lecture is the AC policy, and the
abstract models for defining AC policies
6
Trusted computing base
▪ Trusted computing base (TCB) = all system components that
need to be trusted to implement access control
– Includes hardware, firmware, OS, other software
– Security kernel = implementation of reference monitor in an OS
– Isolation of subjects from each other is needed to prevent them from
circumventing the AC policy
7
Access control matrix
▪ Access control matrix is the simplest, most general AC model
M : Subjects × Objects → P(Actions)
▪ Subject S is allowed to request action A on object O iff A ∈ M(S,O)
9
ACL examples
ACL = list of the access rights associated with an object
▪ ACL examples:
– Windows and Mac file systems, Confluence wiki, Github
– Key-card locks, receptionist checking bookings
10
Capabilities
▪ Capability = an access right associated with the subject
▪ Capabilities are another way to represent the AC matrix: one row is
stored for each subject
– Alice’s capabilities:
file1.txt: { read, write }; file2.txt: { write }.
– Bob’s capabilities:
file1.txt: { read }; file2.txt: { read }.
– Carol’s capabilities:
file1.txt: { read, write }.
– David’s capabilities:
file1.txt: { append }; file3.txt: { open, read, write, close }.
11
Capabilities
Capability = an access right associated with the subject
▪ Examples of capabilities:
– Metal keys, driver’s license, parking permit
– Mobile app permission, Dropbox link, OAuth 2.0 token
12
Why abstractions?
13
Principals
▪ Subjects are often ephemeral, e.g. processes; something more
persistent is needed to define the access policy
▪ Solution: access rights are assigned to principals
▪ Principal is an authenticated identity, e.g. user account
▪ Subjects act on behalf of principals
– Process (subject) runs as as a specific user account (principal)
– User’s process running as admin or as normal user act on behalf of
different principals and, thus, have different access rights
14
Extra
Dynamic protection systems material
15
DISCRETIONARY ACCESS CONTROL
16
Discretionary access control (DAC)
▪ Data owner, usually a user, sets the access rights
▪ Subjects can share their access rights to others
– File owner or creator decides who can access it
– User or process that can read a secret file can also copy and share it
▪ Typical in commercial and consumer systems
▪ Commonly implemented with ACLs or capabilities
18
MANDATORY ACCESS CONTROL
19
Mandatory access control (MAC)
▪ Access control is based on rules (policy) set by administrator
▪ AC policy is enforced by the reference monitor and cannot be
changed by users
▪ Subjects cannot leak access rights to others, e.g.
– User can read a secret file but cannot copy, print or email it
– Process can download data from the Internet or write to the file
system, but not both → users cannot download malware
▪ MAC is also called rule-based AC
20
Origins of MAC
▪ MAC originates from military policies
– Officer can read a secret document but not make a copy or remove it
from the premises
– Intelligence officer may not be allowed to read his own reports after
submitting them
– Officer who had contact with foreign agents may lose access to
classified information
21
MAC in commercial systems
▪ Isolation policies: Apps in a phone cannot communicate with
each other unless permitted by a policy
▪ DRM: User can play the music she purchased, but cannot share
▪ Secure document viewers: Protected PDF files do not allow
editing, printing or cut-and-paste; Snapchat supports sharing
of photos for a limited time
22
MAC outside computers
▪ Examples of MAC-like policies outside computers:
– Biometric authentication prevents sharing of capabilities, e.g. photo
on driver’s license, face recognition in ATMs
– Admit-one event ticket; amusement park wristband
– In UK, jurors must not read newspapers or watch TV about the court
case to avoid external influence
23
Clearance and classification !
▪ Mandatory access control policy is often Real labels:
24
Extra
Multi-level security material
Secret, —
Classified, —
Unclassified
⊥
26
Extra
Notes on algebra material
▪ Basic algebraic concepts like set, matrix, partial order make it easy to define security policies
precisely and to compute access-control decisions correctly
▪ Lattice 〈 L, ≥ 〉 is an algebraic structure: set with a partial order ≥ and join ∨ and meet ∧ operations
▪ Partial order is a relation that is:
– reflexive: a ≥ a
– anti-symmetric: a ≥ b and b ≥ a imply a = b and
– transitive: a ≥ b and b ≥ c imply a ≥ c
▪ Join c = a ∨ b is
– an upper bound for a and b: c ≥ a, c ≥ b and
– the least upper bound: c’ ≥ a and c’ ≥ b imply c’ ≥ c
▪ Meet c = a ∧ b is
– a lower bound for a and b: a ≥ c, b ≥ c and
– the greatest lower bound: a ≥ c’ and b ≥ c’ imply c ≥ c’
▪ When merging secret documents or making access control decisions about sets of documents,
compute the join of their secrecy labels
– e.g. secret ∨ top secret = top secret
▪ When merging information with integrity labels, compute the meet:
– e.g. low integrity ∧ high integrity = low integrity
27
Labels in Finnish government
– Laki julkisen hallinnon tiedonhallinnasta 18 §
– Asetus asiakirjojen turvallisuusluokittelusta valtionhallinnossa,
– Julkisuuslaki 24-25 § (freedom of information act)
Suojaustasoluokiteltu tieto (ERSAL, SAL, LUOT, RAJ) :
Classified information:
restricted, confidential,
secret, top secret
▪ Biba rules:
S can write O iff l(S) ≥ l(O)
No read down is
S can read O iff l(O) ≥ l(S) rarely implemented
▪ Also called: no write up, no read down in real systems
30
Biba examples
▪ Multi-level integrity policies in commercial systems:
– VM monitor can control and modify VMs but not the other way
– Web applications in the browser cannot modify the host
33
Upgrading and downgrading
▪ In practice, security levels need to be changed by humans
– E.g. downgrading intelligence data to enable broader access
– E.g. upgrading intelligence reports based on open data
▪ Declassification = downgrading to unclassified level
Declassified
in a tweet in
2019
34
Data sanitization
▪ Documents may need to be sanitized i.e. redacted before
downgrading or declassification
– E.g. removing names of personnel before publication
35
Extra
Covert channels material
▪ Covert channels
▪ Uncontrolled channels used for circumventing access control
▪ Used by a high-level subject to intentionally leak data from high to low level in violation of the no-
write-down policy
▪ Examples: modulating processor, disk or network load to communicate bits; leaking secret bits in data
fields that should be random numbers
▪ Often refers to low-bitrate channels within multi-level operating systems
▪ Steganography
▪ Hiding the existence of covert communication by embedding it into another (overt) communication
▪ Examples: hiding data in photo files, character spacing in text documents
▪ Side channels
▪ Channels that leak information from high to low without the intention of high-level subjects
▪ Examples: processor power consumption variation may leak a secret key; increase in pizza deliveries to
Pentagon predicts war
▪ Notes about terminology: Side channels are not covert channels because the communication is not intentional.
Some academics make a distinction between the use of uncontrolled channels (covert channels) and misuse of
legitimate, access-controlled channels (steganography), but the boundary between them is not always clear.
36
ROLE-BASED ACCESS CONTROL
37
Groups and roles Adding structure to
AC model: a layer of
▪ Group = set of subjects indirection
* * Roles or * * Objects ×
Subjects
Groups Actions
Role assignment or ACL
group membership
38
Indirection in access control systems
* * * * Objects ×
Subjects Principal
Actions
Allocation of usernames ACL
or other identifiers
* * * * Objects ×
Subjects Group
Group membership ACL Actions
* * * * Objects ×
Subjects Role
Role assignment ACL Actions
▪ Principals, groups and roles are conceptually quite different from each other, but all add a
layer of indirection to the AC model
▪ They can be used for the same purposes – or to implement each other
▪ Could have multiple layers of indirection, e.g., principals could be mapped to groups or roles
39
Roles in some systems
▪ MyCourses: Teacher, Non-editing teacher, Student, Category
assistant, Workspace assistant of workspace; Aalto / HAKA
logged-in user, Guest
▪ Moodle default roles: Site administrator, Manager, Course
creator; Teacher, Non-editing teacher, Student of a course;
Authenticated user, Guest
▪ WordPress: Administrator, Editor, Author, Contributor,
Subscriber
▪ Joomla: Super Administrator, Administrator, Manager,
Published, Editor, Registered
40
Role-based access control (RBAC) (1)
▪ NIST standard – but rarely fully implemented
▪ Modeling static high-level roles in an organization
– Doctor, Nurse, Student, Lecturer, Teaching assistant
▪ Roles are often parameterized
– Treating-doctor of patient S. Smith,
Manager or employee 784499,
Lecturer of CS-C3130,
Student of CS-C3130
41
Role-based access control (RBAC) (2)
▪ Roles may form a hierarchy with rights inheritance Logged-in
– e.g. Lecturer and Teaching-assistant are Teaching-staff user
▪ Constraints on role assignment and simultaneous
activation can implement separation of duty (defined later)
Teaching
Student
staff
▪ Roles are assigned to users for longer term but activated
on demand for each session
TA Lecturer
▪ Groups are often used like roles, but some features are
missing
– e.g. Administrators, Domain Administrators in Windows
42
OTHER ACCESS CONTROL MODELS AND
VARIATIONS
43
Attribute-based access control (ABAC)
▪ Access control is based in subject attributes (properties)
instead of subject identity
ABAC = attribute verification + authorization
▪ E.g. need to be 18 to buy tobacco;
need to be an Aalto student to access course material
▪ Enables anonymous access
44
Separation of duty
▪ Separation-of-duty policy: two or more persons are required to
complete a task
▪ Common in business and public administration:
– Employees cannot approve their own expense claims
– Financial auditors of large companies must be from outside the company
– Safe may have two locks with keys held by two different persons
– Lecturers issue grades to students, but only admin staff can enter them
into the study register
46
Extra
Clark-Wilson model material
47
Other access control models
▪ Originator-controlled AC (ORCON)
– Creator of data retains control over access to it
▪ Need-to-know principle
▪ Location or context-based AC
48
CONCLUSION
49
Why study these AC models?
▪ The abstract models help to recognize common patterns between
different products and implementations
– E.g. how many different user interfaces have you seen that implement an
ACL?
▪ They also help to understand the expressiveness and limitations of
the technologies
– E.g. a stateless AC system cannot implement separation of duty, while one
separation-of-duty policy can often be used to implement others
▪ Some models presented in this lecture are unrealistic!
Nevertheless, they can be useful as tools for thinking about security
policies
50
List of key concepts
▪ Access control, subject, object, action, access request, reference monitor,
policy, auditing, authentication, authorization
▪ TCB, security kernel, isolation
▪ AC matrix, protection state, discretionary AC, identity-based AC, ACL,
capability
▪ Principal, process, user
▪ Mandatory AC, rule-based AC, multi-level security, label, clearance,
classification, Bell-LaPadula, no read down, no write up, Biba, high and low
water mark, upgrading, downgrading, sanitization, redaction, covert
channel
▪ Role-based AC, group, role, parameterized role, role hierarchy, inheritance
▪ Separation of duty , stateful policy, Chinese Wall model
▪ Attribute-based AC, location-based AC, context-based AC
51
Reading material
▪ Dieter Gollmann: Computer Security, 2nd ed., chapters 4, 8, 9;
3rd ed. chapters 5–6
▪ Edward Amoroso: Fundamentals of Computer Security
Technology, chapters 6-13
▪ Ross Anderson: Security Engineering, 2nd ed., chapter 8
▪ Stallings, Brown: Computer Security: Principles and Practice,
4th ed., chapter 4
52
Problems to think about
▪ What are the subjects, object and actions in MyCourses / Sisu?
▪ Are there architectural or performance reasons for choosing between ACLs and capabilities?
Consider distributed and scalable systems.
▪ Can you think of security mechanisms outside computers which would need MAC but actually
implement DAC?
▪ What security labels and MAC policy would be suitable for MyCourses / Sisu?
▪ Give examples of systems that require confidentiality or integrity but not both.
▪ Which AC model and what kind of security labels could be used to describe VM or process isolation?
▪ If Bell-LaPadula and Biba policies are in the same system, should they use the same labels? Give an
example.
▪ Define RBAC roles that could be used in the implementation some IT system that you know well. To
what extent can your RBAC policy be implemented with groups?
▪ What kind security policy is there in double-blinded medical experiments?
▪ To what extent can access control prevent spam (email or other)? Can you think of other open
systems where it is difficult to implement access control?
▪ When services and content are mainly in the cloud rather than on the user’s own computer, how
does that change the types of policies that can or need to be enforced? Consider, for example, a
multi-player game or social network.
53