This course provides an introduction to security and privacy issues in various aspects of computing, including programs, operating systems, networks, databases, and Internet applications. It examines causes of security and privacy breaches, and gives methods to help prevent them.
Students completing this course should be better able to produce programs that can defend against active attacks, and not just against random bugs.
Third or fourth year CS students, or first year CS graduate students.
Prerequisites: CS 350 or SE 350; Computer Science students only.
Antirequisites: ECE 458.
Security in Computing, 4th Edition, by Charles P. Pfleeger and Shari Lawrence Pfleeger.
3 hours of lectures per week. Normally available in Fall and Winter.
The meaning of computer security; comparing security with privacy; types of threats and attacks; methods of defense
Secure programs; nonmalicious program errors; malicious code; controls against program threats
Methods of protection; access control; user authentication
Network threats; firewalls, intrusion detection systems
Basics of cryptography; security and privacy for Internet applications (email, instant messaging, web browsing); privacy-enhancing technologies
Security and privacy requirements; reliability, integrity, and privacy; inference; data mining; k-anonymity
Administration of security systems; policies; physical security; economics of security; legal and ethical issues

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1
Tel: 519-888-4567 x33293
Fax: 519-885-1208
Contact | Feedback: cs-uops@cs.uwaterloo.ca | David R. Cheriton School of Computer Science | Faculty of Mathematics