1. Introduction
Field-Programmable Gate Arrays (FPGAs) are rapidly gaining popularity as a flexible hardware platform for prototyping and deploying various applications [
1]. Product development with FPGAs is an efficient and cost-effective approach as they offer a broad selection of intellectual property (IP) modules for easy integration and reconfiguration [
2]. These key benefits have resulted in a significant rise in the integration of FPGAs across various domains, including data center applications [
3] , wireless connectivity, the acceleration of artificial intelligence (AI) and machine learning (ML) tasks [
4], IoT/embedded devices, edge computing applications, as well as cyber-physical systems, among others. Therefore, with FPGAs being widely used in safety-critical applications, there is a heightened need to prioritize security and privacy measures while also optimizing their performance concerning power, performance, and area metrics. One significant hurdle when leveraging the considerable performance benefits of FPGAs is their programmability. Programming FPGAs is commonly viewed as a practice centered around the development of control paths, data paths, and finite-state machine design; thus, it requires a high level of hardware expertise. If the algorithm or functionality of an FPGA is supposed to accelerate changes or add-ons frequently, it can lead to obsolescence issues. FPGA designs do not readily accommodate algorithm modifications or additions as seamlessly as software designs, which can be easily recompiled or updated. Additionally, FPGA programming often relies on vendor-specific development tools and ecosystems, which can be less standardized and user-friendly compared to general-purpose programming environments. Hence, there is an imperative requirement to have a general platform-independent framework that can be used for adding functionalities to an FPGA design at various stages of its development using an interface that is defined by the design [
5].
The development of products based on FPGAs involves various stages and interactions with third parties. These untrusted sources have the potential to maliciously modify a hardware IP block that is programmed onto an FPGA device at different stages of the FPGA life cycle [
6]. These malicious alterations have attracted significant research attention, which has been focused on identifying and preventing them. Additionally, a plethora of hardware-based countermeasures exist to thwart these attacks either by inserting them manually in the design or through some platform-specific EDA flow. Some of these malicious alterations and countermeasures are as follows:
Hardware Trojan Insertion [
7]: Trojan circuits are designed and inserted in FPGAs with the intent to illicitly alter the FPGA behavior. They trigger system malfunctions, enable unauthorized remote access to hardware components, and monitor or leak sensitive data. A plethora of tools based on ML [
8], aging [
9], or exploring signal correlation and cyclic redundancy checks [
10] exist in the literature to detect hardware Trojans in FPGAs.
Side-channel and Fault Injection Attacks [
11,
12,
13]: Side-channel attacks exploit the physical information that becomes apparent when a system employs an encryption technique to break into an FPGA. For fault attacks, adversaries inject faults into the behavior and then study the faulty behavior to retrieve secrets. Prominent hardware countermeasures [
14,
15,
16] are inserted during FPGA development.
Thermal Laser Simulation [
17]: Using a current monitoring laser stimulation, the device is biased with a supply voltage, and the current between the supply pins is monitored via current pre-amplifier to retrieve the AES secret-key. These authors also proposed noise-based hardware mitigation [
17].
Reverse Engineering [
18]: The adversary intercepts the generated bitstream to employ reverse-engineering techniques for retrieving higher-level functionality or structure-level descriptions. The countermeasure scheme involves obfuscating [
19,
20] the bitstreams to protect the IPs from typical reverse engineering attacks.
Boolean Satisfiability(SAT)-Attacks [
21]: This approach permits an attacker to decode an encrypted netlist by employing a set of meticulously chosen input patterns along with their output observations. A number of locking techniques [
22,
23], designed by tweaking the circuits, have been proposed to thwart this category of attacks.
However, all the above attack/mitigation tools and techniques have been developed and tested using different FPGA platforms and families. Hence, platform-dependent solutions do not promote interoperability between different design tools and platforms. Additionally, platform-dependent solutions cannot be adapted to new technologies and platforms, and they are not pluggable to new methods. Hence, there is an imperative need for a platform-independent integrated automated framework that can act as a general-purpose function inserter, can augment mitigation techniques against hardware attacks, or is able to insert Trojans to examine its effect. The framework should ideally possess the following desirable characteristics:
Serve as a versatile solution to augment design functions using a flexible and scalable interface defined by the design.
Support a module composition-based design that envisions a library of modules for error checking, monitoring, etc., which defenders can integrate into their designs to mitigate and thwart varied attack dimensions on FPGAs.
Facilitate the investigation of hardware attacks in FPGA netlists, seamlessly incorporating various categories of FPGA-specific Trojans into a netlist at various stages of the FPGA design cycle, thus enabling a swift and thorough examination of potential Trojan attacks.
Support automated cross-platform application by not being dependent on vendor-specific file formats and operating instead on industry-standard text-based formats that are compatible with different FPGA families, thus reducing need for manual programming and specialized hardware expertise.
In this work, we propose an automated framework
FEINT, as shown in
Figure 1, to encompass these features.
FEINT can be used by an attacker to explore the domain of hardware Trojan attacks within FPGA netlists, or by a defender to insert hardware countermeasures to mitigate against various physical attacks in FPGAs. The proposed framework is useful in general for an amateur designer to insert add-on functionalities to an FPGA design by tuning the configuration files.
The
FEINT framework is illustrated in
Figure 1, and it can be used by individuals in the roles of an attacker, a defender, or a designer. The attacker, defender, or designer employs a pre-defined Trojan library, hardware attack mitigation library, or general-purpose template library, respectively, to integrate modules either during the ➀ RTL stage, ➁ synthesis stage, or ➂ the place-and-route stage within the FPGA design process. The general-purpose template library may consist of sensor modules, wireless modules, etc. The Trojan library consists of various hardware Trojans. The attack mitigation library may have modules such as a power-on self-test, threshold implementation, and Hash algorithms. The
FEINT approach merely requires script configuration to produce the desired hardware, thus ensuring independence from vendor-specific formats and platforms.
While FEINT can be applied for various purposes, including adding security features, improving functionality, or inserting hardware Trojans, we would like to note that FEINT by itself does not pose a security issue in terms of malicious use. This is because FEINT is simply an FPGA design modification tool (i.e., a general-purpose tool like a compiler) and security measures to prevent malicious use effectively entails ensuring that the computer/network infrastructure in which the FPGA design to be protected is located is secured against attackers. In terms of a threat model, FEINT does not increase the attack surface since any malicious use achievable using FEINT could be performed “by hand” by an adversary who gains access to a secure computer/network—FEINT simply reduces the manual workload to effect modifications of the FPGA code. These capabilities, therefore, enable a flexible tool that can be effectively used for multiple purposes, as discussed in this paper.
The rest of this paper is organized as follows: In
Section 2, we provide an overview of the related works in this domain and elaborate our key contributions in this paper.
Section 3 describes the tool capabilities, and
Section 4 demonstrates the efficiency of our flow through the experimental results. Finally,
Section 5 concludes the workm along with a brief note on future directions.
Author Contributions
Conceptualization, P.K., J.T., R.K. and F.K.; methodology, V.R.S., H.P., P.K., R.K. and F.K.; software, V.R.S., R.S. and M.R.; validation, V.R.S., R.S., M.R., H.P. and P.K.; formal analysis, V.R.S., H.P. and P.K.; investigation, V.R.S., R.S., M.R., H.P. and P.K.; resources, P.K., R.K. and F.K.; data curation, V.R.S., R.S., M.R., H.P. and P.K.; writing—original draft preparation, V.R.S., R.S., M.R., H.P. and P.K.; writing—review and editing, V.R.S., R.S., M.R., H.P., P.K., J.T., R.K. and F.K.; visualization, V.R.S., R.S. and M.R.; supervision, P.K., J.T., R.K. and F.K.; project administration, P.K., J.T., R.K. and F.K.; funding acquisition, P.K., J.T., R.K. and F.K. All authors have read and agreed to the published version of the manuscript.
Funding
This work was supported, in part, by DoE Kansas City. Honeywell Federal Manufacturing & Technologies, LLC operates the Kansas City National Security Campus for the United States Department of Energy/National Nuclear Security Administration under contract number DE-NA0002839.
Data Availability Statement
Data available on request from the authors.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Kuon, I.; Rose, J. Quantifying and Exploring the Gap between FPGAs and ASICs; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2010. [Google Scholar]
- Trimberger, S.M. Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology. Proc. IEEE 2015, 103, 318–331. [Google Scholar] [CrossRef]
- Caulfield, A.M.; Chung, E.S.; Putnam, A.; Angepat, H.; Fowers, J.; Haselman, M.; Heil, S.; Humphrey, M.; Kaur, P.; Kim, J.Y.; et al. A cloud-scale acceleration architecture. In Proceedings of the Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Taipei, Taiwan, 15–19 October 2016; pp. 1–13. [Google Scholar] [CrossRef]
- Cheng, Q.; Huang, M.; Man, C.; Shen, A.; Dai, L.; Yu, H.; Hashimoto, M. Reliability Exploration of System-on-Chip with Multi-Bit-Width Accelerator for Multi-Precision Deep Neural Networks. IEEE Trans. Circuits Syst. Regul. Pap. 2023, 70, 3978–3991. [Google Scholar] [CrossRef]
- Zhang, C.; Prasanna, V. Frequency Domain Acceleration of Convolutional Neural Networks on CPU-FPGA Shared Memory System. In Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA, 22–24 February 2017; pp. 35–44. [Google Scholar]
- Waksman, A.; Sethumadhavan, S. Silencing hardware backdoors. In Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA, USA, 22–25 May 2011; IEEE: Piscataway, NJ, USA, 2011; pp. 49–63. [Google Scholar]
- Lin, L.; Kasper, M.; Güneysu, T.; Paar, C.; Burleson, W. Trojan Side-Channels: Lightweight Hardware Trojans through Side-Channel Engineering. In Proceedings of the Cryptographic Hardware and Embedded Systems, CHES ’09, Berlin/Heidelberg, Germany, 6–9 September 2009; pp. 382–395. [Google Scholar]
- Elnaggar, R.; Chaudhuri, J.; Karri, R.; Chakrabarty, K. Learning Malicious Circuits in FPGA Bitstreams. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2023, 42, 726–739. [Google Scholar] [CrossRef]
- Surabhi, V.R.; Krishnamurthy, P.; Amrouch, H.; Henkel, J.; Karri, R.; Khorrami, F. Exposing Hardware Trojans in Embedded Platforms via Short-Term Aging. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2020, 39, 3519–3530. [Google Scholar] [CrossRef]
- Zhao, W.; Shen, H.; Li, H.; Li, X. Hardware Trojan Detection Based on Signal Correlation. In Proceedings of the IEEE Asian Test Symposium, Hefei, China, 15–18 October 2018; pp. 80–85. [Google Scholar] [CrossRef]
- Standaert, F.X.; Örs, S.B.; Preneel, B. Power Analysis of an FPGA. In Proceedings of the Cryptographic Hardware and Embedded Systems—CHES 2004, Cambridge, MA, USA, 11–13 August 2004; Joye, M., Quisquater, J.J., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 30–44. [Google Scholar]
- Moradi, A.; Barenghi, A.; Kasper, T.; Paar, C. On the Vulnerability of FPGA Bitstream Encryption against Power Analysis Attacks: Extracting Keys from Xilinx Virtex-II FPGAs. In Proceedings of the ACM Conference on Computer and Communications Security, New York, NY, USA, 17–21 October 2011; CCS ’11. pp. 111–124. [Google Scholar] [CrossRef]
- Krautter, J.; Gnad, D.R.E.; Tahoori, M.B. FPGAhammer: Remote Voltage Fault Attacks on Shared FPGAs, suitable for DFA on AES. IACR Trans. CHES 2018, 2018, 44–68. [Google Scholar] [CrossRef]
- Glamočanin, O.; Mahmoud, D.G.; Regazzoni, F.; Stojilović, M. Shared FPGAs and the Holy Grail: Protections against Side-Channel and Fault Attacks. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, France, 1–5 February 2021; pp. 1645–1650. [Google Scholar] [CrossRef]
- Bilgin, B.; Gierlichs, B.; Nikova, S.; Nikov, V.; Rijmen, V. Higher-Order Threshold Implementations. In Proceedings of the Advances in Cryptology—ASIACRYPT 2014, Kaoshiung, Taiwan, 7–11 December 2014; Sarkar, P., Iwata, T., Eds.; pp. 326–343. [Google Scholar]
- Gross, H.; Mangard, S.; Korak, T. Domain-Oriented Masking: Compact Masked Hardware Implementations with Arbitrary Protection Order. Cryptology ePrint Archive, Paper 2016/486 . 2016. Available online: https://eprint.iacr.org/2016/486 (accessed on 17 September 2023).
- Lohrke, H.; Tajik, S.; Krachenfels, T.; Boit, C.; Seifert, J.P. Key Extraction Using Thermal Laser Stimulation: A Case Study on Xilinx Ultrascale FPGAs. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2018, 2018, 573–595. [Google Scholar] [CrossRef]
- Yoon, J.; Seo, Y.; Jang, J.; Cho, M.; Kim, J.; Kim, H.; Kwon, T. A Bitstream Reverse Engineering Tool for FPGA Hardware Trojan Detection. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, CCS ’18, Toronto, ON, Canada, 15–19 October 2018; pp. 2318–2320. [Google Scholar] [CrossRef]
- Mardani Kamali, H.; Zamiri Azar, K.; Gaj, K.; Homayoun, H.; Sasan, A. LUT-Lock: A Novel LUT-Based Logic Obfuscation for FPGA-Bitstream and ASIC-Hardware Protection. In Proceedings of the IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Hong Kong, China, 8–11 July 2018; pp. 405–410. [Google Scholar] [CrossRef]
- Olney, B.; Karam, R. Tunable FPGA Bitstream Obfuscation with Boolean Satisfiability Attack Countermeasure. ACM Trans. Des. Autom. Electron. Syst. 2020, 25, 1–22. [Google Scholar] [CrossRef]
- Subramanyan, P.; Ray, S.; Malik, S. Evaluating the security of logic encryption algorithms. In Proceedings of the IEEE International Symposium on Hardware Oriented Security and Trust (HOST), McLean, VA, USA, 5–7 May 2015; pp. 137–143. [Google Scholar] [CrossRef]
- Yasin, M.; Mazumdar, B.; Rajendran, J.J.V.; Sinanoglu, O. SARLock: SAT attack resistant logic locking. In Proceedings of the IEEE International Symposium on Hardware Oriented Security and Trust (HOST), McLean, VA, USA, 3–5 May 2016; pp. 236–241. [Google Scholar] [CrossRef]
- Yasin, M.; Rajendran, J.J.; Sinanoglu, O.; Karri, R. On Improving the Security of Logic Locking. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2016, 35, 1411–1424. [Google Scholar] [CrossRef]
- Lavin, C.; Kaviani, A. RapidWright: Enabling Custom Crafted Implementations for FPGAs. In Proceedings of the IEEE Field-Programmable Custom Computing Machines (FCCM), Boulder, CO, USA, 29 April–1 May 2018; pp. 133–140. [Google Scholar] [CrossRef]
- Backasch, R.; Hempel, G.; Werner, S.; Groppe, S.; Pionteck, T. Identifying homogenous reconfigurable regions in heterogeneous FPGAs for module relocation. In Proceedings of the International Conference on ReConFigurable Computing and FPGAs (ReConFig14), Cancun, Mexico, 8–10 December 2014; pp. 1–6. [Google Scholar] [CrossRef]
- Athanas, P.; Bowen, J.; Dunham, T.; Patterson, C.; Rice, J.; Shelburne, M.; Suris, J.; Bucciero, M.; Graf, J. Wires on Demand: Run-Time Communication Synthesis for Reconfigurable Computing. In Proceedings of the International Conference on Field Programmable Logic and Applications, Amsterdam, The Netherlands, 27–29 August 2007; pp. 513–516. [Google Scholar] [CrossRef]
- Cruz, J.; Posada, C.; Masna, N.V.R.; Chakraborty, P.; Gaikwad, P.; Bhunia, S. A Framework for Automated Exploration of Trojan Attack Space in FPGA Netlists. IEEE Trans. Comput. 2023, 72, 2740–2751. [Google Scholar] [CrossRef]
- Fyrbiak, M.; Wallat, S.; Swierczynski, P.; Hoffmann, M.; Hoppach, S.; Wilhelm, M.; Weidlich, T.; Tessier, R.; Paar, C. HAL—The Missing Piece of the Puzzle for Hardware Reverse Engineering, Trojan Detection and Insertion. IEEE Trans. Dependable Secur. Comput. 2019, 16, 498–510. [Google Scholar] [CrossRef]
- Jyothi, V.; Krishnamurthy, P.; Khorrami, F.; Karri, R. TAINT: Tool for Automated INsertion of Trojans. In Proceedings of the IEEE International Conference on Computer Design (ICCD), Boston, MA, USA, 5–8 November 2017; pp. 545–548. [Google Scholar]
- Intel. Intel FPGA Design Flow. Available online: https://www.intel.com/content/www/us/en/docs/programmable/683562/21-3/introduction-to-fpga-design-flow-for-users.html (accessed on 17 September 2023).
- Banga, M.; Hsiao, M.S. ODETTE: A non-scan design-for-test methodology for Trojan detection in ICs. In Proceedings of the IEEE International Symposium on Hardware-Oriented Security and Trust, San Diego, CA, USA, 5–6 June 2011; pp. 18–23. [Google Scholar] [CrossRef]
- Jha, S.; Jha, S.K. Randomization Based Probabilistic Approach to Detect Trojan Circuits. In Proceedings of the IEEE High Assurance Systems Engineering Symposium, Nanjing, China, 3–5 December 2008; pp. 117–124. [Google Scholar] [CrossRef]
- Shi, Z.; Ma, H.; Zhang, Q.; Liu, Y.; Zhao, Y.; He, J. Test generation for hardware trojan detection using correlation analysis and genetic algorithm. ACM Trans. Embed. Comput. Syst. TECS 2021, 20, 1–20. [Google Scholar] [CrossRef]
- Agrawal, D.; Baktir, S.; Karakoyunlu, D.; Rohatgi, P.; Sunar, B. Trojan Detection using IC Fingerprinting. In Proceedings of the IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 20–23 May 2007; pp. 296–310. [Google Scholar] [CrossRef]
- Aarestad, J.; Acharyya, D.; Rad, R.; Plusquellic, J. Detecting Trojans Through Leakage Current Analysis Using Multiple Supply Pad IDDQs. IEEE Trans. Inf. Forensics Secur. 2010, 5, 893–904. [Google Scholar] [CrossRef]
- Rad, R.; Plusquellic, J.; Tehranipoor, M. Sensitivity analysis to hardware Trojans using power supply transient signals. In Proceedings of the IEEE International Workshop on Hardware-Oriented Security and Trust, Anaheim, CA, USA, 9 June 2008; pp. 3–7. [Google Scholar] [CrossRef]
- Surabhi, V.R.; Krishnamurthy, P.; Amrouch, H.; Basu, K.; Henkel, J.; Karri, R.; Khorrami, F. Hardware Trojan Detection Using Controlled Circuit Aging. IEEE Access 2020, 8, 77415–77434. [Google Scholar] [CrossRef]
- Surabhi, V.R.; Krishnamurthy, P.; Amrouch, H.; Henkel, J.; Karri, R.; Khorrami, F. Trojan Detection in Embedded Systems with FinFET Technology. IEEE Trans. Comput. 2022, 71, 3061–3071. [Google Scholar] [CrossRef]
- Piliposyan, G.; Khursheed, S.; Rossi, D. Hardware Trojan Detection on a PCB Through Differential Power Monitoring. IEEE Trans. Emerg. Top. Comput. 2022, 10, 740–751. [Google Scholar] [CrossRef]
- Salmani, H.; Tehranipoor, M. Layout-Aware Switching Activity Localization to Enhance Hardware Trojan Detection. IEEE Trans. Inf. Forensics Secur. 2012, 7, 76–87. [Google Scholar] [CrossRef]
- Doulcier, M.; Flottes, M.L.; Rouzeyre, B. AES vs LFSR Based Test Pattern Generation: A Comparative Study. In Proceedings of the LATW: Latin American Test Workshop, Cuzco, Peru, 11–14 March 2007; pp. 314–321. [Google Scholar]
| Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).