In this course, students will systematically study the fundamental principles of computer system security, including authentication, access control, capability, security policies, sandbox, basic cryptography, and software vulnerabilities. Most of these principles will be studied within the scope of concrete systems, such as Linux, Solaris, Windows, and Minix. The course emphasize on "learning by doing". It requires students to conduct a series of lab exercises to enhance their understanding of principles, and also to provide students with oppurtunities to apply those principles.
After completion of the course, students should be able to possess the following skills:
- Explain security principles.
- Explain how various security mechanisms work.
- Compare various security mechanisms.
- Correlate various security mechanisms with security principles.
- Design and implement security mechanisms to protect computer systems.
- Apply security principles to solve problems.
- Describe and generalize various software vulnerabilities.
- Identify and analyze security problems in computer systems.
Professor: Wenliang (Kevin) Du
Office: SciTech Building, Room 4-285
Phone: 443-9180
Email address: wedu@ecs.syr.edu
Required: A selected list of reading materails assigned in the class.
Suggested: Secure Programming for Linux and Unix HOWTO -- Creating Secure Software
by David Wheeler. This is a free book and can be downloaded from the author's web site.
Suggested: Security in Computing, Third Edition
by Charles P. Pfleeger and Shari Lawrence Pfleeger. ISBN: 0130355488, Prentice Hall PTR, 3rd edition (December 2, 2002).
Suggested: Operating Systems Design and Implementation (3rd Edition)
by Andrew S. Tanenbaum and Albert S. Woodhull. ISBN: 0131429388, Prentice Hall, 2006.
(For those who choose to work on Minix-related projects, this book is useful for understanding Minix).