CSE 127: Computer Security

CSE 127

Schedule: Class (TTh 3:30-4:50 YORK 2622), Discussion (M 4-5pm CENTR 113)

Instructor: Stefan Savage
Office hours: M 3pm-4pm or by appt, CSE 3106

Teaching Assistants:
Aviv Kiss
Office hours:Tu 2-3pm, CSE B275

Edward Sullivan
Office hours:W 5-6pm, CSE B275

Louis Dekoven
Office hours:Th 1-2pm, CSE B275


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.

Finally, this term we will be using Piazza for class discussion. Rather than emailing questions to the teaching staff, please post your questions on Piazza; this will keep the discussions organized and let everyone benefit from the answers. We may also use it for announcements, so be sure to sign up (you can sign up at: piazza.com/ucsd/fall2015/cse127).