Top Banner
O.S security Ge Zhang Karlstad University
30

O.S security

Jan 16, 2016

Download

Documents

Renee

O.S security. Ge Zhang Karlstad University. Outline. Why O.S. security is important? Security schemes in Unix/Linux system Security schemes in windows system. Why O.S. security is important?. Applications: my sql, apache, open office, firefox, etc. Operating system: Linux SUSE. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: O.S security

O.S security

Ge Zhang

Karlstad University

Page 2: O.S security

Outline

• Why O.S. security is important?

• Security schemes in Unix/Linux system

• Security schemes in windows system

Page 3: O.S security

Why O.S. security is important?

• Application security can be bypassed from lower layer• Hardware layer is too narrow and inflexible• Application layer is too broad

Hardware: memory, CPU, HD, etc

Operating system: Linux SUSE

Applications: my sql, apache, open office, firefox, etc

Page 4: O.S security

Security schemes in Unix/Linux

• Account security– User authentication

• File system security– File access control

• Management issues– Audit log– Environment variables– Manage the superuser

Page 5: O.S security

Account security (1)

• User Accounts (/etc/passwd)– User name: a string up to 8 characters– User identities (UIDs) and group identities (GIDs)

[Superuser (Root, UID=0)]– Unix does not distinguish between users with the

same UID!!!!– Home directory– Shell

root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/bin/bashjim:x:500:100:Jim Smith:/home/jim:/bin/bash

Page 6: O.S security

Account security (2)

• Shadow file (/etc/shadow) (only readable to the users with root privilege) – User name– Password (algorithm, salt, hashed password)

• *: login is disabled• Empty: no password is required

– Last password change– Minimum: the number of days left before the user is allowed to

change his/her password – Maximum: The maximum number of days the password is valid

(after that user is forced to change his/her password)

root:$1$v3cNGjbW$WEvnoW8Cniswn3d:14523:0:99999:7:::bin:*:10933:0:99999:7:::jim::10933:0:99999:7:::

Page 7: O.S security

Account security (3)

root:$1$v3cNGjbW$WEvnoW8Cniswn3d:14523:0:99999:7:::bin:*:10933:0:99999:7:::jim::10933:0:99999:7:::

One-way function

salt Password (plaintext)

Password (encrypted)

Page 8: O.S security

Account security (4)

• Groups– Users belong to one or more groups– To share files or other resource with a small number of users – Ease of user management (give privilege)

• Group file (/etc/group)– Group name– Password– Group ID (GID)– Group list: members

student:x:24:alice, bob, rajteacher:x:12:raj, nick

Page 9: O.S security

File system (1)

• The inode: each file entry in a directory is a pointer to a data structure– mode: types of file and access rights– uid: who is the owner– gid: group which owns the file– atime: access time– mtime: modification time– itime: inode alteration time– block count: size of file– physical location

Page 10: O.S security

File system (2)

• The type of the file: ‘-’ for regular file, ‘d’ for directory

• File permissions

• Link counter

• Name of the owner and the group

- rw-r--r-- 1 nick staff 1617 Oct 28 11:01 test.txtdrwx------ 2 nick staff 512 Oct 25 17:55 tmp/

Page 11: O.S security

File system (3)

• Owner (r, w, x), group (r, w, x), other (r, w, x)• Two ways to represent

– String: rwxr--r--– Octal number: 744

• Default permissions: 666 or 777 • (umask): a three-digit number specifying the

rights that should be withheld– Default permissions AND NOT umask

• For example: umask 777 (denies all)

Page 12: O.S security

File system (4)

• Permission for directories– Read: find which files are in the directory

(e.g., ls)– Write: add files or remove files– Execute: enter the directory and open files

inside the directory (even for your own files)

Page 13: O.S security

File system (5)

• “a real pain if you try and install a permanent file in someone’s directory.”

• Sticky bit: restrict the right to delete a file.

• only the file's owner, the directory's owner, or the root can rename or delete files.

drwxrwxrwx 4 root sys 485 Nov 10 06:01 /tmp

drwxrwxrwt 4 root sys 485 Nov 10 06:01 /tmp

Page 14: O.S security

File system (6)

• Unix requires higher privilege temporarily to execute some operations– Change password– Open a port (0-123)

• SUID (set userID), SGID (set groupID)

• A user who is executing this program will get the privilege of the owner temporarily-rws--x--x 3 root root 16384 Nov 16 1996 passwd*

Page 15: O.S security

Processes

• Each process has a process ID (PID)• Two pairs of UID/GID for each process

– A real UID/GID– An effective UID/GID

• The login process

process Real UID Effective UID Real GID Effective GID

/bin/login root root system system

/bin/login nick nick staff staff

/bin/bash nick nick staff staff

/bin/ls nick nick staff staff

/bin/passwd nick root staff root

Page 16: O.S security

File system (7)

• To change the attributes

• chmod – who: u, g, o, a– Permission: r, w, x, s, t– chmod 777 file– chmod o+r file

• chown

• chgrp

Page 17: O.S security

File system (8)

• How to set?

• Need a fourth number – 4??? set user ID on execution– 2??? set group ID on execution– 1??? set sticky bit

Page 18: O.S security

File system (9)

• How to remove a file in a secure way?

• Links

• You removed the original file from its directory, but…

• ncheck: list all links to a file

• Furthermore, the file is not really deleted!– User wipe

Page 19: O.S security

File system (9)

• Protection of devices

• Unix treats devices like files

• Devices commonly found in the /dev is:– /dev/console– /dev/men– /dev/kmem

Devices should be world-unreadable and world-unwritable

Page 20: O.S security

Changing the root of the filesystem

• Sandbox: access to objects outside the sandbox is prevented

• chroot <directory> <command>

• Changes the root directory from / to <directory> when <command> executes

• For example, a web server

Page 21: O.S security

Search path

• Shell: a command line interpreter

• For easy-to-use: user input command without specifying the full pathname

• Searchpath in the .profile

• PATH=.:$HOME/bin:/usr:/bin:/usr/bin:/usr/local:/usr/new:/usr/hosts

Page 22: O.S security

Audit logs

• /usr/adm/lastlog: records the last time a user has logged in

• /usr/adm/utmp: records a list of users who are currently logged into a computer

• /var/adm/wtmp: records every time a user logs in or logs out

• /var/adm/acct: records all executed commands

• Others: ps…

Page 23: O.S security

Manage the superuser

• Superuser is the major weakness• Compromise the account

– Weak password– Change UID to 0– Crash the process with root privillege

• Presentation– Admin should not use root as their personal

account (using SU, SUDO)– Strong password protection

Page 24: O.S security

Windows security

• Separation between user mode (ring 3) and kernel mode (ring 0)

• User programs make API calls to invoke operating system services

• Device drivers are running in kernel mode• Security subsystem

– Log-on process (winlogon): the authentication process (winlogon.exe)

– Local Security Authority (LSA): verification and auditing (lsass.exe)

– Security Account Manager (SAM): user account database

Page 25: O.S security

Domains

• Domains: to facilitate single sign-on and centralized security administration

• A domain is a collection of machines sharing a common user accounts database and security policy

• DC: domain controller

Page 26: O.S security

User authentication: interactive logon

• Secure attention sequence CTRL+ALT+DEL

• Winlogon.exe

• Lsass.exe: verification

• Start a shell (explorer.exe)

Page 27: O.S security

Local Security settings

Page 28: O.S security

Event viewer

Page 29: O.S security

Key points (1)

• The mechanism of user authentication in Unix. Where are the user’s account and password stored?

• Root account• What is salt? How to use it and why it is important?• What is the “group” in Unix? Why to use it?• /etc/passwd, /etc/shadow, /etc/group• What are the A real UID/GID and An effective UID/GID? • What is an inode?• The permissions to access a file or a directory• umask• Sticky bit, SUID, SGID

Page 30: O.S security

Key points (2)

• chmod• How to delete a file in a secure way?• Protection of devices• Search path• Audit logs in windows and unix• Security subsystem in windows• Why users should press CTRL+ALT+DEL

to get a logon window in windows?