Fault attacks consist in changing the program behavior by injecting faults at run-time in order to break some expected security properties. Applications are hardened against fault attack adding countermeasures. According to the state of the art, applications must now be protected against multi-fault injection. As a consequence developing applications which are robust becomes a very challenging task, in particular because countermeasures can be also the target of attacks. The aim of this paper is to propose an assisted methodology for developers allowing to harden an application against multi-fault attacks, addressing several aspects: how to identify which parts of the code should be protected and how to choose the most appropriate countermeasures, making the application more robust and avoiding useless runtime checks.
翻译:故障攻击通过运行时注入故障改变程序行为,以破坏预期的安全属性。应用程序通过添加防护机制来抵御故障攻击。根据当前技术水平,应用程序必须能够抵御多故障注入。因此,开发鲁棒的应用程序极具挑战性,尤其是因为防护机制本身也可能成为攻击目标。本文旨在提出一种辅助方法论,帮助开发者实现对多故障攻击的应用程序加固,涵盖以下方面:如何识别需要保护的代码部分,如何选择最合适的防护机制,从而使应用程序更鲁棒且避免无用的运行时检查。