TrackRISC: An Implicit Attack Flow Model and Hardware Microarchitectural Mitigation for Speculative Cache-Based Covert Channels
Abstract
1. Introduction
- Implicit attack flow model: We propose a framework named TrackRISC, which incorporates a refined implicit attack flow model specifically for exploring implicit cache-based speculative execution attacks. The attack flow model reveals why these implicit attacks pose a severe threat to the existing hardware defenses specifically designed to block speculative cache-based covert channels.
- Implicit vulnerability analysis in existing hardware defenses: Based on the implicit attack flow model, we further analyze the implicit security vulnerabilities within the existing hardware defenses. Moreover, we experimentally verify that a representative existing defense remains vulnerable to implicit cache-based speculative execution attacks.
- Tracking and mitigation microarchitecture: In addition to the implicit attack flow model, the TrackRISC framework also incorporates TrackRISC-Defense, a security-enhanced tracking and mitigation microarchitecture that can mitigate both implicit and explicit speculative cache-based speculative execution attacks. Compared to a representative existing defense with the performance overhead of 13.8%, TrackRISC-Defense demonstrates stronger security with a performance overhead of 19.4%. The microarchitecture incurs a negligible register-based hardware resource overhead of 0.4% on FPGA.
- Realistic hardware (FPGA) implementation and evaluation: TrackRISC-Defense is compatible with the superscalar CPU microarchitecture. To obtain real hardware evaluation results, we implement both a representative existing defense and TrackRISC-Defense on a practical RISC-V out-of-order processor core. The evaluation flow is built on the FPGA hardware platform using the VCU118 FPGA board running Linux.
2. Background
2.1. Speculative and Out-of-Order Execution
2.2. Speculative Cache-Based Covert Channels
2.2.1. Implicit Cache-Based Speculative Attack Example
Listing 1. Spectre Example 10 [34]—This is an implicit cache-based speculative execution attack. |
2.2.2. Explicit Cache-Based Speculative Attack Example
Listing 2. Spectre Variant 1 example [1]—This is an explicit cache-based speculative execution attack. |
3. Threat Model
3.1. Critical Attack Steps
- Step 1: Authorization Bypass. An attacker bypasses an authorization by exploiting a misprediction induced through the mistraining of a branch predictor, leading the CPU to speculatively execute an unauthorized code path.
- Step 2: Secret Access. During the illegal speculative execution period, the attacker uses a load instruction to access the secret.
- Step 3: Secret Transmission. After accessing the secret data, the attacker encodes secret information into a cache-based secret-dependent microarchitectural change and transmits the microarchitectural change through cache-based covert channels. The microarchitectural change is generated in the cache or TLB.
- Step 4: Secret Recovery. The attacker infers the secret by observing the secret-dependent microarchitectural change (e.g., a secret-dependent data resides in a cache), and a cache-based covert channel is formed during this step.
3.2. Implicit Speculative Attacks: Indirect Microarchitectural Changes
3.3. Explicit Speculative Attacks: Direct Microarchitectural Changes
4. TrackRISC: Implicit Attack Modeling and Analysis
4.1. Implicit Attack Flow Model
4.1.1. Critical Instructions in Implicit Attacks
- refers to a speculation-inducing instruction that causes an illegal speculative execution period in the attack step of authorization bypass. For example, can be a conditional branch instruction that may enable a misprediction, and an attacker can exploit a mispredicted conditional branch to bypass the authorization.
- refers to an access instruction [6] that accesses secret data in the attack step of secret access. is commonly a load instruction to read the secret data into a register.
- refers to a transmit instruction [6] that triggers the initial phase of the secret-transmission attack step for generating an adversary-observable secret-dependent microarchitectural change in caches/TLBs, representing an indirect secret transmission. has data dependence on secret information so as to indirectly enable a secret-dependent microarchitectural change through control-flow decision and resource contention. A notable fact is that can be a non-memory instruction, e.g., a conditional branch instruction.
- refers to a load/store instruction that completes the final phase of secret-transmission attack step for eventually generating an attacker-observable secret-dependent microarchitectural change in caches/TLBs. Once the execution of completes, the attacker-observable microarchitectural change that reveals secret information is produced in caches/TLBs. Moreover, is possibly speculative or non-speculative, and may exhibit no data dependence on secret information on or on .
4.1.2. Attack Modeling Overview
4.2. Modeling Implicit Attacks Using Control-Flow Decisions
4.3. Modeling Implicit Attacks Using Resource Contention
4.3.1. MSHR Contention
4.3.2. Non-Pipelined EU Contention
4.4. Existing Hardware Defenses and Their Security Analysis
5. TrackRISC: Hardware Microarchitectural Mitigation
5.1. Critical Instruction Identification
5.2. TrackRISC-Defense Mechanism
5.3. Taint Propagation
5.4. Untaint Propagation
5.5. Decision and Mitigation Scheme
6. Microarchitecture
6.1. Global Taint Mask
6.2. Tracking Logic
6.3. Taint and Untaint Logic
6.4. Decision and Mitigation Logic
6.5. Key Procedural Analysis
6.5.1. Phase 1: Taint Information Update Logic
6.5.2. Phase 2: Delayed/Resumed Execution Logic
7. Evaluation Results and Analysis
7.1. Experimental Setup
7.1.1. Platform Configuration
7.1.2. Baseline Setup
7.2. Security Evaluation and Analysis
7.2.1. Security Evaluation Results
Listing 3. Explicit attack log (Spectre Variant 1) from the unprotected CPU (SonicBOOM [28]). |
Listing 4. Explicit attack log (Spectre Variant 1) from the CPU protected by SpecTerminator-v1 [23] or TrackRISC-Defense. |
7.2.2. Security Analysis
7.3. Performance Evaluation and Analysis
7.4. Hardware Resource Evaluation and Analysis
7.5. Baselines vs. TrackRISC-Defense
7.6. STT vs. TrackRISC-Defense
8. Conclusions
9. Discussion
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
ALU | Arithmetic Logic Unit |
AVX | Advanced Vector Extensions |
BTB | Branch Target Buffer |
CPU | Central Processing Unit |
CSR | Control and Status Register |
D-TLB | Data Translation Lookaside Buffer |
EU | Execution Unit |
FP | Floating-Point |
FPGA | Field-Programmable Gate Array |
ISA | Instruction Set Architecture |
MSHR | Miss Status Holding Register |
PHT | Pattern History Table |
PMU | Performance Monitor Unit |
RISC | Reduced Instruction Set Computer |
ROB | Reorder Buffer |
RS | Reservation Station |
RTL | Register-Transfer-Level |
RSB | Return Stack Buffer |
TLB | Translation Lookaside Buffer |
Appendix A
References
- Kocher, P.; Horn, J.; Fogh, A.; Genkin, D.; Gruss, D.; Haas, W.; Hamburg, M.; Lipp, M.; Mangard, S.; Prescher, T.; et al. Spectre attacks: Exploiting speculative execution. Commun. ACM 2020, 63, 93–101. [Google Scholar] [CrossRef]
- Koruyeh, E.M.; Khasawneh, K.N.; Song, C.; Abu-Ghazaleh, N. Spectre returns! speculation attacks using the return stack buffer. In Proceedings of the 12th USENIX Workshop on Offensive Technologies (WOOT 18), Baltimore, MD, USA, 13–14 August 2018. [Google Scholar] [CrossRef]
- Maisuradze, G.; Rossow, C. ret2spec: Speculative execution using return stack buffers. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, Toronto, ON, Canada, 15–19 October 2018; pp. 2109–2122. [Google Scholar] [CrossRef]
- Lampson, B.W. A note on the confinement problem. Commun. ACM 1973, 16, 613–615. [Google Scholar] [CrossRef]
- Wang, Z.; Lee, R.B. Covert and side channels due to processor architecture. In Proceedings of the 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), Miami Beach, FL, USA, 11–15 December 2006; pp. 473–482. [Google Scholar] [CrossRef]
- Yu, J.; Yan, M.; Khyzha, A.; Morrison, A.; Torrellas, J.; Fletcher, C.W. Speculative taint tracking (stt) a comprehensive protection for speculatively accessed data. In Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Columbus, OH, USA, 12–16 October 2019; pp. 954–968. [Google Scholar] [CrossRef]
- Barber, K.; Bacha, A.; Zhou, L.; Zhang, Y.; Teodorescu, R. Specshield: Shielding speculative data from microarchitectural covert channels. In Proceedings of the 2019 28th International Conference on Parallel Architectures and Compilation Techniques (PACT), Seattle, WA, USA, 23–26 September 2019; pp. 151–164. [Google Scholar] [CrossRef]
- Yu, J.; Mantri, N.; Torrellas, J.; Morrison, A.; Fletcher, C.W. Speculative data-oblivious execution: Mobilizing safe prediction for safe and efficient speculative execution. In Proceedings of the 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), Virtual Event, 30 May–3 June 2020; pp. 707–720. [Google Scholar] [CrossRef]
- Yan, M.; Choi, J.; Skarlatos, D.; Morrison, A.; Fletcher, C.; Torrellas, J. Invisispec: Making speculative execution invisible in the cache hierarchy. In Proceedings of the 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Fukuoka, Japan, 20–24 October 2018; pp. 428–441. [Google Scholar] [CrossRef]
- Kiriansky, V.; Lebedev, I.; Amarasinghe, S.; Devadas, S.; Emer, J. DAWG: A defense against cache timing attacks in speculative execution processors. In Proceedings of the 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Fukuoka, Japan, 20–24 October 2018; pp. 974–987. [Google Scholar] [CrossRef]
- Li, P.; Zhao, L.; Hou, R.; Zhang, L.; Meng, D. Conditional speculation: An effective approach to safeguard out-of-order execution against spectre attacks. In Proceedings of the 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA), Washington, DC, USA, 16–20 February 2019; pp. 264–276. [Google Scholar] [CrossRef]
- Sakalis, C.; Kaxiras, S.; Ros, A.; Jimborean, A.; Sjalander, M. Efficient invisible speculative execution through selective delay and value prediction. In Proceedings of the 46th International Symposium on Computer Architecture, Phoenix, AZ, USA, 22–26 June 2019; pp. 723–735. [Google Scholar] [CrossRef]
- Weisse, O.; Neal, I.; Loughlin, K.; Wenisch, T.F.; Kasikci, B. NDA: Preventing speculative execution attacks at their source. In Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Columbus, OH, USA, 12–16 October 2019; pp. 572–586. [Google Scholar] [CrossRef]
- Khasawneh, K.N.; Koruyeh, E.M.; Song, C.; Evtyushkin, D.; Ponomarev, D.; Abu-Ghazaleh, N. Safespec: Banishing the spectre of a meltdown with leakage-free speculation. In Proceedings of the 2019 56th ACM/IEEE Design Automation Conference (DAC), Las Vegas, NV, USA, 2–6 June 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Taram, M.; Venkat, A.; Tullsen, D. Context-sensitive fencing: Securing speculative execution via microcode customization. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Providence, RI, USA, 13–17 April 2019; pp. 395–410. [Google Scholar] [CrossRef]
- Deng, S.; Xiong, W.; Szefer, J. Secure tlbs. In Proceedings of the 46th International Symposium on Computer Architecture, Phoenix, AZ, USA, 22–26 June, 2019; pp. 346–359. [Google Scholar] [CrossRef]
- Saileshwar, G.; Qureshi, M.K. Cleanupspec: An “undo” approach to safe speculation. In Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture, Columbus, OH, USA, 12–16 October 2019; pp. 73–86. [Google Scholar] [CrossRef]
- Ainsworth, S.; Jones, T.M. Muontrap: Preventing cross-domain spectre-like attacks by capturing speculative state. In Proceedings of the 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), Virtual Event, 30 May–3 June 2020; pp. 132–144. [Google Scholar] [CrossRef]
- Kim, S.; Mahmud, F.; Huang, J.; Majumder, P.; Christou, N.; Muzahid, A.; Tsai, C.C.; Kim, E.J. Revice: Reusing victim cache to prevent speculative cache leakage. In Proceedings of the 2020 IEEE Secure Development (SecDev), Atlanta, GA, USA, 28–30 September 2020; pp. 96–107. [Google Scholar] [CrossRef]
- Wang, X.; Zhao, Z.; Xu, D.; Zhang, Z.; Hao, Q.; Liu, M.; Si, Y. Two-stage checkpoint based security monitoring and fault recovery architecture for embedded processor. Electronics 2020, 9, 1165. [Google Scholar] [CrossRef]
- Loughlin, K.; Neal, I.; Ma, J.; Tsai, E.; Weisse, O.; Narayanasamy, S.; Kasikci, B. {DOLMA}: Securing Speculation with the Principle of Transient {Non-Observability}. In Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), Virtual Event, 11–13 August 2021; pp. 1397–1414. [Google Scholar]
- Choudhary, R.; Yu, J.; Fletcher, C.; Morrison, A. Speculative privacy tracking (SPT): Leaking information from speculative execution without compromising privacy. In Proceedings of the MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture, Virtual Event, 18–22 October 2021; pp. 607–622. [Google Scholar] [CrossRef]
- Jin, H.; He, Z.; Qiang, W. SpecTerminator: Blocking speculative side channels based on instruction classes on RISC-V. ACM Trans. Archit. Code Optim. 2023, 20, 15. [Google Scholar] [CrossRef]
- Jauch, T.; Wezel, A.; Fadiheh, M.R.; Schmitz, P.; Ray, S.; Fung, J.M.; Fletcher, C.W.; Stoffel, D.; Kunz, W. Secure-by-construction design methodology for CPUs: Implementing secure speculation on the RTL. In Proceedings of the 2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD), San Francisco, CA, USA, 28 October–2 November 2023; pp. 1–9. [Google Scholar] [CrossRef]
- Li, L.; Huang, J.; Feng, L.; Wang, Z. PREFENDER: A prefetching defender against cache side channel attacks as a pretender. IEEE Trans. Comput. 2024, 73, 1457–1471. [Google Scholar] [CrossRef]
- Zhang, Z.; Liu, Y.; She, Y.; Sanka, A.I.; Hung, P.S.; Cheung, R.C. ConBOOM: A Configurable CPU Microarchitecture for Speculative Covert Channel Mitigation. Electronics 2025, 14, 850. [Google Scholar] [CrossRef]
- He, Z.; Hu, G.; Lee, R. New models for understanding and reasoning about speculative execution attacks. In Proceedings of the 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA), Seoul, Republic of Korea, 27 February–3 March 2021; pp. 40–53. [Google Scholar] [CrossRef]
- Zhao, J.; Korpan, B.; Gonzalez, A.; Asanovic, K. Sonicboom: The 3rd generation berkeley out-of-order machine. In Proceedings of the Fourth Workshop on Computer Architecture Research with RISC-V, Virtual Event, 29 May 2020; Volume 5. [Google Scholar]
- Zhang, J.; Chen, C.; Cui, J.; Li, K. Timing Side-Channel Attacks and Countermeasures in CPU Microarchitectures. ACM Comput. Surv. 2024, 56, 178. [Google Scholar] [CrossRef]
- Xiong, W.; Szefer, J. Survey of transient execution attacks and their mitigations. ACM Comput. Surv. CSUR 2021, 54, 54. [Google Scholar] [CrossRef]
- Osvik, D.A.; Shamir, A.; Tromer, E. Cache attacks and countermeasures: The case of AES. In Proceedings of the Topics in Cryptology–CT-RSA 2006: The Cryptographers’ Track at the RSA Conference 2006, San Jose, CA, USA, 13–17 February 2005; pp. 1–20. [Google Scholar] [CrossRef]
- Yarom, Y.; Falkner, K. {FLUSH+ RELOAD}: A high resolution, low noise, l3 cache {Side-Channel} attack. In Proceedings of the 23rd USENIX security symposium (USENIX security 14), San Diego, CA, USA, 20–22 August 2014; pp. 719–732. [Google Scholar]
- Gruss, D.; Maurice, C.; Wagner, K.; Mangard, S. Flush+ flush: A fast and stealthy cache attack. In Proceedings of the Detection of Intrusions and Malware, and Vulnerability Assessment: 13th International Conference, DIMVA 2016, San Sebastián, Spain, 7–8 July 2016; pp. 279–299. [Google Scholar] [CrossRef]
- Kocher, P. Spectre Mitigations in Microsoft’s C/C++ Compiler. 2018. Available online: https://www.paulkocher.com/doc/MicrosoftCompilerSpectreMitigation.html (accessed on 28 March 2025).
- Mambretti, A.; Sandulescu, A.; Neugschwandtner, M.; Sorniotti, A.; Kurmus, A. Two methods for exploiting speculative control flow hijacks. In Proceedings of the 13th USENIX Workshop on Offensive Technologies (WOOT 19), Santa Clara, CA, USA, 12–13 August 2019. [Google Scholar]
- Fustos, J.; Bechtel, M.; Yun, H. Spectrerewind: Leaking secrets to past instructions. In Proceedings of the 4th ACM Workshop on Attacks and Solutions in Hardware Security, Virtual Event, 13 November 2020; pp. 117–126. [Google Scholar] [CrossRef]
- Qiu, P.; Gao, Q.; Liu, C.; Wang, D.; Lyu, Y.; Li, X.; Wang, C.; Qu, G. Pmu-spill: A new side channel for transient execution attacks. IEEE Trans. Circuits Syst. I Regul. Pap. 2023. [Google Scholar] [CrossRef]
- Hu, G.; He, Z.; Lee, R.B. Sok: Hardware defenses against speculative execution attacks. In Proceedings of the 2021 International Symposium on Secure and Private Execution Environment Design (SEED), Washington, DC, USA, 20–21 September 2021; pp. 108–120. [Google Scholar] [CrossRef]
- Chen, B.; Wang, Y.; Shome, P.; Fletcher, C.; Kohlbrenner, D.; Paccagnella, R.; Genkin, D. {GoFetch}: Breaking {Constant-Time} Cryptographic Implementations Using Data {Memory-Dependent} Prefetchers. In Proceedings of the 33rd USENIX Security Symposium (USENIX Security 24), Philadelphia, PA, USA, 14–16 August 2024; pp. 1117–1134. [Google Scholar]
- Xiong, W.; Szefer, J. Leaking information through cache LRU states. In Proceedings of the 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA), San Diego, CA, USA, 22–26 February 2020; pp. 139–152. [Google Scholar] [CrossRef]
- Behnia, M.; Sahu, P.; Paccagnella, R.; Yu, J.; Zhao, Z.N.; Zou, X.; Unterluggauer, T.; Torrellas, J.; Rozas, C.; Morrison, A.; et al. Speculative interference attacks: Breaking invisible speculation schemes. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Virtual Event, 19–23 April 2021; pp. 1046–1060. [Google Scholar] [CrossRef]
- Celio, C.; Patterson, D.A.; Asanovic, K. The Berkeley Out-of-Order Machine (Boom): An Industry-Competitive, Synthesizable, Parameterized Risc-V Processor; Technical Report No. UCB/EECS-2015-167; EECS Department, University of California, Berkeley: Berkeley, CA, USA, 2015. [Google Scholar]
- Binkert, N.; Beckmann, B.; Black, G.; Reinhardt, S.K.; Saidi, A.; Basu, A.; Hestness, J.; Hower, D.R.; Krishna, T.; Sardashti, S.; et al. The gem5 simulator. ACM SIGARCH Comput. Archit. News 2011, 39, 1–7. [Google Scholar] [CrossRef]
- Patel, A.; Afram, F.; Ghose, K. Marss-x86: A qemu-based micro-architectural and systems simulator for x86 multicore processors. In Proceedings of the 1st International Qemu Users’ Forum, Citeseer, Citeseer, Grenoble, France, 18 March 2011; pp. 29–30. [Google Scholar]
- Andrianatrehina, H.; Lashermes, R.; Paturel, J.; Rokicki, S.; Rubiano, T. Exploring speculation barriers for RISC-V selective speculation. In Proceedings of the International Conference on Availability, Reliability and Security; Springer: Berlin/Heidelberg, Germany, 2025; pp. 171–192. [Google Scholar]
- Newsome, J.; Song, D.X. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Proceedings of the NDSS, San Diego, CA, USA, 2–4 February 2005; Volume 5, pp. 3–4. [Google Scholar]
- Suh, G.E.; Lee, J.W.; Zhang, D.; Devadas, S. Secure program execution via dynamic information flow tracking. In Proceedings of the 11th international conference on Architectural support for programming languages and operating systems (ASPLOS’04), Boston, MA, USA, 9–13 October 2004; pp. 85–96. [Google Scholar] [CrossRef]
- Crandall, J.R.; Chong, F.T. Minos: Control data attack prevention orthogonal to memory model. In Proceedings of the 37th International Symposium on Microarchitecture (MICRO-37’04), Portland, OR, USA, 4–8 December 2004; pp. 221–232. [Google Scholar] [CrossRef]
- Qin, F.; Wang, C.; Li, Z.; Kim, H.s.; Zhou, Y.; Wu, Y. Lift: A low-overhead practical information flow tracking system for detecting security attacks. In Proceedings of the 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’06), Orlando, FL, USA, 9–13 December 2006; pp. 135–148. [Google Scholar] [CrossRef]
- Dalton, M.; Kannan, H.; Kozyrakis, C. Raksha: A flexible information flow architecture for software security. In Proceedings of the 2007 ACM/IEEE 34th Annual International Symposium on Computer Architecture (ISCA), San Diego, CA, USA, 9–13 June 2007; pp. 482–493. [Google Scholar] [CrossRef]
- Venkataramani, G.; Doudalis, I.; Solihin, Y.; Prvulovic, M. Flexitaint: A programmable accelerator for dynamic taint propagation. In Proceedings of the 2008 IEEE 14th International Symposium on High Performance Computer Architecture, Salt Lake City, UT, USA, 16–20 February 2008; pp. 173–184. [Google Scholar] [CrossRef]
- Chen, S.; Kozuch, M.; Strigkos, T.; Falsafi, B.; Gibbons, P.B.; Mowry, T.C.; Ramachandran, V.; Ruwase, O.; Ryan, M.; Vlachos, E. Flexible hardware acceleration for instruction-grain program monitoring. In Proceedings of the 2008 ACM/IEEE 35th Annual International Symposium on Computer Architecture (ISCA), Beijing, China, 21–25 June 2008; pp. 377–388. [Google Scholar] [CrossRef]
- Chen, H.; Wu, X.; Yuan, L.; Zang, B.; Yew, P.c.; Chong, F.T. From speculation to security: Practical and efficient information flow tracking using speculative hardware. In Proceedings of the 2008 ACM/IEEE 35th Annual International Symposium on Computer Architecture (ISCA), Beijing, China, 21–25 June 2008; pp. 401–412. [Google Scholar] [CrossRef]
- Tiwari, M.; Li, X.; Wassel, H.M.; Chong, F.T.; Sherwood, T. Execution leases: A hardware-supported mechanism for enforcing strong non-interference. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, New York, NY, USA, 12–16 December 2009; pp. 493–504. [Google Scholar] [CrossRef]
- Tiwari, M.; Wassel, H.M.; Mazloom, B.; Mysore, S.; Chong, F.T.; Sherwood, T. Complete information flow tracking from the gates up. In Proceedings of the 14th international conference on Architectural support for programming languages and operating systems, Washington, DC, USA, 7–11 March 2009; pp. 109–120. [Google Scholar] [CrossRef]
- Deng, D.Y.; Lo, D.; Malysa, G.; Schneider, S.; Suh, G.E. Flexible and efficient instruction-grained run-time monitoring using on-chip reconfigurable fabric. In Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture, Atlanta, GA, USA, 4–8 December 2010; pp. 137–148. [Google Scholar] [CrossRef]
- Ardeshiricham, A.; Hu, W.; Marxen, J.; Kastner, R. Register transfer level information flow tracking for provably secure hardware design. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE), Lausanne, Switzerland, 27–31 March 2017; pp. 1691–1696. [Google Scholar] [CrossRef]
- Yu, J.; Hsiung, L.; El Hajj, M.; Fletcher, C.W. Data oblivious ISA extensions for side channel-resistant and high performance computing. In Proceedings of the 2019 26th Annual Network and Distributed System Security Symposium, San Diego, CA, USA, 24–27 February 2019. [Google Scholar] [CrossRef]
- Bachrach, J.; Vo, H.; Richards, B.; Lee, Y.; Waterman, A.; Avižienis, R.; Wawrzynek, J.; Asanović, K. Chisel: Constructing hardware in a scala embedded language. In Proceedings of the 49th Annual Design Automation Conference, San Francisco, CA, USA, 3–7 June 2012; pp. 1216–1225. [Google Scholar] [CrossRef]
- Amid, A.; Biancolin, D.; Gonzalez, A.; Grubb, D.; Karandikar, S.; Liew, H.; Magyar, A.; Mao, H.; Ou, A.; Pemberton, N.; et al. Chipyard: Integrated design, simulation, and implementation framework for custom socs. IEEE Micro 2020, 40, 10–21. [Google Scholar] [CrossRef]
- Gonzalez, A.; Korpan, B.; Zhao, J.; Younis, E.; Asanovic, K. Replicating and mitigating spectre attacks on an open source RISC-V microarchitecture. In Proceedings of the Third Workshop on Computer Architecture Research with RISC-V (CARRV), Phoenix, AZ, USA, 22 June 2019. [Google Scholar]
- Sabbagh, M.; Fei, Y. Secure speculative execution via RISC-V open hardware design. In Proceedings of the Fifth Workshop on Computer Architecture Research with RISC-V (CARRV 2021), Virtual Event, 17 June 2021. [Google Scholar]
- Bucek, J.; Lange, K.D.; Kistowski, J.v. SPEC CPU2017: Next-generation compute benchmark. In Proceedings of the Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, Berlin, Germany, 9–13 April 2018; pp. 41–42. [Google Scholar] [CrossRef]
- Hennessy, J.L.; Patterson, D.A. Computer Architecture, Sixth Edition: A Quantitative Approach, 6th ed.; Morgan Kaufmann Publishers Inc.: San Francisco, CA, USA, 2017. [Google Scholar]
Attack Name | Implicit Attack Modeling Representation | ↷ |
---|---|---|
Spectre Example 10 [34] | → | Control-Flow Decision |
Cache LRU Covert Channel [40] | → | |
Speculative Interference Attack() [41] | → | Resource Contention |
Speculative Interference Attack() [41] | → |
Defense Name | Platform | Defense Mechanism | Implicit Security Vulnerability | Security Level | Performance Overhead | Hardware Resource Overhead |
---|---|---|---|---|---|---|
SpecTerminator-v1 [23] | BOOM [42] | Memory Transmitter Delay () | Spectre Example 10 [34] Cache LRU Covert Channel [40] Speculative Interference Attack() [41] | Medium | Low | High |
InvisiSpec [9] SafeSpec [14] MuonTrap [18] | Gem5 [43] MARSSx86 [44] Gem5 [43] | Invisible Structure | Speculative Interference Attack() [41] Speculative Interference Attack() [41] | Medium | Low | Low |
CondSpec [11] (with Cache-Hit Filter) Delay-on-Miss [12] | Gem5 [43] Gem5 [43] | Cache-Miss Load Delay | Speculative Interference Attack() [41] Cache LRU Covert Channel [40] | Medium | Low | Low |
TrackRISC-Defense (This Work) | SonicBOOM [28] | Memory & Non-Memory Transmitter Restriction ( and and ) | N/A * | High | Medium | High |
Transmit Instruction Type | Transmitter Flag (Signal) * |
---|---|
Memory Instructions | uses_stq/uses_ldq |
Control-flow Instructions | is_br/is_jalr |
Division-Based Instructions/ Square Root Instructions | uopDIV/uopDIVU/uopDIVW/uopDIVUW/FDIV_S/FDIV_D uopREM/uopREMU/uopREMW/uopREMUW/ /FSQRT_S/FSQRT_D |
Signal Name | Description |
---|---|
br_mask | The speculative state of an instruction |
br_mask = 0 | The instruction is non-speculative |
br_mask ≠ 0 | The instruction is speculative |
rob_val | Whether an instruction is valid in the ROB |
rob_val↑ | The instruction is valid |
rob_val↓ | The instruction is invalid, due to the situations like commit |
global_taint_mask | Taint information of all related instructions |
delayed_inst | Transmitter flag for an instruction, which is detailed in Table 3 |
delayed_inst↑ | The instruction belongs to one of transmit instruction types |
delayed_inst↓ | The instruction is not transmit instruction |
cannot_allocate | Whether an instruction requires delayed execution |
cannot_allocate↑ | The instruction needs delayed execution |
cannot_allocate↓ | The instruction can be executed normally |
Parameter | Value |
---|---|
ISA | RV64GC |
Fetch Width | 8 |
Decode Width | 3 |
Issue Width | 5 |
Integer Register Number | 100 |
Floating-Point Register Number | 96 |
Speculative Mask Depth | 16 |
ROB Entry Number | 96 |
Branch Prediction Enabled? | ✓ |
Core Frequency on FPGA | 75 MHz |
Configuration | Baseline/Defense Description |
---|---|
Unprotected CPU [28] (Baseline) | SonicBOOM [28], the original unprotected RISC-V out-of-order processor core |
SpecTerminator-v1 [23] (Baseline) | SonicBOOM [28] with the defense mechanism that delays the execution of memory transmitters that may use secret-dependent operands |
TrackRISC-Defense | SonicBOOM [28] with the defense mechanism that delays the execution of both memory and non-memory transmitters that may use secret-dependent operands |
Configuration | Look-Up Tables | Flip-Flops (Registers) | RAMB36 | RAMB18 | DSP48 Blocks |
---|---|---|---|---|---|
Unprotected CPU [28] | 256,546 | 119,660 | 185 | 114 | 39 |
TrackRISC-Defense | 297,114 | 120,154 (↑ 0.4%) | 185 | 114 | 39 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zhang, Z.; Sanka, A.I.; She, Y.; Hong, J.; Hung, P.S.Y.; Cheung, R.C.C. TrackRISC: An Implicit Attack Flow Model and Hardware Microarchitectural Mitigation for Speculative Cache-Based Covert Channels. Electronics 2025, 14, 3973. https://doi.org/10.3390/electronics14203973
Zhang Z, Sanka AI, She Y, Hong J, Hung PSY, Cheung RCC. TrackRISC: An Implicit Attack Flow Model and Hardware Microarchitectural Mitigation for Speculative Cache-Based Covert Channels. Electronics. 2025; 14(20):3973. https://doi.org/10.3390/electronics14203973
Chicago/Turabian StyleZhang, Zhewen, Abdurrashid Ibrahim Sanka, Yuhan She, Jinfa Hong, Patrick S. Y. Hung, and Ray C. C. Cheung. 2025. "TrackRISC: An Implicit Attack Flow Model and Hardware Microarchitectural Mitigation for Speculative Cache-Based Covert Channels" Electronics 14, no. 20: 3973. https://doi.org/10.3390/electronics14203973
APA StyleZhang, Z., Sanka, A. I., She, Y., Hong, J., Hung, P. S. Y., & Cheung, R. C. C. (2025). TrackRISC: An Implicit Attack Flow Model and Hardware Microarchitectural Mitigation for Speculative Cache-Based Covert Channels. Electronics, 14(20), 3973. https://doi.org/10.3390/electronics14203973