Protection and Security

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 URL: Security.
Advertisements

CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
1 Topic 1 – Lesson 3 Network Attacks Summary. 2 Questions ► Compare passive attacks and active attacks ► How do packet sniffers work? How to mitigate?
Silberschatz, Galvin and Gagne  Operating System Concepts The Security Problem A system is secure iff its resources are used and accessed as.
1 Protection Protection = access control Goals of protection Protecting general objects Example: file protection in Linux.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Security A system is secure if its resources are used and accessed as intended under all circumstances. It is not generally possible to achieve total security.
CSI 400/500 Operating Systems Spring 2009 Lecture #20 – Security Measures Wednesday, April 29 th.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
Security Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to: –Describe the reasons for having system.
Silberschatz, Galvin and Gagne  Operating System Concepts Module 19: Security The Security Problem Authentication Program Threats System Threats.
Lesson 9-Securing a Network. Overview Identifying threats to the network security. Planning a secure network.
TCP/IP - Security Perspective Upper Layers CS-431 Dick Steflik.
Protection and Security CSCI 444/544 Operating Systems Fall 2008.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Chapter 15: Security (Part 1). The Security Problem Security must consider external environment of the system, and protect the system resources Intruders.
Operating Systems Protection & Security.
Silberschatz and Galvin  Operating System Concepts Module 20: Security The Security Problem Authentication Program Threats System Threats Threat.
Operating Systems 1 K. Salah Module 6.0: Security and Protection  Types of misuse: –1. Accidental –2. Intentional –Protection is to prevent either accidental.
1 Security Chapter The security environment 9.2 Basics of cryptography 9.3 User authentication 9.4 Attacks from inside the system 9.5 Attacks from.
Chapter 13 Understanding E-Security. 2 OBJECTIVES What are security concerns (examples)? What are two types of threats (client/server) Virus – Computer.
29.1 Lecture 29 Security I Based on the Silberschatz & Galvin’s slides And Stallings’ slides.
Protection and Security Questions answered in this lecture: How can a system authenticate a user? How are access rights specified? What are common security.
Types of Electronic Infection
Physical ways of keeping your system secure. Unit 7 – Assignment 2. (Task1) By, Rachel Fiveash.
Security CS Introduction to Operating Systems.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Protection and Security Sarah Diesburg Operating Systems COP 4610.
Information Security in Distributed Systems Distributed Systems1.
1 Lecture 1: Introduction Outline course’s focus intruder’s capabilities motivation for security worms, viruses, etc. legal and patent issues.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
W elcome to our Presentation. Presentation Topic Virus.
1 Protection and Security. 2 The Problem Types of misuse  Accidental  Intentional - Adversary in security lingo Protection and security objective 
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
Security Issues in Information Technology
Key management issues in PGP
Network Security Presented by: JAISURYA BANERJEA MBA, 2ND Semester.
Operating Systems Services provided on internet
Protecting Memory What is there to protect in memory?
Sarah Diesburg Operating Systems CS 3430
Chapter 14: Protection Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 14: System Protection
Protecting Memory What is there to protect in memory?
USAGE OF CRYPTOGRAPHY IN NETWORK SECURITY
Protecting Memory What is there to protect in memory?
Cryptographic Hash Function
Chapter 2: System Structures
The Security Problem Security must consider external environment of the system, and protect it from: unauthorized access. malicious modification or destruction.
Information and Network Security
Sarah Diesburg Operating Systems CS 3430
12: Security The Security Problem Authentication Program Threats
SECURITY IN THE LINUX OPERATING SYSTEM
CDK4: Chapter 7 CDK5: Chapter 11 TvS: Chapter 9
Faculty of Science IT Department By Raz Dara MA.
Security.
CDK: Chapter 7 TvS: Chapter 9
Operating System Concepts
Computer Security By: Muhammed Anwar.
Homework 8 Operating Systems CS 3430 Sarah Diesburg.
Operating System Concepts
Crisis and Aftermath Morris worm.
Preventing Privilege Escalation
Chapter 14: Protection.
CS703 - Advanced Operating Systems
Outline Introduction Memory protection Buffer overflows
Lecture 36.
Lecture 36.
Presentation transcript:

Protection and Security Sarah Diesburg Operating Systems CS 3430

Definitions Security: policy of authorizing accesses Prevents intentional misuses of a system Protection: the actual mechanisms implemented to enforce the specialized policy Prevents either accidental or intentional misuses

Security Goals Data confidentiality: secret data remains secret Data integrity: unauthorized users should not be able to modify data System availability: nobody can make a system unusable

Security Components Authentication determines who the user is Authorization determines who is allowed to do what Enforcement makes it so people can do only what they are allowed to do

Authentication The most common approach: passwords Problems: If I know the secret, the machine can assume that I’m the user Problems: 1. Password storage 2. Poor passwords

Password Storage Encryption Uses a key to transform the data Difficult to reverse without the key UNIX stores encrypted passwords in /etc/passwd (/etc/shadow) Uses one-way transformations Encrypts a typed password and compares encrypted passwords

Poor Passwords Short passwords Long passwords Easy to crack Tend to be written down somewhere

Original UNIX Required only lower-case, 5-lettered passwords 265 or 1 million combinations In 1975, it would take one day to crack one password Today, we can go through all those combinations < 1 second

Partial Solutions Extend password with a unique number Require more complex passwords 8 letters of upper, lower cases, numbers, and special characters 708 or 576 trillion combinations Unfortunately, people still pick common words

Partial Solutions Delay every login by >=1 second Assign very long passwords 2-factor authentication Login requires passphrase and code sent to your phone Requires a physical theft to steal the password 3-factor authentication is best What are the 3 factors?

Authentication in Distributed Systems Private key encryption of data Encrypt(Key, Plaintext) = Cipher text Decrypt(Key, Cipher text) = Plaintext Hard to reverse without the key With the plaintext and the cipher text, one cannot derive the key Provides secrecy and authentication, as long as the key stays secret

How to distribute the keys? Authentication server Keeps a list of keys Kerberos is a network authentication protocol that works on the basis of tickets to allow nodes communicating over a non-secure network to prove their identity to each other

Kerberos Protocol Keyxy is needed to talk between x and y Server S Encrypt(KeyAS, “I want KeyAB”) Client B Client A KeyBS KeyAS

Kerberos Protocol Keyxy is needed to talk between x and y Server S Encrypt(KeyAS,“Here is KeyAB and a message to B”) Client B Client A KeyBS KeyAS

Encrypt(KeyBS, “use KeyAB to talk to A”) Kerberos Protocol Keyxy is needed to talk between x and y Server S Client B Client A message Encrypt(KeyBS, “use KeyAB to talk to A”) KeyBS KeyAS

Additional Details Expiration timestamp for a key Prevents a machine from replaying messages (e.g., “deposit $100”) Checksum for an encrypted message Prevents modifications to a message (e.g., “deposit $1000”) KeyAS and KeyBS are renewed periodically to reduce their exposures

Public Key Encryption Separates authentication from secrecy Involves a public key and private key Encrypt(Keypublic, plaintext) = cipher text Decrypt(Keyprivate, cipher text) = plaintext Encrypt(Keyprivate, plaintext) = cipher text Decrypt(Keypublic, cipher text) = plaintext

Public Key Encryption Idea: Private key is kept secret Public key is advertised

Public Key Encryption Encrypt(Keymy_public, “Hi, Sarah”) Anyone can create it, but only I can read it (secrecy) Encrypt(Keymy_private, “I’m Sarah”) Everyone can read it, but only I can create it (authentication)

Public Key Encryption Encrypt(Keyyour_public, Encrypt(Keymy_private, “I know your secret”)) Only I can create it, and only you can read it

Authorization Access matrix describes who can do what -The matrix tends to be sparse File 1 Lisa’s diary File3 Bart read,write read Lisa read, write Maggie

Access Control List Stores all permissions for all users with each object Analogy: a guard in front of a door Checks for a list of people allowed to enter UNIX: permission of each file is specified according to its owner, group, and the world

Capability List Stores all objects a process can touch Analogy: Keys A key owner has the right of entry Example: page tables Each process has a list of pages that it can access

Access Control List vs. Capability List Access control list (commonly used) Easy to know who can access the object Hard to know which objects a user can access Capability list A user knows the list of objects to access Hard to know who can access an object More difficult to revoke capabilities

Enforcement Enforcer programs check passwords, access control lists, and so on… In UNIX, enforcers are run as superuser If there is a bug, you are hosed!

The State of the World in Security Authentication Poor passwords Nobody encrypts emails Authorization Coarse-grained access control list Often turned off for sharing Enforcement Buggy operating systems

Classes of Security Problems Eavesdropping is the listener approach Tap into the Ethernet and see everything Countermeasure: pressurized cabled or encryption Abuse of privilege If the superuser is evil, there is nothing you can do

Classes of Security Problems Imposter breaks into the system by pretending to be someone else Recorded voice and facial image Countermeasure: behavioral monitoring to look for suspicious activities Overwriting the boot block

Classes of Security Problems A Trojan horse is a seemingly innocent program that performs an unexpected function Countermeasure: integrity checking Periodically, check binaries against their checksums

Classes of Security Problems Salami attack builds up an attack, one-bit at a time Example: send partial pennies to a bank account Countermeasure: code reviews

Classes of Security Problems Logic bombs: a programmer may secretly insert a piece of code into the production system A programmer feeds the system password periodically If the programmer is fired, the logic bomb goes off Countermeasure: code reviews

Classes of Security Problems Denial-of-service attacks aim to reduce system availability A handful of machines can flood a victim machine to disrupt its normal use Countermeasure: open

Pentagon Traffic Analysis Before the 1991 Persian Gulf War Foreign intelligence tried to predict the starting date of the war time

Pentagon Traffic Analysis So much for the element of surprise…

Tenex Used to be the most popular system at universities before UNIX Thought to be very secure

Tenex Source code for the password check: for (j = 0; j < 8; j++) { if (input[j] != pw[j]) { // go to error; } Need to go through 2568 combinations

Tenex Unfortunately, Tenex used virtual memory A fast password check means that the first character is wrong (error) A slow check means that the first character is correct (page fault) password in memory on disk

Tenex 2568 checks to crack a password is reduced down to 256 * 8 checks

The Internet Worm In 1988, a Cornell graduate student, RTM, released a worm into the Internet The worm used three attacks rsh fingerd sendmail

The Internet Worm Some machines trust other machines, the use of rsh was sufficient to get into a remote machine without authentication

The Internet Worm finger command did not check the input buffer size finger name@location Overflow the buffer Overwrite the return address of a procedure Jump and execute a shell (under root privilege)

The Internet Worm sendmail allowed the worm to mail a copy of the code and get it executed The worm was caught due to multiple infections People noticed the high CPU load