CS 161: Computer Security

Announcements:

  • Homework 7 is due Monday, August 9th, 11:59 PM PT.
  • Project 3 is due Tuesday, August 10th, 11:59 PM PT.
  • Project 2 is due Friday, August 6th, 11:59 PM PT (extended from Tuesday).
  • The final exam will be on Thursday, August 12th, 5:00–8:00 PM PT. If you cannot make this time, please fill out this conflict form.
  • Optional: Lab 1 and Lab 2 are due Wednesday, August 11th, 11:59 PM PT.
  • Because of low attendance, we’ve converted Sid’s discussion (Tuesday/Thursday, 9:30 AM PT) to office hours.
  • We will be holding several topical review sections next week. We will be posting the review worksheets on Piazza in the next few days.
  • Thursday’s lecture (Anonymity and Tor) is the last lecture in scope for the final. Next week, we’ll have optional live lectures showing some practical and/or fun applications of material you’ve learned in the class. See the course website for the schedule and topics!

Instructors: Nicholas Ngai and Peyrin Kao

Lecture: Monday–Thursday, 3:30 PM–5:00 PM PT

Skip to current week

Date Readings Lecture Discussion HW Project
Mon
06/21

1. Principles for Building Secure Systems

Slides
Recording
Videos
No discussion HW1
Tue
06/22

2. x86 Assembly and Call Stack

Slides
Recording
Videos

Project 1

Wed
06/23

3. Memory Safety Vulnerabilities

Slides
Recording
Videos
61C Review, Security Principles
(solutions)

(recording)
Thu
06/24

4. Mitigating Memory Safety Vulnerabilities

Slides
Recording
Videos
Mon
06/28

Holiday

No lecture Memory Safety
(solutions)

(recording)
HW2
Tue
06/29

5. Introduction to Cryptography

6. Symmetric-Key Cryptography

Slides
Recording
Videos
Wed
06/30

6. Symmetric-Key Cryptography

Slides
Recording
Videos
Symmetric-Key Cryptography
(solutions)

(recording)
Thu
07/01

7. Cryptographic Hashes

8. Message Authentication Codes (MACs)

Slides
Recording
Videos
Mon
07/05

Holiday

No lecture Asymmetric Cryptography
(solutions)

(recording)
HW3
Tue
07/06

9. Pseudorandom Number Generators (PRNGs)

10. Diffie-Hellman Key Exchange

Slides
Recording
Videos
Wed
07/07

11. Public-Key Encryption

12. Digital Signatures

Slides
Recording
Videos
Public Key Cryptography
(solutions)

(recording)

Project 2 Design

Thu
07/08

13. Certificates

14. Passwords

15. Case Studies

Slides
Recording
Videos
Mon
07/12

16. Bitcoin

Slides
Recording
Videos
Midterm Review HW4
Tue
07/13

Midterm (5:00–7:00 PM PT)

No lecture
Wed
07/14

18. Introduction to Web

19. Same-Origin Policy

Slides
Recording
Videos
No discussion
Thu
07/15

20. Cookies and Session Management

21. Cross-Site Request Forgery (CSRF)

Slides
Recording
Videos
Mon
07/19

22. Cross-Site Scripting (XSS)

23. UI Attacks

Slides
Recording
Videos
Cookies and CSRF
(solutions)

(recording)
HW5
Tue
07/20

24. SQL Injection

25. CAPTCHAs

Slides
Recording
Videos
Wed
07/21

26. Introduction to Networking

Slides
Recording
Videos
SQL Injection and XSS
(solutions)

(recording)
Thu
07/22

27. ARP

28. WPA

29. DHCP

Slides
Recording
Videos

Project 2

Mon
07/26

30. BGP

31. TCP and UDP

Slides
Recording
Videos
UI Based Attacks and Privacy
(solutions)

(recording)
HW6
Tue
07/27

32. TLS

Slides
Recording
Videos
Wed
07/28

33. DNS

Slides
Recording
Videos
TLS and TCP
(solutions)

(recording)
Thu
07/29

34. DNSSEC

Slides
Recording
Videos
Mon
08/02

35. Denial-of-Service (DoS) Attacks

36. Firewalls

Slides
Recording
Videos
DNS
(solutions)

(recording)
HW7
Tue
08/03

37. Intrusion Detection

Slides
Recording
Videos
Wed
08/04

39. Malware

Slides
Recording
Videos
Intrusion Detection
(solutions)

(recording)

Project 3

Thu
08/05

40. Anonymity and Tor

Slides
Videos
Mon
08/09

(Optional) 17. Signal

Final Review
Tue
08/10

(Optional) Special Topics (TBA)

Wed
08/11

(Optional) Buffer Overflows in Super Mario Bros. 3

Thu
08/12

Final Exam (5:00–8:00 PM PT)

No lecture