SCSA3024-unit 3
SCSA3024-unit 3
UNIT 3
Access Control Systems: Operating system access controls – authentication and
authorization – access operations – access control structures – ownership – hardware
protection - intermediate controls – policy instantiation – comparing security attributes
Authentication Factors
Password or PIN
Bio-metric measurement (fingerprint & retina scan)
Card or Key
For computer security, access control includes the authorization, authentication, and audit of
the entity trying to gain access. Access control models have a subject and an object.
Access control involves determining a user based on their credentials and then providing the
appropriate level of access once confirmed. Credentials are used to identify and authenticate
a user include passwords, pins, security tokens, and even biometric scans. Multifactor
authentication (MFA) increases security by requiring users to be validated using more than
one method. Once a user’s identity has been verified, access control policies grant specified
permissions, allowing the user to proceed further. Organizations utilize several access control
methods depending on their needs.
What is Authentication?
Authentication is the method of verifying the identity of a consumer or system to ensure
they’re who they claim to be. It involves checking credentials which include usernames,
passwords, or biometric information like fingerprints or facial recognition. This step is vital
for securing access to systems, programs, and sensitive records. By confirming identities,
authentication saves you from unauthorized entry and protects you against safety breaches.
Steps in Authentication:
1. Credential Submission: The user provides credentials (e.g., username and password).
2. Validation: The system compares the submitted credentials against stored data (e.g., in a
database or directory).
3. Verification Outcome: Access is granted or denied based on whether the credentials
match.
Types of Authentication:
1. Something You Know:
Passwords, PINs, or answers to security questions.
Example: Logging into an email account with a password.
2. Something You Have:
Smartcards, tokens, or one-time passwords (OTP).
Example: Using an OTP sent to a mobile device.
3. Something You Are:
Biometrics like fingerprints, facial recognition, or retinal scans.
Example: Unlocking a smartphone with a fingerprint.
4. Location-Based:
Validating based on geographic location or IP address.
5. Behavioral-Based:
Monitoring typing patterns or mouse movements.
Advanced Methods:
Multi-Factor Authentication (MFA): Combines two or more factors (e.g., password +
OTP).
Single Sign-On (SSO): A user logs in once to access multiple systems.
Biometric Authentication: Uses physiological traits for verification (e.g., fingerprints,
facial recognition).
What is Authorization?
Authorization is the method of figuring out and granting permissions to a demonstrated user
or system, specifying what assets they can access and what actions they’re allowed to carry
out. It comes after authentication and guarantees that the authenticated entity has the proper
rights to use certain data, applications, or services. This step is important for implementing
protection guidelines and controlling access within the system, thereby stopping
unauthorized activities.
Authentication verifies the identity of a person or device, at the same time as authorization
determines their access rights and permissions within a device. Together, they make sure that
users aren’t only who they claim to be but also have the permissions to perform certain
actions or access certain sources.
Access operations refer to the actions or methods that allow a user, process, or system to
interact with resources (such as files, data, or devices) in a computing environment. Access
operations can include the following:
1. Read (R):
Grants permission to view or access the contents of a resource without modifying
it.
Example:
Opening a file to read its contents.
Viewing records in a database query.
2. Write (W):
Grants permission to modify or overwrite the resource.
Example:
Editing a document.
Updating records in a database table.
3. Execute (X):
Grants permission to run or execute a resource, such as a script, program, or binary
file.
Example:
Running an executable file or a script on a system.
Launching a software application.
4. Delete (D):
Grants permission to remove or delete a resource.
Example:
Deleting a file or directory.
Dropping a table or database in a database system.
5. Create:
Grants permission to create new resources.
Example:
Creating a new file in a directory.
Adding a new table in a database.
6. Modify:
Grants permission to change the structure or properties of a resource.
Example:
Renaming a file.
Changing file permissions or metadata.
7. List (L):
Grants permission to view the names of resources in a directory or collection.
Example:
Listing files in a folder using ls (Linux) or dir (Windows).
8. Append:
Grants permission to add data to the end of a resource without overwriting existing
data.
Example:
Adding new lines to a log file.
9. Specialized Operations:
Copy: Permission to duplicate the resource.
Move: Permission to transfer a resource from one location to another.
Change Permissions: Permission to alter access controls on the resource.
Audit: Permission to view access logs or security-related information.
In systems that involve databases or file systems, access operations are essential for ensuring
the desired level of interaction between users and the resources they need to access.
Access control structures define the rules and mechanisms that govern how resources in a
system can be accessed and by whom. They are designed to protect sensitive information and
ensure that only authorized users or systems can perform specific actions.
Figure 5.5. Access Control Structure
Access Control Lists (ACLs): A list that defines what operations (read, write, execute)
users or groups of users can perform on specific resources.
Example: A file ACL might list a user with "read" permission, another user with
"write" permission, and a third with "no access."
Roles and Permissions: Access is often granted based on the role of a user within a system.
For example:
Admin: Can create, delete, and modify resources.
User: Can read and write resources, but not delete or modify system-level settings.
Authentication: The process of verifying the identity of a user, system, or device
attempting to access a resource. This could involve passwords, biometric data, or security
tokens.
Authorization: After authentication, authorization determines what actions the
authenticated user is allowed to perform. This is often based on user roles or other
attributes.
Access Control Models:
Discretionary Access Control (DAC): The resource owner decides who can access
the resource.
Mandatory Access Control (MAC): Access is based on strict policies enforced by the
system, often using labels or classification levels.
Role-Based Access Control (RBAC): Access is granted based on the user’s role within
the organization or system.
Attribute-Based Access Control (ABAC): Access decisions are made based on attributes
(e.g., department, time of access) of the user, resource, and environment.
Audit Trails and Logging: Systems often keep logs of access operations, recording who
accessed what resources, when, and what actions were performed. This is important for
security monitoring and compliance.
File Ownership: In an operating system, each file is typically associated with a user or
group of users, called the owner. The owner has certain privileges, such as the ability to
modify or delete the file, while other users may only have read access or no access at all.
Resource Ownership: This extends to other system resources such as memory, processes,
and hardware devices. Ownership helps determine who can access, modify, or manage
these resources. For example, a process may "own" a block of memory, which means it has
exclusive control over it during its execution.
Access Control: Ownership often ties into access control mechanisms like Access Control
Lists (ACLs) or Role-Based Access Control (RBAC), where the owner can grant or restrict
access to resources for others.
Ownership Conflicts
1. Orphaned Ownership: Occurs when the owner account is deleted. The resource may
become inaccessible unless reassigned.
2. Conflicting Group Ownership: When multiple users in a group attempt conflicting actions
on a shared resource.
Hardware protection refers to the mechanisms used to safeguard the physical hardware of a
computer system, as well as its components (e.g., CPU, memory, storage devices, etc.), from
unauthorized access, malicious activities, or physical damage. These mechanisms work at both
the hardware and software levels to ensure that the system's integrity, security, and availability
are maintained.
1. Memory Protection:
o Purpose: Prevents a program from accessing or modifying the memory space of
another program or the operating system. This is critical for system stability and
security.
o Mechanism: Memory protection is achieved through hardware-based memory
management units (MMUs), which can enforce boundaries between user and kernel
space, or between different processes. Segmentation and paging are common
techniques used in memory protection.
2. Physical Security:
o Purpose: Protects the hardware itself from physical tampering, theft, or destruction.
This is important for sensitive systems (e.g., servers, financial systems).
o Mechanism: Examples include lockable server racks, tamper-resistant casing, and
physical intrusion detection systems.
3. CPU Privilege Levels:
o Purpose: Ensures that code running in different modes (privileged vs non-
privileged) cannot accidentally or maliciously interfere with the system’s hardware
or other software components.
o Mechanism: Most processors have different privilege levels, like user mode and
kernel mode (also known as supervisor mode). Code running in kernel mode has
unrestricted access to hardware, while user-mode code is restricted from performing
critical operations.
4. I/O Protection:
o Purpose: Prevents unauthorized access to or control over input/output devices such
as network cards, hard drives, and printers.
o Mechanism: Hardware I/O ports or bus systems often have protections in place that
allow the operating system to control access, ensuring that only authorized
processes can interact with hardware peripherals.
5. Access Control for Hardware Resources:
o Purpose: Ensures that hardware resources (e.g., CPU cycles, memory, storage,
network bandwidth) are allocated and used securely, preventing unauthorized users
or processes from accessing critical hardware.
o Mechanism:
Virtualization: Virtual machines (VMs) are used to partition hardware
resources. A hypervisor ensures that each VM is isolated and can't interfere
with others.
Device Drivers: Only authorized and verified device drivers are allowed to
interact with hardware, reducing the risk of malicious software exploiting
hardware vulnerabilities.
6. Secure Boot and Trusted Platform Module (TPM):
o Purpose: These technologies protect the system from malicious firmware or
bootkits that attempt to compromise the system’s hardware at startup.
o Mechanism: Secure Boot ensures that only trusted operating systems and firmware
can be loaded on startup. TPM provides hardware-based cryptographic operations,
securing hardware-based keys and ensuring system integrity.
7. Encryption and Secure Storage:
o Purpose: Prevents unauthorized access to sensitive data stored on hardware devices
(e.g., hard drives, USB devices).
o Mechanism: Full disk encryption or hardware security modules (HSMs) can be used
to encrypt sensitive data and prevent unauthorized access, even if the hardware is
physically stolen.
There are a number of general problems with interfacing hardware and software security
mechanisms. For example, it often happens that a less privileged process such as application
code needs to invoke a more privileged process such as a device driver. The mechanisms for
doing this need to be designed with some care, or security bugs can be expected. The IBM
mainframe operating system MVS, for example, had a bug in which a program which executed
a normal and an authorized task concurrently could make the former authorized too [774]. Also,
performance may depend quite drastically on whether routines at different privilege levels are
called by reference or by value.
Intermediate controls are security mechanisms that operate between the user (or external
system) and the core system resources to manage and regulate access, ensure compliance, and
enforce security policies. These controls can be seen as the "middle layer" in the security
architecture, sitting between lower-level controls (like hardware security) and higher-level
policies (such as user access management).
Figure 5.7. Types of Cyber Security controls
1. Firewalls: A security system that monitors and controls incoming and outgoing network
traffic based on predetermined security rules.
Role: It acts as an intermediary, ensuring that only authorized traffic is allowed to
pass between different networks or devices, thus protecting internal systems from
external threats.
2. Intrusion Detection and Prevention Systems (IDPS): These systems detect and respond to
potentially malicious activities or intrusions in real-time.
Role: They provide an intermediate layer of monitoring and enforcement by
analyzing traffic or system behavior and blocking or alerting administrators about
suspicious actions.
3. Proxies and Gateways: A proxy server can be used to mediate between the user and the
network, filtering requests to ensure compliance with security policies.
Role: It ensures that requests are valid, secure, and authorized before passing
through to the target system or network.
4. Access Control Mechanisms (RBAC, DAC, MAC): These controls determine what actions
a user or process can perform on system resources. They are often implemented in the
middle layer of access management systems.
Role: These controls ensure that security policies, such as limiting access to certain
files or systems, are applied correctly.
5. Logging and Monitoring Systems: Systems that track user actions, access attempts, and
system activities in real-time.
Role: They help detect potential security incidents, provide audit trails for
investigations, and ensure compliance with security policies by flagging anomalous
behavior.
Policy instantiation refers to the process of implementing a security policy into practical,
enforceable measures in a given system. In essence, it is the translation of high-level security
rules and guidelines into specific controls, configurations, or behaviors that can be actively
monitored, enforced, and modified.
Security attributes are characteristics or properties that help define the security posture of a
system or resource. These attributes are often used to assess, compare, and evaluate the security
strength of various systems, resources, or entities.
1. Confidentiality:
Ensures that sensitive information is only accessible to authorized users or
processes.
Example: Encryption techniques are used to protect the confidentiality of data in
transit or at rest.
2. Integrity:
Ensures that information is accurate, consistent, and protected from unauthorized
modification.
Example: Hash functions or digital signatures are used to verify the integrity of
data.
3. Availability:
Ensures that authorized users have reliable access to information and resources
when needed.
Example: Redundancy, failover systems, and load balancing are used to improve
system availability.
4. Authentication:
The process of verifying the identity of a user, device, or system.
Example: Usernames, passwords, and biometric data are used for user
authentication.
5. Authorization:
Determines whether an authenticated user has the right to access a resource or
perform an action.
Example: Access control mechanisms like RBAC or DAC are used to manage
authorization.
6. Non-repudiation:
Ensures that a user cannot deny performing an action or sending a message.
Example: Digital signatures and audit logs provide evidence of actions taken by
users.
When comparing security attributes, the primary goal is to understand their relative importance
in a given context and to identify trade-offs between them. For instance:
The balance between these attributes depends on the specific needs of the organization, risk
tolerance, and the particular system in question. For instance, a financial institution may
prioritize confidentiality and integrity over availability, whereas an e-commerce platform
might focus on availability and performance.