Secure elements physically exposed to adversaries are frequently targeted by fault attacks. These attacks can be utilized to hijack the control-flow of software allowing the attacker to bypass security measures, extract sensitive data, or gain full code execution. In this paper, we systematically analyze the threat vector of fault-induced control-flow manipulations on the open-source OpenTitan secure element. Our thorough analysis reveals that current countermeasures of this chip either induce large area overheads or still cannot prevent the attacker from exploiting the identified threats. In this context, we introduce SCRAMBLE-CFI, an encryption-based control-flow integrity scheme utilizing existing hardware features of OpenTitan. SCRAMBLE-CFI confines, with minimal hardware overhead, the impact of fault-induced control-flow attacks by encrypting each function with a different encryption tweak at load-time. At runtime, code only can be successfully decrypted when the correct decryption tweak is active. We open-source our hardware changes and release our LLVM toolchain automatically protecting programs. Our analysis shows that SCRAMBLE-CFI complementarily enhances security guarantees of OpenTitan with a negligible hardware overhead of less than 3.97 % and a runtime overhead of 7.02 % for the Embench-IoT benchmarks.
翻译:与对手实际接触的安全要素经常受到过失攻击的目标。 这些攻击可用于劫持软件的控制流, 使攻击者能够绕过安全措施, 提取敏感数据, 或获得完全代码执行。 在本文中, 我们系统地分析开放源码 OpenTitan 安全元素上由过失引起的控制流操纵的威胁矢量。 我们的彻底分析显示, 目前芯片的反制措施要么引起大面积的间接费用,要么仍然无法阻止攻击者利用已查明的威胁。 在这方面, 我们引入了基于加密的控制流完整计划SCRAmble- CIFI, 利用 OpenTitan 的现有硬件特性。 SCRAmble- CIFI 限制使用最小的硬件管理器, 使用不同加密的 Open- Traction t 在负载时, 以不同的加密程序加密程序加密错误引起的控制流攻击的影响。 运行时, 代码只能当正确的解密程序启动时才能成功解密。 我们打开硬件的源源, 并自动释放我们的 LLVMM 工具链 保护程序。 我们的分析显示, Scramble- CFI 补充了一个比 Open- bust- bastom 3. IM IM 基本硬件运行一个小的保证。</s>