[538P] Topic in Computer Systems: Systems Security (2022-2023)

Course Description

The goal of this course is to expose students to a variety of topics in Systems Security. Security inherently touches on all areas of computer science. Therefore, this course was designed as a breadth course, addressed to all students in the department. The core idea underlying the course is to bring together a diversity of viewpoints to generate interesting discussions. On the other hand, we could also easily design a depth course focused on any of the topics we will discuss. The project component is the opportunity for students to explore one of those topics in more depth. Students are free (and encouraged) to apply their expertise (ML, PL, HCI, architecture etc.) to solve a specific Security problem. Some of the papers have been selected explicitly to highlight the interdisciplinary nature of Systems Security and to showcase how diverse perspectives are welcomed and appreciated.

Course Requirements

There is no specific pre-requisite for this course outside of an undergraduate degree in Computer Science or closely related topics.

Course Objectives

  • reason about security problems;
  • learn to read, critique, and write security papers;
  • better understand the review process;
  • implement and evaluate a security prototype.

Class format

This is a seminar-type class. Every class we will discuss a different paper. I have selected a mix of recent and older papers. There will be two presenters during each class. Each presenter will play a different role: the role of the Advocate and the role of the Critic. The Advocate should play a role similar to that of the original authors and try to sell the work to the audience. On the other hand, the Critic while remaining objective should towards the end of the presentation highlight the flaw of the paper and convince the audience that the paper is not good. The Advocate presentation will last 20-25 minutes, you should motivate the work, summarize the paper, and present the results. The Critic presentation will last 10 minutes, you do not need to cover motivation or summarization, instead you should focus on the shortcomings of the paper. While shorter, the critical presentation is probably harder to prepare.

In order to do well during your presentation, you should remember to stick to your role (Advocate or Critic). Further, you do not need to spend too much time explaining the basics of the paper, everyone in the class will have already read it. What add value to the presentation is your opinion and the insights you can extract from the paper! This is what you should focus on.

You should expect to present at least 2 or 3 times during the term depending on the number of students registered. After the presentation, we will take a 10 minutes break and discuss the paper. You should come prepared for those discussions and be ready to engage. Submissions are to be made on canvas, unless specified otherwise.

Paper reports

For each assigned paper you must write a report. You are to use the USENIX latex template for formatting. You must submit your reports on Canvas. In your report, please, follow this structure:

Paper Summary (no more than 250 words)

Provide a brief summary of the paper (3-5 sentences is usually enough). The aim is to demonstrate that you’ve read (and understood) the paper, so try to paraphrase and extract the essentials. At this stage you should aim to be objective; later sections allow for your own opinion.

Answer the following (no more than 750 words in total)

The Problem

What is the problem? Why is it important? Why is previous work insufficient (or Why has the problem not been solved before, e.g. it’s a new problem the authors have identified). This is your take on what the authors say in the paper (so again should be fairly objective). If the paper doesn’t seem to tackle a particular problem, then focus on the primary motivation for the work. 1-2 sentences for each of the three questions is probably sufficient.

The Solution (or Approach)

What is their approach/solution? How does it solve the problem? How is the solution unique and/or innovative (if it is)? What are the details? Once more you should use the paper itself as the source to help you answer these questions– but, as in previous parts, please do not just copy sections from the paper. Instead, you should focus on paraphrasing/synopsizing, and extracting the essential details. Depending on the paper, you’ll probably need 5-10 sentences here.

Evaluation

How do they evaluate their solution? What questions do they set out to answer? What does the evaluation say about the strengths and weaknesses of their system? What are the strengths and weaknesses of the evaluation itself do you think? A total of 3-4 sentences should suffice here – we’re looking for highlights, not a point-by-point reproduction of the evaluation section(s). In the rare case that there is no evaluation section, skip this part of the report.

Questions for the Authors

Imagine you’re attending a talk about this paper given by one of the authors. List at least 2 questions that you would like to ask. These should ideally be specific to the paper/research.

You should submit 23 paper reports (subject to change). Each report done properly is equivalent to 1% of your final grade for a total of 20%. The 5 worst report score will be ignored (this gives you 5 effective jokers).

Project

The project must address a non-trivial problem relevant to systems security. The project can resolve the problem by building a system, collecting data/carrying out experiments, developing algorithms and proving them correct, etc. I strongly prefer that you do your project in a team of 2-4 people. You are encouraged to apply techniques from your main area of expertise to the topic of security (e.g., perform intrusion detection using ML techniques).

You should plan to schedule some time to chat about your project idea with me. Please, do not hesitate to send me an e-mail as soon as you want to discuss it.

The required project deliverables are listed below. Written submissions will be made through hotcrp and must be formatted using the USENIX latex template.

  • Project Proposal Draft: You are to submit the draft of your proposal on hotcrp. It will not be directly graded but will receive reviews from your peers.
  • Proposal Presentation: You will prepare a short presentation describing the project you intend to work on. Each presentation will be followed by a Q&A session. Presentation timing and details TBD.
  • Proposal Peer Review: each student will review proposals from other groups and give feedback. You should take this task seriously. Please, check the CCS-inspired guidelines online.
  • Project Proposal: you should incorporate feedback from the peer review process. I also strongly encourage you to schedule time to chat with me.
  • Project Report Draft: You are to submit the draft of your report on hotcrp. It will not be directly graded but will receive reviews from your peers.
  • Project Presentation: You will prepare a presentation describing your project. I encourage you to demo your project during your talk. Each presentation will be followed by a Q&A session. Presentation timing and details TBD.
  • Report Peer Review: as per the proposal stage, you will be asked to review the report from other teams. Please, check the CCS-inspired guidelines online.
  • Project Report: you should incorporate feedback from the peer review process. I also strongly encourage you to schedule time to chat with me.

Proposal Instuction

Your proposal should be short (~4 pages). The main objective is to assess the viability of the proposed project. You are expected to have completed a limited amount of work at this stage.

It must contain the following element:

  • Problem statement (4 paragraphs): Paragraph 1) At a high level, what is the problem area you are working on, and why is it important? It is important to set the larger context here. Why is the problem of interest and importance to the larger community? Paragraph 2) What is the specific problem considered in this paper? This paragraph narrows down the topic area of the paper. In the first paragraph, you have established general context and importance. Here you describe a specific context and background. Paragraph 3) What general approach are you planning to take? Why do you expect significant results? You won’t have done the work at this stage, but you should think about the results you expect to obtain. Paragraph 4) At a high level, what are the differences between what you are doing and what others have done?
  • Related Work (1 page): There are two types of related work: background work and contextual work. Background work includes contributions that are required to understand your work. They must be described in sufficient detail so that any of your classmates can understand what you are doing and why. Contextual work is necessary to help the readers place your work and identify your contributions. This includes past contributions you build upon in your own solution, work that solves the same problem but in different ways, and contributions from adjacent areas (solving a similar problem in a different domain). It is important to remember that doing something differently is not a contribution. It must be clear why you are taking an alternative approach (e.g., you exercise different trades-off, improve performance, etc.). You may have yet to perform an exhaustive literature review when submitting the proposal. Still, you need to have identified important work, know where to look for more, and clearly understand how your proposal differs from previous work. If you identify flaws in past work that you aim to address, identify and state them clearly. If you have yet to read all the papers you intend to read; you should list all those you have identified and plan to read. You should also identify areas/domains where you plan to look for relevant work. However, you should explicitly compare your proposed solution to some previous work (a few sentences per publication are enough).
  • Experimental setup (1 page): What experiments will you conduct? Why? What question is each experiment designed to answer? What do you hope to learn from each experiment? What measurement tools will you use? How will you determine if your measurements are accurate? What tests will you conduct conditionally? (For example, if we learn X from experiment 1, then we must do A else do B.) What problems do you expect? This part is essential to receive meaningful feedback and plan your research. This is where most of the proposal effort should go.
  • Resources Needed (<1 page): What equipment/software/tool will you need? Do you have access to it? How could you get access? You do not want to find out, midway through the project, you need access to resources that are not available.
  • Schedule (<1 page): You should be as precise as you can, identify important milestones, and make sure you allocate time to write the report and incorporate peers feedback.
  • Distinction from Thesis (1-2 paragraphs): You can and you are encouraged to work on a topic related to your thesis. However, your project must be distinct from your main research. You must explicit this distinction (in some cases, a single sentence is enough).

Report Instruction

You should write your final report as you would write a research paper. Your report should be at most 13 pages, including figures and tables, but excluding references. Be sure to highlight your work’s limitations honestly and discuss when your results did not meet your expectations/hypothesis. Try to explain why this happens. I expect some of the reports you submit to be suitable to be turned into conference submissions. I am more than happy to work with you to make it happen. You MUST include a link to the software artifact(s) backing your paper.

Project Presentations

Proposal Presentation

The proposal presentation should last no more than 20 minutes. You should expect questions at the end of the presentation and may allow questions during the presentation. You should clearly explain what problem you are planning to explore and why it is an important problem. You should walk your audience through your research plan and how you are planning to evaluate the outcome of your project. The presentation should be accessible to a knowledgeable but non-expert audience. The presentation is graded as a group, how you want to present is the responsibility of the group members.

Audience should read through the proposal they have been assigned to review beforehand and be ready to ask some questions. This should be non-adversarial and with the intent of helping your classmates.

Final Presentation

The final presentation should not last more than 15 minutes. You should expect 5/10 minutes of questions at the end of the presentation. You presentation must discuss the motivation behind your work, the design of your solution, the evaluation you have performed, and discuss explicitly any limitations of your work. The presentation should be accessible to a knowledgeable but non-expert audience. The presentation is graded as a group, how you want to present is the responsibility of the group members.

Audience should read through the proposal they have been assigned to review beforehand and be ready to ask some questions. This should be non-adversarial and with the intent of helping your classmates.

Deadlines

  • Project Proposal Draft: Friday, February 10th
  • Proposal Presentation: Wednesday, February 15th
  • Proposal Peer Review: Friday, February 17th
  • Project Proposal: Monday, February 27th
  • Project Report Draft: Friday, April 7th
  • Project Presentation: Wednesday, April 12th
  • Report Peer Review: Friday, April 14th
  • Project Report: Friday, April 28th

Grading

  • Paper reports 20%
  • Presentation(s) 10%
  • Project (group) 50%
  • Peer Review 15%
  • Participation (in-class discussion) 5%

Schedule & Reading List (subject to change)

Classes take place in DMP 101.

Day Paper Presenters
Jan 9 Mon Introduction - Course Overview - Reading a Paper
Reading (no report): How to read a paper
Jan 11 Wed A Study on the Security Implications of Information Leakages in Container Clouds
Jan 16 Mon Houdini’s Escape: Breaking the Resource Rein of Linux Control Groups
Jan 18 Wed SCONE: Secure Linux Containers with Intel SGX
Jan 23 Mon rkt-io: a direct I/O stack for shielded execution
Jan 25 Wed Security Namespace: Making Linux Security Frameworks Available to Containers
Jan 30 Mon Demons in the Shared Kernel: Abstract Resource Attacks Against OS-level Virtualization
Feb 1 Wed Anomaly detection using call stack information
Feb 6 Mon A fast automaton-based method for detecting anomalous program behaviors
Feb 8 Wed Fast Memory-efficient Anomaly Detection in Streaming Heterogeneous Graphs
Feb 13 Mon DeepAID: Interpreting and Improving Deep Learning-based Anomaly Detection in Security Applications
Feb 15 Wed Proposal Presentation
Feb 20 Mon Midterm Break
Feb 22 Wed Midterm Break
Feb 27 Mon Automated whitebox fuzz testing
Mar 1 Wed AFL++: Combining Incremental Steps of Fuzzing Research
Mar 6 Mon kAFL: Hardware-assisted feedback fuzzing for OS kernels
Mar 8 Wed IoTFuzzer: Discovering Memory Corruptions in IoT Through App-based Fuzzing
Mar 13 Mon Rethinking Access Control and Authentication for the Home Internet of Things (IoT)
Mar 15 Wed Information Exposure From Consumer IoT Devices: A Multidimensional, Network-Informed Measurement Approach
Mar 20 Mon Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems
Mar 22 Wed Software fault isolation with API integrity and multi-principal modules
Mar 27 Mon LXDs: Towards isolation of kernel subsystems
Mar 29 Wed Preventing Kernel Hacks with HAKC
Apr 3 Mon RedLeaf: Isolation and Communication in a Safe Operating System
Apr 5 Wed EROS: a fast capability system
Apr 10 Mon Cheri: A hybrid capability-system architecture for scalable software compartmentalization
Optional reading: Introduction to CHERI
Apr 12 Wed Project Presentation

Late Policy

You will receive a 0 for late work unless you have an approved extension.

For individual assignments, the deadline for one assignment can be extended by 24 hours with no penalty to the mark. Extension requests must be made explicitly through e-mail. Extension requests must be made no later than 24 hours past the deadline.

For group tasks, you can request an extension of 24 hours as long as someone in your group has an unused extension. You cannot receive an extension of more than 24 hours for a group deliverable.

Academic honesty and collaboration guidelines

The department has a detailed policy regarding collaboration and plagiarism. You must familiarize yourself with this policy.

Paper reports: You should write your reports individually. You are free to discuss with others, but you must write the reports on your own. You should clearly reference any resources you have used.

Projects: you are free to use any code you find in your project. However, a non-trivial fraction of functionality in your prototype must be constructed by your team. You must cite and attribute sources of the code that you borrow/utilize in your project. When writing the project reports, you should follow the same citation standard as expected from conference papers.

Extra Reading Material

Thomas Pasquier
Thomas Pasquier
Assistant Professor

My research interests include provenance, operating systems, distributed systems and intrusion detection.