Overview
Syllabus
Intro
Transient execution attacks risk leaking information Linux maintains security using software mitigations
Software mitigations are expensive
Goal: faster mitigations
Transient execution attack example
Typical mitigation approach
Ward has a different approach
Our observation: Unmapped Speculation Contract (USC)
USC is a good hardware-software contract
Split kernel to leverage USC
Syscalls start executing in the Q-domain
World switches use two stacks
Redesigning the kernel to avoid switches
Allocating memory without world switches
Implementation
Ward does better on LEBench
Related Work: Spectrum of defenses
Open question: what is the best way to mitigate attacks?
Conclusion
Taught by
USENIX