Systematic Analysis of Programming Languages and Their Execution Environments for Spectre Attacks
This work addresses security vulnerabilities in programming languages and execution environments for developers and security practitioners, revealing widespread lack of protection against Spectre attacks even in security-critical code.
The researchers analyzed the security of programming languages and their execution environments against Spectre attacks, finding that only 16 out of 42 environments have mitigations for at least one variant, leaving 26 unprotected. Using their novel tool Speconnector, they developed proof-of-concept attacks in 8 programming languages and on code from 11 execution environments previously not known to be vulnerable.
In this paper, we analyze the security of programming languages and their execution environments (compilers and interpreters) with respect to Spectre attacks. The analysis shows that only 16 out of 42 execution environments have mitigations against at least one Spectre variant, i.e., 26 have no mitigations against any Spectre variant. Using our novel tool Speconnector, we develop Spectre proof-of-concept attacks in 8 programming languages and on code generated by 11 execution environments that were previously not known to be affected. Our results highlight some programming languages that are used to implement security-critical code, but remain entirely unprotected, even three years after the discovery of Spectre.