CS155 Computer and Network Security

Course Syllabus

Spring 2017

 
Lecture 1:
4/ 4/17
(DB)
Course overview   [pdfppt]
Reading:

Part 1: Basics
 
Lecture 2:
4/ 6/17
(DB)
Control hijacking attacks: exploits   [pdfppt]
Reading:
 
Lecture 3:
4/11/17
(DB)
Control hijacking attacks: defenses   [pdfppt]
Reading:
 
Lecture 4:
4/13/17
(JM)
Principle of least privilege, access control, and operating systems security   [pdfppt]
Reading:
 
Lecture 5:
4/18/17
(DB)
Dealing with legacy code: sandboxing and isolation   [pdfppt]
Reading:
 
Lecture 6:
4/20/17
(inv)
Exploitation techniques and fuzzing   (Alex Stamos)   [pdf]
Reading:

Part 2: Web Security
 
Lecture 7:
4/25/17
(JM)
Basic web security model   [pdfppt]
Reading:
 
Lecture 8:
4/27/17
(JM)
Web application security   [pdfppt]
Reading:
 
Lecture 9:
5/ 2/17
(DB)
Session management and user authentication   [pdfppt]
Reading:
 
Lecture 10:
5/ 4/17
(JM)
Content Security Policies (CSP), Web workers, and extensions   [pdfppt]
Reading:
 
Lecture 11:
5/ 9/17
(DB)
Overview of cryptography   [pdfppt]
Reading:
 
Lecture 12:
5/11/17
(DB)
HTTPS: goals and pitfalls   [pdfppt]
Reading:

Part 3: Network security
 
Lecture 13:
5/16/17
(DB)
Security issues in Internet protocols: TCP, DNS, and routing   [pdfppt]
Reading:
 
Lecture 14:
5/18/17
(JM)
Network defense tools: Firewalls, VPNs, Intrusion Detection, and filters   [pdfppt]
Reading:
 
Lecture 15:
5/23/17
(DB)
Unwanted traffic: denial of service attacks   [pdfppt]
Reading:
 
Lecture 16:
5/25/17
(JM)
Tools for improving system security   [pdfppt]
Reading:
  • Ashcraft and Engler: Using Programmer-Written Compiler Extensions to Catch Security Holes. pdf, Sections 1-2.
  • Bau, Wang, Bursztein, Mutchler and Mitchell: Vulnerability Factors in New Web Applications. pdf

Part 4: Security of mobile platforms
 
Lecture 17:
5/30/17
(JM)
Mobile platform security models: Android and iOS   [pdfppt]
Reading:
 
Lecture 18:
6/ 1/17
(JM)
Mobile threats and malware   [pdfppt]
Reading:
 
Lecture 19:
6/ 6/17
(inv)
Final lecture: Diogo Mónica, Docker