Software Countermeasures for Control Flow Integrity of Smart Card C Codes [chapter]

Jean-François Lalande, Karine Heydemann, Pascal Berthomé
2014 Lecture Notes in Computer Science  
Fault attacks can target smart card programs in order to disrupt an execution and gain an advantage over the data or the embedded functionalities. Among all possible attacks, control flow attacks aim at disrupting the normal execution flow. Identifying harmful control flow attacks as well as designing countermeasures at software level are tedious and tricky for developers. In this paper, we propose a methodology to detect harmful intra-procedural jump attacks at source code level and to
more » ... cally inject formally-proven countermeasures. The proposed software countermeasures defeat 100% of attacks that jump over at least two C source code statements or beyond. Experiments show that the resulting code is also hardened against unexpected function calls and jump attacks at assembly level. Keywords: control flow integrity, fault attacks, smart card, source level 2 Related work This section discusses work related to fault models before presenting previously proposed countermeasures for smart card and control flow integrity.
doi:10.1007/978-3-319-11212-1_12 fatcat:nlondd6pyjalnbr4dukk3q2y7a