[发明专利]一种针对FPGA固件的精准逆向工程方法有效
申请号: | 201810524531.9 | 申请日: | 2018-05-28 |
公开(公告)号: | CN108733404B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 王坚;章韬;郭世泽;陈哲;李桓 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F8/74 | 分类号: | G06F8/74;G06F21/76 |
代理公司: | 成都正华专利代理事务所(普通合伙) 51229 | 代理人: | 李蕊;李林合 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 fpga 精准 逆向 工程 方法 | ||
本发明公开了一种针对FPGA固件的精准逆向工程方法,包括如下步骤:S1、截获比特流数据,并将其保存为比特流文件;S2、使用EDA工具获取FPGA结构信息,根据FPGA结构信息,使用映射生成器生成比特流映射信息,并将FPGA结构信息和比特流映射信息输入数据库;S3、根据比特流映射信息,使用比特流逆向工具将比特流文件进行逆向,并还原成网表文件;S4、结合FPGA结构信息,使用网表逆向工具从网表文件中恢复出功能等价的RTL代码,并输出代码文件。本发明解决了现有技术存在的FPGA逆向工程精确度低、完整度不足以及FPGA设计的安全性与可靠性低的问题。
技术领域
本发明属于硬件安全技术领域,具体涉及一种针对FPGA固件的精准逆向工程方法。
背景技术
FPGA(Field Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。几乎所有的FPGA固件(比特流)的具体格式都是不公开的,而FPGA的用户只能获取比特流文件,而不能获取与其功能等价的网表文件以及RTL代码文件。
近些年来FPGA被广泛应用于各种各样的领域中,但是也因此引起了硬件黑客的注意,各种针对FPGA的攻击层出不穷,硬件木马攻击就是其中一种。一些黑客已经往FPGA中成功插入了硬件木马。例如在FPGA固件(比特流)中查找到空白的区域并且通过修改比特流在这些区域中插入木马。另外存在一种新的硬件木马并且将其隐藏于RTL代码中。同时也有一些基于RTL代码的硬件木马检测技术被提出,但是这些技术在实际应用到FPGA上时都受限于无法获取与比特流功能等效的RTL代码而无法检测其中的硬件木马。
现有技术存在以下问题:
(1)无法获取与比特流功能等效的RTL代码而无法检测其中的硬件木马,FPGA设计的安全性与可靠性低;
(2)现有技术主要集中在将比特流文件还原成网表文件,没有工作着眼于将从比特流逆向出的网表还原成为功能等价的RTL代码文件,逆向工程完整度不足。
(3)现有技术无法对FPGA固件进行精确的还原,精确度低。
发明内容
针对现有技术中的上述不足,本发明为了解决上述问题,提供一种高效率、高实用性与高精确度的针对FPGA固件的精准逆向工程方法,提高了FPGA设计的安全性与可靠性,解决了现有技术存在的FPGA逆向工程精确度低、完整度不足以及FPGA设计的安全性与可靠性低的问题。
为了达到上述发明目的,本发明采用的技术方案为:
一种针对FPGA固件的精准逆向工程方法,包括如下步骤:
S1:截获比特流数据,并将其保存为比特流文件;
S2:使用EDA工具获取FPGA结构信息,根据FPGA结构信息,使用映射生成器生成比特流映射信息,并将FPGA结构信息和比特流映射信息输入数据库;
S3:根据比特流映射信息,使用比特流逆向工具将比特流文件进行逆向,并还原成网表文件;
S4:结合FPGA结构信息,使用网表逆向工具从网表文件中恢复出功能等价的RTL代码,并输出代码文件。
进一步地,步骤S2中,映射生成器的工作方法,包括如下步骤:
S2-1:进行初始化:初始化映射生成器,并生成空白网表;
S2-2:进行Tile测试:从FPGA的每种类型的FPGA结构组成单元Tile中各选一个,生成测试Tile组,将测试Tile组中每个Tile所有的待测试元件添加到空白网表进行测试,得到所有待测试元件的映射信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810524531.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种BIOS设置方法和装置
- 下一篇:训练网页分布式表示模型的方法和装置