CSE 127: Computer Security

CSE 127

Schedule: Lecture: TTh 2-3:20 (PCYNH 106), Discussion: W 6-6:50 (PCYNH 109)

Instructor: Stefan Savage. Office hours: Friday 1pm CSE Building 3106 or by appt

Teaching Assistants and Tutors:

  • Henry Feng (TA)
  • Eugene Lau (TA)
  • Elaine Chao (Tutor)
  • Shishir Iyer (Tutor)
  • Jiwen Luo (Tutor)
  • JC Yan (Tutor)

TA/Tutor Office Hours:

  • Monday 12:00pm - 1:00pm: Eugene Lau, EBU3B B260A
  • Monday 1:00pm - 2:00pm: Eugene Lau, Zoom
  • Monday 5:00pm - 7:00pm: Will Luo, EBU3B B240A
  • Tuesday 4:00pm - 5:00pm: Shishir Iyer, EBU3B B250A
  • Tuesday 4:00pm - 5:00pm: Will Luo, Zoom
  • Wednesday 1:00pm - 2:30pm: JC Yan, EBU3B B250A
  • Wednesday 3:00pm - 4:30pm: Elaine Chao, EBU3B B240 / Zoom (priority given to in‐person office hours)
  • Thursday 4:00pm - 5:00pm: Shishir Iyer, Zoom
  • Thursday 4:30pm - 6:00pm: JC Yan, EBU3B B240A
  • Friday 12:00pm - 1:00pm: Elaine Chao, EBU3B B250A / Zoom (priority given to in‐person office hours)
  • Friday 3:00pm - 4:00pm: Henry Feng, EBU3B B240A
  • Friday 4:00pm - 5:00pm: Henry Feng, Zoom

Description

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 code security and exploitation (buffer overflows, race conditions, SQL injection, etc), access control and authentication, covert channels, protocol attacks, firewalls, intrusion detection/prevention, viruses/worms and bots, spyware and phishing, denial-of-service, privacy/anonymity, and computer forensics. The goal of the course is to provide an appreciation of how to think adversarially with respect to computer systems as well as an appreciation of how to reason about attacks and defenses.

To complete the projects in this course, you will need the ability to develop software programs using the C language, and some understanding of Assembly, PHP and SQL. We will not reach these in class and you will be expected to learn them on your own. If you do not know C, I recommend the classic, The C Programming Language, by Kernighan and Ritchie, because it is short and simple.

Logistics


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. The class Piazza can be accessed via Canvas.

Academic Integrity

Finally, each student is responsible for knowing and abiding by UCSD's Policy on Integrity of Scholarship. Any student violating university standards will earn an 'F' in the course and will be reported to academic integrity office. Committing acts that violate integrity or community standards are cause for suspension or dismissal from UCSD as per the 2021 Guidelines for Academic Integrity violations.

To be clear, you are expected to do this work on your own (or with a partner for assignments that have partners) and not make use of anyone else's code, or data or code/data found on the Internet, or created using LLM tools such as CoPilot, ChatGPT Bard, or Claude>

If have any questions, please ask.