Formally verified software countermeasures for control-flow integrity of smart card C code

被引:12
|
作者
Heydemann, Karine [1 ]
Lalande, Jean-Francois [2 ]
Berthome, Pascal [3 ]
机构
[1] Sorbonne Univ, CNRS, LIP6, F-75005 Paris, France
[2] Univ Rennes, CentraleSupelec, INRIA, CNRS,IRISA,UMR 6074, F-35065 Rennes, France
[3] Univ Orleans, CINSA Ctr Val de Loire, LIFO, EA 4022, F-18022 Bourges, France
关键词
Physical attacks; Smart card; Control-flow integrity; Code securing; Countermeasures; FAULT INJECTION; VERIFICATION; ERRORS;
D O I
10.1016/j.cose.2019.05.004
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Fault attacks can target smart card programs to disrupt an execution and take control of 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 and designing countermeasures at the software level are tedious and tricky for developers. In this paper, we propose a methodology to detect harmful inter- and intra-procedural jump attacks at the source code level and automatically inject formally proven countermeasures into a C code. The proposed software countermeasures protect the integrity of individual statements at the granularity of single C statements. They support many control-flow constructs of the C language. The countermeasure scheme can detect an attack early either inside a control-flow construct or only at its exit. The secured source code defeats 100% of attacks that jump over at least two C source code statements. Experiments showed that the resulting code is also hardened against unexpected function calls and jump attacks at the assembly code level. Securing a source code automatically and extensively with our scheme degrades the performance. The performance overhead of our countermeasures on three well-known encryption algorithms available in C ranged from +41% to +138% on an x86 platform and from +45% to +217% on an ARM-v7 platform. However, combining code rewriting with hardening of sensitive code regions identified by the weakness detection step enables an application to be fully hardened while limiting the overhead. (C) 2019 Elsevier Ltd. All rights reserved.
引用
收藏
页码:202 / 224
页数:23
相关论文
共 50 条
  • [31] Advanced control-flow and concurrency in C∀
    Delisle, Thierry
    Buhr, Peter A.
    SOFTWARE-PRACTICE & EXPERIENCE, 2021, 51 (05): : 1005 - 1042
  • [32] Advanced control-flow and concurrency in C∀
    Delisle, Thierry
    Buhr, Peter A.
    Software - Practice and Experience, 2021, 51 (05) : 1005 - 1042
  • [33] Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks
    Conti, Mauro
    Crane, Stephen
    Davi, Lucas
    Franz, Michael
    Larsen, Per
    Liebchen, Christopher
    Negro, Marco
    Qunaibit, Mohaned
    Sadeghi, Ahmad-Reza
    CCS'15: PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2015, : 952 - 963
  • [34] MazeRunner: Evaluating the Attack Surface of Control-Flow Integrity Policies
    Zeng, Dongrui
    Niu, Ben
    Tan, Gang
    2021 IEEE 20TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM 2021), 2021, : 810 - 821
  • [35] SafeController: Efficient and Transparent Control-Flow Integrity for RTL Design
    Islam, Sheikh Ariful
    Katkoori, Srinivas
    2020 IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI (ISVLSI 2020), 2020, : 270 - 275
  • [36] HCIC: Hardware-Assisted Control-Flow Integrity Checking
    Zhang, Jiliang
    Qi, Binhang
    Qin, Zheng
    Qu, Gang
    IEEE INTERNET OF THINGS JOURNAL, 2019, 6 (01): : 458 - 471
  • [37] A Survey on Control-Flow Integrity Means in Web Application Frameworks
    Braun, Bastian
    Pollak, Christian V.
    Posegga, Joachim
    SECURE IT SYSTEMS, NORDSEC 2013, 2013, 8208 : 231 - 246
  • [38] Ghostrail: Ad Hoc Control-Flow Integrity for Web Applications
    Braun, Bastian
    Gries, Caspar
    Petschkuhn, Benedikt
    Posegga, Joachim
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, IFIP TC 11 INTERNATIONAL CONFERENCE, SEC 2014, 2014, 428 : 264 - 277
  • [39] On the Effectiveness of Control-Flow Integrity Against Modern Attack Techniques
    Sayeed, Sarwar
    Marco-Gisbert, Hector
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, SEC 2019, 2019, 562 : 331 - 344
  • [40] Mitigating Code-Reuse Attacks with Control-Flow Locking
    Bletsch, Tyler
    Jiang, Xuxian
    Freeh, Vince
    27TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSAC 2011), 2011, : 353 - 362