Description
Fault injection attacks are active side channel attacks where the adversary tampers with the operation of the device in-order to access privileged information. The adversary injects a fault into the device using a high-powered laser, or by altering the clock and power supply lines. These faults if carefully injected corrupt the output bits thereby revealing secret information. To detect and prevent fault injection attacks, tools such as SAFARI, XFC, ExpFault, and FEDS have been developed.
Related Tools
- Exp-Fault
- FEDS: Comprehensive Fault Attack Exploitability Detection for Software Implementations of Block Ciphers
- SAFARI: Automatic Synthesis of Fault-Attack Resistant Block Cipher Implementations
- XFC: eXploitable Fault Characterization
Publications
Srivastava, Milind; SLPSK, Patanjali; Roy, Indrani; Rebeiro, Chester; Hazra, Aritra; Bhunia, Swarup
SOLOMON: An Automated Framework for Detecting Fault Attack Vulnerabilities in Hardware Proceedings Article
In: Design, Automation, and Test in Europe Conference Exhibition (DATE), pp. 310-313, DATE IEEE, 2020, ISBN: 978-3-9819263-4-7.
@inproceedings{Srivastava2020b,
title = {SOLOMON: An Automated Framework for Detecting Fault Attack Vulnerabilities in Hardware},
author = {Milind Srivastava and Patanjali SLPSK and Indrani Roy and Chester Rebeiro and Aritra Hazra and Swarup Bhunia},
url = {https://ieeexplore.ieee.org/document/9116380},
doi = {10.23919/DATE48585.2020.9116380},
isbn = {978-3-9819263-4-7},
year = {2020},
date = {2020-03-09},
booktitle = {Design, Automation, and Test in Europe Conference Exhibition (DATE)},
pages = {310-313},
publisher = {IEEE},
organization = {DATE},
abstract = {Fault attacks are potent physical attacks on crypto-devices. A single fault injected during encryption can reveal the cipher's secret key. In a hardware realization of an encryption algorithm, only a tiny fraction of the gates is exploitable by such an attack. Finding these vulnerable gates has been a manual and tedious task requiring considerable expertise. In this paper, we propose SOLOMON, the first automatic fault attack vulnerability detection framework for hardware designs. Given a cipher implementation, either at RTL or gate-level, SOLOMON uses formal methods to map vulnerable regions in the cipher algorithm to specific locations in the hardware thus enabling targeted countermeasures to be deployed with much lesser overheads. We demonstrate the efficacy of the SOLOMON framework using three ciphers: AES, CLEFIA, and Simon.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
K, Keerthi; Roy, Indrani; Rebeiro, Chester; Hazra, Aritra; Bhunia, Swarup
FEDS: Comprehensive Fault Attack Exploitability Detection for Software Implementations of Block Ciphers Journal Article
In: IACR Transactions on Cryptographic Hardware and Embedded Systems, vol. 2020, no. 2, pp. 272-299, 2020.
@article{Keerthi2020,
title = {FEDS: Comprehensive Fault Attack Exploitability Detection for Software Implementations of Block Ciphers},
author = {Keerthi K and Indrani Roy and Chester Rebeiro and Aritra Hazra and Swarup Bhunia},
url = {https://tches.iacr.org/index.php/TCHES/article/view/8552},
doi = {https://doi.org/10.13154/tches.v2020.i2.272-299},
year = {2020},
date = {2020-03-02},
journal = {IACR Transactions on Cryptographic Hardware and Embedded Systems},
volume = {2020},
number = {2},
pages = { 272-299},
abstract = {Fault injection attacks are one of the most powerful forms of cryptanalytic attacks on ciphers. A single precisely injected fault during the execution of a cipher like the AES, can completely reveal the key within a few milliseconds. Software implementations of ciphers, therefore, need to be thoroughly evaluated for such attacks. In recent years, automated tools have been developed to perform these evaluations. These tools either work on the cipher algorithm or on their implementations. Tools that work at the algorithm level can provide a comprehensive assessment of fault attack vulnerability for different fault attacks and with different fault models. Their application is, however, restricted because every realization of the cipher has unique vulnerabilities. On the other hand, tools that work on cipher implementations have a much wider application but are often restricted by the range of fault attacks and the number of fault models they can evaluate.
In this paper, we propose a framework, called FEDS, that uses a combination of compiler techniques and model checking to merge the advantages of both, algorithmic level tools as well as implementation level tools. Like the algorithmic level tools, FEDS can provide a comprehensive assessment of fault attack exploitability considering a wide range of fault attacks and fault models. Like implementation level tools, FEDS works with implementations, therefore has wide applications. We demonstrate the versatility of FEDS by evaluating seven different implementations of AES (including bitsliced implementation) and implementations of CLEFIA and CAMELLIA for Differential Fault Attacks. The framework automatically identifies exploitable instructions in all implementations. Further, we present an application of FEDS in a Fault Attack Aware Compiler, that can automatically identify and protect exploitable regions of the code. We demonstrate that the compiler can generate significantly more efficient code than a naïvely protected equivalent while maintaining the same level of protection.},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
In this paper, we propose a framework, called FEDS, that uses a combination of compiler techniques and model checking to merge the advantages of both, algorithmic level tools as well as implementation level tools. Like the algorithmic level tools, FEDS can provide a comprehensive assessment of fault attack exploitability considering a wide range of fault attacks and fault models. Like implementation level tools, FEDS works with implementations, therefore has wide applications. We demonstrate the versatility of FEDS by evaluating seven different implementations of AES (including bitsliced implementation) and implementations of CLEFIA and CAMELLIA for Differential Fault Attacks. The framework automatically identifies exploitable instructions in all implementations. Further, we present an application of FEDS in a Fault Attack Aware Compiler, that can automatically identify and protect exploitable regions of the code. We demonstrate that the compiler can generate significantly more efficient code than a naïvely protected equivalent while maintaining the same level of protection.
Roy, Indrani; Rebeiro, Chester; Hazra, Aritra; Bhunia, Swarup
SAFARI: Automatic Synthesis of Fault-Attack Resistant Block Cipher Implementations Journal Article
In: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 39, no. 4, pp. 752-765, 2019, ISBN: 19545508.
@article{Roy2019,
title = {SAFARI: Automatic Synthesis of Fault-Attack Resistant Block Cipher Implementations},
author = {Indrani Roy and Chester Rebeiro and Aritra Hazra and Swarup Bhunia},
url = {https://ieeexplore.ieee.org/document/8634921},
doi = {10.1109/TCAD.2019.2897629},
isbn = {19545508},
year = {2019},
date = {2019-12-01},
journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems},
volume = {39},
number = {4},
pages = {752-765},
abstract = {Most cipher implementations are vulnerable to a class of cryptanalytic attacks known as fault injection attacks. To reveal the secret key, these attacks make use of faults induced at specific locations during the execution of the cipher. Countermeasures for fault injection attacks require these vulnerable locations in the implementation to be first identified and then protected. However, both these steps are difficult and error-prone and, hence, it requires considerable expertise to design efficient countermeasures. Incorrect or insufficient application of the countermeasures would cause the implementation to remain vulnerable, while inefficient application of the countermeasures could lead to significant performance penalties to achieve the desired fault-attack resistance. In this paper, we present a novel framework called SAFARI for automatically synthesizing fault-attack resistant implementations of block ciphers. The framework takes as input the security requirements and a high-level specification of the block cipher. It automatically detects the vulnerable locations from the specification, applies an appropriate countermeasure based on the user-specified security requirements, and then synthesizes an efficient, fault-attack protected, RTL, or C code for the cipher. We take AES, CAMELLIA, and CLEFIA as case studies and demonstrate how the framework would explore different countermeasures, based on the vulnerability of the locations, the output format, and the required security margins. We then evaluate the efficacy of SAFARI in hardware and software to the design overhead incurred and the fault coverage.},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Takarabt, Sofiane; Schaub, Alexander; Facon, Adrien; Guilley, Sylvain; Sauvage, Laurent; Souissi, Youssef; Mathieu, Yves
Cache-Timing Attacks Still Threaten IoT Devices Proceedings Article
In: Codes, Cryptology and Information Security, pp. 13–30, Springer International Publishing, Cham, 2019, ISBN: 978-3-030-16458-4.
@inproceedings{Takarabt2019Cache,
title = {Cache-Timing Attacks Still Threaten IoT Devices},
author = {Sofiane Takarabt and Alexander Schaub and Adrien Facon and Sylvain Guilley and Laurent Sauvage and Youssef Souissi and Yves Mathieu},
doi = {10.1007/978-3-030-16458-4_2},
isbn = {978-3-030-16458-4},
year = {2019},
date = {2019-01-01},
booktitle = {Codes, Cryptology and Information Security},
pages = {13--30},
publisher = {Springer International Publishing},
address = {Cham},
abstract = {Deployed widely and embedding sensitive data, The security of IoT devices depend on the reliability of cryptographic libraries to protect user information. However when implemented on real systems, cryptographic algorithms are vulnerable to side-channel attacks based on their execution behavior, which can be revealed by measurements of physical quantities such as timing or power consumption. Some countermeasures can be implemented in order to prevent those attacks. However those countermeasures are generally designed at high level description, and when implemented, some residual leakage may persist. In this article we propose a methodology to assess the robustness of the MbedTLS library against timing and cache-timing attacks. This comprehensive study of side-channel security allows us to identify the most frequent weaknesses in software cryptographic code and how those might be fixed. This methodology checks the whole source code, from the top level routines to low level primitives, that are used for the final application. We retrieve hundreds of lines of code that leak sensitive information.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Carré, Sébastien; Facon, Adrien; Guilley, Sylvain; Takarabt, Sofiane; Schaub, Alexander; Souissi, Youssef
Cache-Timing Attack Detection and Prevention Proceedings Article
In: Constructive Side-Channel Analysis and Secure Design, pp. 13–21, Springer International Publishing, Cham, 2019, ISBN: 978-3-030-16350-1.
@inproceedings{Carre2019Cache,
title = {Cache-Timing Attack Detection and Prevention},
author = {Sébastien Carré and Adrien Facon and Sylvain Guilley and Sofiane Takarabt and Alexander Schaub and Youssef Souissi},
doi = {10.1007/978-3-030-16350-1_2},
isbn = {978-3-030-16350-1},
year = {2019},
date = {2019-01-01},
booktitle = {Constructive Side-Channel Analysis and Secure Design},
pages = {13--21},
publisher = {Springer International Publishing},
address = {Cham},
abstract = {With the publication of Spectre & Meltdown attacks, cache-timing exploitation techniques have received a wealth of attention recently. On the one hand, it is now well understood which patterns in the source code create observable unbalances in terms of timing. On the other hand, some practical attacks have also been reported. But the exact relation between vulnerabilities and exploitations is not enough studied as of today. In this article, we put forward a methodology to characterize the leakage induced by a ``non-constant-time'' construct in the source code. This methodology allows us to recover known attacks and to warn about possible new ones, possibly devastating.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Bruneau, Nicolas; Christen, Charles; Danger, Jean-Luc; Facon, Adrien; Guilley, Sylvain
Security Evaluation Against Side-Channel Analysis at Compilation Time Proceedings Article
In: pp. 129–148, Springer International Publishing, Cham, 2019, ISBN: 978-3-030-36237-9.
@inproceedings{Bruneau2019security,
title = {Security Evaluation Against Side-Channel Analysis at Compilation Time},
author = {Nicolas Bruneau and Charles Christen and Jean-Luc Danger and Adrien Facon and Sylvain Guilley},
doi = {10.1007/978-3-030-36237-9_8},
isbn = {978-3-030-36237-9},
year = {2019},
date = {2019-01-01},
pages = {129--148},
publisher = {Springer International Publishing},
address = {Cham},
abstract = {Masking countermeasure is implemented to thwart side-channel attacks. The maturity of high-order masking schemes has reached the level where the concepts are sound and proven. For instance, Rivain and Prouff proposed a full-fledged AES at CHES 2010. Some non-trivial fixes regarding refresh functions were needed though. Now, industry is adopting such solutions, and for the sake of both quality and certification requirements, masked cryptographic code shall be checked for correctness using the same model as that of the theoretical protection rationale (for instance the probing leakage model).},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Facon, Adrien; Guilley, Sylvain; Lec'hvien, Matthieu; Marion, Damien; Perianin, Thomas
Binary Data Analysis for Source Code Leakage Assessment Proceedings Article
In: Innovative Security Solutions for Information Technology and Communications, pp. 391–409, Springer International Publishing, Cham, 2019, ISBN: 978-3-030-12942-2.
@inproceedings{10.1007/978-3-030-12942-2_30,
title = {Binary Data Analysis for Source Code Leakage Assessment},
author = {Adrien Facon and Sylvain Guilley and Matthieu Lec'hvien and Damien Marion and Thomas Perianin},
doi = {10.1007/978-3-030-12942-2_30},
isbn = {978-3-030-12942-2},
year = {2019},
date = {2019-01-01},
booktitle = {Innovative Security Solutions for Information Technology and Communications},
pages = {391--409},
publisher = {Springer International Publishing},
address = {Cham},
abstract = {Side Channel Analysis (SCA) is known to be a serious threat for cryptographic algorithms since twenty years. Recently, the explosion of the Internet of Things (IoT) has increased the number of devices that can be targeted by these attacks, making this threat more relevant than ever. Furthermore, the evaluations of cryptographic algorithms regarding SCA are usually performed at the very end of a product design cycle, impacting considerably the time-to-market in case of security flaws. Hence, early simulations of embedded software and methodologies have been developed to assess vulnerabilities with respect to SCA for specific hardware architectures. Aiming to provide an agnostic evaluation method, we propose in this paper a new methodology of data collection and analysis to reveal leakage of sensitive information from any software implementation. As an illustration our solution is used interestingly to break a White Box Cryptography (WBC) implementation, challenging existing simulation-based attacks.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Souissi, Youssef; Facon, Adrien; Guilley, Sylvain
Virtual Security Evaluation Proceedings Article
In: Carlet, Claude; Guilley, Sylvain; Nitaj, Abderrahmane; Souidi, El Mamoun (Ed.): Codes, Cryptology and Information Security, pp. 3–12, Springer International Publishing, Cham, 2019, ISBN: 978-3-030-16458-4.
@inproceedings{Souissi2019Virtual,
title = {Virtual Security Evaluation},
author = {Youssef Souissi and Adrien Facon and Sylvain Guilley},
editor = {Claude Carlet and Sylvain Guilley and Abderrahmane Nitaj and El Mamoun Souidi},
doi = {10.1007/978-3-030-16458-4_1},
isbn = {978-3-030-16458-4},
year = {2019},
date = {2019-01-01},
booktitle = {Codes, Cryptology and Information Security},
pages = {3--12},
publisher = {Springer International Publishing},
address = {Cham},
abstract = {``An ounce of prevention is worth a pound of cure''. This paper presents a methodology to detect side-channel leakage at source-code level. It leverages simple tests performed on noise-less traces of execution, and returns to the developer accurate information about the security issues. The feedback is in terms of location (where in code, when in time), in terms of security severity (amount and duration of leakage), and most importantly, in terms of possible reason for the leakage. After the source code (and subsequently the compiled code) has been sanitized, attack attempts complement the methodology to test the implementation against realistic exploitations. This last steps allows to validate whether the tolerated leakages during the sanitizing stage are indeed benign.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Takarabt, Sofiane; Chibani, Kais; Facon, Adrien; Guilley, Sylvain; Mathieu, Yves; Sauvage, Laurent; Souissi, Youssef
Pre-silicon Embedded System Evaluation as New EDA Tool for Security Verification Proceedings Article
In: 2018 IEEE 3rd International Verification and Security Workshop (IVSW), pp. 74-79, 2018.
@inproceedings{8494881,
title = {Pre-silicon Embedded System Evaluation as New EDA Tool for Security Verification},
author = {Sofiane Takarabt and Kais Chibani and Adrien Facon and Sylvain Guilley and Yves Mathieu and Laurent Sauvage and Youssef Souissi},
doi = {10.1109/IVSW.2018.8494881},
year = {2018},
date = {2018-07-01},
booktitle = {2018 IEEE 3rd International Verification and Security Workshop (IVSW)},
pages = {74-79},
abstract = {The security evaluation of embedded systems becomes clear and mandatory. Up today, the evaluation process is limited to certification labs that conduct the analysis on real target devices. This requires appropriate measurement platforms and equipment in addition to real chip analysis skills. In this paper, we put forward a pre-silicon evaluation methodology and tools that allow the security verification at an early stage (virtual target) and running it hands in hands with the functional verification. As of today, such approach can be used as new Electronic Design Automation (EDA) tool to properly satisfy the basics of Design for Security (DFS) concept. From a practical viewpoint, we show a study case to illustrate and provide a better understanding of that approach. Moreover, we propose new evaluation metrics based on Signal to Noise Ratio (SNR) computation, and verified on virtual and real targets respectively based on a comparative study. Likewise, the tool identifies vulnerabilites (thereby anticipating complete families of otherwise numerous, complex and many undiscovered attacks), and returns accurate feedack to the user on the precise line of code (LoC) where the vulnerability lays along with its characterization, including an identification of its severity. This allows the design to input source code to the tool, and to get back in return annotated source code with a collection of LoCs which deserve careful analysis and/or subsequent modification aiming at patching vulnerabilities.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}
Saha, Sayandeep; Mukhopadhyay, Debdeep; Dasgupta, Pallab
ExpFault: An Automated Framework for Exploitable Fault Characterization in Block Ciphers Journal Article
In: IACR Transactions on Cryptographic Hardware and Embedded Systems, vol. 2018, no. 2, pp. 242-276, 2018.
@article{Saha_Mukhopadhyay_Dasgupta_2018,
title = {ExpFault: An Automated Framework for Exploitable Fault Characterization in Block Ciphers},
author = {Sayandeep Saha and Debdeep Mukhopadhyay and Pallab Dasgupta},
url = {https://tches.iacr.org/index.php/TCHES/article/view/882},
doi = {10.13154/tches.v2018.i2.242-276},
year = {2018},
date = {2018-05-01},
journal = {IACR Transactions on Cryptographic Hardware and Embedded Systems},
volume = {2018},
number = {2},
pages = {242-276},
abstract = {Malicious exploitation of faults for extracting secrets is one of the most practical and potent threats to modern cryptographic primitives. Interestingly, not every possible fault for a cryptosystem is maliciously exploitable, and evaluation of the exploitability of a fault is nontrivial. In order to devise precise defense mechanisms against such rogue faults, a comprehensive knowledge is required about the exploitable part of the fault space of a cryptosystem. Unfortunately, the fault space is diversified and of formidable size even while a single cryptoprimitive is considered and traditional manual fault analysis techniques may often fall short to practically cover such a fault space within reasonable time. An automation for analyzing individual fault instances for their exploitability is thus inevitable. Such an automation is supposed to work as the core engine for analyzing the fault spaces of cryptographic primitives. In this paper, we propose an automation for evaluating the exploitability status of fault instances from block ciphers, mainly in the context of Differential Fault Analysis (DFA) attacks. The proposed framework is generic and scalable, which are perhaps the two most important features for covering diversified fault spaces of formidable size originating from different ciphers. As a proof-of-concept, we reconstruct some known attack examples on AES and PRESENT using the framework and finally analyze a recently proposed cipher GIFT [BPP+17] for the first time. It is found that the secret key of GIFT can be uniquely determined with 1 nibble fault instance injected at the beginning of the 25th round with a reasonable computational complexity of 214.},
keywords = {},
pubstate = {published},
tppubtype = {article}
}
Khanna, Punit; Rebeiro, Chester; Hazra, Aritra
XFC: A Framework for eXploitable Fault Characterization in Block Ciphers Proceedings Article
In: ACM/EDAC/IEEE Design Automation Conference (DAC), pp. 1-6, DAC ACM/IEEE/EDAC, 2017, ISBN: 978-1-4503-4927-7.
@inproceedings{Khanna2017,
title = {XFC: A Framework for eXploitable Fault Characterization in Block Ciphers},
author = {Punit Khanna and Chester Rebeiro and Aritra Hazra},
url = {https://ieeexplore.ieee.org/document/8060292},
doi = {10.1145/3061639.3062340},
isbn = {978-1-4503-4927-7},
year = {2017},
date = {2017-05-08},
booktitle = {ACM/EDAC/IEEE Design Automation Conference (DAC)},
pages = {1-6},
publisher = {ACM/IEEE/EDAC},
organization = {DAC},
abstract = {Fault attacks recover secret keys by exploiting faults injected during the execution of a block cipher. However, not all faults are exploitable and every exploitable fault is associated with an offline complexity to determine the key. The ideal fault attack would recover maximum key bits with minimum offline effort. Finding the ideal fault attack for a block cipher is a laborious manual task, which can take several months to years before such an attack is discovered. In this paper, we present a framework that would analyze block ciphers for their vulnerabilities to faults and automatically predict whether a differential fault attack would be successful. The framework, which we call XFC, uses colors to analyze the fault propagation and exploitability in the cipher. XFC would be able to (a) predict the key bits that can be derived by the fault attack and (b) estimate the offline complexity. It can thus be used to identify the ideal fault attack for a block cipher. As a proof of concept, we have applied XFC to the block ciphers AES, CLEFIA, and SMS4 and were able to automatically derive fault attacks that correspond to the best known to date in the single fault model.},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings}
}