AMuLeT: Automated Design-Time Testing of Secure Speculation Countermeasures
Bo Fu, Leo Tenenbaum, David Adler, Assaf Klein, Arpit Gogia, Alaa R. Alameldeen, Marco Guarnieri, Mark Silberstein, Oleksii Oleksenko, Gururaj Saileshwar
TL;DR
AMuLeT introduces the first design-time tool for automatically testing secure speculation countermeasures inside cycle-accurate simulators. By adapting model-based relational testing (Revizor) to μ-architectural simulators, it uses a leakage contract and an executor to detect violations where contract traces diverge from actual μ-architectural traces, thereby revealing exploitable leaks. Through large-scale campaigns against InvisiSpec, CleanupSpec, STT, and SpecLFB, AMuLeT uncovers multiple known and unknown vulnerabilities within hours and demonstrates the open-source framework and methodology for rapid defense evaluation. The approach accelerates secure-countermeasure prototyping, highlights previously undiscovered weaknesses, and provides a practical path toward more robust hardware defenses before silicon implementation. AMuLeT’s open-source availability and modular design facilitate broader adoption for next-generation speculative defenses across ISAs and simulators.
Abstract
In recent years, several hardware-based countermeasures proposed to mitigate Spectre attacks have been shown to be insecure. To enable the development of effective secure speculation countermeasures, we need easy-to-use tools that can automatically test their security guarantees early-on in the design phase to facilitate rapid prototyping. This paper develops AMuLeT, the first tool capable of testing secure speculation countermeasures for speculative leakage early in their design phase in simulators. Our key idea is to leverage model-based relational testing tools that can detect speculative leaks in commercial CPUs, and apply them to micro-architectural simulators to test secure speculation defenses. We identify and overcome several challenges, including designing an expressive yet realistic attacker observer model in a simulator, overcoming the slow simulation speed, and searching the vast micro-architectural state space for potential vulnerabilities. AMuLeT speeds up test throughput by more than 10x compared to a naive design and uses techniques to amplify vulnerabilities to uncover them within a limited test budget. Using AMuLeT, we launch for the first time, a systematic, large-scale testing campaign of four secure speculation countermeasures from 2018 to 2024--InvisiSpec, CleanupSpec, STT, and SpecLFB--and uncover 3 known and 6 unknown bugs and vulnerabilities, within 3 hours of testing. We also show for the first time that the open-source implementation of SpecLFB is insecure.
