CMSC 421 test 5 lecture 17

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/33

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

34 Terms

1
New cards

What is the main goal of protection in an operating system

To ensure that each object (hardware or software) is accessed correctly and only by allowed processes.

2
New cards

What is the principle of least privilege

Programs, users, and systems should be given only the minimum privileges necessary to perform their tasks

3
New cards

What are static privileges?

do not change during system or process lifetime

4
New cards

What are dynamic privileges

can change as needed (e.g., via domain switching)

5
New cards

What is compartmentalization in protection?

Limiting access to data by dividing it into compartments, so access to one doesn't imply access to al

6
New cards

What is meant by rough-grained privilege management?

fewer, larger access groups (simpler)

7
New cards

What is meant by fine-grained privilege management?

highly specific permissions (more secure, but complex)

8
New cards

: What is a protection ring

A model where system components are organized in concentric rings based on privilege level (e.g., kernel in inner ring, applications in outer ring)

9
New cards

What hardware mechanisms support protection rings

Gates, traps, interrupts, and secure instructions (e.g., Intel syscall, ARM TrustZone Secure Monitor Call).

10
New cards

ARM TrustZone?

: An ARM processor feature that adds an extra ring to isolate and protect sensitive crypto operations and keys from the OS.

11
New cards

domain of protection

A set of objects and access rights a process can operate on; the resources a process may access at a given time

12
New cards

How are access rights represented in a domain?

As pairs: , specifying operations allowed on the object.

13
New cards

UNIX implementation of domains

Using user IDs (UIDs); domain switching occurs via setuid bit, su, or sudo commands.

14
New cards

: How does Android use domains for protection?

Each app gets a unique UID/GID and private data directory; some GIDs allow special access (e.g., AID_INET for networking)

15
New cards

access matrix

A conceptual table where rows = domains, columns = objects, and cells specify permitted operations.

16
New cards

What operations does an access matrix control

: It determines what actions a process in a domain can perform on an object

17
New cards

What are special access rights in an access matrix?

Owner, copy, control, and transfer rights allow management of access permissions and domain switching.

18
New cards

How does access matrix design separate policy from mechanism

Mechanism = OS provides matrix + rules; Policy = User defines who can access what under what conditions.

19
New cards

What are the 4 implementation methods of an access matrix

1) Global table

2) Access lists (per object)

3) Capability lists (per domain)

4) Lock-key system.

20
New cards

capability list

A list of objects and rights associated with a domain, held securely by the OS, not directly accessible.

21
New cards

How does the lock-key system work?

Objects have 'locks' (bit patterns); domains have 'keys'. Access is allowed if a key matches a lock.

22
New cards

What are the pros and cons of access matrix implementations?

Global table = simple but large

Access lists = user-friendly but slower

Capabilities = fast but difficult revocation

Lock-key = flexible, easy revocation.

23
New cards

What are the types of revocation of access rights?

Immediate/delayed, selective/general, partial/total, and temporary/permanent

24
New cards

How does revocation work for capability lists

Using reacquisition (periodic deletion), back-pointers (track all capabilities), indirection (via a global table), or master key changes.

25
New cards

Role-Based Access Control (RBAC)

Assigning permissions to roles rather than users; users are granted roles (used in Oracle Solaris 10 and others)

26
New cards

Mandatory Access Control (MAC)

A stricter access control model where access is determined by system-enforced policies based on labels, not user discretion (e.g., SELinux, TrustedBSD)

27
New cards

How does MAC differ from DAC (Discretionary Access Control)

DAC relies on users/admins to set permissions; MAC enforces security at the system level, even against root

28
New cards

capability-based systems

Systems like Hydra and CAP that divide root powers into capabilities (bitmaps) for fine-grained privilege control. Used today in Linux & Android (POSIX.1e capabilities)

29
New cards

System Integrity Protection (SIP) in macOS

A security feature in macOS 10.11+ that restricts system file access, limits kernel extension loading, and blocks debugging of protected files

30
New cards

sandboxing

: Running a process in a restricted environment to limit what resources it can access (used by Java, .NET, macOS seatbelt, SECCOMP-BPF in Linux

31
New cards

code signing

A developer cryptographically signs a program; if code is modified, the signature becomes invalid and the system refuses to run it.

32
New cards

language-based protection

Using programming languages to define access rules, allowing the compiler or interpreter to enforce security (e.g., type safety checks in Java).

33
New cards

How does Java 2 provide protection?

Classes are assigned protection domains; privileged operations inspect the stack to ensure permission; strong type safety and encapsulation.

34
New cards

What is the purpose of stack inspection in Java

To check the call stack for permission to perform privileged operations when a library method is invoked