CSE 290 -- Speculation and Security

 

Instructor: Dean Tullsen

tullsen at ucsd dot edu

The goal of this seminar is to explore, through the reading, analysis, and discussion of research papers, the interactions between control flow, control flow prediction, speculative execution, and cybersecurity.

Class meets Th 5:00-6:20 in CSE 4258

The papers to read will be posted here (so those not registered for the class will also be able to find them). There will be no canvas or piazza pages.

This class is intended to be taken for one unit. If for some reason you really need 2 units, come talk to me early in the course.

Expectations: (1) Please volunteer to present. Anyone registered for the class will present at least once (2) Please make sure you read the papers before class -- presentations will be oriented toward facilitating discussion about what you read, not necessarily presenting the material for someone who has not read the paper(s). (3) Come prepared to discuss and interact with the presentations.

Format: Most weeks we'll have a primary paper and a secondary paper. The expectation is that everyone will read the primary paper (and the presenter will present it accordingly, focusing on fostering discussion). The secondary paper is not required to be read (except by the presenter), and thus will be presented in more traditional "presentation" style.

Schedule:

January 11 Introduction, welcome, some architecture background   Dean
January 18 primary: Spectre attacks: Exploiting speculative execution
secondary: A systematic evaluation of transient execution attacks and defenses
Danial
January 25 primary: Half&Half: Demystifying Intel's Directional Branch Predictors for Fast, Secure Partitioned Execution
secondary: tbd
Hosein
February 1 primary: InvisiSpec: Making Speculative Execution Invisible in the Cache Hierarchy
secondary: Context-Sensitive Fencing: Securing Speculative Execution via Microcode Customization
Yash
February 8 primary: LVI: Hijacking Transient Execution through Microarchitectural Load Value Injection
secondary: none
Sai
February 15 primary: HyBP: Hybrid Isolation-Randomization Secure Branch Predictor Against Cross-Privilege Spectre-v2 Attacks
secondary:
Archit
February 22 RETBLEED: Arbitrary Speculative Code Execution with Return Instructions
secondary: none
Manas
February 29 primary: Branch History Injection: On the Effectiveness of Hardware Mitigations Against Cross-Privilege Spectre-v2 Attacks
zoom link: here
Luyi
March 7 primary: Swivel: Hardening WebAssembly against Spectre
secondary: tbd
Joey
March 14 primary: Going beyond the Limits of SFI: Flexible and Secure Hardware-Assisted In-Process Isolation with HFI
secondary: tbd
Nagendra
Other papers:

Jump Over ASLR https://www.cs.ucr.edu/~nael/pubs/micro16.pdf

Speculative buffer overflows https://arxiv.org/abs/1807.03757

Branch history injection https://www.usenix.org/conference/usenixsecurity22/presentation/barberis

Ret2Spec https://arxiv.org/abs/1807.10364

Sok: hardware defenses against speculative execution attacks https://arxiv.org/pdf/2301.03724

Spectre Returns! Speculation Attacks using the Return Stack Buffer