Goals for Today CS162 Operating Systems and Systems Programming Lecture 25 Security Mechanisms Authentication Authorization Enforcement Cryptographic Mechanisms Protection and Security in Distributed Systems May 5 2008 Prof Anthony D Joseph http inst eecs berkeley edu cs162 Note Some slides and or pictures in the following are adapted from slides 2005 Silberschatz Galvin and Gagne Gagne Many slides generated from my lecture notes by Kubiatowicz 5 5 08 Joseph CS162 UCB Spring 2008 Protection vs Security Preventing Misuse Types of Misuse Protection one or more mechanisms for controlling the access of programs processes or users to resources Accidental If I delete shell can t log in to fix it Could make it more difficult by asking do you really want to delete the shell Page Table Mechanism File Access Mechanism Intentional Security use of protection mechanisms to prevent misuse of resources Some high school brat who can t get a date so instead he transfers 3 billion from B to A Doesn t help to ask if they want to do it of course Misuse defined with respect to policy Three Pieces to Security E g prevent exposure of certain sensitive information E g prevent unauthorized modification deletion of data Authentication who the user actually is Authorization who is allowed to do what Enforcement make sure people do only what they are supposed to do Requires consideration of the external environment within which the system operates Most well constructed system cannot protect information if user accidentally reveals password Loopholes in any carefully constructed system Log in as superuser and you ve circumvented authentication Log in as self and can do anything with your resources for instance run program that erases all of your files Can you trust software to correctly enforce Authentication and Authorization What we hope to gain today and next time Conceptual understanding of how to make systems secure Some examples to illustrate why providing security is really hard in practice 5 5 08 Joseph CS162 UCB Spring 2008 Lec 25 2 5 5 08 Lec 25 3 Page 1 Joseph CS162 UCB Spring 2008 Lec 25 4 Authentication Identifying Users Passwords Secrecy System must keep copy of secret to check against passwords How to identify users to the system Passwords What if malicious user gains access to list of passwords Shared secret between two parties Since only user knows password someone types correct password must be user typing it Very common technique Need to obscure information somehow Mechanism utilize a transformation that is difficult to reverse without the right key e g encryption Smart Cards Example UNIX etc passwd file Electronics embedded in card capable of providing long passwords or satisfying challenge response queries May have display to allow reading of password Or can be plugged in directly several credit cards now in this category passwd one way transform hash encrypted passwd System stores only encrypted version so OK even if someone reads the file When you type in your password system compares encrypted version Biometrics Problem Can you trust encryption algorithm Use of one or more intrinsic physical or behavioral traits to identify someone Examples fingerprint reader palm reader retinal scan Becoming quite a bit more common 5 5 08 Joseph CS162 UCB Spring 2008 Example one algorithm thought safe had back door Governments want back door so they can snoop Also security through obscurity doesn t work 5 5 08 Lec 25 5 Passwords How easy to guess Ways of Compromising Passwords How can we make passwords harder to crack Can t make it impossible but can help Often people use obvious information like birthday favorite color girlfriend s name etc Technique 1 Extend everyone s password with a unique number stored in password file Dictionary Attack Called salt UNIX uses 12 bit salt making dictionary attacks 4096 times harder Without salt would be possible to pre compute all the words in the dictionary hashed with the UNIX algorithm would make comparing with etc passwd easy Also way that salt is combined with password designed to frustrate use of off the shelf DES hardware Work way through dictionary and compare encrypted version of dictionary words with entries in etc passwd Dumpster Diving Find pieces of paper with passwords written on them Also used to get social security numbers etc Paradox Short passwords are easy to crack Long ones people write down Technique 2 Require more complex passwords Technology means we have to use longer passwords Make people use at least 8 character passwords with upper case lower case and numbers UNIX initially required lowercase 5 letter passwords total of 265 10million passwords 708 6x1014 6million seconds 69 days 0 01 s check In 1975 10ms to check a password 1 day to crack In 2005 01 s to check a password 0 1 seconds to crack Unfortunately people still pick common patterns e g Capitalize first letter of common word add one digit Takes less time to check for all words in the dictionary Joseph CS162 UCB Spring 2008 GSM encryption algorithm was secret accidentally released Berkeley grad Joseph students cracked in a few hours CS162 UCB Spring 2008 Lec 25 6 Passwords Making harder to crack Password Guessing 5 5 08 eggplant 5 5 08 Lec 25 7 Page 2 Joseph CS162 UCB Spring 2008 Lec 25 8 Passwords Making harder to crack con t Technique 3 Delay checking of passwords Administrivia If attacker doesn t have access to etc passwd delay every remote login attempt by 1 second Makes it infeasible for rapid fire dictionary attack Project 4 code deadline is Wed 5 14 at 11 59pm Final Exam Technique 4 Assign very long passwords Long passwords or pass phrases can have more entropy randomness harder to crack Give everyone a smart card or ATM card to carry around to remember password May 21st 12 30 3 30pm Final Topics Any suggestions Please send them to me Requires physical theft to steal password Can require PIN from user before authenticates self Better have smartcard generate pseudorandom number Client and server share initial seed Each second login attempt advances to next random number Technique 5 Zero Knowledge Proof Require a series of challenge response questions Distribute secret algorithm to user Server presents a number say 5 user computes something from the number and returns answer to server Server never asks same question twice Often performed by smartcard plugged into system 5 5 08 Joseph CS162 UCB Spring 2008 5 5 08 Lec 25 9 Joseph CS162 UCB Spring 2008 Authentication in
View Full Document
Unlocking...