OS Security
OS Security
CHAPTER 3
OPERATING SYSTEMS CONCEPTS
A COMPUTER MODEL
2
3 OS CONCEPTS
4
5 INPUT/OUTPUT
Remote Procedure Calls: Windows rely on remote procedure calls (RPC) which
allows a process to call a subroutine from another process’s program.
FILE SYSTEMS
A filesystem is an abstraction of how the external, nonvolatile memory of the computer is organized.
Operating systems typically organize files hierarchically into folders, also called directories.
Thus, a volume, or drive, consists of a collection of nested folders that form a tree.
The topmost folder is the root of this tree and is also called the root folder.
12
13
FILE SYSTEM
EXAMPLE
FILE PERMISSIONS
• File permissions are checked by the operating system to determine if a file is readable,
writable, or executable by a user or group of users.
• In Unix-like OS’s, a file permission matrix shows who is allowed to do what to the file.
• there is the owner class, which determines permissions for the creator of the
file.
• Next is the group class, which determines permissions for users in the same group
as the file.
• Finally, the others class determines permissions for users who are neither the
owner of the file nor in the same group as the file.
15 MEMORY MANAGEMENT
It contains both the code for the running program, its input data, and its
working memory.
For any running process, it is organized into different segments, which keep the
different parts of the address space separate.
Text. This segment contains the actual (binary) machine code of the program.
Data. This segment contains static program variables that have been initialized in the program code.
BSS. This segment, which is named for an antiquated acronym for block started by symbol, contains static
variables that are uninitialized.
Heap. This segment, which is also known as the dynamic segment, stores data generated during the
execution of a process.
Stack. This segment houses a stack data structure that grows downwards and is used for keeping track of
the call structure of subroutines (e.g., methods in Java and functions in C) and their arguments.
17
MEMORY
LAYOUT
18 Each of the five memory segments has its own set of access
permissions (readable, writable, executable), and these permissions are
MEMORY enforced by the operating system.
ACCESS
PERMISSIONS
The text region is usually read only,
An essential rule of operating systems security is that processes are not allowed
to access the address space of other processes, unless they have explicitly
requested to share some of that address space with each other.
24
25
• There are some other security issues related to the boot sequence.
• Most second-stage boot loaders allow the user to specify which device
should be used to load the rest of the operating system.
• In most cases, this option defaults to booting from the hard drive, or in the event of a new
installation, from external media such as a DVD drive
• one should make sure that the operating system is always booted from trusted media
BOOT DEVICE
HIERARCHY
• There is a customizable hierarchy that determines the order of precedence
of booting devices: the first available device in the list is used for booting.
• This flexibility is important for installation and troubleshooting purposes, but
it could allow an attacker with physical access to boot another OS from an
external media- bypassing the security mechanisms built into the OS intended to
run on the computer.
• To prevent these attacks: second- stage boot loader password protection that only allow authorized
users to boot from external storage media
HIBERNATION
Modern machines have the ability to go into a powered-off state known as hibernation.
While going into hibernation, the OS stores the contents of machine’s memory into a hibernation file (such as hiberfil.sys) on disk so that
the state of the computer can be quickly restored when the system is powered back on.
But… without additional security precautions, hibernation exposes a machine to potentially invasive forensic investigation.
Since the entire contents of memory are stored into the hibernation file, any passwords or sensitive information that were stored in
memory at the time of hibernation are preserved.
30
MONITORING, MANAGEMENT, AND LOGGING
• One of the most important aspects of operating systems security is something military people call
“situational awareness.”
• Keeping track of what processes are running, what other machines have interacted with the system
via the Internet etc
• For example, noticing log entries of repeated failed attempts to log in may warn of a brute-force
attack, and prompt a system administrator to change passwords to ensure safety.
32 EVENT LOGGING
There are several scenarios where we would like to find out exactly
which processes are currently running on our computer.
• For example, our computer might be sluggish and we want to identify an
application using up lots of CPU cycles or memory.
• Or we may suspect that our computer has been compromised by a virus and we
want to check for suspicious processes.
PROCESS
EXPLORER
35 MEMORY AND FILESYSTEM SECURITY
38
SECURING USERS
39
40 PASSWORD SECURITY
With salt:
• Assuming that an attacker cannot find the salt associated with a userid he is trying to compromise, then the
search space for a dictionary attack on a salted password is of size
2B*D,
where B is the number of bits of the random salt and D is the size of the list of words for the dictionary attack.
• For example, if a system uses a 32-bit salt for each userid and its users pick passwords in a 500,000 word dictionary,
then the search space for attacking salted passwords would be
232 * 500,000 = 2,147,483,648,000,000,
which is over 2 quadrillion.
• Also, even if an attacker can find a salt password for a userid, he only learns one password.
ASSIGNMENT – PHYSICAL SECURITY AND FILE
SYSTEM SECURITY
• Authentication Technologies
• Physical Protections and Attacks • Barcodes
• Magnetic Stripe Cards
• Locks and Safes
• Smart Cards
• Lock Technology • SIM Cards
• Pin Tumbler Locks • RFIDs
• Tubular and Radial Locks • Biometrics
• Wafer Tumbler Locks • Direct Attacks Against Computers
• Combination Locks • Environmental Attacks and Accidents
• Access Control
• Advanced File Permissions
• File Descriptors
• Symbolic Links
• Shortcuts