CMSC 414 Computer (and Network) Security Jonathan Katz

advertisement
CMSC 414
Computer (and Network) Security
Jonathan Katz
Introduction and overview
 What is computer/network security?
 Course philosophy and goals
 High-level overview of topics
 Course organization and information
“Security”
 Most of computer science is concerned with
achieving desired behavior
 In some sense, security is concerned with
preventing undesired behavior
– Different way of thinking!
– An enemy/opponent/hacker/adversary may be
actively and maliciously trying to circumvent
any protective measures you put in place
Computer vs. network security
 One view:
– Computer security: focuses on security aspects
of systems in isolation
– Network security: focuses on security of data as
it is transmitted between networked systems
 Not always a clear-cut dividing line…
Some examples…
 Computer security
– Viruses
– Secure data storage
– OS Security
 Network security
– Authentication protocols
– Encryption of transmitted data
– Firewalls
Broader impacts of security
 Explosive growth of interest in security
– Most often following notable security failures…
 Impact on/interest from all (?) areas of CS
– Theory (especially cryptography)
– Databases
– Operating systems
– AI/learning theory
– Networking
– Computer architecture/hardware
– Programming languages/compilers
– HCI
Philosophy
 We are not going to be able to cover everything
 Main goals
– Exposure to different aspects of security; meant mainly
to “pique” your interest
– The “mindset” of security: a new way of
thinking…about more than computer networks
– Become familiar with basic crypto, acronyms (RSA,
SSL, PGP, etc.), and “buzzwords”
– Security is a process, not a product
Student participation (I hope!)
 If something interests you, let me know
– Depending on time, may be able to cover in
more detail
– Can always suggest further references
 Monitor the media
– Email me relevant/interesting stories
 Class participation counts!
High-level overview
 Introduction…
– Including various classes of attacks
 Cryptography
– Cryptography is not the (whole) solution…
– …but is is an important part of the solution
– Along the way, we will see why cryptography
can’t solve all security problems
High-level overview II
 Security policies and analysis
– Attack trees
– Access control
– Confidentiality/integrity
– Key management
 Principles for secure design/implementation
High-level overview III
 Network security
– Identity
– Authentication
– Some real-world protocols
– Wireless security
High-level overview IV
 Miscellaneous (as time permits)
– Firewalls
– Intrusion detection
– Buffer overflows; secure programming
languages
– Viruses and malicious logic
– Etc…
Course Organization
Staff
 Me
 TAs (Introduce)
 Contact information, office hours, listed on
course webpage
Course webpage
http://www.cs.umd.edu/~jkatz/comp_sec
 Contains information about course
organization, updated syllabus, various
links, etc.
 No paper handouts; all handouts will be
distributed from the course webpage
 Check often for announcements
Textbooks
 I will primarily use two texts:
– “Computer Security” by Bishop
– “Network Security…” by Kaufman, Perlman,
and Speciner
 Neither is officially required, but both will
make it easier to follow the course
 Exams may rely on material in these books,
even if not covered in class
Other readings
 Will be linked from the course webpage
 Material from these readings is fair game
for the exams, even if not covered in class
(unless stated otherwise)
 Please suggest other readings or relevant
news articles!
Course requirements
 Homeworks
– About 5-6 throughout the semester
– Collaboration with one other student allowed;
answers must be written independently
– If you consult references, you must reference
 Project
– In three parts throughout the semester
– Will require implementation using JCE
– TAs will help with using JCE and Java…
Computer accounts
 Each student will receive a computer
account for homeworks and the project
 We are still looking into this…
Grading
 See course webpage
 Note: class participation counts!
– Suggest readings and references related to
course and/or project
– Speak up in class!
Security: an Introduction
Two papers linked from webpage
 “Reflections on trusting trust”
 “Managed security monitoring”
 Both leave a fairly negative impression of
security…
 …at the very least, they show that security
is not easy, and cannot just be applied as a
“magic bullet”
“Trusting trust”
 (summarize article)
 Does one really need to be this paranoid??
– Probably not
– Sometimes, yes
 Shows that security is complex…and
probably impossible (in theory?)
“Managed security monitoring”
 (Summarize article)
– Is the state of network security really this bad?
(Arguably, yes)
– Although network monitoring and risk
management are important, security is too
– Security is not an ends unto itself
• If you really want to be secure, disconnect yourself
from the Internet
An Overview of Computer
Security
Basic components
 Confidentiality
 Integrity
 Availability
Confidentiality
 Encryption
 Access control
Integrity
 Trustworthiness of data or resources
 Prevention vs. detection
 Blocking unauthorized attempts to change
data, or attempts to change data in
unauthorized ways
– The second is much harder…
 Correctness vs. trustworthiness of data
Availability
 Denial of service attacks
 Denying access can lead to more serious
attacks
– I.e., if credit card verification is down
Threats (or “attacks”)
 Snooping, eavesdropping
 Modification, alteration
 Masquerading, spoofing
 False repudiation/denial of receipt
 Network delay, denial of service
Policy vs. mechanism
 Security policy
– Statement of what is and is not allowed
 Security mechanism
– Method for enforcing a security policy
 One is meaningless without the other…
 Problems when combining security policies
of multiple organizations
Download