论文标题
SCFI:状态机控制流对故障攻击的硬化
SCFI: State Machine Control-Flow Hardening Against Fault Attacks
论文作者
论文摘要
故障注入(FI)是一种强大的攻击方法,使对手能够完全打破目标设备的安全性。由于有限状态机器(FSM)是负责控制系统的基本硬件构建块,因此将故障诱导到这些控制器中,使对手可以劫持集成电路的执行。缓解这些攻击的常见防御策略是多次手动实例化FSM,并使用多数投票逻辑来检测故障。但是,由于每个附加的FSM实例只为一个额外的诱发故障提供安全性,因此在多违dault攻击方案中,此方法的扩展很差。 在本文中,我们介绍了SCFI:一种强,概率的FSM保护机制,以确保即使在存在多个断层的情况下,也检测到与预期的控制流的控制流偏差。 SCFI的核心包括吸收执行历史记录以及FSM的控制信号以得出下一个状态的硬化下的态度。当吸收的输入,状态寄存器或功能本身受故障影响时,SCFI会触发错误,而没有检测延迟。我们将SCFI集成到一个合成工具中,该工具能够自动硬化任意的未保护FSM,而无需用户交互并开源该工具。我们的评估表明,与使用基于经典冗余方法保护的FSM相比,SCFI提供了更好的区域时间产品的强大保护保证。最后,我们使用前硅质故障分析工具正式验证受保护状态机器的弹性。
Fault injection (FI) is a powerful attack methodology allowing an adversary to entirely break the security of a target device. As finite-state machines (FSMs) are fundamental hardware building blocks responsible for controlling systems, inducing faults into these controllers enables an adversary to hijack the execution of the integrated circuit. A common defense strategy mitigating these attacks is to manually instantiate FSMs multiple times and detect faults using a majority voting logic. However, as each additional FSM instance only provides security against one additional induced fault, this approach scales poorly in a multi-fault attack scenario. In this paper, we present SCFI: a strong, probabilistic FSM protection mechanism ensuring that control-flow deviations from the intended control-flow are detected even in the presence of multiple faults. At its core, SCFI consists of a hardened next-state function absorbing the execution history as well as the FSM's control signals to derive the next state. When either the absorbed inputs, the state registers, or the function itself are affected by faults, SCFI triggers an error with no detection latency. We integrate SCFI into a synthesis tool capable of automatically hardening arbitrary unprotected FSMs without user interaction and open-source the tool. Our evaluation shows that SCFI provides strong protection guarantees with a better area-time product than FSMs protected using classical redundancy-based approaches. Finally, we formally verify the resilience of the protected state machines using a pre-silicon fault analysis tool.