Skip to content

Latest commit

 

History

History
134 lines (101 loc) · 5.89 KB

index.html

File metadata and controls

134 lines (101 loc) · 5.89 KB

CSE 291-K: Building Secure Systems with Rust Deian Stefan and Evan Johnson

About

This course will explore how using a language like Rust with a powerful type system and strong safety guarantees affects the design of secure systems. Do the safety guarantees provided by Rust (e.g., memory safety) make it easier to provide stronger guarantees using techniques like verification? What classes of vulnerabilities can we completely eliminate by cleverly taking advantage of Rust's type system? Where and how do Rust's safety guarantees break down when applied to low-level systems code? To (start to) answer these questions, students will read, present, and discuss recent research papers in the field and conduct a relevant quarter-long research project in small groups.

Lectures: : Monday and Wednesday 11:00 - 12:20pm CSE 4258

Staff: : Instructors: Deian Stefan and Evan Johnson

Office hours: : Evan: Wednesday 4:00-5:00 CSE 3142

Class discussion: : We'll use the CSE slack channel cse291k-fall24

Calendar and Readings

Mon Sep 30 2024: Introduction

Wed Oct 2 2024: Rust

Mon Oct 7 2024: Safe and Unsafe Rust

Wed Oct 9 2024: Isolating untrusted code with Rust

Mon Oct 14 2024: Isolation (cont.)

Wed Oct 16 2024: Rusty embedded systems

Mon Oct 21 2024: Rusty embedded systems (day 2)

Wed Oct 23 2024: Project day

Mon Oct 28 2024: Rusty embedded systems (day 3)

Wed Oct 30 2024: The foreign function interface

Mon Nov 4 2024: Formal methods in Rust (Nico)

Wed Nov 6 2024: The foreign function interface (continued)

Mon Nov 11 2024: Veteran's Day

Wed Nov 13 2024: Static analysis on Rust

Mon Nov 18 2024: Secure VMMs

Wed Nov 20 2024: Secure HSMs

Mon Nov 25 2024: Fearless Concurrency?

Wed Nov 27 2024: Fearless Concurrency? (continued)

Mon Dec 2 2024: Confidential VMs

Wed Dec 4 2024: Operating Systems (cont)

<style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js"></script> <script> window.alreadyProcessedMarkdeep || (document.body.style.visibility="visible"); markdeepOptions= {tocStyle: 'short', sortScheduleLists: false }; </script>