REVIEW 3 major objections 4 minor 98 references
dfence: Fine-Grained Speculation Barriers for Efficient and Effective Hardware-Software Protection in the Spectre Era (Extended Version)
T0 review · 3 major / 4 minor · reviewed 2026-08-07 · deepseek-v4-flash
Pith's one-line read dfence introduces a single CPU instruction that blocks both Spectre-PHT and Spectre-STL leakage at under 1% performance overhead.
desk verdict A serious formal contribution with a weaker empirical security story than its headline suggests; worth reviewing, needs revision. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The key machinery is the dfence instruction itself, a selective register fence whose semantics (rule [SDfence]) under misspeculation sets the protected register to $\bot$, so dependent instructions cannot transiently use it. Around this the paper wraps two supports: a two-level type system in which each register has a non-speculative and a speculative confidentiality level and every transient load's destination is typed $(\cdot,H)$, and hardware speculation tracking in the reorder buffer and reservation stations that keeps a dfence from executing until all older speculation has resolved. Together they make 'protect the secret before it reaches an unsafe operand' a checkable, enforceable contract rather than a programmer convention.
What would settle it
A concrete falsifier: on a processor implementing dfence, execute a predictive-store-forwarding gadget in which the forwarded store value is secret and the following load address depends on it, with dfence placed as prescribed; if the cache-set access pattern differs between two secret values, the [SDfence] rule or its hardware implementation is wrong.
Extended reading notes
Core claim
The central discovery is that a fine-grained, register-specific fence can generalize SLH's value protection to speculation sources that software cannot see. The paper specifies dfence x as a selective register fence: its operand x is not forwarded to subsequent instructions until the value becomes non-speculative, and the [SDfence] semantic rule makes x unavailable ($\bot$) whenever the misspeculation flag is set. Hardware taint tracking records every speculative source — conditional branches, store-to-load bypasses, and predictive store forwarding — and blocks a dfence in its reservation station until those sources resolve. On the software side, each register carries a pair of security levels (non-speculative, speculative), and a load is always given speculative type H because transient loads can be out-of-bounds or forward stale values; dfence x resets the speculative type of x to its non-speculative type. The paper proves (Theorem 1) that every program accepted by this type system is $\simeq_\Gamma$-speculative constant-time, meaning two runs that agree on public memory produce identical leakage traces under identical speculation directives.
Load-bearing premise
The guarantee depends on the leakage model being exactly the one proved — memory addresses and branch conditions — and on the hardware holding the protected register until every modeled speculation source resolves; any real processor that resolves store-to-load speculation by value instead of address, any transient jump outside the statically known target set, or any compiler-inserted memory access breaks the proof.
Editorial extensions
If this is right
- Cryptographic code can be hardened against Spectre-PHT and Spectre-STL with one dfence per sensitive register instead of a global software mask or a global disable of store-to-load forwarding.
- Because the hardware, not software, tracks speculation, dfence covers store-bypass and predictive-store-forwarding leaks that Speculative Load Hardening cannot detect.
- The type system rejects gadgets such as Spectre v1.1 by requiring that indirect jump and return targets be protected with dfence, making transient control-flow redirection untypable.
- A drop-in dfence replacement inside existing compiler-based SLH passes would likely reduce their overhead, since dfence removes the need for a dedicated misspeculation register and its updates.
- Implementing dfence as a fully serializing fence or as an unoptimized delayed-forwarding instruction is already secure; the optimized variant just adds taint-based speculation tracking.
Reading between the lines
- If dfence were adopted commercially, the roughly 12% average cost of disabling store-to-load speculation globally could disappear, since only registers that actually carry secret data are held back.
- The same value-protection principle appears to extend to load-address prediction attacks by adding that speculation source to the hardware's tracking; the paper sketches this extension but does not implement it.
- An automatic insertion pass that places dfence wherever the type system sees a value that is public architecturally but secret speculatively could push most of the annotation burden into the compiler; the paper's initial heuristics already protect several primitives without manual edits.
- The source-level proof leaves two unverified links — the compiler must preserve speculative constant-time and the CPU must implement the dfence rule faithfully — so a formal end-to-end proof would close the remaining gap between the security contract and the shipped binary.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper introduces dfence, a new RISC-V instruction that acts as a selective register fence: it prevents a designated register's value from being forwarded to dependent instructions until the value becomes non-speculative. The authors present a small imperative language with a speculative operational semantics, a type system that tracks non-speculative and speculative confidentiality levels, and a soundness theorem (Theorem 1) stating that well-typed programs are speculative constant-time (SCT) against PHT, SSB, and PSF speculation in the abstract model. They implement dfence in the Proteus RISC-V core, report less than 1% geometric-mean overhead on cryptographic benchmarks, and perform a security evaluation on 40 secure and 40 insecure generated programs. The extended version contains the operational semantics (Appendix B), the soundness proof (Appendix C), a jump-target analysis (Appendix D), and detailed benchmark tables (Appendix E).
Significance. If the claims hold, this is a significant contribution: it provides a clean hardware-software co-design that generalizes SLH to store-to-load speculation, with a formally analyzed type system and a concrete, low-cost hardware implementation. The formal development is substantial and unusually detailed for a systems paper, including a Scott-continuity argument to handle recursive jump-continuation reasoning in the soundness proof. The open-source artifact and reproducibility materials are a concrete strength. The main caveat is that the end-to-end security guarantee is not actually established: the theorem applies to an abstract semantics, and the bridge to the Proteus binary relies on two unverified steps (compiler preservation of SCT and hardware conformance to the [SDfence] rule), while the empirical validation of that bridge is underpowered because only 20 of the 40 insecure control programs leaked.
major comments (3)
- [§6.1] The security evaluation reports that only 20 of the 40 deliberately insecure programs leaked, under both the conservative and liberal signal sets. Consequently, for the remaining 20 insecure programs, the harness produces identical signal sets for the two secret inputs whether the program is protected or not, so the companion result that all 40 protected programs are secure has no discriminating power for those leakage classes. The paper should either report which of the four speculation strategies and five leakage channels are actually exercised by the leaking controls, add tests that make the non-leaking classes leak, or explicitly weaken the statement that the evaluation confirms that dfence effectively closes leaks on Proteus. As written, the empirical validation of hardware conformance to the [SDfence] rule is substantially weaker than the 'all 40 programs secure' phrasing suggests.
- [§4, §9.2] The central theorem (Theorem 1) is proved for the abstract semantics of Appendix B, not for binaries running on Proteus. The paper explicitly acknowledges in Section 9.2 that compiler preservation of speculative constant-time and hardware conformance to the [SDfence] rule are open. This is a load-bearing gap: the paper's strongest claim—that dfence protects programs against PHT, SSB, and PSF at negligible overhead—requires those two unverified steps to connect the theorem to the actual CPU. The abstract and conclusion should state this scoping explicitly rather than presenting end-to-end protection as an achieved result.
- [§B, §9.1] The formal leakage model covers only memory operands and branch guards, and the SSB and PSF rules ([SLoad-PSF], [SLoad-SSB]) are address-based. Section 9.1 notes that value-based PSF/SSB resolution would break the model and require orthogonal defenses, and that BTB/RSB speculation is excluded. These are significant scope limitations, and the abstract's unqualified phrase 'mitigates both Spectre-PHT and Spectre-STL' overstates what the theorem and the Proteus configuration actually cover. The claims should be qualified to the address-based, PHT/SSB/PSF model used in the formal development.
minor comments (4)
- [Figure 2, rule [TOp]] The rule as printed requires every sub-expression op(E1,…,Ek) to have exactly the same type σ, which is needlessly restrictive for binary operators with mixed operands. Please clarify whether this is intentional (with [TSub] used to unify) or whether the rule is intended to take a join of per-operand types.
- [§6.2.1, Table 3] The negative overheads (e.g., -3.15% for Keccak-f1600) are explained by a hypothesis about reduced transient-instruction squashing. Since these are cycle-accurate simulator measurements, it would be helpful to report run-to-run variance or a sensitivity analysis to rule out measurement artifacts.
- [§6.1] Each program is run only twice, with a single pair of secret inputs, against two manually selected signal sets. The paper should state this sampling limitation explicitly in the security-evaluation methodology and discuss how the choice of inputs and signals affects the sensitivity of the leak test.
- [Appendix C, Lemma 22 proof] The proof of Lemma 22 refers to assumptions (H1)–(H4), but the lemma statement lists only (C1) and (C2); the numbering should be aligned to avoid confusion.
Circularity Check
No significant circularity: Theorem 1 is proved against an explicit operational semantics, and the evaluation rests on measurements and open artifacts rather than on fitted or self-cited premises.
full rationale
The paper's central claim is the soundness theorem (Theorem 1: "If Γ⊢P : Σ then P is ≊Γ-SCT"), which is established in Appendix C by induction over the typing derivation against the operational semantics of Figure 3. The [SDfence] rule and the [TDfence] typing rule are co-designed, but that is not circular: the semantics fixes the instruction's behavior (setting x to ⊥ under misspeculation) and the type system is then proved to make observations equal on related states; the proof is a genuine subject-reduction/Scott-continuity argument, not a restatement of the conclusion. The claims for Spectre-PHT, SSB and PSF are accounted for by the speculative rules [SLoad-OOB], [SLoad-PSF] and [SLoad-SSB] used in the proof. The end-to-end security of the binary is explicitly acknowledged as an open gap in §9.2 ("There is currently a gap between our Jasmin-level security contract and its hardware implementation"), and the §6.1 evaluation's 20/40 sensitivity for insecure controls is an empirically underpowered validation, but that is a correctness-risk issue rather than a circular reduction. The performance numbers are direct cycle measurements on the Proteus simulator, with no fitted parameters renamed as predictions. Citations to Proteus, Jasmin, and ProSpeCT are references to open, code-reproduced infrastructure or prior comparison baselines; none is used as the sole justification of the security theorem, so they do not make the argument circular.
Assumptions & free parameters
assumptions (7)
- domain assumption Non-speculative (architectural) memory safety of programs
- domain assumption Leakage model is restricted to memory operands and guards of control-flow instructions
- domain assumption SSB and PSF speculation resolve by address, not by value
- domain assumption BTB and RSB speculation are handled by complementary defenses
- domain assumption Compilation preserves speculative constant-time
- domain assumption Jump targets can be statically over-approximated for v1.1 protection
- standard math Scott-continuity and fixed-point reasoning for the jump context
invented entities (1)
-
dfence instruction
Cite this review
Pith. "Pith review of dfence: Fine-Grained Speculation Barriers for Efficient and Effective Hardware-Software Protection in the Spectre Era (Extended Version)." pith.science (2026). https://pith.science/paper/FYP5DBGS
@misc{pith2026260806124,
author = {Pith},
title = {Pith review of: dfence: Fine-Grained Speculation Barriers for Efficient and Effective Hardware-Software Protection in the Spectre Era (Extended Version)},
year = {2026},
howpublished = {\url{https://pith.science/paper/FYP5DBGS}},
note = {Machine review of arXiv:2608.06124}
}
read the original abstract
Speculative execution attacks such as Spectre-PHT and Spectre-STL remain a critical security concern in modern processors. While software-based mitigations like Speculative Load Hardening (SLH) offer effective protection against Spectre-PHT, they are limited in scope and require software-managed speculative masks, which can be error-prone and costly. Defenses against Spectre-STL, such as the Speculative Store Bypass Disable bit (SSBD), incur additional performance overhead and lack fine-grained control. In this work, we introduce dfence, a new CPU instruction that generalizes SLH to mitigate both Spectre-PHT and Spectre-STL with minimal hardware support. dfence enables developers to annotate sensitive registers, with the hardware ensuring that these values do not leak transiently. We implement dfence in the Proteus CPU and evaluate its security and performance, demonstrating less than 1% average performance overhead for our benchmarks. In addition, to support easy and secure adoption, we design a type system that statically verifies the correct placement of dfence instructions in code.
Figures
Figures from the paper (3 more)
Reference graph
Works this paper leans on
-
[1]
Intel 2024.Hardware Features and Behaviors Related to Speculative Execution. Intel. https://www.intel.com/content/www/us/en/developer/articles/technical/ software-security-guidance/technical-documentation/hardware-behavior- related-to-speculative-execution.html
2024
-
[2]
Alejandro Cabrera Aldaya, Billy Bob Brumley, Sohaib ul Hassan, Cesar Pereida García, and Nicola Tuveri. 2019. Port Contention for Fun and Profit. InIEEE S&P. IEEE. doi:10.1109/SP.2019.00066
arXiv 2019
-
[3]
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Arthur Blot, Benjamin Grégoire, Vincent Laporte, Tiago Oliveira, Hugo Pacheco, Benedikt Schmidt, and Pierre-Yves Strub. 2017. Jasmin: High-Assurance and High-Speed Cryptography. InCCS. ACM. doi:10.1145/3133956.3134078
arXiv 2017
-
[4]
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, François Dupressoir, and Michael Emmi. 2016. Verifying Constant-Time Implementations. InUSENIX Secu- rity. USENIX Association. https://www.usenix.org/conference/usenixsecurity16/ technical-sessions/presentation/almeida
2016
-
[5]
2021.Security Analysis of AMD Predictive Store Forwarding
AMD. 2021.Security Analysis of AMD Predictive Store Forwarding. https://www.amd.com/system/files/documents/security-analysis-predictive- store-forwarding.pdf
2021
-
[6]
2023.Software Techniques for Managing Speculation on AMD Processors
AMD. 2023.Software Techniques for Managing Speculation on AMD Processors. White Paper Revision 5.09.23. https://www.amd.com/content/dam/amd/en/ documents/processor-tech-docs/programmer-references/software-techniques- for-managing-speculation.pdf
2023
-
[7]
Basavesh Ammanaghatta Shivakumar, Gilles Barthe, Benjamin Grégoire, Vincent Laporte, Tiago Oliveira, Swarn Priya, Peter Schwabe, and Lucas Tabary-Maujean
-
[8]
Herinomena Andrianatrehina, Ronan Lashermes, Joseph Paturel, Simon Rokicki, and Thomas Rubiano. 2025. Exploring speculation barriers for RISC-V selective speculation. InARES. ACM. https://hal.science/hal-05061555
2025
Show all 98 references
-
[9]
Santiago Arranz Olmos, Gilles Barthe, Lionel Blatter, Benjamin Grégoire, and Vincent Laporte. 2025. Preservation of Speculative Constant-Time by Com- pilation.Proceedings of the ACM on Programming Languages9, POPL (2025). doi:10.1145/3704880
2025 doi
-
[10]
Santiago Arranz Olmos, Gilles Barthe, Chitchanok Chuengsatiansup, Benjamin Grégoire, Vincent Laporte, Tiago Oliveira, Peter Schwabe, Yuval Yarom, and Zhiyuan Zhang. 2025. Protecting Cryptographic Code Against Spectre-RSB: (and, in Fact, All Known Spectre Variants). InASPLOS, V...
2025
-
[11]
Jonathan Baumann, Roberto Blanco, Léon Ducruet, Sebastian Harwig, and Catalin Hritcu. 2025. FSLH: Flexible Mechanized Speculative Load Hardening. InIEEE CSF. IEEE, 569–584. doi:10.1109/CSF64896.2025.00023
2025
-
[12]
Bernstein
Daniel J. Bernstein. 2005. Cache-timing attacks on AES. https://cr.yp.to/ antiforgery/cachetiming-20050414.pdf
2005
-
[13]
Bernstein
Daniel J. Bernstein. 2005. The Poly1305-AES Message-Authentication Code. In FSE. Springer. doi:10.1007/11502760_3 Davide Davoli, Marton Bognar, Lesly-Ann Daniel, Benjamin Grégoire, Frank Piessens, and Tamara Rezk
2005 doi
-
[14]
Bernstein
Daniel J. Bernstein. 2006. Curve25519: New Diffie-Hellman Speed Records. In PKC. Springer. doi:10.1007/11745853_14
2006 doi
-
[15]
Bernstein
Daniel J. Bernstein. 2008. ChaCha, a variant of Salsa20. InSASC, Vol. 8. ECRYPT. https://www.ecrypt.eu.org/stvl/sasc2008/SASCRecord.zip
2008
-
[16]
Daniel J. Bernstein, Stefan Kölbl, Stefan Lucks, Pedro Maat Costa Massolino, Florian Mendel, Kashif Nawaz, Tobias Schneider, Peter Schwabe, François-Xavier Standaert, Yosuke Todo, and Benoît Viguier. 2017. Gimli : A Cross-Platform Permutation. InCHES. Springer. doi:10.1007/978...
2017 doi
-
[17]
Bernstein, Tanja Lange, and Peter Schwabe
Daniel J. Bernstein, Tanja Lange, and Peter Schwabe. 2012. The Security Impact of a New Cryptographic Library. InLATINCRYPT. Springer. doi:10.1007/978-3- 642-33481-8_9
2012 doi
-
[18]
2011.The Keccak Reference
Guido Bertoni, Joan Daemens, Michaël Peeters, and Gilles Van Assche. 2011.The Keccak Reference. Reference Specification Version 3.0. https://keccak.team/files/ Keccak-reference-3.0.pdf
2011
-
[19]
Atri Bhattacharyya, Alexandra Sandulescu, Matthias Neugschwandtner, Alessan- dro Sorniotti, Babak Falsafi, Mathias Payer, and Anil Kurmus. 2019. SMoTh- erSpectre: Exploiting Speculative Execution through Port Contention. InCCS. ACM. doi:10.1145/3319535.3363194
2019
-
[20]
G. R. Blakley. 1979. Safeguarding cryptographic keys. InMARK. IEEE. doi:10. 1109/MARK.1979.8817296
1979
-
[21]
RISC-V Summit Europe
Marton Bognar, Job Noorman, and Frank Piessens. 2023. Proteus: An Extensible RISC-V Core for Hardware Extensions. Presented at "RISC-V Summit Europe". https://lirias.kuleuven.be/4088721
2023
-
[22]
Schanck, Peter Schwabe, Gregor Seiler, and Damien Stehle
Joppe Bos, Leo Ducas, Eike Kiltz, T Lepoint, Vadim Lyubashevsky, John M. Schanck, Peter Schwabe, Gregor Seiler, and Damien Stehle. 2018. CRYSTALS - Kyber: A CCA-Secure Module-Lattice-Based KEM. InIEEE EuroS&P. IEEE. doi:10.1109/EuroSP.2018.00032
2018
-
[23]
Lucy Bowen and Chris Lupo. 2020. The Performance Cost of Software-based Security Mitigations. InICPE. ACM. doi:10.1145/3358960.3379139
2020
-
[24]
Claudio Canella, Jo Van Bulck, Michael Schwarz, Moritz Lipp, Benjamin von Berg, Philipp Ortner, Frank Piessens, Dmitry Evtyushkin, and Daniel Gruss. 2019. A Systematic Evaluation of Transient Execution Attacks and Defenses. InUSENIX Security. USENIX Association, 249–266. https...
2019
-
[25]
2018.Speculative Load Hardening
Chandler Carruth. 2018.Speculative Load Hardening. https://llvm.org/docs/ SpeculativeLoadHardening.html
2018
-
[27]
Tullsen, Deian Stefan, Tamara Rezk, and Gilles Barthe
Sunjay Cauligi, Craig Disselkoen, Klaus von Gleissenthall, Dean M. Tullsen, Deian Stefan, Tamara Rezk, and Gilles Barthe. 2020. Constant-time foundations for the new spectre era. InPLDI. ACM. doi:10.1145/3385412.3385970
2020
-
[28]
Fletcher, David Kohlbrenner, Riccardo Paccagnella, and Daniel Genkin
Boru Chen, Yingchen Wang, Pradyumna Shome, Christopher W. Fletcher, David Kohlbrenner, Riccardo Paccagnella, and Daniel Genkin. 2024. GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers. InUSENIX Security. USENIX Association. h...
2024
-
[29]
Xiaoyu Cheng, Fei Tong, Hongyu Wang, Zhe Zhou, Fang Jiang, and Yuxing Mao
-
[30]
Rutvik Choudhary, Jiyong Yu, Christopher Fletcher, and Adam Morrison. 2021. Speculative Privacy Tracking (SPT): Leaking Information From Speculative Exe- cution Without Compromising Privacy. InMICRO. ACM. doi:10.1145/3466752. 3480068
2021 doi
-
[31]
Md Hafizul Islam Chowdhuryy and Fan Yao. 2022. Leaking Secrets Through Modern Branch Predictors in the Speculative World.IEEE Trans. Comput.71, 9 (2022). https://doi.org/10.1109/TC.2021.3122830
2022
-
[32]
Gaidis, Vaggelis Atlidakis, and Vasileios P
Neophytos Christou, Alexander J. Gaidis, Vaggelis Atlidakis, and Vasileios P. Ke- merlis. 2024. Eclipse: Preventing Speculative Memory-error Abuse with Artificial Data Dependencies. InCCS. ACM. doi:10.1145/3658644.3690201
2024
-
[33]
2025.formosa-mldsa
Formosa Crypto. 2025.formosa-mldsa. https://github.com/formosa-crypto/ formosa-mlkem
2025
-
[34]
2025.formosa-mlkem
Formosa Crypto. 2025.formosa-mlkem. https://github.com/formosa-crypto/ formosa-mldsa/tree/armv7m-riscv32
2025
-
[35]
2025.libjade
Formosa Crypto. 2025.libjade. https://github.com/formosa-crypto/libjade
2025
-
[36]
Lesly-Ann Daniel, Marton Bognar, Job Noorman, Sébastien Bardin, Tamara Rezk, and Frank Piessens. 2023. ProSpeCT: Provably Secure Speculation for the Constant-Time Policy. InUSENIX Security. USENIX Association. https: //www.usenix.org/conference/usenixsecurity23/presentation/daniel
2023
-
[37]
Davide Davoli, Marton Bognar, Lesly-Ann Daniel, Benjamin Grégoire, Frank Piessens, and Tamara Rezk. 2026. dfence: Fine-Grained Speculation Barriers for Efficient and Effective Hardware-Software Protection in the Spectre Era. InCCS. ACM, 35. doi:10.1145/3830454.3832748
2026
-
[38]
Jesse De Meulemeester, Quinten Norga, Frank Piessens, Ingrid Verbauwhede, and Marton Bognar. 2025. Hardware Cost Evaluation in Systems Security. In ACM REP. doi:10.1145/3736731.3746155
2025
-
[39]
Jack Doweck. 2006. Intel Smart Memory Access and the Energy- Efficient Performance of the Intel Core Microarchitecture. https: //web.archive.org/web/20231026102745/https://www.all-electronics.de/wp- content/uploads/migrated/document/196371/413ei0507-intel-sma.pdf
2006
-
[40]
Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, Peter Schwabe, Gregor Seiler, and Damien Stehlé. 2018. CRYSTALS-Dilithium: A Lattice-Based Digital Signature Scheme.IACR Transactions on Cryptographic Hardware and Embedded Systems2018, 1 (2018). doi:10.13154/TCHES.V...
2018 doi
-
[41]
Jacob Fustos, Michael Garrett Bechtel, and Heechul Yun. 2020. SpectreRewind: Leaking Secrets to Past Instructions. InASHES@CCS. ACM. doi:10.1145/3411504. 3421216
2020 doi
-
[42]
1996.Speculative Execution Based on Value Prediction
Freddy Gabbay. 1996.Speculative Execution Based on Value Prediction. Technical Report 1080. Technion — Israel Institute of Technology, Electrical Engineering Department
1996
-
[43]
Johann Großschädl, Elisabeth Oswald, Dan Page, and Michael Tunstall. 2009. Side-Channel Analysis of Cryptographic Software via Early-Terminating Multi- plications. InICISC. Springer. doi:10.1007/978-3-642-14423-3_13
2009 doi
-
[44]
Marco Guarnieri, Boris Köpf, Jan Reineke, and Pepe Vila. 2021. Hardware- Software Contracts for Secure Speculation. InIEEE S&P. IEEE. doi:10.1109/ SP40001.2021.00036
2021
-
[45]
Ali Hajiabadi and Trevor E. Carlson. 2024. Providing High-Performance Execution with a Sequential Contract for Cryptographic Programs. arXiv:2406.04290 [cs.CR]
2024 arXiv
-
[46]
Ali Hajiabadi and Trevor E. Carlson. 2025. Cassandra: Efficient Enforcement of Sequential Execution for Cryptographic Programs. InISCA. ACM. doi:10.1145/ 3695053.3731048
2025
-
[47]
2018.Speculative Execution, Variant 4: Speculative Store Bypass
Jann Horn. 2018.Speculative Execution, Variant 4: Speculative Store Bypass. https://bugs.chromium.org/p/project-zero/issues/detail?id=1528
2018
-
[48]
2018.Bounds Check Bypass / CVE-2017-5753 / INTEL-SA-00088
Intel. 2018.Bounds Check Bypass / CVE-2017-5753 / INTEL-SA-00088. https: //www.intel.com/content/www/us/en/developer/articles/technical/software- security-guidance/advisory-guidance/bounds-check-bypass.html
2018
-
[49]
2018.Speculative Store Bypass / CVE-2018-3639 / INTEL-SA- 00115
Intel. 2018.Speculative Store Bypass / CVE-2018-3639 / INTEL-SA- 00115. https://www.intel.com/content/www/us/en/developer/articles/technical/ software-security-guidance/advisory-guidance/speculative-store-bypass.html
2018
-
[50]
2018.Using Intel®Compilers to Mitigate Speculative Execution Side- Channel Issues
Intel. 2018.Using Intel®Compilers to Mitigate Speculative Execution Side- Channel Issues. https://www.intel.com/content/www/us/en/developer/articles/ troubleshooting/using-intel-compilers-to-mitigate-speculative-execution- side-channel-issues.html
2018
-
[51]
2020.An Optimized Mitigation Approach for Load Value Injection
Intel. 2020.An Optimized Mitigation Approach for Load Value Injection. https://www.intel.com/content/www/us/en/developer/articles/technical/ software-security-guidance/best-practices/optimized-mitigation-approach- load-value-injection.html
2020
-
[52]
2022.Fast Store Forwarding Predictor
Intel. 2022.Fast Store Forwarding Predictor. Intel. https://www.intel. com/content/www/us/en/developer/articles/technical/software-security- guidance/technical-documentation/fast-store-forwarding-predictor.html
2022
-
[53]
2025.Data Operand Independent Timing ISA Guidance
Intel. 2025.Data Operand Independent Timing ISA Guidance. Intel Corporation. https://www.intel.com/content/www/us/en/developer/articles/technical/ software-security-guidance/best-practices/data-operand-independent-timing- isa-guidance.html
2025
-
[54]
2025.Intel®64 and IA-32 Architectures Software Developer’s Manual
Intel. 2025.Intel®64 and IA-32 Architectures Software Developer’s Manual
2025
-
[55]
2024.The RISC-V Instruction Set Manual, Volume I: User- Level ISA version 20240411
RISC-V International. 2024.The RISC-V Instruction Set Manual, Volume I: User- Level ISA version 20240411. RISC-V
2024
-
[56]
Khasawneh, Esmaeil Mohammadian Koruyeh, Chengyu Song, Dmitry Evtyushkin, Dmitry Ponomarev, and Nael Abu-Ghazaleh
Khaled N. Khasawneh, Esmaeil Mohammadian Koruyeh, Chengyu Song, Dmitry Evtyushkin, Dmitry Ponomarev, and Nael Abu-Ghazaleh. 2019. SafeSpec: Ban- ishing the Spectre of a Meltdown with Leakage-Free Speculation. InDAC. ACM. doi:10.1145/3316781.3317903
2019
-
[57]
Jason Kim, Jalen Chuang, Daniel Genkin, and Yuval Yarom. 2025. FLOP: Break- ing the Apple M3 CPU via False Load Output Predictions. InUSENIX Security. USENIX Association. https://www.usenix.org/conference/usenixsecurity24/ presentation/chen-boru
2025
-
[58]
Jason Kim, Daniel Genkin, and Yuval Yarom. 2025. SLAP: Data Speculation Attacks via Load Address Prediction on Apple Silicon. InIEEE S&P. IEEE. doi:10. 1109/SP61157.2025.00098
2025
-
[59]
Vladimir Kiriansky and Carl Waldspurger. 2018. Speculative Buffer Overflows: Attacks and Defenses. arXiv:1807.03757 [cs.CR]
2018 arXiv
-
[60]
Paul Kocher, Jann Horn, Anders Fogh, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, and Yuval Yarom. 2019. Spectre Attacks: Exploiting Speculative Execution. In IEEE S&P. IEEE. doi:10.1109/SP.2019.00002
2019
-
[61]
Paul C. Kocher. 1996. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems. InCRYPTO. Springer. doi:10.1007/3-540-68697-5_9
1996 doi
-
[62]
Matthew Kolosick, Basavesh Ammanaghatta Shivakumar, Sunjay Cauligi, Marco Patrignani, Marco Vassena, Ranjit Jhala, and Deian Stefan. 2025. Robust Constant- Time Cryptography.Proceedings of the ACM on Programming Languages9, PLDI (2025), 1491–1515. doi:10.1145/3729310
2025 doi
-
[63]
Khasawneh, Chengyu Song, and Nael B
Esmaeil Mohammadian Koruyeh, Khaled N. Khasawneh, Chengyu Song, and Nael B. Abu-Ghazaleh. 2018. Spectre Returns! Speculation Attacks Using the Return Stack Buffer. InUSENIX WOOT. USENIX Association. https://www. dfence: Fine-Grained Speculation Barriers for Efficient and Effec...
2018
-
[64]
Kha- sawneh, Chengyu Song, and Nael B
Esmaeil Mohammadian Koruyeh, Shirin Haji Amin Shirazi, Khaled N. Kha- sawneh, Chengyu Song, and Nael B. Abu-Ghazaleh. 2020. SpecCFI: Miti- gating Spectre Attacks using CFI Informed Speculation. InIEEE S&P. IEEE. doi:10.1109/SP40000.2020.00033
2020
-
[65]
2015.Programmer’s Guide for ARMv8-A
Arm Limited. 2015.Programmer’s Guide for ARMv8-A
2015
-
[66]
2018.Addressing Spectre Variant 1 (CVE-2017-5753) in Software
Arm Limited. 2018.Addressing Spectre Variant 1 (CVE-2017-5753) in Software. White Paper Version 1.0. https://developer.arm.com/documentation/102820/ latest/
2018
-
[67]
2020.DIT, Data Independent Timing
Arm Limited. 2020.DIT, Data Independent Timing. Arm Lim- ited. https://developer.arm.com/documentation/ddi0601/2020-12/AArch64- Registers/DIT--Data-Independent-Timing
2020
-
[68]
Lipasti and John Paul Shen
Mikko H. Lipasti and John Paul Shen. 1996. Exceeding the Dataflow Limit via Value Prediction. InMICRO. IEEE. doi:10.1109/MICRO.1996.566464
1996
-
[69]
Lipasti, Christopher B
Mikko H. Lipasti, Christopher B. Wilkerson, and John Paul Shen. 1996. Value Locality and Load Value Prediction. InASPLOS. ACM. doi:10.1145/237090.237173
1996
-
[70]
Chen Liu, Abhishek Chakraborty, Nikhil Chawla, and Neer Roggel. 2022. Fre- quency Throttling Side-Channel Attack. InCCS. ACM. doi:10.1145/3548606. 3560682
2022 doi
-
[71]
Giorgi Maisuradze and Christian Rossow. 2018. ret2spec: Speculative Execution Using Return Stack Buffers. InCCS. ACM. doi:10.1145/3243734.3243761
2018
-
[72]
Oleksii Oleksenko, Marco Guarnieri, Boris Köpf, and Mark Silberstein. 2023. Hide and Seek with Spectres: Efficient discovery of speculative information leaks with random testing. InIEEE S&P. IEEE. doi:10.1109/SP46215.2023.10179391
2023
-
[73]
Marco Patrignani and Marco Guarnieri. 2021. Exorcising Spectres with Secure Compilers. InCCS. ACM. doi:10.1145/3460120.3484534
2021
-
[74]
Hany Ragab, Enrico Barberis, Herbert Bos, and Cristiano Giuffrida. 2021. Rage against the Machine Clear: A Systematic Analysis of Machine Clears and Their Im- plications for Transient Execution Attacks. InUSENIX Security. USENIX Associ- ation. https://www.usenix.org/conference...
2021
-
[75]
Allison Randal. 2023. This is How You Lose the Transient Execution War. arXiv:2309.03376 [cs.CR]
2023 arXiv
-
[76]
Tullsen, and Ashish Venkat
Xida Ren, Logan Moody, Mohammadkazem Taram, Matthew Jordan, Dean M. Tullsen, and Ashish Venkat. 2021. I See Dead𝜇ops: Leaking Secrets via Intel/AMD Micro-Op Caches. InISCA. IEEE. doi:10.1109/ISCA52012.2021.00036
2021
-
[77]
Fadiheh, Thore Tie- mann, Jonah Heller, Thomas Eisenbarth, Dominik Stoffel, and Wolfgang Kunz
Philipp Schmitz, Tobias Jauch, Alex Wezel, Mohammad R. Fadiheh, Thore Tie- mann, Jonah Heller, Thomas Eisenbarth, Dominik Stoffel, and Wolfgang Kunz
-
[78]
Michael Schwarz, Martin Schwarzl, Moritz Lipp, Jon Masters, and Daniel Gruss
-
[79]
Adi Shamir. 1979. How to Share a Secret.Commun. ACM22, 11 (1979). doi:10. 1145/359168.359176
1979
-
[80]
arXiv:2312.08156 [cs.CR]
Okapi: Efficiently Safeguarding Speculative Data Accesses in Sandboxed Environments. arXiv:2312.08156 [cs.CR]
-
[81]
Mohammadkazem Taram, Ashish Venkat, and Dean M. Tullsen. 2019. Context- Sensitive Fencing: Securing Speculative Execution via Microcode Customization. InASPLOS. ACM. doi:10.1145/3297858.3304060
2019
-
[82]
Tullsen, and Deian Stefan
Marco Vassena, Craig Disselkoen, Klaus von Gleissenthall, Sunjay Cauligi, Rami Gökhan Kici, Ranjit Jhala, Dean M. Tullsen, and Deian Stefan. 2021. Automatically eliminating speculative leaks from cryptographic code with blade.Proceedings of the ACM on Programming Languages5, P...
2021 doi
-
[83]
Fletcher, and David Kohlbrenner
Jose Rodrigo Sanchez Vicarte, Michael Flanders, Riccardo Paccagnella, Grant Garrett-Grossman, Adam Morrison, Christopher W. Fletcher, and David Kohlbrenner. 2022. Augury: Using Data Memory-Dependent Prefetchers to Leak Data at Rest. InIEEE S&P. IEEE. doi:10.1109/SP46214.2022.9833570
2022
-
[84]
Fletcher, Ling Ren, Xiangyao Yu, and Srinivas Devadas
Emil Stefanov, Marten van Dijk, Elaine Shi, Christopher W. Fletcher, Ling Ren, Xiangyao Yu, and Srinivas Devadas. 2013. Path ORAM: An Extremely Simple Oblivious RAM Protocol. InCCS. ACM, 299–310. doi:10.1145/2508859.2516660
2013
-
[85]
Wenisch, and Baris Kasikci
Ofir Weisse, Ian Neal, Kevin Loughlin, Thomas F. Wenisch, and Baris Kasikci
-
[86]
Hans Winderix, Marton Bognar, Lesly-Ann Daniel, and Frank Piessens. 2024. Libra: Architectural Support For Principled, Secure And Efficient Balanced Exe- cution On High-End Processors. InCCS. ACM. doi:10.1145/3658644.3690319
2024
-
[87]
Hans Winderix, Marton Bognar, Job Noorman, Lesly-Ann Daniel, and Frank Piessens. 2024. Architectural Mimicry: Innovative Instructions to Efficiently Address Control-Flow Leakage in Data-Oblivious Programs. InIEEE S&P. IEEE. doi:10.1109/SP54263.2024.00047
2024
-
[88]
Fletcher, and David Kohlbrenner
Yingchen Wang, Riccardo Paccagnella, Elizabeth Tang He, Hovav Shacham, Christopher W. Fletcher, and David Kohlbrenner. 2022. Hertzbleed: Turn- ing Power Side-Channel Attacks into Remote Timing Attacks on X86. In USENIX Security. USENIX Association. https://www.usenix.org/confe...
2022
-
[89]
Fletcher
Jiyong Yu, Lucas Hsiung, Mohamad El Hajj, and Christopher W. Fletcher
-
[90]
NDA: Preventing Speculative Execution Attacks at Their Source. InMICRO. ACM. doi:10.1145/3352460.3358306
-
[91]
Zhiyuan Zhang, Gilles Barthe, Chitchanok Chuengsatiansup, Peter Schwabe, and Yuval Yarom. 2023. Ultimate SLH: Taking Speculative Load Hardening to the Next Level. InUSENIX Security. USENIX Association. https://www.usenix. org/conference/usenixsecurity23/presentation/zhang-zhiy...
2023 doi
-
[93]
Gürkaynak, Luca Benini, and Gernot Heiser
Nils Wistoff, Moritz Schneider, Frank K. Gürkaynak, Luca Benini, and Gernot Heiser. 2021. Microarchitectural Timing Channels and their Prevention on an Open-Source 64-bit RISC-V Core. InDATE. IEEE. doi:10.23919/DATE51398.2021. 9474214
2021
-
[95]
Data Oblivious ISA Extensions for Side Channel-Resistant and High Performance Computing. InNDSS. https://www.ndss-symposium.org/ndss- paper/data-oblivious-isa-extensions-for-side-channel-resistant-and-high- performance-computing/
-
[96]
Fletcher
Jiyong Yu, Mengjia Yan, Artem Khyzha, Adam Morrison, Josep Torrellas, and Christopher W. Fletcher. 2019. Speculative Taint Tracking (STT): A Comprehen- sive Protection for Speculatively Accessed Data. InMICRO. ACM. doi:10.1145/ 3352460.3358274
2019
-
[98]
- Case[ TIf]
In turn, this conclusion follows from Lemma 13 and 𝑟1[x←JEK 𝑟1]∼⊥𝑟2[x←JEK 𝑟2]. - Case[ TIf]. In this case, we can assume that the type deriva- tion is the one below: TSeq TIf Γ1⊢E:𝜎Φ|Γ 1⊢P 1 :Γ 2 Φ|Γ 1⊢P 2 :Γ 2 Φ|Γ 1⊢ifEthenP 1 elseP 2 fi:Γ 2 𝜋2 𝜋⊲Φ|Γ 1⊢ifEthenP 1 elseP 2 fi;P...
-
[99]
When this is the case, the claim follows from𝜇1≃⊥ Γ 𝜇2 and Γ(a)=L
We go by cases on(b,𝑚)=(a,𝑛) : when this is not the case, the claim is a direct consequence of the IH. When this is the case, the claim follows from𝜇1≃⊥ Γ 𝜇2 and Γ(a)=L. □ Lemma 17.If𝑟 1≃𝛽 Γ 𝑟2, then𝑟 1[x←v 1]≃⊤ Γ[x←(𝜏,H)] 𝑟2[x←v 2]. Proof.The assumptions are 𝑟1≃𝛽 Γ 𝑟2 (H1) Th...
-
[100]
From the IH—whose assumptions are discharged by (H1) and 𝑚1≃𝛽 Γ 𝑚2—we deduce that (𝜇′ 1,𝑚 1)≃ Γ(𝜇′ 2,𝑚 2) Therefore, the conclusion is a consequence of Lemma 20
From the definition of≃𝛽 Γ, we deduce that 𝜇2 =[(a,𝑛)↦→v 2]:𝜇 ′ 2 (H) 𝜇′ 1≃𝛽 Γ 𝜇′ 2 (H1) 𝛽=⊥⇒Γ(a)=L⇒v 1 =v 2 (H2) We have to establish: ([(a,𝑛)↦→v 1]:𝜇 ′ 1,𝑚 1)≃ Γ([(a,𝑛)↦→v 2]:𝜇 ′ 2,𝑚 2), which means establishing that: (𝜇′ 1,𝑚 1)[(a,𝑛)←v 1]≃ Γ(𝜇′ 2,𝑚 2)[(a,𝑛)←v 2]. From the I...
-
[2019]
InESORICS
NetSpectre: Read Arbitrary Memory over Network. InESORICS. Springer. doi:10.1007/978-3-030-29959-0_14
-
[2024]
In USENIX Security
SpecLFB: Eliminating Cache Side Channels in Speculative Executions. In USENIX Security. USENIX Association. https://www.usenix.org/conference/ usenixsecurity24/presentation/cheng-xiaoyu
Reviewed August 7, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.