0% found this document useful (0 votes)
31 views61 pages

Lecture 5 - Operating System Security and Access Control

The document outlines the concepts of operating system security and access control, detailing various protection mechanisms, memory protection, and isolation techniques. It discusses the evolution of security requirements from the 1950s to the 1970s, emphasizing the importance of user accountability and the reference monitor concept. Key topics include access control models such as access matrices, access control lists, and capability lists, as well as the significance of user IDs in managing permissions.

Uploaded by

David Banjo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views61 pages

Lecture 5 - Operating System Security and Access Control

The document outlines the concepts of operating system security and access control, detailing various protection mechanisms, memory protection, and isolation techniques. It discusses the evolution of security requirements from the 1950s to the 1970s, emphasizing the importance of user accountability and the reference monitor concept. Key topics include access control models such as access matrices, access control lists, and capability lists, as well as the significance of user IDs in managing permissions.

Uploaded by

David Banjo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

Operating System Security

and Access Control

Computer Security | Lecture Four


Lecture Outline
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Introduction

▪ 1950s – Mass-produced computers emerged in the.


▪ 1960s – Time-sharing systems brought security
requirements into focus.
▪ 1965-1975 - The golden design age for
▪ Operating system (OS) Protection Mechanisms
▪ Hardware Protection Features
▪ Address Translation
Introduction
▪ Back then, the Threat Environment was simpler,
▪ Computer networks were largely non-existent
▪ The number of software creators and programs was far smaller
▪ However, the challenges were the same as those we face today,
including
▪ Maintaining Separation of Processes while selectively allowing sharing
of resources
▪ Protecting Programs from others on the same machine
▪ Restricting Access to resources

5
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Protection Mechanisms

▪ “Protection” largely meant ▪ The above are all accessed


controlling access to Memory through Memory Addresses and
Locations Files.
▪ Files are logical units of data in
▪ Since Both Data and Programs primary memory and secondary
are stored in memory. storage
▪ Protection means controlling ▪ Access Control to Memory and
access to Files provides a general basis
▪ Running processes for Access Control of Objects
▪ Input/Output Devices and Devices.
▪ Communications Channels

7
Protection Mechanisms

▪ Initially, Protection meant limiting the memory addresses


accessible to processes
▪ Early Virtual Memory Address Translation and Access Control Lists
(ACL) were developed to enable Resource Sharing.
▪ These remained the Protection Fundamentals.
▪ Learning about such protection in Operating Systems provides a
another solid basis for understanding computer security.

8
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Memory Protection
▪ Early computers were large and expensive—and simple
compared to later systems
▪ Used to run Single Programs one after the other
▪ Delay between runs wasted valuable computer time
▪ This motivated Batch Processing
▪ Batch Processing: Programs prepared ahead of time were submitted
together as a “batched” job run by an operator.
▪ This reduced idle CPU time and costs, but inconvenienced users

10
Memory Protection
▪ The Time-sharing Systems of between which the CPU
alternated.
the early 1960s offered an
▪ This is How single-user
alternative for shared use i.e. computers work today – A user
▪ Gave the impression of running running many programs
a program on their own machine Concurrently on a Machine
in real time. ▪ Security issues arise when
▪ Programs appeared to run more than one process runs
Concurrently,
“Concurrently”
▪ However, the innovation was to
organize them as processes ▪ i.e. Resource Conflicts

11
Isolation Mechanisms
▪ An early concern was with the ▪ If a user process could access the
Computer Memory computer’s full memory range,
errors might disrupt OS Data or
▪ An Isolation Mechanism was Program
needed ▪ Even for computers running single
▪ To prevent one process writing into programs one at a time
another’s memory ▪ There are 2 main Isolation
▪ To avoid errors in one program Mechanisms
impacting another
▪ Memory-Range Based Protection
▪ Such Errors may also come from
Malicious Programs ▪ Segment Addressing with Access
Permission

12
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Isolation Mechanisms
Memory-Range Protection Mechanism
▪ All memory references go through a Supervisor Program, which runs with a
hardware Descriptor Register holding Privileged Bit set could load the
a Memory Descriptor consisting of a Descriptor Register.
(base, bound) pair of values. ▪ User programs could set Privileged Bit
▪ Base = Lowest physical memory only via a machine instruction that
address accessible to the active immediately transferred execution to
process the Supervisor Program.
▪ Bound = Number of addressable ▪ This Design protect Memory
memory words from that point Descriptors by storing them in
▪ To control the memory address range memory managed exclusively by the
visible to a process, only the Supervisor.

14
15
Isolation Mechanisms
Memory-Range Protection Mechanism
▪ This Process Isolation consist ▪ Must be set for the Descriptor
Register to be loaded.
of a simple 3-component
▪ Only supervisor code runs with
memory protection scheme this bit set.
▪ Descriptor Register ▪ Supervisor
▪ Constrains the addresses a ▪ No other program can alter the
process can access. privileged bit.
▪ The Supervisor maintains a ▪ A special machine instruction
descriptor for each process and can also set the bit and
loads this register for the active immediately transfer control to
process. the Supervisor
▪ Privileged Bit:

16
Isolation Mechanisms
Memory-Range Protection Mechanism
▪ In this memory Protection scheme,
▪ The Supervisor prevents user processes from altering supervisor code
or data by reserving memory that user processes cannot access.
▪ This provides an all-or-nothing mode in the sense of full access to
everything as Supervisor, or no cross-process sharing at all.
▪ Limitation:
▪ This allows full ISOLATION, but not fine-grain Sharing of Memory
▪ The next step forward is more specific Access Permissions
▪ Allowing separate Read, Write and Execute permissions for a specified
memory region

17
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Isolation Mechanisms
Segment Addressing With Access Permissions
▪ A Memory Segment is a continuous block of words, representing
a logical unit of information.
▪ A memory word is then addressed by a pair of values (S, W)
▪ The segment number S and word number offset W afterwards.
▪ Thus a separation of this early Virtual Memory Descriptor from a
Segment’s Physical Address.
▪ The OS maintains a special per-process descriptor segment that
holds a Table of Segment Descriptors defining the Physical
Memory addressable by the process.
19
Isolation Mechanisms
Segment Addressing With Access Permissions
▪ The addressing scheme controls access—
▪ A process can’t access a segment that it can’t “see”
▪ A Processor Descriptor Base Register (DBR) points to the Descriptor
Segment of the Active Process
▪ S is an index in this table, and each Segment Descriptor contains details
of a segment’s
▪ Physical starting address
▪ Current size
▪ An Access Control Indicator specifying Permission Bits for this memory
segment

20
Isolation Mechanisms
Segment Addressing With Access Permissions
▪ Access Control Indicators ▪ if 1, segment is Executable;
▪ R: Read ▪ Usually then W=0, code not self-
modifying
▪ if 1, a non-supervisor process
has Read access; ▪ M: Mode
▪ if 0, only the Supervisor does ▪ if 1, Supervisor mode when
executing segment;
▪ W: Write
▪ Valid only when X=1
▪ if 1, the segment may be written
into; ▪ F: Fault
▪ Usually then X=0 ▪ if 1, all access attempts trap to
Supervisor;
▪ X: Execute
▪ Overrides all other bits

21
22
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Accountability, User-ids and Principals
▪ Each user account on a system Accountable for the process
has a username mapped by the ▪ The UID is the primary basis for
OS to a numeric userid (UID). granting access privileges
▪ Users enter Username + Password ▪ UID also serves
to log in ▪ Administrative and billing purposes,
▪ Principal: ▪ Aids debugging,
▪ “Entity” responsible for code ▪ Audit trails,
execution resulting from user (or ▪ Forensics.
consequent program) actions. ▪ A separate process identifier (PID)
▪ The OS associates a UID with each is used for OS-internal purposes
process
such as scheduling
▪ This identifies the Principal

24
User Roles

▪ A User may function in several Roles,


▪ e.g., as a Regular User and occasionally as an Administrator.
▪ By the principle of Least-Privilege
▪ Common practice is to assign the user more than one username, and
switch usernames (thus UIDs internally) when acting in a role requiring
the privileges of a different domain;
▪ Abstractly, distinct UIDs are considered distinct Principals.
▪ Use of the same username by several users is generally frowned upon as
poor security hygiene, hindering Accountability among other drawbacks

25
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and ▪ Access Matrix
Isolation Mechanisms ▪ Access Control Lists
▪ Memory-Range Based ▪ Capability Lists
Protection ▪ File-Based Access Control
▪ Segment Addressing with
▪ FBAC With ACL
Access Permission
▪ FBAC with UGO Model
▪ Accountability, User-ID and
▪ FBAC with RBAC
Principals
The Reference Monitor Concept

▪ Proposed in 1972 as a model for building secure systems


for government use in the context of defending against
malicious users.
▪ The basic notion was stated thus:
▪ All references by any program to any program, data or device are
validated against a list of authorized types of reference based on
user and/or program function.

27
Reference Monitor Dependencies

▪ In addition to properly functioning reference validation


mechanism, the reference monitor depends on:
▪ A trustworthy authentication system
▪ The access matrix assumes legitimate identified subjects
▪ Properly Operating Hardware,
▪ Physical Security of this Hardware and System
▪ including Storage Media and any devices accessing memory
▪ Security of the input-output communication paths between users and
the system.

28
29
The Reference Monitor Concept

▪ The Reference Monitor is a Subject-Object Model.


▪ A Subject (or Principal) is a system entity that may request access to
a system object.
▪ An Object is any item that a subject may request to use or alter—e.g.,
▪ Active processes, Memory addresses or segments, Code and data
▪ Pages in main memory, swapped pages, files in secondary memory
▪ Peripheral devices such as terminals and printers
▪ Often involving input/output, memory or media
▪ Privileged instructions.

30
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Subject-Object Model
▪ A System first identifies all Subjects and Execute for code
Objects. ▪ The authorization of privileges across
▪ For each Object, the types of access subjects and objects is modeled as an
(Access Attributes) are determined Access Control Matrix
▪ Each corresponds to an Access ▪ Rows = Subjects
Permission or Privilege. ▪ Columns = Objects
▪ Then for each Subject-Object pair, the ▪ Indexes (i, j) = Access Control Entries
system predefines the Authorized (ACE)
Access Permissions of that Subject to ▪ Specifying access permissions Subject i
that Object has to Object j
▪ Examples of types of access are Read or ▪ ACE will typically contain a collection of
Write for a data item or memory address, Permissions

32
33
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Access Matrix
▪ Access Control is often ▪ Several problems with a
implemented by Storing Straightforward Implementation.
Permissions within Access ▪ Typically, number of subjects
and objects will be very large.
Matrix Entries in lists organized
▪ Most entries in the matrix will
either by Rows or Columns be either blank or the same
▪ Access Matrix is merely a ▪ Creation and Deletion of
theoretical model Subjects and Objects will
▪ Implementing an array and the require the matrix to be
commands to manipulate the managed carefully
array – a system mechanism to ▪ Adding to the complexity of
control access to Objects this code

35
Managing Complexity of Access Matrix

▪ Several optimizations enable systems to use more


convenient, and in some cases simpler, versions of the
Access Control Matrix
▪ For Example
▪ Access Control Lists
▪ Capabilities
▪ 📝To Study: Ring-based Mechanism
▪ 📝To Study: Locks and Keys, is based on Cryptography

36
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Access Control Lists
▪ Store each Column with the Object it
represents
▪ Decomposition by fixed column j∗ puts the
focus on an individual object;
▪ Thus, each object has associated with it a
set of pairs, with each pair containing a
subject and a set of rights.
▪ The named Subject can access the
associated Object using any of those rights
38
Capability-Lists

▪ Conceptually, a capability is like the


Row of an access control matrix.
▪ Each Subject has associated with it a set of
pairs, with each pair containing an object
and a set of rights.
▪ The Subject associated with this list can
access the named Object in any of the
ways indicated by the named rights.

39
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Object Permissions and
File-based Access Control

▪ After specifying Subjects and Objects in the Subject-Object


Model,
▪ The task is to identify the types of access operations (modes) for
objects and frame these as permissions for consideration

41
File-Based Access Control

▪ A common approach to learn about object-level access


permissions is to consider Logical Files in Unix Systems
▪ Beyond a file’s data contents, filesystems maintain per-file
meta-data specifying access permissions.
▪ In Unix, an early design principle was to treat everything as a File,
and design a corresponding Filesystem;
▪ This simplifies input-output operations across a multitude of peripheral
devices

42
File-based Access Control
File Owner and Group
▪ In Unix each file is assigned an with UID=0;
Owner and a Protection Group, ▪ Such a process is granted access to
all file resources, independent of
▪ Respectively identified as a userid protection settings.
(UID) and a groupid (GID).
▪ The username conventionally
▪ Initial values are set on File Creation associated with UID=0 is “root”
▪ Other than for login, the system ▪ but technically the string “root”
uses UID for access control, not could be assigned to other UIDs.
username ▪ Therefore the UID value of 0
determines permissions, not the
▪ Superuser and Root string name
▪ Superuser means a process running

43
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
File-Base Access Control with ACL
▪ Operating systems commonly time;
now support ACLs for system ▪ ACLs may need frequent
objects including files. updates;
▪ Listing all Principals requiring
▪ ACLs are powerful and offer
access to a file can be tedious.
fine-grained precision— but
▪ Alternatives to ACL
also have disadvantages.
▪ UGO Model (less Expressive),
▪ ACLs can be as long as the list
of system Principals ▪ Role-Based Access Control
▪ Consuming memory and search
(RBAC)

45
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
FBAC with User-Group-Others (UGO) Model

▪ The UGO Permission Model assigns privileges based on three


categories of principals: (User, Group, Others).
▪ User = refers to the principal that is the file owner.
▪ Group = enables sharing of resources among small sets of users with
relatively simple permissions management.
▪ E.g. Project groups
▪ Others = Universal group for “everyone else”.
▪ It defines permissions for all users not addressed by the first two categories
▪ Means to grant non-empty file permissions to users who are neither the file
owner nor in the file’s group

47
Access Control List Vs
User-Group-Others Model
▪ UGO provides a compact and efficient way to handle an object
for which many (but not all) users should be given the same
privileges.
▪ This UGO model allows fixed-size filesystem meta-data entries, and
saves storage and processing time.
▪ The Permission checking involves bit-operations on sets of just three
categories of principals;
▪ UGO’s downside is a significant loss in expressiveness.
▪ Whereas ACLs may involve arbitrary-length lists,
▪ Upside = Greater expressiveness

48
UGO | Meta-Data and File Permission
▪ The UGO mechanism is supported ▪ Group = Groupid (GID) of the file.
by a per-file filesystem data ▪ 9 bits: 3 protection bits for each of
structure, (user, group, others).
▪ For regular files, meaning:
▪ This Data structure holds other
“accounting details” related to a file, ▪ R (read): Read file content
such as the address of the file ▪ W (write): Existing file’s content
may be modified.
contents.
▪ X (execute): a binary file may be
▪ The data structure contains the run. R+X to run a shell script.
following protection-related fields ▪ 3 bits: special protection bits setuid,
▪ User = Userid (UID) of file owner. setgid, t-bit

49
50
UGO | Use Of Protection Bits

▪ When a user process requests access to a file,


▪ The system checks whether the process has the requested access
privilege,
▪ The check is based on the permissions in this data structure.
▪ The checks are made in sequence: User → Group → Others.
▪ The first qualifying category determines privileges.
▪ For a process that seeks R access and is the file owner, if the user
category does not grant R, the request fails even if others grants R.

51
UGO | Permission Display Notation
▪ A common visual display format for file permissions is a 10-
character string, such as -rwxr-xr--
▪ The first character conveys File type
▪ a leading dash indicates a non-directory file.
▪ The next Nine characters, in groups of Three, convey Permissions for the
UGO categories in order.
▪ A substring rwx corresponds to binary 111
▪ indicating Read, Write and Execute,
▪ A dash “-” conveys a 0-bit denoting that the corresponding permission is
absent.

52
53
Lecture Outline | Progress
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC
Mandatory and Discretionary Access Control

▪ Access Control policy rules are have to every object


enforced by the Operating ▪ E.g. the Multi-Level Security
model of the US DoD assigns
System security clearance level, and
correspondingly classifies
▪ Discretionary Access Control documents: Top Secret,
▪ Resource owner has the Secret, Confidential, Controlled
discretion as to what Unclassified, Unclassified
permissions to grant others ▪ In M-AC and D-AC permissions
regarding
are assigned based on subject
▪ Mandatory Access Control
identity (userid).
▪ A security policy administrator
defines permission subjects

55
FBAC with Role-Based Access Control (RBAC)

▪ The idea of Role-based Access Control is that a user, represented


as a Subject, is assigned one or more Roles in each active
session.
▪ Each Role is pre-assigned a set of permissions.
▪ A Subject’s current roles then determine its permissions.
▪ This reflects how permissions are often assigned in larger
organizations (enterprises).
▪ Roles may be Hierarchically defined,
▪ E.g., so that a SeniorManager role is the union of all roles enjoyed by
junior managers, plus some roles specific to the higher position.

56
Role-Based Access Control (RBAC)

▪ RBAC System Administrators make design choices as to


which tasks (and corresponding permissions) are
associated with different job functions and define roles
accordingly.

57
Example | RBAC
▪ GradAdmin has read and write access to department files related
to current students, new applicants, and office supply budgets
▪ GrantManager has read access to files for department member
grants.
▪ A new staff member Alex who is assigned both these roles will then
acquire both sets of permissions.
▪ When Alex moves to another department and Corey takes over, Corey
gets the same permissions by being assigned these two roles;
▪ If individual file-based permissions were used, a longer list of
individual permissions might have to be reassigned.
58
Role-Based Access Control Vs
Access Control List
▪ For most business applications, RBAC is superior to ACL in
terms of security and administrative overhead.
▪ ACL is better suited for implementing security at the individual user
level and for low-level data
▪ E.g. An ACL can grant Write access to a specific file, but it cannot
determine how a user might change the file
▪ RBAC better serves a company-wide security system with an
overseeing Administrator.

59
📝 To Study

▪ File Permissions for


▪ Directory Files
▪ Non-Directory Files
▪ Soft and Hard Links and the effect of File Delete

60
Lecture Outline | End
▪ Introduction ▪ The Reference Monitor Concept
▪ Protection Mechanisms ▪ Subject-Object Model
▪ Memory Protection and Isolation ▪ Access Matrix
Mechanisms ▪ Access Control Lists
▪ Memory-Range Based Protection ▪ Capability Lists
▪ Segment Addressing with Access ▪ File-Based Access Control
Permission
▪ FBAC With ACL
▪ Accountability, User-ID and ▪ FBAC with UGO Model
Principals ▪ FBAC with RBAC

You might also like