Chapter 01
Chapter 01
AN INTRODUCTION
2
INTRODUCTION
• Operating systems are the software that provides access to the various hardware resources.
• Computer programs need more than just the CPU to work. They also need access to other parts of
the computer system, like the hard drive, memory, screen, keyboard, and mouse. The operating
system acts like a manager, giving programs access to these resources when they need them. For
example, think of a program that asks you to enter your password. Here's how the operating system
helps:
✓ Hard Drive: The operating system finds the program on the hard drive and loads it into memory.
✓ Memory: The operating system accesses the device memory to load the program, enabling its execution.
✓ Screen: The operating system displays the password prompt on the screen.
INTRODUCTION
4
INTRODUCTION
1. Resource mechanisms:
✓ Must have boundaries between objects.
✓ Operations should not interfere with each other.
✓ Example: File system preventing one file from overwriting another.
2. Scheduling mechanisms:
✓ Must ensure resource availability to prevent denial of service attacks.
✓ Example: Algorithms guaranteeing all processes get to run.
INTRODUCTION
6
SECURE OPERATING SYSTEMS
• The goal of operating system security is the development of a secure operating system. A
"secure operating system" is an ideal concept, but no complex system can be truly 100%
secure due to potential programming errors.
• Even though perfect security is impractical, studying how to build an ideally secure
system helps us assess the security of real-world operating systems.
• By comparing real systems to the ideal, we can:
✓ Understand the strengths and weaknesses of common security approaches.
✓ Identify challenges in implementing secure systems.
✓ Evaluate how different approaches achieve security in practice.
✓ Gain insights to develop better security mechanisms in the future.
8
THREAT MODEL
TRUST MODEL
10
SECURITY GOALS
1. Defines the operations that can be executed by a system while still preventing unauthorized
access.
✓ Principle of least privilege: Grants a process only the minimum necessary permissions to
perform their tasks. This is a functional goal that may improve security but doesn't guarantee
it.
11
HARDENING LEVELS
12
HARDENING LEVELS
• Start with the minimal level and add more layers as needed.
• Higher levels offer more security but require more effort and expertise.
• If not done properly, high-level hardening can make things worse.
• Choose the right security level for your needs and resources.
13
14
WHY DO SECURITY BREACHES HAPPEN?
• Security bugs:
15
16
KEEPING UP WITH SECURITY NEWS
• Principle of minimization
✓ Keep systems simple to reduce vulnerabilities and make management easier. This includes removing
unnecessary software, services, and configurations to minimize potential attack vectors and simplify
maintenance tasks.
• Principle of least privilege
✓ Give users and applications only the necessary permissions to do their jobs. This limits the potential
damage from attacks and makes it harder for attackers to gain control of the system. It involves carefully
analyzing the tasks and responsibilities of each user and process and assigning permissions accordingly.
• Defense in depth principle
✓ Create multiple layers of security to make it harder for attackers to compromise the system. Each layer
provides an opportunity to detect and respond to attacks, even if one layer is breached. This can include
firewalls, intrusion detection systems, access controls, and encryption, among other measures.
18
PART 02: MULTICS OPERATING SYSTEM
19
• Multics project introduced many fundamental concepts for both operating systems and
secure operating systems.
• The Multics project started in 1963. The goal was to create an operating system that could
be used by many people at the same time. This kind of operating system is called a
timesharing operating system. Multics was designed to allow multiple users to share the
computer's resources, such as its processor, memory, and storage. To do this, Multics
provided functions for managing these resources, including:
20
MULTICS: PIONEERING FEATURES
• Multics was a pioneering operating system that introduced several significant features. These included:
✓ Segmented and virtual memory: This allowed for more efficient use of memory and better
isolation between programs.
✓ Shared memory multiprocessors: Multiple processors could access the same memory,
improving performance.
✓ Hierarchical file systems: Files were organized in a tree-like structure, making them easier to
manage.
✓ Online reconfiguration: Changes to the system could be made without taking it offline,
improving availability.
21
✓ Defines the segments a process can access and the operations it can
perform. Each segment has associated accessibility rules (who can access
and what they can do).
22
MULTICS SECURITY FUNDAMENTALS
✓ The Multics Supervisor is the core component of the Multics system, responsible for
enforcing security and managing system resources. It's the most trusted component,
running in the most privileged ring (ring 0).
✓ Protection Rings create a hierarchical structure of privilege levels. The supervisor
runs in the most privileged ring (ring 0), while user processes run in less privileged
rings. This helps to isolate the supervisor from potentially malicious user processes.
✓ Segment Descriptor Words (SDWs): These are used to describe segments and
define their access permissions. Each segment has an associated SDW that stores
information about its size, location, and access rights. The supervisor uses SDWs to
control access to segments and ensure that processes only interact with segments
they are authorized to access.
23
The Multics login process. The user’s password is submitted to the Multics answering service which must check the
password against the entries in the password segment. The Multics supervisor in the privileged protection ring 0
authorizes access to this segment and adds a SDW for it to the answering service’s descriptor segment. The answering
• The Multics protection system uses three different models that work together to protect the
system:
26
PART 03: OPERATING SYSTEM INSTALLATION
27
28
INITIAL SETUP AND PATCHING OF AN OPERATING SYSTEM
1. System Security Begins with the Installation: This emphasizes that security should be
integrated from the very beginning, starting with the operating system installation itself.
2. Ideally New Systems Should be Constructed on a Protected Network: This helps ensure
that the base system is not compromised from the outset.
✓ Install essential components only: Only install the core operating system
components and essential services required for the system's intended function. This
minimizes the potential attack surface by reducing the number of software packages
that could contain vulnerabilities.
✓ Add more only if needed: Additional software packages should be included only if
they are necessary for the system's operation. Avoid installing unnecessary software
that could increase the risk of security breaches.
29
1. Gg
2. K
INITIAL
3. K
SETUP AND PATCHING OF AN OPERATING SYSTEM
4. The Overall Boot Process Must Also be Secured: This involves securing the boot process, which is the
sequence of steps the system takes to start up. Securing the boot process prevents tampering with the
system during startup and ensures that only authorized software is loaded.
5. Care is Also Required with the Selection and Installation of Any Additional Device Driver Code:
✓ Validate driver code: Device drivers are software components that allow the operating system to
interact with hardware devices. It’s important to carefully check the integrity and source of any
additional device driver code to ensure it's legitimate and doesn't introduce vulnerabilities.
✓ Drivers run with high privileges: Device drivers often execute with full kernel-level privileges,
meaning they have access to the core of the operating system. This makes them a potential target
for attackers, so it's important to ensure they are secure.
30