Download presentation
Presentation is loading. Please wait.
Published bySibyl Golden Modified over 8 years ago
1
Operating Systems Security 1
2
The Boot Sequence The action of loading an operating system into memory from a powered-off state is known as booting or bootstrapping. When a computer is turned on, it first executes code stored in a firmware component known as the BIOS (basic input/output system). Often performs Power-On Self-Test (POST) to detect hardware configuration 2
3
The Boot Sequence On modern systems, the BIOS loads into memory the second-stage boot loader, which handles loading the rest of the operating system into memory and then passes control of execution to the operating system. Boot loader is found from boot block on bootable device (or volume) Partitioned drives have master boot record in block 0, which has partition table locating each volume on the drive Each volume’s first block is the boot block or is marked unbootable 3
4
BIOS Passwords A malicious user could potentially seize execution of a computer at several points in the boot process. To prevent an attacker from initiating the first stages of booting, many computers feature a BIOS password that does not allow a second- stage boot loader to be executed without proper authentication. 4
5
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 the computer can be quickly restored later. 5 1. User closes a laptop computer, putting it into hibernation.
6
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 the computer can be quickly restored later. But… without additional security precautions, hibernation exposes a machine to potentially invasive forensic investigation. 6 1. User closes a laptop computer, putting it into hibernation. 2. Attacker copies the hiberfil.sys file to discover any unencrypted passwords that were stored in memory when the computer was put into hibernation.
7
Event Logging (Audit) Keeping track of – what processes are running, – what other machines have interacted with the system via the Internet, and – if the operating system has experienced any unexpected or suspicious behavior can often leave important clues not only for – troubleshooting ordinary problems, – but also for determining the cause of a security breach. 7
8
Process Explorer 8
9
Memory and Filesystem Security 9 The contents of a computer are encapsulated in its memory and file system. Thus, protection of a computer’s contents has to start with the protection of its memory and its file system.
10
Password Security The basic approach to guessing passwords from the password file is to conduct a dictionary attack, where each word in a dictionary is hashed and the resulting value is compared with the hashed passwords stored in the password file. A dictionary of 500,000 “words” is often enough to discover most passwords. 10
11
Password Salt One way to make the dictionary attack more difficult to launch is to use salt. Associate a random number with each userid. Rather than comparing the hash of an entered password with a stored hash of a password, the system compares the hash of (an entered password and the salt) for the associated userid with a stored hash of the (password and salt). 11
12
How Password Salt Works 12 Without salt: With salt: 1. User types userid, X, and password, P. 2. System looks up H, the stored hash of X’s password. 3. System tests whether h(P) = H. 1. User types userid, X, and password, P. 2. System looks up S and H, where S is the random salt for userid X and H is stored hash of S and X’s password. 3. System tests whether h(S||P) = H. … X: H … Password file: … X: S, H … Password file:
13
How Salt Increases Search Space Size 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 2 B *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. For example, 32-bit salt and 500,000 word dictionary, then search space would be 2 32 * 500,000 = 2,147,483,648,000,000, which is over 2 quadrillion. 13
14
How Salt Increases Search Space Size Even if an attacker can find a salt password for a userid, he only learns one password. Unix systems: – 16-bit salt is stored with userid and hashed password in the /etc/passwd file – Attacker who obtains /etc/passwd learns salt – But will have to attack each user account separately, rather than just comparing hashed password to stored values of hashed password – Or will have to compute 2 16 sorted lists of pre-computed salted hashes On-line vs. offline dictionary attacks… Rainbow tables 14
15
Precomputed Hash Chains Rainbow table idea is based on “hash chains” (not your father’s hash chains!) Since passwords are text strings, and are hashed to produce “encrypted password” in password database, produce a chain of password - hash - password - hash and store the last hash value, for many starting points. Changing a hash to a valid password is “reduction” Sort the last hash values in the chains, then take your target hashed password, search for it in the list. If not in the list, then reduce the hashed PW, then hash that and try again. 15
16
Pre-computed Hash Chains 16 aaaaaa 3F2991AB H R brtlfa 497D3A93 H R snoggt A150EC27 H R zeentx 913D25C1 H 497D3A93 – no match, so reduce and hash Target hashed password:497D3A93 A150EC27– no match, so reduce and hash 913D25C1– match!
17
Precomputed Hash Chains (2) If the hash based on a chain starting from the hashed PW is ever found in the sorted list, then there is a good chance you can find the PW! Suppose each chain you precomputed had 1000 H-R cycles in it, and suppose you had to R-H the known hashed PW 400 times to find a match Then by taking the starting point of the chain corresponding to the matching hash, and iterating (1000-400) times, you may find the PW hash value. Always remember the previous reduced hash value, and this will be a password that hashed to the same value as the original PW 17
18
Precomputed Hash Chains (3) Even if there is a match, it may not work! Why not? There may be two chains that merge somewhere, and the desired hash may be on a different path than the one that produced the matching hash! What effect does salt have? Salt makes the hash function only work for a given salt value - if there are N salts, then must compute N tables! 18
19
Rainbow Tables So how to reduce collisions? Make a different reduction function for each stage! Now for there to be a collision, two chains must collide at the same stage! What effect does this have on lookup? Now must guess where target password is in chains – – Guess next to last – use last reduction function – Guess second to last – use second to last R – And so on…. – How much more work? – Quadratic in chain length instead of linear, but big win! 19
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.