Systematic ISA spec inspection
Tracks registers and other ISA state affected by instructions, instead of relying on scattered prose.
Secure context switching:
Leverages machine-readable ISA specifications written in Sail
Automating the search for ISA state that privileged software must save, restore, and protect across context switches.
Usenix Security 2025 Publication
A collaboration between EPFL and IBM Research.
Published at the 34th USENIX Security Symposium, Sailor shows how machine-readable Sail ISA specifications and Isla symbolic execution can expose security-sensitive architectural state that context-switch code must handle correctly.
Guarantees
Tracks registers and other ISA state affected by instructions, instead of relying on scattered prose.
Uses executable ISA models and symbolic execution to collect the state dependencies context switches care about.
Assesses real systems, including Linux and confidential-computing monitors, for mishandled ISA state.
The Problem
Modern ISAs have hundreds of registers and instructions whose effects vary by execution. A missing save or restore step can let state leak across processes, privilege domains, or enclaves.
Our Approach
Sailor analyzes machine-readable Sail ISA specifications with Isla, then identifies the architectural state that context-switch implementations must preserve to avoid subtle security failures.