CS331, Computer Security Fundamentals, Fall 2019

Lecturer: Nick Nikiforakis
Teaching Assistants:
  • Anandh Varadarajan, avaradarajan[at sign here]cs.stonybrook.edu
  • Junyi Tao, junyi.tao[at sign here]stonybrook.edu
  • Jonathan Yin, jonyin[at sign here]cs.stonybrook.edu
TA Office hours: MW 4PM - 5PM, Old CS 2217
Lecture Times:MW 5:30 pm - 6:50 pm
Lecture Place:Light Engineering 102
Instructor Office Hours: TuTh 5:00pm - 6:00pm and by appointment
Contact: nick[email squiggly thingy] cs.stonybrook.edu
Important: When sending me an email about the course, make sure your title starts with "[CSE 331]" (without the quotes). Mislabeled or unlabeled emails will, most likely, not be read.


Class Description

In this class, we will together explore the concepts behind computer security. We will look at the core principles behind secure (and insecure) systems and how to both discover vulnerabilities as well as how to correct them.

The course will consist of lectures, assignments, and a course project.

Some of the topics that we will cover are the following:


Following a long-standing tradition in security courses, there is no official textbook for this course. I am drawing inspiration mostly from the following books:

Requirements and Grading

Subject to minor tweaks throughout the semester.

Schedule and Reading Assignments

Date Topic Reading Assignment(s)
8/26/2019Introduction, Motivation and DefinitionsReflections on Trusting Trust
9/2/2019Labor Day (No class)
9/4/2019 Authentication (continued)
9/9/2019 Authentication (continued)
9/11/2019Access Control
9/16/2019Access Control (continued)
9/18/2019Covert channels
9/23/2019Software Security
9/25/2019Software Security (continued)
9/30/2019Software Security (continued)
10/02/2019Software Security (continued)
10/07/2019Software Security (continued)
10/09/2019Secure Design Principles
10/14/2019Crash course in cryptography
10/16/2019Crash course in cryptography (continued)
10/23/2019Malicious Software
10/28/2019Instructor away on travel (No class)
10/30/2019Malicious Software (continued)
11/06/2019SSL/TLS (continued)
11/11/2019How the web works
11/13/2019How the web works (continued)
11/18/2019Web Application Security: Client side
11/20/2019Web Application Security: Client side (continued)
11/25/2019Web Application Security: Server side
12/02/2019Course Recap


Note: If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, please contact the staff in the Student Accessibility Support Center, Room 128, Educational Communications Center (ECC), 631-632-6748. The center will review your concerns and determine with you what accommodations are necessary and appropriate. All information and documentation of disability are confidential. For more information, please visit their website: https://www.stonybrook.edu/commcms/studentaffairs/sasc/

Note: Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Any suspected instance of academic dishonesty will be reported to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/uaa/academicjudiciary/.