Instructor: Stefan Savage
Office hours: Tu 11am-12pm or by appt, CSE 3106
Teaching Assistant: Mikhail Afanasyev
Office hours: Mikhail (Mon 2:00pm-3:00pm EBU3B B260A)
This course focuses on computer and network security, covering a wide range of topics on both the "defensive" and "offensive" side of this field. Among these will be basic cryptography and cryptographic protocols, code security and exploitation (buffer overflows, race conditions, SQL injection, etc), access control and authentication, covert channels, protocol attacks, firewalls, intrusion detection/prevension, viruses/worms and bots, spyware and phising, denial-of-service, privacy/anonymity, and computer forensics. The goal of the course is to provide an appreciation of the fundamental challenges in designing and implementing secure systems as well as and understanding of the base technologies and threats in today's intereconnected environment.
To complete the projects in this course, you will need the ability to develop software programs using the C language. If you have not used C recently, you may want to refresh your knowledge using one of the many good books on the topic. In particular I recommend the classic, The C Programming Language, by Kernighan and Ritchie, because it is short and simple.