Cross-layer analysis of software fault models and countermeasures against hardware fault attacks in a RISC-V processor

Abstract Fault injection is a powerful technique for attacking digital systems. Software developers have to take into account hardware fault effects when system security is a concern. Software fault models have been developed in an attempt to predict these faults. However, these models are often designed independently of any hardware consideration and thus raise the problem of realism. The generality of these models often cannot account for the specificities of each architecture. As a consequence, software countermeasures based on such software fault models do not guarantee an effective protection against fault attacks. Processor microarchitecture should be precisely analysed to better understand faulty behaviours. A cross-layer approach can then be developed, using conjointly hardware and software characteristics to design stronger software countermeasures with reasonable overheads. To illustrate this assumption, this paper shows actual faulty behaviours observed in a RISC-V processor RTL simulation, and shows that they can bypass countermeasures designed to protect against faults predicted by typical software fault models.

[1]  Richard J. Lipton,et al.  On the Importance of Checking Cryptographic Protocols for Faults (Extended Abstract) , 1997, EUROCRYPT.

[2]  Karine Heydemann,et al.  Formal verification of a software countermeasure against instruction skip attacks , 2013, Journal of Cryptographic Engineering.

[3]  Nahid Farhady Ghalaty,et al.  Software Fault Resistance is Futile: Effective Single-Glitch Attacks , 2016, 2016 Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC).

[4]  Thanh-Ha Le,et al.  FISSC: A Fault Injection and Simulation Secure Collection , 2016, SAFECOMP.

[5]  Louis Dureuil,et al.  Analyse de code et processus d'évaluation des composants sécurisés contre l'injection de faute. (Code Analysis and Certification Process of Secure Hardware against Fault Injection) , 2016 .

[6]  Hans Hallez,et al.  Random Additive Signature Monitoring for Control Flow Error Detection , 2017, IEEE Transactions on Reliability.

[7]  Jean-Louis Lanet,et al.  SmartCM a smart card fault injection simulator , 2011, 2011 IEEE International Workshop on Information Forensics and Security.

[8]  Karine Heydemann,et al.  Electromagnetic Fault Injection: Towards a Fault Model on a 32-bit Microcontroller , 2013, 2013 Workshop on Fault Diagnosis and Tolerance in Cryptography.

[9]  David Naccache,et al.  The Sorcerer's Apprentice Guide to Fault Attacks , 2006, Proceedings of the IEEE.

[10]  Georg Sigl,et al.  Comprehensive analysis of software countermeasures against fault attacks , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[11]  Andrea Höller,et al.  QEMU-Based Fault Injection for a System-Level Analysis of Software Countermeasures Against Fault Attacks , 2015, 2015 Euromicro Conference on Digital System Design.

[12]  Karine Heydemann,et al.  High Level Model of Control Flow Attacks for Smart Card Functional Security , 2012, 2012 Seventh International Conference on Availability, Reliability and Security.

[13]  Jaume Abella,et al.  Modeling RTL fault models behavior to increase the confidence on TSIM-based fault injection , 2016, 2016 IEEE 22nd International Symposium on On-Line Testing and Robust System Design (IOLTS).

[14]  Alessandro Barenghi,et al.  Countermeasures against fault attacks on software implemented AES: effectiveness and cost , 2010, WESS '10.

[15]  John F. Walker,et al.  Characterising a CPU fault attack model via run-time data analysis , 2017, 2017 IEEE International Symposium on Hardware Oriented Security and Trust (HOST).

[16]  Sanjay J. Patel,et al.  Characterizing the effects of transient faults on a high-performance processor pipeline , 2004, International Conference on Dependable Systems and Networks, 2004.

[17]  Vincent Beroulle,et al.  On the Importance of Analysing Microarchitecture for Accurate Software Fault Models , 2018, 2018 21st Euromicro Conference on Digital System Design (DSD).

[18]  David A. Patterson,et al.  Computer Organization and Design, Fifth Edition: The Hardware/Software Interface , 2013 .

[19]  Raoul Velazco,et al.  A Survey on Fault Injection Techniques , 2004, Int. Arab J. Inf. Technol..

[20]  Jacob A. Abraham,et al.  Quantitative evaluation of soft error injection techniques for robust system design , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[21]  Vassilios A. Chouliaras,et al.  Study of the Effects of SEU-Induced Faults on a Pipeline Protected Microprocessor , 2007, IEEE Transactions on Computers.

[22]  Régis Leveugle,et al.  A multiple fault injection methodology based on cone partitioning towards RTL modeling of laser attacks , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[23]  Benjamin Grégoire,et al.  Synthesis of Fault Attacks on Cryptographic Implementations , 2014, IACR Cryptol. ePrint Arch..

[24]  Cécile Canovas,et al.  From Code Review to Fault Injection Attacks: Filling the Gap Using Fault Model Inference , 2015, CARDIS.