Approaches to Extend FPGA Reverse-Engineering Technology from ISE to Vivado
Abstract
:1. Introduction
2. Background
2.1. Structure of Xilinx FPGA
2.2. ISE Design Flow
2.3. Vivado Design Flow
3. Netlist File Generation
3.1. XDLRC File Generated by ISE
3.2. XDLRC File Generated by Vivado
3.3. XDL File Generated by ISE
3.4. XDL File Generated by Vivado
4. Analysis
4.1. Comparison of XDLRC
4.2. Comparison of XDL
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Drimer, S. Volatile FPGA Design Security—A Survey; Computer Laboratory, University of Cambridge: Cambridge, UK, 2008. [Google Scholar]
- Wallat, S.; Fyrbiak, M.; Schlögel, M.; Paar, C. A look at the dark side of hardware reverse engineering—A case study. In Proceedings of the 2017 IEEE 2nd International Verification and Security Workshop (IVSW), Thessaloniki, Greece, 3–5 July 2017; pp. 95–100. [Google Scholar]
- Swierczynski, P.; Fyrbiak, M.; Koppe, P.; Paar, C. FPGA Trojans Through Detecting and Weakening of Cryptographic Primitives. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2015, 34, 1236–1249. [Google Scholar] [CrossRef]
- Swierczynski, P.; Fyrbiak, M.; Paar, C.; Huriaux, C.; Tessier, R. Protecting against Cryptographic Trojans in FPGAs. In Proceedings of the 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines, Vancouver, BC, Canada, 2–6 May 2015; pp. 151–154. [Google Scholar]
- FPGA Leadership Across Multiple Process Nodes. Available online: https://www.xilinx.com/products/silicon-devices/fpga.html (accessed on 6 February 2024).
- De Mulder, E.; Buysschaert, P.; Ors, S.; Delmotte, P.; Preneel, B.; Vandenbosch, G.; Verbauwhede, I. Electromagnetic Analysis Attack on an FPGA Implementation of an Elliptic Curve Cryptosystem. In Proceedings of the EUROCON 2005—The International Conference on Computer as a Tool, Belgrade, Serbia, 21–24 November 2005; pp. 1879–1882. [Google Scholar]
- Choi, S.; Im, N.; Yoo, H. FPGA Design Duplication based on the Bitstream Extraction. In Proceedings of the 2021 18th International SoC Design Conference (ISOCC), Jeju Island, Republic of Korea, 6–9 October 2021; pp. 373–374. [Google Scholar]
- Lee, D.; Lee, S.; Cho, M.; Lee, H.-M.; Kim, Y. Data extraction from flash memory and reverse engineering using Xilinx 7 series FPGA boards. In Proceedings of the 2022 19th International SoC Design Conference (ISOCC), Gangneung-si, Republic of Korea, 19–22 October 2022; pp. 330–331. [Google Scholar]
- Swierczynski, P.; Becker, G.T.; Moradi, A.; Paar, C. Bitstream Fault Injections (BiFI)–Automated Fault Attacks Against SRAM-Based FPGAs. IEEE Trans. Comput. 2018, 67, 348–360. [Google Scholar] [CrossRef]
- Note, J.-B.; Rannaud, E. From the bitstream to the netlist. In Proceedings of the 16th International ACM/SIGDA Symposium on Field Programmable Gate Arrays, Monterey, CA, USA, 24–26 February 2008; p. 264. [Google Scholar]
- Benz, F.; Seffrin, A.; Huss, S.A. Bil: A tool-chain for bitstream reverse-engineering. In Proceedings of the 22nd International Conference on Field Programmable Logic and Applications (FPL), Oslo, Norway, 29–31 August 2012; pp. 735–738. [Google Scholar]
- Ding, Z.; Wu, Q.; Zhang, Y.; Zhu, L. Deriving an NCD file from an FPGA bitstream: Methodology, architecture and evaluation. Microprocess. Microsyst. 2013, 37, 299–312. [Google Scholar] [CrossRef]
- Lavin, C.; Padilla, M.; Lundrigan, P.; Nelson, B.; Hutchings, B. Rapid prototyping tools for FPGA designs: RapidSmith. In Proceedings of the 2010 International Conference on Field-Programmable Technology, Beijing, China, 8–10 December 2010; pp. 353–356. [Google Scholar]
- Zhang, T.; Wang, J.; Guo, S.; Chen, Z. A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code. IEEE Access 2019, 7, 38379–38389. [Google Scholar] [CrossRef]
- Available online: https://prjxray.readthedocs.io/en/latest/index.html (accessed on 6 February 2024).
- Yu, H.; Lee, H.-M.; Shin, Y.; Kim, Y. FPGA reverse engineering in Vivado design suite based on X-ray project. In Proceedings of the 2019 International SoC Design Conference (ISOCC), Jeju, Republic of Korea, 6–9 October 2019; pp. 239–240. [Google Scholar]
- Yu, H.; Cho, M.; Lee, S.; Lee, H.M.; Kim, Y. Multi Look-up Table FPGA Reverse Engineering with Bitstream Extraction and Multiple PIP/PLP Matching. J. Semicond. Technol. Sci. 2021, 21, 49–61. [Google Scholar] [CrossRef]
- Kashani, S.; Emami, M.; Larus, J.R. Bitfiltrator: A general approach for reverse-engineering Xilinx bitstream formats. In Proceedings of the 2022 32nd International Conference on Field-Programmable Logic and Applications (FPL), Belfast, UK, 29 August–2 September 2022; pp. 1–8. [Google Scholar]
- Danesh, W.; Joshua, B.; Mostafizur, R. Turning the table: Using bitstream reverse engineering to detect FPGA trojans. J. Hardw. Syst. Secur. 2021, 5, 237–246. [Google Scholar] [CrossRef]
- Zhang, T.; Tehranipoor, M.; Farahmandi, F. BitFREE: On Significant Speedup and Security Applications of FPGA Bitstream Format Reverse Engineering. In Proceedings of the 2023 IEEE European Test Symposium (ETS), Venezia, Italy, 22–26 May 2023; pp. 1–6. [Google Scholar]
- Gongye, C.; Luo, Y.; Xu, X.; Fei, Y. Side-Channel-Assisted Reverse-Engineering of Encrypted DNN Hardware Accelerator IP and Attack Surface Exploration. In Proceedings of the 2024 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 19–23 May 2024; pp. 1–18. [Google Scholar]
- Yu, H.; Lee, H.; Lee, S.; Kim, Y.; Lee, H.-M. Recent advances in FPGA reverse engineering. Electronics 2018, 7, 246. [Google Scholar] [CrossRef]
- Xilinx. Spartan-3 Generation FPGA User Guide (UG331); Xilinx: San Jose, CA, USA, 2011. [Google Scholar]
- Xilinx. Virtex-5 FPGA User Guide; Xilinx: San Jose, CA, USA, 2012. [Google Scholar]
- Xilinx. 7 Series FPGAs Configurable Logic Block (UG474); Xilinx: San Jose, CA, USA, 2016. [Google Scholar]
- Xilinx. UltraScale Architecture Configurable Logic Block (UG574); Xilinx: San Jose, CA, USA, 2017. [Google Scholar]
- Xilinx. Spartan-3 FPGA Family Advanced Configuration Architecture (XAPP 452); Xilinx: San Jose, CA, USA, 2008. [Google Scholar]
- Xilinx. Virtex-5 FPGA Configuration User Guide (UG191); Xilinx: San Jose, CA, USA, 2017. [Google Scholar]
- Xilinx. 7 Series FPGAs Configuration (UG470); Xilinx: San Jose, CA, USA, 2018. [Google Scholar]
- Xilinx. UltraScale Architecture Configuration (UG570); Xilinx: San Jose, CA, USA, 2020. [Google Scholar]
Family | Series | ISE | Vivado |
---|---|---|---|
Spartan | 3 | O | X |
6 | O | X | |
7 | X | O | |
Virtex | 5 | O | X |
6 | O | X | |
7 | Δ | O | |
UltraScale | X | O | |
UltraScale+ | X | O | |
Artix | 7 | O | O |
UltraScale+ | X | O | |
Kintex | 7 | O | O |
UltraScale | X | O | |
UltraScale+ | X | O |
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/).
Share and Cite
Choi, S.; Yoo, H. Approaches to Extend FPGA Reverse-Engineering Technology from ISE to Vivado. Electronics 2024, 13, 1100. https://doi.org/10.3390/electronics13061100
Choi S, Yoo H. Approaches to Extend FPGA Reverse-Engineering Technology from ISE to Vivado. Electronics. 2024; 13(6):1100. https://doi.org/10.3390/electronics13061100
Chicago/Turabian StyleChoi, Soyeon, and Hoyoung Yoo. 2024. "Approaches to Extend FPGA Reverse-Engineering Technology from ISE to Vivado" Electronics 13, no. 6: 1100. https://doi.org/10.3390/electronics13061100
APA StyleChoi, S., & Yoo, H. (2024). Approaches to Extend FPGA Reverse-Engineering Technology from ISE to Vivado. Electronics, 13(6), 1100. https://doi.org/10.3390/electronics13061100