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 条
  • [41] Language Abstractions for Hardware-based Control-Flow Integrity Monitoring
    Harrison, William L.
    Allwein, Gerard
    2018 INTERNATIONAL CONFERENCE ON RECONFIGURABLE COMPUTING AND FPGAS (RECONFIG), 2018,
  • [42] Low-cost Software Control-Flow Error Recovery
    Nazarian, Ghazaleh
    Nane, Razvan
    Gaydadjiev, Georgi N.
    2015 EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN (DSD), 2015, : 510 - 517
  • [43] Tiny-CFA: Minimalistic Control-Flow Attestation Using Verified Proofs of Execution
    Nunes, Ivan De Oliveira
    Jakkamsetti, Sashidhar
    Tsudik, Gene
    PROCEEDINGS OF THE 2021 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE 2021), 2021, : 641 - 646
  • [44] KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels
    Criswell, John
    Dautenhahn, Nathan
    Adve, Vikram
    2014 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2014), 2014, : 292 - 307
  • [45] Hardware-Assisted Control-Flow Integrity Enhancement for IoT Devices
    Wang, Weiyi
    Feng, Lang
    Shi, Zhiguo
    Zhuo, Cheng
    Chen, Jiming
    2024 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION, DATE, 2024,
  • [46] HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity
    Wang, Zhi
    Jiang, Xuxian
    2010 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 2010, : 380 - 395
  • [47] Integrating Static Analyses for High-Precision Control-Flow Integrity
    Kasten, Florian
    Zieris, Philipp
    Horsch, Julian
    PROCEEDINGS OF 27TH INTERNATIONAL SYMPOSIUM ON RESEARCH IN ATTACKS, INTRUSIONS AND DEFENSES, RAID 2024, 2024, : 419 - 434
  • [48] Enforcing Forward-Edge Control-Flow Integrity in GCC & LLVM
    Tice, Caroline
    Roeder, Tom
    Collingbourne, Peter
    Checkoway, Stephen
    Erlingsson, Ulfar
    Lozano, Luis
    Pike, Geoff
    PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, 2014, : 941 - 955
  • [49] Poster: Control-Flow Integrity in Low-end Embedded Devices
    Jakkamsetti, Sashidhar
    Kim, Youngil
    Searles, Andrew
    Tsudik, Gene
    PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023, 2023, : 3618 - 3620
  • [50] A Security Analysis of Labeling-Based Control-Flow Integrity Schemes
    Demicco, David
    Cole, Matthew
    Wang, Shengdun
    Prakash, Aravind
    2022 IEEE 29TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, DATA AND ANALYTICS WORKSHOP, HIPCW, 2022, : 47 - 52