Top Banner
CSCE 790 Computer Systems Security Access Control Qiang Zeng, PhD
28

CSCE 790 Computer Systems Security Access Control

Dec 24, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSCE 790 Computer Systems Security Access Control

CSCE 790Computer Systems Security

Access Control

Qiang Zeng, PhD

Page 2: CSCE 790 Computer Systems Security Access Control

Previous Class

• Biometrics– Measurement and applications of human

characteristics• Applications• Advantages and Disadvantages• False rejection rate; false acceptance rate• Case Studies– Fingerprint– Iris

CSCE 790 – Computer Systems Security 2

Page 3: CSCE 790 Computer Systems Security Access Control

CSCE 790 – Computer Systems Security 3

Page 4: CSCE 790 Computer Systems Security Access Control

Outline

• Concepts of Access Control• Access Matrix, Access Control List, Capabilities• Main Types of Access Control Policies– DAC: Discretionary Access Control– MAC: Mandatory Access Control– RBAC: Role-based Access Control

CSCE 790 – Computer Systems Security 4

Page 5: CSCE 790 Computer Systems Security Access Control

Access Control

• Access Control: the process of restricting access to resources according to a security policy– A security policy regulates who can do what– Access control implements a security policy

• Authorization: the action of granting access• Access Control usually starts from

Authentication (i.e., verifying the identity of a user)

CSCE 790 – Computer Systems Security 5

Page 6: CSCE 790 Computer Systems Security Access Control

Examples of Access Control

• The University’s Blackboard system• Operating Systems• Database systems• Governments• Intelligence Departments• …

CSCE 790 – Computer Systems Security 6

Page 7: CSCE 790 Computer Systems Security Access Control

Question

CSCE 790 – Computer Systems Security 7

Consider “Entering a university building” as an example, point out “Policy”, “Access Control”, “Authentication”, “Authorization”

Policy: only university students, faculty and employees or verified visitors are allowed to enter the building

Access Control: the process of restricting people who can enter the building

Authentication: verifying the identity of a person

Authorization: allowing a person to enter the building

Page 8: CSCE 790 Computer Systems Security Access Control

Concepts

• Subjects: entities to access resources– Users, processes, threads

• Objects: resources whose access is controlled– Files, database relations (tables), memory

• Access Rights: actions that are taken– Read, Write, Execute, Delete, Create, Search

CSCE 790 – Computer Systems Security 8

Page 9: CSCE 790 Computer Systems Security Access Control

Goals of Access Control

• Confidentiality (Secrecy)• Integrity

CSCE 790 – Computer Systems Security 9

Page 10: CSCE 790 Computer Systems Security Access Control

Question

CSCE 790 – Computer Systems Security 10

To achieve confidentiality, is it sufficient by correctly restricting the read operation only?

It is insufficient. A malicious or buggy subject (e.g., a process) may read information from a sensitive file and then write to a file accessible by public

Sensitive Object -> Subject -> Non-sensitive object -> Public

Therefore, the access control has to regulate not only read but also write

Page 11: CSCE 790 Computer Systems Security Access Control

Access (Control) Matrix

• An Access Matrix describes the rights of each subject with regard to each object in an Access Control system at some point of time

• But it does NOT model the rules by which rights are changed; thus, it is not equal with the access control policy

CSCE 790 – Computer Systems Security 11

Page 12: CSCE 790 Computer Systems Security Access Control

Access Matrix

CSCE 790 – Computer Systems Security 12

Disadvantage: it does not scale well

Page 13: CSCE 790 Computer Systems Security Access Control

Three Ways to Express the Access Matrix

• One Access Tuple per cell: – <subject, object, rights>– E.g., <Bob, File2, read/write>

• One Access Control List per object (column)• One Capability List per subject (row)

CSCE 790 – Computer Systems Security 13

Page 14: CSCE 790 Computer Systems Security Access Control

Access Control Lists

• An ACL is a list of subjects and their rights to an object

• One ACL per object• It is difficult to find out

all files accessible by a given user

• Widely used in Unix/Linux/Windows

CSCE 790 – Computer Systems Security 14

Page 15: CSCE 790 Computer Systems Security Access Control

Access Control Lists in Unix

CSCE 790 – Computer Systems Security 15

Page 16: CSCE 790 Computer Systems Security Access Control

Capability Lists

• A Capability List is the list of objects accessible by a subject and the corresponding rights

CSCE 790 – Computer Systems Security 16

Page 17: CSCE 790 Computer Systems Security Access Control

Capability in real-world

• int fd = open("/etc/passwd", O_RDWR);• fd is an index into the process’s file descriptor

table, which can be regarded as a runtime capability list

• Each file descriptor is a capability– For all subsequent read/write/seek operations, one

critical parameter being passed is “fd”• It is unforgeable by a user program, as the file

descriptor table is allocated and maintained in the kernel space

CSCE 790 – Computer Systems Security 17

Page 18: CSCE 790 Computer Systems Security Access Control

Types of Access Control Policies

• Discretionary Access Control (DAC)• Mandatory Access Control (MAC)• Role-Based Access Control (RBAC)• …

CSCE 790 – Computer Systems Security 18

Page 19: CSCE 790 Computer Systems Security Access Control

Discretionary Access Control (DAC)

• DAC means subjects themselves can grant rights to other subjects– E.g., in Unix/Linux, the owner of a file can set up and

change the ACL of the file• Convenient but cannot achieve the goals of

confidentiality and integrity– Subjects make decisions about access permissions;

the decisions may be bad decisions

CSCE 790 – Computer Systems Security 19

Page 20: CSCE 790 Computer Systems Security Access Control

Question

CSCE 790 – Computer Systems Security 20

There are two ACLs defined in a DAC system, File 1: <Alice: write, Bob: read>, File 2: <Bob: write, Charlie: read>. The confidentiality goal is that “Alice does not leak info to Charlie”. Can this goal be achieved here?

No. Alice -> File1 -> Bob -> File2 -> Charilie

Page 21: CSCE 790 Computer Systems Security Access Control

MAC

• A mandatory access control (MAC) policy is a means of assigning access rights based on regulations by a central authority

• The underlying philosophy the information in a file belongs to the organization rather than the file owner. So it should be the organization who assigns access rights and regulates the information flow

CSCE 790 – Computer Systems Security 21

Page 22: CSCE 790 Computer Systems Security Access Control

A Simple Example of MAC

• In Military department, there are four levels of clearance– Unclassified– Confidential– Secret– Top Secret

• Assume you, as an employee, created a file labeled as <“Secret”, Nuclear>– You are not allowed to decide who can access the file– People who have the “Secret” or “Top Secret”

clearance and the Nuclear duty can access the file

CSCE 790 – Computer Systems Security 22

Page 23: CSCE 790 Computer Systems Security Access Control

Role Based Access Control (RBAC)

• In the real world, especially in enterprises, the responsibilities of a person change dynamically– In a large company, every day many people change

their jobs– Is there a convenient way to access control?

• Role Based Access Control assign access rights to roles rather than subjects

• A role is a job function or title and can be translated to rights in a RBAC system

CSCE 790 – Computer Systems Security 23

Page 24: CSCE 790 Computer Systems Security Access Control

The Principle of Least Privilege

• A user can be assigned with multiple roles• But when a user logs in, she can only activate

one role• This complies with the Principle of Least

Privilege. That is, one is granted rights just needed to finish the intended task

CSCE 790 – Computer Systems Security 24

Page 25: CSCE 790 Computer Systems Security Access Control

CSCE 790 – Computer Systems Security 25

Role 1

Users Roles

Figure 4.6 Users, Roles, and Resources

Resources

Role 2

Role 3

Page 26: CSCE 790 Computer Systems Security Access Control

Role vs. Group

• A role is a job title, while a group is a set of users• A user can have at most one active role at any

given time, but can belong to many groups at any time

CSCE 790 – Computer Systems Security 26

Page 27: CSCE 790 Computer Systems Security Access Control

Summary

• Concepts– Access Control– Subject, Object

• Goals of Access Control– Confidentiality– Integrity

• Access Matrix– View of Columns: Access Control Lists– View of Rows: Capability Lists

• Types of Access Control Policies– DAC– MAC– RBAC

CSCE 790 – Computer Systems Security 27

Page 28: CSCE 790 Computer Systems Security Access Control

Writing Assignments

• In which scenarios DAC, MAC and RBAC should be used, respectively?

• Does RBAC belong to DAC or MAC?

CSCE 790 – Computer Systems Security 28