Trojans modifying soft-processor instruction sequences embedded in FPGA bitstreams
- 1 August 2016
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-4
Abstract
Reconfigurable platforms such as FPGAs and CPLDs are used to implement flexible and lightweight embedded systems often using soft-processors and a fixed instruction sequence stored in block memories. The bitstream format is proprietary for most vendors, however, in this work we demonstrate how to identify and extract block memory contents within the bitstream, allowing an adversary to learn and possibly modify the fixed instruction sequence. Manipulating the instruction sequence by inserting a Trojan in the bitstream as opposed to in the RTL code allows an adversary to bypass many verification steps. Moreover, the proposed Trojans only add extra instructions to the sequence to leak secret information, and do not change the original program behavior, making them virtually impossible to detect using functional tests. We present a case study where a Trojan is injected into a MIPS AES encryption program to leak internal state information by adding extra instructions from the available ones without changing the original program behavior.Keywords
This publication has 17 references indexed in Scilit:
- FPGA Trojans Through Detecting and Weakening of Cryptographic PrimitivesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2015
- Open-Source Bitstream Generation2013
- Side-channel attacks on the bitstream encryption mechanism of Altera Stratix II2013
- Bil: A tool-chain for bitstream reverse-engineering2012
- Embedded Systems Security for FPGA2011
- From the bitstream to the netlist2008
- Towards integral binary execution2007
- Identifying FPGA IP-Cores Based on Lookup Table Content Analysis2006
- Protecting Software Code by Guards2002
- A taxonomy of computer program security flawsACM Computing Surveys, 1994