Fault injection attacks represent a class of threats that can compromise embedded systems across multiple layers of abstraction, such as system software, instruction set architecture (ISA), microarchitecture, and physical implementation. Early detection of these vulnerabilities and understanding their root causes, along with their propagation from the physical layer to the system software, is critical to secure the cyberinfrastructure. This work presents a comprehensive methodology for conducting controlled fault injection attacks at the pre-silicon level and an analysis of the underlying system for root-causing behavior. As the driving application, we use the clock glitch attacks in AI/ML applications for critical misclassification. Our study aims to characterize and diagnose the impact of faults within the RISC-V instruction set and pipeline stages, while tracing fault propagation from the circuit level to the AI/ML application software. This analysis resulted in discovering two new vulnerabilities through controlled clock glitch parameters. First, we reveal a novel method for causing instruction skips, thereby preventing the loading of critical values from memory. This can cause disruption and affect program continuity and correctness. Second, we demonstrate an attack that converts legal instructions into illegal ones, thereby diverting control flow in a manner exploitable by attackers. Our work underscores the complexity of fault injection attack exploits and emphasizes the importance of preemptive security analysis.
翻译:故障注入攻击代表一类能够跨多个抽象层(如系统软件、指令集架构(ISA)、微架构及物理实现)危害嵌入式系统的威胁。早期检测这些漏洞并理解其根本原因,以及它们从物理层到系统软件的传播路径,对于保障网络基础设施安全至关重要。本研究提出了一种在硅前阶段实施受控故障注入攻击的综合方法,并对底层系统进行了根源行为分析。作为驱动应用,我们利用时钟毛刺攻击在AI/ML应用中引发关键误分类。我们的研究旨在表征和诊断故障在RISC-V指令集及流水线阶段内的影响,同时追踪故障从电路层到AI/ML应用软件的传播路径。通过控制时钟毛刺参数,该分析发现了两个新的漏洞。首先,我们揭示了一种导致指令跳过的新方法,从而阻止从内存加载关键值。这可能引发程序中断并影响程序连续性与正确性。其次,我们演示了一种将合法指令转换为非法指令的攻击,从而以攻击者可利用的方式转移控制流。我们的工作凸显了故障注入攻击利用机制的复杂性,并强调了先发性安全分析的重要性。