Abstract
We present the formalization of a programming language whose operational semantics allows for the speculative execution of its statements. This type of semantics is relevant for discussing transient execution security vulnerabilities such as Spectre and Meltdown. An instantiation of Relative Security to this language is provided along with proofs of security and insecurity of selected programs from the Spectre benchmark.
License
Topics
- Computer science/Programming languages
- Computer science/Security
- Computer science/Semantics and reasoning
Related publications
- https://doi.ieeecomputersociety.org/10.1109/CSF61375.2024.00027
Session IMP_With_Speculation
- Language_Prelims
- Language_Syntax
- Step_Basic
- Step_Normal
- Step_Spec
- Instance_Common
- Instance_Secret_IMem
- Instance_Secret_IMem_Inp
- Fun1
- Fun1_insecure
- Fun2
- Fun2_secure
- Fun3
- Fun3_secure
- Fun4
- Fun4_secure
- Fun5
- Fun5_secure
- Fun6
- Fun6_secure