Top Banner
CMSC 414 Computer and Network Security Jonathan Katz
41
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: CMSC 414 Computer and Network Security Jonathan Katz.

CMSC 414Computer and Network Security

Jonathan Katz

Page 2: CMSC 414 Computer and Network Security Jonathan Katz.

Introduction and overview

What is computer/network security? Why is it important?

Course philosophy and goals

Course organization and information

High-level overview of topics

A broad perspective on “computer security”

Page 3: CMSC 414 Computer and Network Security Jonathan Katz.

“Security”

Most of computer science is concerned with achieving desired behavior

Security is concerned with preventing undesired behavior– Different way of thinking!

– An enemy/opponent/hacker/adversary who is actively and maliciously trying to circumvent any protective measures you put in place

Page 4: CMSC 414 Computer and Network Security Jonathan Katz.

One illustration of the difference

Software testing determines whether a given program implements a desired functionality– Test I/O characteristics

– Q/A

How do you test whether a program does not allow for undesired functionality?– Penetration testing helps, but only up to a point

Page 5: CMSC 414 Computer and Network Security Jonathan Katz.

Security is interdisciplinary

Draws on all areas of CS– Theory (especially cryptography)

– Networking

– Operating systems

– Databases

– AI/learning theory

– Computer architecture/hardware

– Programming languages/compilers

– HCI, psychology

Page 6: CMSC 414 Computer and Network Security Jonathan Katz.

Fortunately, we are winning the security battle

Strong cryptography

Firewalls, intrusion detection, virus scanners

Buffer overflow detection/prevention

User education

Page 7: CMSC 414 Computer and Network Security Jonathan Katz.

Really??!

Security incidents (reported)

Page 8: CMSC 414 Computer and Network Security Jonathan Katz.

Philosophy of this course

We are not going to be able to cover everything– We are not going to be able to even mention everything

Main goals– A sampling of many different aspects of security

– The security “mindset”

– Become familiar with basic acronyms (RSA, SSL, PGP, etc.), and “buzzwords” (phishing, …)

– Become an educated security consumer

– Try to keep it interesting with real-world examples and “hacking” projects

You will not be a security expert after this class(after this class, you should realize why it

would be dangerous to think you are)

You should have a better appreciation of securityissues after this class

Page 9: CMSC 414 Computer and Network Security Jonathan Katz.

Course Organization

Page 10: CMSC 414 Computer and Network Security Jonathan Katz.

Administrative

Me

TA

Contact information, office hours, listed on course webpage

Page 11: CMSC 414 Computer and Network Security Jonathan Katz.

Course webpage

http://www.cs.umd.edu/~jkatz/security/f09

Syllabus– Subject to change…

– Slides will be posted for convenience, but they are not a substitute for attending lecture

– Assigned readings

Homeworks distributed from the course webpage

Check frequently for announcements

Page 12: CMSC 414 Computer and Network Security Jonathan Katz.

Course blog

http://cmsc414.wordpress.com

I will post after each lecture– Students can post questions/comments about the lecture

– Today: post a “hello” message, and answer the question: “What do you hope to get from the course?”

I will post for each homework– Students can post questions

I will post links to interesting news articles, papers, etc.

Page 13: CMSC 414 Computer and Network Security Jonathan Katz.

Textbook Recommended text:

– “Network Security…” by Kaufman, Perlman, and Speciner (most recent edition)

– Will only be used for a portion of the course

Several other good texts out there– Ask me if you are interested

Will supplement with other readings (distributed on class webpage)

Page 14: CMSC 414 Computer and Network Security Jonathan Katz.

Class participation and readings

Research papers and news articles will be posted on the course webpage– Read these before class and come prepared to discuss

Material from these readings is fair game for the exams, even if not covered in class

Several readings already assigned

Page 15: CMSC 414 Computer and Network Security Jonathan Katz.

Course requirements

Homeworks– About 4-5 throughout the semester

– Programming portion will be done with a partner

Each student will receive a computer account – You should have already been assigned a GRACE

account

Page 16: CMSC 414 Computer and Network Security Jonathan Katz.

Syllabus (tentative)

Page 17: CMSC 414 Computer and Network Security Jonathan Katz.

Syllabus I

Introduction…– Is security achievable…?

– A broad perspective on security

Cryptography– The basics (take CMSC 456 or read my book for more)

• If you took 456 with me, you can skip

– Cryptography is not the whole solution…

– …but it is an important part of the solution

– Along the way, we will see why cryptography can’t solve all security problems

Page 18: CMSC 414 Computer and Network Security Jonathan Katz.

Syllabus II

System security– General principles

– Security policies

– Access control

– OS security

– “Trusted computing”

Programming language security– Buffer overflows, input validation errors

– Viruses/worms

Page 19: CMSC 414 Computer and Network Security Jonathan Katz.

Syllabus III

Network security– Identity, PKI

– Authentication and key exchange protocols

– Password and biometric authentication

– Anonymity and pseudonymity

– Privacy

– Some real-world protocols (IPSec/SSL)

– Attacks on network infrastructure (routing, DNS, DDos)

– Wireless security

Page 20: CMSC 414 Computer and Network Security Jonathan Katz.

Syllabus IV

Miscellaneous– Database security

– Web security

– Other topics (spam, …)

Page 21: CMSC 414 Computer and Network Security Jonathan Katz.

A High-Level Introductionto Computer Security

Page 22: CMSC 414 Computer and Network Security Jonathan Katz.

A naïve view

Computer security is about CIA:– Confidentiality, integrity, and availability

These are important, but security is about much more…

Page 23: CMSC 414 Computer and Network Security Jonathan Katz.

A naïve view

password

Page 24: CMSC 414 Computer and Network Security Jonathan Katz.

In reality…

Where does security end?

password

forgot password?

Page 25: CMSC 414 Computer and Network Security Jonathan Katz.

One good attack Use public records to figure out someone’s

password– Or, e.g., their SSN, so can answer security question…

The problem is not (necessarily) that SSNs are public

The problem is that we “overload” SSNs, and use them for more than they were intended

Note: “the system” here is not just the computer, nor is it just the network…

Page 26: CMSC 414 Computer and Network Security Jonathan Katz.

A naïve view

Achieve “absolute” security

Page 27: CMSC 414 Computer and Network Security Jonathan Katz.

In reality…

Absolute security is easy to achieve!– How…?

Absolute security is impossible to achieve!– Why…?

Good security is about risk management

Page 28: CMSC 414 Computer and Network Security Jonathan Katz.

Security as a trade-off

The goal is not (usually) “to make the system as secure as possible”…

…but instead, “to make the system as secure as possible within certain constraints” (cost, usability, convenience)

Must understand the existing constraints– E.g., passwords…

Page 29: CMSC 414 Computer and Network Security Jonathan Katz.

Cost-benefit analysis Important to evaluate what level of security is

necessary/appropriate– Cost of mounting a particular attack vs. value of attack

to an adversary– Cost of damages from an attack vs. cost of defending

against the attack– Likelihood of a particular attack

Sometimes the best security is to make sure you are not the easiest target for an attacker…

Page 30: CMSC 414 Computer and Network Security Jonathan Katz.

“More” security not always better

“No point in putting a higher post in the ground when the enemy can go around it”

Need to identify the weakest link– Security of a system is only as good as the security at

its weakest point…

Security is not a “magic bullet”

Security is a process, not a product

Page 31: CMSC 414 Computer and Network Security Jonathan Katz.

Computer security is not just about security Detection, response, audit

– How do you know when you are being attacked?– How quickly can you stop the attack?– Can you identify the attacker(s)?– Can you prevent the attack from recurring?

Recovery– Can be much more important than prevention

Economics, insurance, risk management…

Offensive techniques

Security is a process, not a product…

Page 32: CMSC 414 Computer and Network Security Jonathan Katz.

Computer security is not just about computers What is “the system”?

Physical security

Social engineering– Bribes for passwords– Phishing

“External” means of getting information– Legal records– Trash cans

Security is a process, not a product…(!)

Page 33: CMSC 414 Computer and Network Security Jonathan Katz.

Security mindset

Learn to think with a “security mindset” in general– What is “the system”?

– How could this system be attacked?• What is the weakest point of attack?

– How could this system be defended?• What threats am I trying to address?

• How effective will a given countermeasure be?

• What is the trade-off between security, cost, and usability?

Page 34: CMSC 414 Computer and Network Security Jonathan Katz.

An example: airline security Ask: what is the cost (economic and otherwise) of

current airline security?

Ask: do existing rules (e.g., banning liquids) make sense?

Ask: are the tradeoffs worth it?– (Why do we not apply the same rules to train travel?)– (Would spending money elsewhere be more effective?)

Ask: how would you get on a plane if you were on the no-fly list?– (I will not give you the answer – you can find it online)– This is a thought experiment only!

Page 35: CMSC 414 Computer and Network Security Jonathan Katz.

Summary

“The system” is not just a computer or a network

Prevention is not the only goal– Cost-benefit analysis

– Detection, response, recovery

Nevertheless…in this course, we will focus on computer security, and primarily on prevention– If you want to be a security expert, you need to keep

the rest in mind

Page 36: CMSC 414 Computer and Network Security Jonathan Katz.

Why is computer security so hard?

Computer networks are “systems of systems”– Your system may be secure, but then the surrounding environment

changes

Too many things dependent on a small number of systems Society is unwilling to trade off features for security Ease of attacks

– Cheap– Distributed, automated– Anonymous– Insider threats

Security not built in from the beginning Humans in the loop… Computers ubiquitous…

Page 37: CMSC 414 Computer and Network Security Jonathan Katz.

Computers are everywhere… …and can always be attacked

Electronic banking, social networks, e-voting

iPods, iPhones, PDAs, RFID transponders

Automobiles

Appliances, TVs

(Implantable) medical devices

Cameras, picture frames(!)– See http://www.securityfocus.com/news/11499

Page 38: CMSC 414 Computer and Network Security Jonathan Katz.

“Trusting trust”(or: how hard is security?)

Page 39: CMSC 414 Computer and Network Security Jonathan Katz.

“Trusting trust”

Consider a compiler that embeds a trapdoor into anything it compiles

How to catch?– Read source code? (What if replaced?)

– Re-compile compiler?

What if the compiler embeds the trojan code whenever it compiles a compiler?– (That’s nasty…)

Page 40: CMSC 414 Computer and Network Security Jonathan Katz.

“Trusting trust”

Whom do you trust?

Does one really need to be this paranoid??– Probably not

– Sometimes, yes

Shows that security is complex…and essentially impossible

Comes back to risk/benefit trade-off

Page 41: CMSC 414 Computer and Network Security Jonathan Katz.

Next time:begin cryptography