CSE 127: Computer Security

CSE 127

Schedule: Lecture: TTh 2-3:20 (PCYNH 106), Discussion: M 1-1:50 (PCYNH 106)

Instructor: Stefan Savage. Office hours: Mondays 3-4pm: CSE Building 3106 or by appt

Teaching Assistants and Tutors:

  • Kunj Nikhil Champaneri
  • Yuke Liu
  • Manav Ram
  • Sakshi Subedi

TA Office Hours:

  • Tuesday 3:30pm - 4:30pm: Yuke, EBU3B B260A
  • Thursday 5:00pm - 7:00pm: Sakshi, EBU3B B260A
  • Thursday 3:30pm - 4:30pm: Yuke, EBU3B B260A
  • Friday 12:00pm - 2:00pm: Manav, Autograder Queues
  • Friday 5:00pm - 7:00pm: Kunj, EBU3B B270A

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 the appropriate campus office. Committing acts that violate integrity or community standards are cause for suspension or dismissal from UCSD as per the 2017 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 and Bard>

If have any questions, please ask.