10.1 Goals of Protection & The Access Matrix
Protection refers to an internal mechanism for controlling the access of processes, programs, or users to the resources defined by a computer system. The core design principle is the Principle of Least Privilege ā every program and user should operate using only the minimal set of privileges necessary to complete their task.
Figure 10.1: An Access Matrix model maps protection domains (rows) against objects (columns), where each matrix cell enumerates allowed operations.
ACLs vs. Capabilities
- Access Control Lists (ACLs): Column-centric decomposition. Attached directly to each object (e.g., File F1 has ACL: Domain 1 → read). Fast when answering: "Who is permitted to read this file?"
- Capability Lists: Row-centric decomposition. Associated with each process or domain (a list of unforgeable tickets). Fast when answering: "What resources can this process access?"
10.2 System Security Threats
While protection safeguards internal system resources among authorized users, Security extends defense against external cyber-attacks and malicious insiders, ensuring information Confidentiality, Integrity, and Availability (the CIA Triad).
Figure 10.2: Modern operating systems face diverse cyber threats, requiring multi-layered defense-in-depth security architectures.
Multi-Layered Security Defenses
- Authentication: Passwords, cryptographic tokens, public keys, and Multi-Factor Authentication (MFA).
- Encryption: Symmetric (AES) and Asymmetric (RSA/ECC) cryptography safeguarding data at rest and data in transit (TLS/HTTPS).
- Intrusion Detection Systems (IDS): Behavioral anomaly detection and signature scanning monitoring for unauthorized access patterns.
- Address Space Layout Randomization (ASLR): Randomizes memory segment locations at runtime, making buffer overflow return-oriented programming attacks extremely difficult.