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 条
  • [21] PCFIRE: Towards Provable Preventative Control-Flow Integrity Enforcement for Realistic Embedded Software
    Tan, Jiaqi
    Tay, Hui Jun
    Drolia, Utsav
    Gandhi, Rajeev
    Narasimhan, Priya
    2016 PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE (EMSOFT), 2016,
  • [22] Control-Flow Integrity: Precision, Security, and Performance
    Burow, Nathan
    Carr, Scott A.
    Nash, Joseph
    Larsen, Per
    Franz, Michael
    Brunthaler, Stefan
    Payer, Mathias
    ACM COMPUTING SURVEYS, 2017, 50 (01)
  • [23] CFG Construction Soundness in Control-Flow Integrity
    Tan, Gang
    Jaeger, Trent
    PROCEEDINGS OF THE 2017 WORKSHOP ON PROGRAMMING LANGUAGES AND ANALYSIS FOR SECURITY (PLAS' 17), 2017, : 3 - 13
  • [24] C-FLAT: Control-Flow Attestation for Embedded Systems Software
    Abera, Tigist
    Asokan, N.
    Davi, Lucas
    Ekberg, Jan-Erik
    Nyman, Thomas
    Paverd, Andrew
    Sadeghi, Ahmad-Reza
    Tsudik, Gene
    CCS'16: PROCEEDINGS OF THE 2016 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2016, : 743 - 754
  • [25] Formally Verified C Code Generation from Hybrid Communicating Sequential Processes
    Wang, Shuling
    Ji, Zekun
    Xu, Xiong
    Zhan, Bohua
    Gao, Qiang
    Zhan, Naijun
    PROCEEDINGS 15TH ACM/IEEE INTERNATIONAL CONFERENCE ON CYBER-PHYSICAL SYSTEMS, ICCPS 2024, 2024, : 123 - 134
  • [26] EC-CFI: Control-Flow Integrity via Code Encryption Counteracting Fault Attacks
    Nasahl, Pascal
    Sultana, Salmin
    Liljestrand, Hans
    Grewal, Karanvir
    LeMay, Michael
    Durham, David M.
    Schrammel, David
    Mangard, Stefan
    2023 IEEE INTERNATIONAL SYMPOSIUM ON HARDWARE ORIENTED SECURITY AND TRUST, HOST, 2023, : 24 - 35
  • [27] FastCFI: Real-time Control-Flow Integrity Using FPGA without Code Instrumentation
    Feng, Lang
    Huang, Jeff
    Hu, Jiang
    Reddy, Abhijith
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2021, 26 (05)
  • [28] HCFI: Hardware-enforced Control-Flow Integrity
    Christoulakis, Nick
    Christou, George
    Athanasopoulos, Elias
    Ioannidis, Sotiris
    CODASPY'16: PROCEEDINGS OF THE SIXTH ACM CONFERENCE ON DATA AND APPLICATION SECURITY AND PRIVACY, 2016, : 38 - 49
  • [29] Renewable Just-In-Time Control-Flow Integrity
    Bauman, Erick
    Duan, Jun
    Hamlen, Kevin W.
    Lin, Zhiqiang
    PROCEEDINGS OF THE 26TH INTERNATIONAL SYMPOSIUM ON RESEARCH IN ATTACKS, INTRUSIONS AND DEFENSES, RAID 2023, 2023, : 580 - 594
  • [30] Hardware-Assisted Code-Pointer Tagging for Forward-Edge Control-Flow Integrity
    Kim, Yonghae
    Kar, Anurag
    Lee, Jaewon
    Lee, Jaekyu
    Kim, Hyesoon
    IEEE COMPUTER ARCHITECTURE LETTERS, 2023, 22 (02) : 117 - 120