论文部分内容阅读
随着现场可编程逻辑阵列(Field Programmable Gate Array,FPGA)在航空航天,高性能计算等领域的广泛应用,其安全问题也引起了学术界和工业界的广泛关注与研究。目前,在硬件安全领域,硬件木马(Hardware Trojan,HT)攻击是FPGA安全的一大威胁。现有FPGA木马检测方法主要是对于设计代码和网表进行分析,但是一般的用户只能拿到用于FPGA配置的比特流(Bitstream)文件,因此无法进行木马检测。本文对于FPGA逆向工程中的关键技术进行研究,旨在将比特流转换成网表和代码,从而帮助硬件木马检测。本文的主要工作如下:1)FPGA逆向工程工具链设计与实现为了完成FPGA逆向工程,本文中设计并实现了一条FPGA逆向工程工具链,其中包含了三个工具,分别为映射收集器,比特流逆向工具和网表逆向工具。本文设计的映射收集器可以通过详尽的黑盒测试得到不被公开的比特流映射信息,从而完成数据库的搭建,为后续逆向操作提供支持。比特流逆向工具结合数据库中的信息对于比特流数据进行分析处理,从而还原出网表。网表逆向工具则通过对逆向网表的结构功能进行分析处理从而完成网表到RTL代码的转换。也就是说,本文中的工具链可以完成比特流到代码的完整逆向工程。2)逆向工程工具链评估分析本文中定性定量地对于逆向工程工具链进行了评估。在定性评估中,本文将工具链与现有的FPGA逆向工程工具进行了对比。通过对比发现本文提出的工具链相较于前人的工作更加完整,具体来说,本文中的工具链的数据库中包含了详细的FPGA结构信息和比特流映射信息,另外本文提出的工具链可以完成比特流到网表,网表到代码两个阶段的逆向工程。在定量评估中,本文对于13个基准电路的比特流进行了逆向工程,发现可以以100%的逆向精度逆向出这13个比特流的网表。除此之外,在网表逆向工程实验中,工具链生成的逆向代码通过了与源代码的形式化验证,说明本文中提出的工具链可以从比特流中还原出功能等效的代码。3)FPGA逆向工程应用:木马检测与植入通过实验说明了逆向工程工具链的有效性之后,本文选择了一个有木马设计,使用逆向工程工具链将其比特流逆向为网表和代码,然后使用两种木马检测技术,COTD(Controllability and Observability for hardware Trojan Detection)技术和代码覆盖率技术,分别在逆向文件中检测硬件木马。实验结果说明,逆向文件中的恶意逻辑可以被成功检测出来,这说明本文提出的工具链可以帮助木马检测。除此之外,本文还提出了一种基于逆向工程木马植入的方法,针对片上网络(Network-on-Chip)应用,设计了两种新型片上网络木马,可以利用逆向工程技术植入到RTL代码当中。