Operating Systems Security
(Access Control)
Compiled by Isaac Nhamu
Introduction
• Window access control (WAC) refers to a type of access control which the
operating system (OS) constrains the ability of a subject or initiator to
access or generally perform some sort of operation on an object or target.
• In practice, a subject is usually a process or thread; objects are constructs
such as files, directories, TCP/UDP ports, shared memory segments, input
and output devices etc. Subjects and objects each have a set of security
attributes.
• Access control is used to identify a subject (user/human) and to authorize
the subject to access an object (data/resource) based on the required task.
• These controls are used to protect resources from unauthorized access and
are put into place to ensure that subjects can only access objects using
secure and pre-approved methods.
Three main types of access control system
• They are also called access control models and the
are;
• Discretionary Access Control (DAC),
• Role Based Access Control (RBAC), and
• Mandatory Access Control (MAC).
Discretionary Access Control (DAC)
• DAC is a type of access control system that assigns access rights based on
rules specified by users.
• The principle behind DAC is that subjects can determine who has access to
their objects.
• The DAC model takes advantage of using access control lists (ACLs) and
capability tables.
• Capability tables contain rows with ‘subject’ and columns containing
‘object’. The security kernel within the operating system checks the tables
to determine if access is allowed.
• Sometimes a subject/program may only have access to read a file; the
security kernel makes sure no unauthorized changes occur.
Discretionary Access Control (DAC) -
Implementation
• Utilized by some of the most popular operating systems, like
Microsoft Windows file systems.
• In Windows, right click on a file and choose properties -> security to
get the ACL editor to review the permissions on that file
Permissions for file [Link]
Advanced option
Editing the individual access control entries
in the ACL
Role-Based Access Control (RBAC)
• RBAC, also known as a non-discretionary access control, is used when
system administrators need to assign rights based on organizational
roles instead of individual user accounts within an organization.
• It presents an opportunity for the organization to address the
principle of ‘least privilege’.
• This gives an individual only the access needed to do their job, since
access is connected to their job.
Role-Based Access Control (RBAC) –
Implementation
• Windows and Linux environments use something similar by creating
‘Groups’.
• Each group has individual file permissions and each user is assigned
to groups based on their work role.
• RBAC assigns access based on roles. This is different from groups
since users can belong to multiple groups but should only be assigned
to one role.
• Example roles are: accountants, developer, among others. An
accountant would only gain access to resources that an accountant
would need on the system.
Implementation
Mandatory Access Control (MAC)
• Considered the strictest of all levels of access control systems.
• The design and implementation of MAC is commonly used by the
government.
• It uses a hierarchical approach to control access to files/resources. Under a
MAC environment, access to resource objects is controlled by the settings
defined by a system administrator.
• This means access to resource objects is controlled by the operating system
based on what the system administrator configured in the settings. It is not
possible for users to change access control of a resource.
• MAC implements zero-trust principles with its control mechanisms.
Mandatory Access Control (MAC)
• MAC uses “security labels” to assign resource objects on a system. There
are two pieces of information connected to these security labels:
• classification (high, medium, low) and
• category (specific department or project – provides “need to know”).
• Each user account is also assigned classification and category properties.
• This system provides users access to an object if both properties match.
• If a user has high classification but is not part of the category of the object,
then the user cannot access the object.
• MAC is the most secure access control but requires a considerable amount
of planning and requires a high system management due to the constant
updating of objects and account labels.
Implementation Windows
• Windows Vista-8 used a variant of MAC with what they called, Mandatory
Integrity Control (MIC).
• This type of MAC system added integrity levels (IL) to process/files running in the
login session.
• The IL represented the level of trust the object would have. S
• Subjects were assigned an IL level, which was assigned to their access token. IL
levels in MIC were: low, medium, high, and system.
• Under this system, access to an object was prohibited unless the user had the
same level of trust, or higher than the object.
• Windows limited the user to not being able to write or delete files with a higher
IL. It first compared IL levels, then moved on to checking the ACLs to make sure
the correct permissions are in place. This system took advantage of the Windows
DAC system ACLs and combined it with integrity levels to create a MAC
environment.
Example
[Link]
Implementation other
• Example implementations
• [Link]
Pro and cons of MAC
• [Link]
Benefit of access control
•?
Securing Access with Permissions
• Page 124 – Microsoft Windows Security Essentials