CSE 127: Intro to Computer Security Spring 2023
Lectures:
Tuesday/Thursday 3:30pm-4:50pm WLH 2005
Discussion:
Wednesday 6:00pm-6:50pm CENTR 101
Instructor:
Earlence Fernandes Office hours: Thursday 10:00 am - 11:00 am EBU3B 3244
TAs:
Leo Cao Office Hours: Monday 2-3pm EBU3B B275.
Sumanth Rao Office Hours: Wednesday 2.30-3.30pm EBU3B B250A
Allison Turner Office Hours: Tuesday 12-1pm EBU3B B260A
Yizhao Zhang Office Hours: Friday 10-11am EBU3B B215
Class Resources:
- Gradebook, etc. on Canvas
- Q&A on Piazza
- Assignment submission on Gradescope
- Lecture schedule, readings, and course policies on this web page
Grading:
40%: Homework assignments
30%: Midterm exam
30%: Endterm exam
Course Overview
This course focuses on computer security, covering a wide range of topics on both the defensive and offensive side of this field. Among these will be systems security and exploitation (e.g., buffer overflows and return-oriented programming), sandboxing and isolation, side channels, network security, cryptography, privacy and anonymity, and legal and ethical issues. 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 to be able to write code in Python, C, and (some) C++, and have some understanding of x86 assembly, JavaScript, PHP, and SQL. We will not teach these in lecture; you are expected to learn them on your own or ask for help in section or office hours.
Pandemic Considerations
This is an in person class. Exams are in person only. Please do not come to class or exams if you are sick.
Schedule
Assignments
We will have five programming assignments. These assignments are meant to both reinforce your knowledge of the concepts covered in lecture and get you to think about security in more depth, beyond what is covered lecture.
You may work on the assignments in groups of one or two. You may discuss the assignments with other students from the course in general but not any specific solution. You will have two late days you can use to turn in assignments late for any reason. Late days will be deducted from both group members, and both group members must have late days in order to use them. No other extensions will be given. If you have an unforeseen long-term emergency that affects all of your classes (hospitalized, death of immediate family member etc.), please reach out to us and the student affairs office to coordinate alternate arrangements.
If you consult anything (books, academic papers, internet resources, people) when working on the assignments, note this in your submission. We encourage outside learning but expect you to not seek out specific details about a solution—anything submitted should be considered your own work. Similarly, you are expected to not publish or otherwise share your solutions at any point (even after the class is over). If you are unsure about what is allowed, please ask the course staff.
By taking this course, you implicitly agree to abide by the UCSD policies on Integrity of Scholarship and Student Conduct. See the Academic Integrity Support for Remote Learning. University rules on integrity of scholarship and code of conduct are taken seriously and will be enforced.
Additional Resources
No textbook is required, but if you would like additional resources the following may be useful:- UC Berkeley Textbook on Security
- Security Engineering by Ross Anderson
- Hacking: The Art of Exploitation by Jon Erickson