(###)

CPSC 538M: Systems Security

[**Overview**](#overview)  **//**  [**Registration and Prerequisites**](#registration-and-prerequisites)  **//**  [**Evaluation**](#course-structure-and-grading)  **//**  [**Projects**](./projects.html)  **//**  [**Class schedule**](#reading-list)  **//**  [**Academic Integrity**](#academic-integrity)

Overview

This is a research-oriented graduate course covering topics on security and privacy techniques for software systems in the web, cloud, mobile, and edge.

Learning objectives:

Instructor: Aastha Mehta ( [firstname]k[lastinitial] [AT] cs.ubc.ca )

Office hours: Mon, 12:00 - 13:00h PT, or by appointment

Class hours: Mon/Wed 10:30 – 12:00 hours PT, ORCH 4052

Web tools: Piazza

Registration and Prerequisites

Registration: Note, the last date to add/drop out of the course is 16 Sep 2024.

Prerequisites: Undergraduate knowledge of operating systems, architecture, networking, databases, and software engineering is essential. Any background in security is welcome but not required. The course is intended for Masters and Ph.D. students in Computer Science, but enterprising Bachelors students are welcome to participate.

Prerequisites for bachelors students: Fourth year standing, satisfying honors requirements. Students should have taken CPSC 313 and CPSC 317. Having taken at least one of CPSC 435A or CPSC 436S is great, but not mandatory.

Evaluation

The primary goal of this course is to prepare you to do research. Therefore, the evaluation for this course consists of only two components (tentative, subject to change until the beginning of the course):

Class participation (35%):

Project (65%): The course project must be done in teams of 1-2. The goal of the project is to conduct original research in computer security. You are encouraged to come up with your own ideas, but you can talk to the instructor for some ideas that are well-scoped for a course project.

The project deliverables will include a research proposal, a proposal presentation, a final presentation, and a final report. For more details, please check the project page.

Class schedule

Here is a tentative schedule of papers to be covered in the class.

-->
Date
Topic Preparation material Other resources
Sep 02 *Labour Day*
Sep 04 Introduction, security overview, threat models
Sep 09 Access control [OS Access Control](https://pages.cs.wisc.edu/~remzi/OSTEP/security-access.pdf)
Sep 11
  • Access control in real systems
  • ***Register project team***
  • [Zanzibar](https://www.usenix.org/system/files/atc19-pang.pdf)
  • [Qapla](https://aasthakm.github.io/files/sec17-qapla.pdf)
  • Sep 16 Noninterference principle and information flow control (IFC) [Decentralized Label Model](https://www.cs.cornell.edu/andru/papers/iflow-tosem.pdf) [DC Labels](http://www.cse.chalmers.se/~russo/publications_files/nordsec2011.pdf)
    Sep 18 IFC in real systems
  • [RESIN](https://pdos.csail.mit.edu/papers/resin:sosp09/resin:sosp09.pdf)
  • [Grok/Legalese](https://www.andrew.cmu.edu/user/danupam/sen-guha-datta-oakland14.pdf)
  • Sep 23 Software vulnerabilities [Eternal War in Memory](https://nebelwelt.net/files/13Oakland.pdf)
    Sep 25
  • Control flow safety
  • ***Project abstract due (1 page)***
  • [CFI principles](https://users.soe.ucsc.edu/~abadi/Papers/cfi-tissec-revised.pdf) [CFI Bending](https://www.usenix.org/system/files/conference/usenixsecurity15/sec15-paper-carlini.pdf)
    Sep 30 *Regional holiday -- National Day for Truth and Reconciliation*
    Oct 02
  • Software fault isolation
  • ***1st project check-in***
  • [SFI principles](https://cseweb.ucsd.edu/~dstefan/cse227-spring21/papers/tan:sfi.pdf) [XFI](https://www.usenix.org/legacy/event/osdi06/tech/full_papers/erlingsson/erlingsson.pdf)
    Oct 07 Fine-grained sandboxing [RLBox](https://www.usenix.org/system/files/sec20-narayan.pdf)
    Oct 09
  • Compartmentalization techniques
  • ***Project proposal due (3 pages)***
  • See Piazza
  • [How to write a great research paper](https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/)
  • Oct 14 *Holiday -- Thanksgiving*
    Oct 16
  • Modeling isolation abstractions
  • ***Peer review***
  • OSMosis (See Piazza) [Survey: Security Isolation Techniques](https://dl.acm.org/doi/pdf/10.1145/2988545)
    Oct 21 ***Project proposal presentations*** [How to give a great research talk](https://www.microsoft.com/en-us/research/academic-program/give-great-research-talk/)
    Oct 23 Hardware isolation primitives [Video](https://www.youtube.com/watch?v=MREwcSo0uz4)
    Oct 28 ARM TEEs [ReZone](https://www.usenix.org/system/files/sec22fall_cerdeira.pdf) [Sanctuary](https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_01A-1_Brasser_paper.pdf)
    Oct 30 Security for accelerators [ACAI](https://n.ethz.ch/~sshivaji/publications/acai_usenix24.pdf) [StrongBox](https://fengweiz.github.io/paper/strongbox-ccs22.pdf)
    Nov 04 Cache-timing side channels
  • [Flush+Reload](https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-yarom.pdf)
  • [Prime+Probe](http://palms.ee.princeton.edu/system/files/SP_vfinal.pdf)
  • [Survey](https://eprint.iacr.org/2016/613.pdf)
    Nov 06 Cache side-channel mitigations
  • [Constant-time technique](https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/secure-coding/mitigate-timing-side-channel-crypto-implementation.html)
  • [Predictive Mitigation](https://www.cs.cornell.edu/andru/papers/ccs10.pdf)
  • Nov 11 *mid-term break*
    Nov 13 *mid-term break*
    Nov 18 Transient execution attacks [Transient execution attacks and defenses](https://www.usenix.org/system/files/sec19-canella.pdf) [Survey](https://dl.acm.org/doi/pdf/10.1145/3442479)
    Nov 20
  • Network side-channel attacks
  • ***2nd project check-in***
  • [Beauty and the Burst](https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-schuster.pdf)
    Nov 25 Hardware-software contracts [Hardware-software contracts for secure speculation](https://spectector.github.io/papers/hwsw-contracts.pdf)
    Nov 27 Network side-channel mitigations [NetShaper](https://www.usenix.org/system/files/usenixsecurity24-sabzi.pdf)
    Dec 02 Recap
    Dec 04 ***Final project presentation***
    Dec 20 ***Final project reports due (5 pages)***

    (###) Additional reading

    Acdemic Integrity





    (###) Acknowledgements

    UBC’s main Vancouver campus—including our classroom and other course spaces—is located on the traditional, ancestral and unceded territory of the Musqueam people. These lands have always been a place of learning for Musqueam youth, who were instructed in their culture, history, and tradition, and who in turn shared their knowledge with a new generation.