A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code

As recently studied, field-programmable gate arrays (FPGAs) suffer from growing Hardware Trojan (HT) attacks, and many techniques, e.g., register-transfer level (RTL) code-based analyzing, have been presented to detect HTs on FPGAs. However, for most of the FPGA end users, they can only obtain bitst...

Full description

Bibliographic Details
Main Authors: Tao Zhang, Jian Wang, Shize Guo, Zhe Chen
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8653869/
_version_ 1818603450519257088
author Tao Zhang
Jian Wang
Shize Guo
Zhe Chen
author_facet Tao Zhang
Jian Wang
Shize Guo
Zhe Chen
author_sort Tao Zhang
collection DOAJ
description As recently studied, field-programmable gate arrays (FPGAs) suffer from growing Hardware Trojan (HT) attacks, and many techniques, e.g., register-transfer level (RTL) code-based analyzing, have been presented to detect HTs on FPGAs. However, for most of the FPGA end users, they can only obtain bitstream, rather than the RTL code. Therefore, we present a new FPGA reverse engineering tool-chain. It can precisely transform the FPGA bitstream to an RTL code and therefore assists in HT detection. In detail, we first construct an integrated database involving the FPGA architecture information and the bitstream mapping information. Then, we build two tools, namely, bitstream reversal tool (BRT) and netlist reversal tool (NRT). They can be combined together to retrieve the RTL code from the FPGA bitstream in moderate time. To demonstrate the effectiveness of our tool-chain, we evaluate it qualitatively and quantitatively by using two benchmarks (ISCAS'85 and ISCAS'89) and three real applications (8051 core, 68HC08, and AES). Our tool-chain is comprehensive since it covers all the reverse engineering stages, from bitstream to netlist and from netlist to code, without any support from other tools. Moreover, it rebuilds the netlist with a 100% correct rate and retrieves RTL code, which is exactly, functionally equivalent to the original one for all our benchmarks. To the best of our knowledge, it is the first tool that can perform integrated, precise reverse engineering for FPGAs, paving the way for the netlist-/code-based HT detection.
first_indexed 2024-12-16T13:23:22Z
format Article
id doaj.art-3a973842b5dc45d3a30184cd502e4c32
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-16T13:23:22Z
publishDate 2019-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-3a973842b5dc45d3a30184cd502e4c322022-12-21T22:30:17ZengIEEEIEEE Access2169-35362019-01-017383793838910.1109/ACCESS.2019.29019498653869A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL CodeTao Zhang0Jian Wang1https://orcid.org/0000-0001-5416-0649Shize Guo2Zhe Chen3School of Information and Communication Engineering, University of Electronic Science and Technology of China, Chengdu, ChinaSchool of Information and Communication Engineering, University of Electronic Science and Technology of China, Chengdu, ChinaSchool of Information and Communication Engineering, University of Electronic Science and Technology of China, Chengdu, ChinaSchool of Information and Communication Engineering, University of Electronic Science and Technology of China, Chengdu, ChinaAs recently studied, field-programmable gate arrays (FPGAs) suffer from growing Hardware Trojan (HT) attacks, and many techniques, e.g., register-transfer level (RTL) code-based analyzing, have been presented to detect HTs on FPGAs. However, for most of the FPGA end users, they can only obtain bitstream, rather than the RTL code. Therefore, we present a new FPGA reverse engineering tool-chain. It can precisely transform the FPGA bitstream to an RTL code and therefore assists in HT detection. In detail, we first construct an integrated database involving the FPGA architecture information and the bitstream mapping information. Then, we build two tools, namely, bitstream reversal tool (BRT) and netlist reversal tool (NRT). They can be combined together to retrieve the RTL code from the FPGA bitstream in moderate time. To demonstrate the effectiveness of our tool-chain, we evaluate it qualitatively and quantitatively by using two benchmarks (ISCAS'85 and ISCAS'89) and three real applications (8051 core, 68HC08, and AES). Our tool-chain is comprehensive since it covers all the reverse engineering stages, from bitstream to netlist and from netlist to code, without any support from other tools. Moreover, it rebuilds the netlist with a 100% correct rate and retrieves RTL code, which is exactly, functionally equivalent to the original one for all our benchmarks. To the best of our knowledge, it is the first tool that can perform integrated, precise reverse engineering for FPGAs, paving the way for the netlist-/code-based HT detection.https://ieeexplore.ieee.org/document/8653869/FPGAreverse engineeringbitstreamhardware trojan
spellingShingle Tao Zhang
Jian Wang
Shize Guo
Zhe Chen
A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code
IEEE Access
FPGA
reverse engineering
bitstream
hardware trojan
title A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code
title_full A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code
title_fullStr A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code
title_full_unstemmed A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code
title_short A Comprehensive FPGA Reverse Engineering Tool-Chain: From Bitstream to RTL Code
title_sort comprehensive fpga reverse engineering tool chain from bitstream to rtl code
topic FPGA
reverse engineering
bitstream
hardware trojan
url https://ieeexplore.ieee.org/document/8653869/
work_keys_str_mv AT taozhang acomprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT jianwang acomprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT shizeguo acomprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT zhechen acomprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT taozhang comprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT jianwang comprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT shizeguo comprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode
AT zhechen comprehensivefpgareverseengineeringtoolchainfrombitstreamtortlcode